diff --git a/invokeai/app/api/routers/images.py b/invokeai/app/api/routers/images.py index 21fd09e051..692dc7fd21 100644 --- a/invokeai/app/api/routers/images.py +++ b/invokeai/app/api/routers/images.py @@ -5,7 +5,7 @@ from PIL import Image from fastapi import Body, HTTPException, Path, Query, Request, Response, UploadFile from fastapi.responses import FileResponse from fastapi.routing import APIRouter -from pydantic import BaseModel +from pydantic import BaseModel, Field from invokeai.app.invocations.metadata import ImageMetadata from invokeai.app.models.image import ImageCategory, ResourceOrigin @@ -19,6 +19,7 @@ from ..dependencies import ApiDependencies images_router = APIRouter(prefix="/v1/images", tags=["images"]) + # images are immutable; set a high max-age IMAGE_MAX_AGE = 31536000 @@ -286,3 +287,41 @@ async def delete_images_from_list( return DeleteImagesFromListResult(deleted_images=deleted_images) except Exception as e: raise HTTPException(status_code=500, detail="Failed to delete images") + + +class ImagesUpdatedFromListResult(BaseModel): + updated_image_names: list[str] = Field(description="The image names that were updated") + + +@images_router.post("/star", operation_id="star_images_in_list", response_model=ImagesUpdatedFromListResult) +async def star_images_in_list( + image_names: list[str] = Body(description="The list of names of images to star", embed=True), +) -> ImagesUpdatedFromListResult: + try: + updated_image_names: list[str] = [] + for image_name in image_names: + try: + ApiDependencies.invoker.services.images.update(image_name, changes=ImageRecordChanges(starred=True)) + updated_image_names.append(image_name) + except: + pass + return ImagesUpdatedFromListResult(updated_image_names=updated_image_names) + except Exception as e: + raise HTTPException(status_code=500, detail="Failed to star images") + + +@images_router.post("/unstar", operation_id="unstar_images_in_list", response_model=ImagesUpdatedFromListResult) +async def unstar_images_in_list( + image_names: list[str] = Body(description="The list of names of images to unstar", embed=True), +) -> ImagesUpdatedFromListResult: + try: + updated_image_names: list[str] = [] + for image_name in image_names: + try: + ApiDependencies.invoker.services.images.update(image_name, changes=ImageRecordChanges(starred=False)) + updated_image_names.append(image_name) + except: + pass + return ImagesUpdatedFromListResult(updated_image_names=updated_image_names) + except Exception as e: + raise HTTPException(status_code=500, detail="Failed to unstar images") diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 6b875d37ce..20b2781ef0 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -38,7 +38,7 @@ import mimetypes 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 +from .invocations.baseinvocation import BaseInvocation, _InputField, _OutputField, UIConfigBase import torch @@ -134,6 +134,11 @@ def custom_openapi(): # This could break in some cases, figure out a better way to do it output_type_titles[schema_key] = output_schema["title"] + # Add Node Editor UI helper schemas + ui_config_schemas = schema([UIConfigBase, _InputField, _OutputField], ref_prefix="#/components/schemas/") + for schema_key, output_schema in ui_config_schemas["definitions"].items(): + openapi_schema["components"]["schemas"][schema_key] = output_schema + # Add a reference to the output type to additionalProperties of the invoker schema for invoker in all_invocations: invoker_name = invoker.__name__ diff --git a/invokeai/app/invocations/baseinvocation.py b/invokeai/app/invocations/baseinvocation.py index 758ab2e787..363fa357ae 100644 --- a/invokeai/app/invocations/baseinvocation.py +++ b/invokeai/app/invocations/baseinvocation.py @@ -3,15 +3,366 @@ from __future__ import annotations from abc import ABC, abstractmethod +from enum import Enum from inspect import signature -from typing import TYPE_CHECKING, Dict, List, Literal, TypedDict, get_args, get_type_hints +from typing import ( + TYPE_CHECKING, + AbstractSet, + Any, + Callable, + ClassVar, + Mapping, + Optional, + Type, + TypeVar, + Union, + get_args, + get_type_hints, +) -from pydantic import BaseConfig, BaseModel, Field +from pydantic import BaseModel, Field +from pydantic.fields import Undefined +from pydantic.typing import NoArgAnyCallable if TYPE_CHECKING: from ..services.invocation_services import InvocationServices +class FieldDescriptions: + denoising_start = "When to start denoising, expressed a percentage of total steps" + denoising_end = "When to stop denoising, expressed a percentage of total steps" + cfg_scale = "Classifier-Free Guidance scale" + scheduler = "Scheduler to use during inference" + positive_cond = "Positive conditioning tensor" + negative_cond = "Negative conditioning tensor" + noise = "Noise tensor" + clip = "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count" + unet = "UNet (scheduler, LoRAs)" + vae = "VAE" + cond = "Conditioning tensor" + controlnet_model = "ControlNet model to load" + vae_model = "VAE model to load" + lora_model = "LoRA model to load" + main_model = "Main model (UNet, VAE, CLIP) to load" + sdxl_main_model = "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load" + sdxl_refiner_model = "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load" + onnx_main_model = "ONNX Main model (UNet, VAE, CLIP) to load" + lora_weight = "The weight at which the LoRA is applied to each model" + compel_prompt = "Prompt to be parsed by Compel to create a conditioning tensor" + raw_prompt = "Raw prompt text (no parsing)" + sdxl_aesthetic = "The aesthetic score to apply to the conditioning tensor" + skipped_layers = "Number of layers to skip in text encoder" + seed = "Seed for random number generation" + steps = "Number of steps to run" + width = "Width of output (px)" + height = "Height of output (px)" + control = "ControlNet(s) to apply" + denoised_latents = "Denoised latents tensor" + latents = "Latents tensor" + strength = "Strength of denoising (proportional to steps)" + core_metadata = "Optional core metadata to be written to image" + interp_mode = "Interpolation mode" + torch_antialias = "Whether or not to apply antialiasing (bilinear or bicubic only)" + fp32 = "Whether or not to use full float32 precision" + precision = "Precision to use" + tiled = "Processing using overlapping tiles (reduce memory consumption)" + detect_res = "Pixel resolution for detection" + image_res = "Pixel resolution for output image" + safe_mode = "Whether or not to use safe mode" + scribble_mode = "Whether or not to use scribble mode" + scale_factor = "The factor by which to scale" + num_1 = "The first number" + num_2 = "The second number" + mask = "The mask to use for the operation" + + +class Input(str, Enum): + """ + The type of input a field accepts. + - `Input.Direct`: The field must have its value provided directly, when the invocation and field \ + are instantiated. + - `Input.Connection`: The field must have its value provided by a connection. + - `Input.Any`: The field may have its value provided either directly or by a connection. + """ + + Connection = "connection" + Direct = "direct" + Any = "any" + + +class UIType(str, Enum): + """ + Type hints for the UI. + If a field should be provided a data type that does not exactly match the python type of the field, \ + use this to provide the type that should be used instead. See the node development docs for detail \ + on adding a new field type, which involves client-side changes. + """ + + # region Primitives + Integer = "integer" + Float = "float" + Boolean = "boolean" + String = "string" + Array = "array" + Image = "ImageField" + Latents = "LatentsField" + Conditioning = "ConditioningField" + Control = "ControlField" + Color = "ColorField" + ImageCollection = "ImageCollection" + ConditioningCollection = "ConditioningCollection" + ColorCollection = "ColorCollection" + LatentsCollection = "LatentsCollection" + IntegerCollection = "IntegerCollection" + FloatCollection = "FloatCollection" + StringCollection = "StringCollection" + BooleanCollection = "BooleanCollection" + # endregion + + # region Models + MainModel = "MainModelField" + SDXLMainModel = "SDXLMainModelField" + SDXLRefinerModel = "SDXLRefinerModelField" + ONNXModel = "ONNXModelField" + VaeModel = "VaeModelField" + LoRAModel = "LoRAModelField" + ControlNetModel = "ControlNetModelField" + UNet = "UNetField" + Vae = "VaeField" + CLIP = "ClipField" + # endregion + + # region Iterate/Collect + Collection = "Collection" + CollectionItem = "CollectionItem" + # endregion + + # region Misc + FilePath = "FilePath" + Enum = "enum" + # endregion + + +class UIComponent(str, Enum): + """ + The type of UI component to use for a field, used to override the default components, which are \ + inferred from the field type. + """ + + None_ = "none" + Textarea = "textarea" + Slider = "slider" + + +class _InputField(BaseModel): + """ + *DO NOT USE* + This helper class is used to tell the client about our custom field attributes via OpenAPI + schema generation, and Typescript type generation from that schema. It serves no functional + purpose in the backend. + """ + + input: Input + ui_hidden: bool + ui_type: Optional[UIType] + ui_component: Optional[UIComponent] + + +class _OutputField(BaseModel): + """ + *DO NOT USE* + This helper class is used to tell the client about our custom field attributes via OpenAPI + schema generation, and Typescript type generation from that schema. It serves no functional + purpose in the backend. + """ + + ui_hidden: bool + ui_type: Optional[UIType] + + +def InputField( + *args: Any, + default: Any = Undefined, + default_factory: Optional[NoArgAnyCallable] = None, + alias: Optional[str] = None, + title: Optional[str] = None, + description: Optional[str] = None, + exclude: Optional[Union[AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any]] = None, + include: Optional[Union[AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any]] = None, + const: Optional[bool] = None, + gt: Optional[float] = None, + ge: Optional[float] = None, + lt: Optional[float] = None, + le: Optional[float] = None, + multiple_of: Optional[float] = None, + allow_inf_nan: Optional[bool] = None, + max_digits: Optional[int] = None, + decimal_places: Optional[int] = None, + min_items: Optional[int] = None, + max_items: Optional[int] = None, + unique_items: Optional[bool] = None, + min_length: Optional[int] = None, + max_length: Optional[int] = None, + allow_mutation: bool = True, + regex: Optional[str] = None, + discriminator: Optional[str] = None, + repr: bool = True, + input: Input = Input.Any, + ui_type: Optional[UIType] = None, + ui_component: Optional[UIComponent] = None, + ui_hidden: bool = False, + **kwargs: Any, +) -> Any: + """ + Creates an input field for an invocation. + + This is a wrapper for Pydantic's [Field](https://docs.pydantic.dev/1.10/usage/schema/#field-customization) \ + that adds a few extra parameters to support graph execution and the node editor UI. + + :param Input input: [Input.Any] The kind of input this field requires. \ + `Input.Direct` means a value must be provided on instantiation. \ + `Input.Connection` means the value must be provided by a connection. \ + `Input.Any` means either will do. + + :param UIType ui_type: [None] Optionally provides an extra type hint for the UI. \ + In some situations, the field's type is not enough to infer the correct UI type. \ + For example, model selection fields should render a dropdown UI component to select a model. \ + Internally, there is no difference between SD-1, SD-2 and SDXL model fields, they all use \ + `MainModelField`. So to ensure the base-model-specific UI is rendered, you can use \ + `UIType.SDXLMainModelField` to indicate that the field is an SDXL main model field. + + :param UIComponent ui_component: [None] Optionally specifies a specific component to use in the UI. \ + The UI will always render a suitable component, but sometimes you want something different than the default. \ + For example, a `string` field will default to a single-line input, but you may want a multi-line textarea instead. \ + For this case, you could provide `UIComponent.Textarea`. + + : param bool ui_hidden: [False] Specifies whether or not this field should be hidden in the UI. + """ + return Field( + *args, + default=default, + default_factory=default_factory, + alias=alias, + title=title, + description=description, + exclude=exclude, + include=include, + const=const, + gt=gt, + ge=ge, + lt=lt, + le=le, + multiple_of=multiple_of, + allow_inf_nan=allow_inf_nan, + max_digits=max_digits, + decimal_places=decimal_places, + min_items=min_items, + max_items=max_items, + unique_items=unique_items, + min_length=min_length, + max_length=max_length, + allow_mutation=allow_mutation, + regex=regex, + discriminator=discriminator, + repr=repr, + input=input, + ui_type=ui_type, + ui_component=ui_component, + ui_hidden=ui_hidden, + **kwargs, + ) + + +def OutputField( + *args: Any, + default: Any = Undefined, + default_factory: Optional[NoArgAnyCallable] = None, + alias: Optional[str] = None, + title: Optional[str] = None, + description: Optional[str] = None, + exclude: Optional[Union[AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any]] = None, + include: Optional[Union[AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any]] = None, + const: Optional[bool] = None, + gt: Optional[float] = None, + ge: Optional[float] = None, + lt: Optional[float] = None, + le: Optional[float] = None, + multiple_of: Optional[float] = None, + allow_inf_nan: Optional[bool] = None, + max_digits: Optional[int] = None, + decimal_places: Optional[int] = None, + min_items: Optional[int] = None, + max_items: Optional[int] = None, + unique_items: Optional[bool] = None, + min_length: Optional[int] = None, + max_length: Optional[int] = None, + allow_mutation: bool = True, + regex: Optional[str] = None, + discriminator: Optional[str] = None, + repr: bool = True, + ui_type: Optional[UIType] = None, + ui_hidden: bool = False, + **kwargs: Any, +) -> Any: + """ + Creates an output field for an invocation output. + + This is a wrapper for Pydantic's [Field](https://docs.pydantic.dev/1.10/usage/schema/#field-customization) \ + that adds a few extra parameters to support graph execution and the node editor UI. + + :param UIType ui_type: [None] Optionally provides an extra type hint for the UI. \ + In some situations, the field's type is not enough to infer the correct UI type. \ + For example, model selection fields should render a dropdown UI component to select a model. \ + Internally, there is no difference between SD-1, SD-2 and SDXL model fields, they all use \ + `MainModelField`. So to ensure the base-model-specific UI is rendered, you can use \ + `UIType.SDXLMainModelField` to indicate that the field is an SDXL main model field. + + : param bool ui_hidden: [False] Specifies whether or not this field should be hidden in the UI. \ + """ + return Field( + *args, + default=default, + default_factory=default_factory, + alias=alias, + title=title, + description=description, + exclude=exclude, + include=include, + const=const, + gt=gt, + ge=ge, + lt=lt, + le=le, + multiple_of=multiple_of, + allow_inf_nan=allow_inf_nan, + max_digits=max_digits, + decimal_places=decimal_places, + min_items=min_items, + max_items=max_items, + unique_items=unique_items, + min_length=min_length, + max_length=max_length, + allow_mutation=allow_mutation, + regex=regex, + discriminator=discriminator, + repr=repr, + ui_type=ui_type, + ui_hidden=ui_hidden, + **kwargs, + ) + + +class UIConfigBase(BaseModel): + """ + Provides additional node configuration to the UI. + This is used internally by the @tags and @title decorator logic. You probably want to use those + decorators, though you may add this class to a node definition to specify the title and tags. + """ + + tags: Optional[list[str]] = Field(default_factory=None, description="The tags to display in the UI") + title: Optional[str] = Field(default=None, description="The display name of the node") + + class InvocationContext: services: InvocationServices graph_execution_state_id: str @@ -39,6 +390,20 @@ class BaseInvocationOutput(BaseModel): return tuple(subclasses) +class RequiredConnectionException(Exception): + """Raised when an field which requires a connection did not receive a value.""" + + def __init__(self, node_id: str, field_name: str): + super().__init__(f"Node {node_id} missing connections for field {field_name}") + + +class MissingInputException(Exception): + """Raised when an field which requires some input, but did not receive a value.""" + + def __init__(self, node_id: str, field_name: str): + super().__init__(f"Node {node_id} missing value or connection for field {field_name}") + + class BaseInvocation(ABC, BaseModel): """A node to process inputs and produce outputs. May use dependency injection in __init__ to receive providers. @@ -76,70 +441,81 @@ class BaseInvocation(ABC, BaseModel): def get_output_type(cls): return signature(cls.invoke).return_annotation + class Config: + @staticmethod + def schema_extra(schema: dict[str, Any], model_class: Type[BaseModel]) -> None: + uiconfig = getattr(model_class, "UIConfig", None) + if uiconfig and hasattr(uiconfig, "title"): + schema["title"] = uiconfig.title + if uiconfig and hasattr(uiconfig, "tags"): + schema["tags"] = uiconfig.tags + @abstractmethod def invoke(self, context: InvocationContext) -> BaseInvocationOutput: """Invoke with provided context and return outputs.""" pass - # fmt: off - id: str = Field(description="The id of this node. Must be unique among all nodes.") - is_intermediate: bool = Field(default=False, description="Whether or not this node is an intermediate node.") - # fmt: on + def __init__(self, **data): + # nodes may have required fields, that can accept input from connections + # on instantiation of the model, we need to exclude these from validation + restore = dict() + try: + field_names = list(self.__fields__.keys()) + for field_name in field_names: + # if the field is required and may get its value from a connection, exclude it from validation + field = self.__fields__[field_name] + _input = field.field_info.extra.get("input", None) + if _input in [Input.Connection, Input.Any] and field.required: + if field_name not in data: + restore[field_name] = self.__fields__.pop(field_name) + # instantiate the node, which will validate the data + super().__init__(**data) + finally: + # restore the removed fields + for field_name, field in restore.items(): + self.__fields__[field_name] = field + + def invoke_internal(self, context: InvocationContext) -> BaseInvocationOutput: + for field_name, field in self.__fields__.items(): + _input = field.field_info.extra.get("input", None) + if field.required and not hasattr(self, field_name): + if _input == Input.Connection: + raise RequiredConnectionException(self.__fields__["type"].default, field_name) + elif _input == Input.Any: + raise MissingInputException(self.__fields__["type"].default, field_name) + return self.invoke(context) + + id: str = InputField(description="The id of this node. Must be unique among all nodes.") + is_intermediate: bool = InputField( + default=False, description="Whether or not this node is an intermediate node.", input=Input.Direct + ) + UIConfig: ClassVar[Type[UIConfigBase]] -# TODO: figure out a better way to provide these hints -# TODO: when we can upgrade to python 3.11, we can use the`NotRequired` type instead of `total=False` -class UIConfig(TypedDict, total=False): - type_hints: Dict[ - str, - Literal[ - "integer", - "float", - "boolean", - "string", - "enum", - "image", - "latents", - "model", - "control", - "image_collection", - "vae_model", - "lora_model", - ], - ] - tags: List[str] - title: str +T = TypeVar("T", bound=BaseInvocation) -class CustomisedSchemaExtra(TypedDict): - ui: UIConfig +def title(title: str) -> Callable[[Type[T]], Type[T]]: + """Adds a title to the invocation. Use this to override the default title generation, which is based on the class name.""" + + def wrapper(cls: Type[T]) -> Type[T]: + uiconf_name = cls.__qualname__ + ".UIConfig" + if not hasattr(cls, "UIConfig") or cls.UIConfig.__qualname__ != uiconf_name: + cls.UIConfig = type(uiconf_name, (UIConfigBase,), dict()) + cls.UIConfig.title = title + return cls + + return wrapper -class InvocationConfig(BaseConfig): - """Customizes pydantic's BaseModel.Config class for use by Invocations. +def tags(*tags: str) -> Callable[[Type[T]], Type[T]]: + """Adds tags to the invocation. Use this to improve the streamline finding the invocation in the UI.""" - Provide `schema_extra` a `ui` dict to add hints for generated UIs. + def wrapper(cls: Type[T]) -> Type[T]: + uiconf_name = cls.__qualname__ + ".UIConfig" + if not hasattr(cls, "UIConfig") or cls.UIConfig.__qualname__ != uiconf_name: + cls.UIConfig = type(uiconf_name, (UIConfigBase,), dict()) + cls.UIConfig.tags = list(tags) + return cls - `tags` - - A list of strings, used to categorise invocations. - - `type_hints` - - A dict of field types which override the types in the invocation definition. - - Each key should be the name of one of the invocation's fields. - - Each value should be one of the valid types: - - `integer`, `float`, `boolean`, `string`, `enum`, `image`, `latents`, `model` - - ```python - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["stable-diffusion", "image"], - "type_hints": { - "initial_image": "image", - }, - }, - } - ``` - """ - - schema_extra: CustomisedSchemaExtra + return wrapper diff --git a/invokeai/app/invocations/collections.py b/invokeai/app/invocations/collections.py index 01c003da96..fc7aec3e01 100644 --- a/invokeai/app/invocations/collections.py +++ b/invokeai/app/invocations/collections.py @@ -3,58 +3,25 @@ from typing import Literal import numpy as np -from pydantic import Field, validator +from pydantic import validator -from invokeai.app.models.image import ImageField +from invokeai.app.invocations.primitives import ImageCollectionOutput, ImageField, IntegerCollectionOutput from invokeai.app.util.misc import SEED_MAX, get_random_seed -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext, UIConfig - - -class IntCollectionOutput(BaseInvocationOutput): - """A collection of integers""" - - type: Literal["int_collection"] = "int_collection" - - # Outputs - collection: list[int] = Field(default=[], description="The int collection") - - -class FloatCollectionOutput(BaseInvocationOutput): - """A collection of floats""" - - type: Literal["float_collection"] = "float_collection" - - # Outputs - collection: list[float] = Field(default=[], description="The float collection") - - -class ImageCollectionOutput(BaseInvocationOutput): - """A collection of images""" - - type: Literal["image_collection"] = "image_collection" - - # Outputs - collection: list[ImageField] = Field(default=[], description="The output images") - - class Config: - schema_extra = {"required": ["type", "collection"]} +from .baseinvocation import BaseInvocation, InputField, InvocationContext, UIType, tags, title +@title("Integer Range") +@tags("collection", "integer", "range") class RangeInvocation(BaseInvocation): """Creates a range of numbers from start to stop with step""" type: Literal["range"] = "range" # Inputs - start: int = Field(default=0, description="The start of the range") - stop: int = Field(default=10, description="The stop of the range") - step: int = Field(default=1, description="The step of the range") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Range", "tags": ["range", "integer", "collection"]}, - } + start: int = InputField(default=0, description="The start of the range") + stop: int = InputField(default=10, description="The stop of the range") + step: int = InputField(default=1, description="The step of the range") @validator("stop") def stop_gt_start(cls, v, values): @@ -62,76 +29,44 @@ class RangeInvocation(BaseInvocation): raise ValueError("stop must be greater than start") return v - def invoke(self, context: InvocationContext) -> IntCollectionOutput: - return IntCollectionOutput(collection=list(range(self.start, self.stop, self.step))) + def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: + return IntegerCollectionOutput(collection=list(range(self.start, self.stop, self.step))) +@title("Integer Range of Size") +@tags("range", "integer", "size", "collection") class RangeOfSizeInvocation(BaseInvocation): """Creates a range from start to start + size with step""" type: Literal["range_of_size"] = "range_of_size" # Inputs - start: int = Field(default=0, description="The start of the range") - size: int = Field(default=1, description="The number of values") - step: int = Field(default=1, description="The step of the range") + start: int = InputField(default=0, description="The start of the range") + size: int = InputField(default=1, description="The number of values") + step: int = InputField(default=1, description="The step of the range") - class Config(InvocationConfig): - schema_extra = { - "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))) + def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: + return IntegerCollectionOutput(collection=list(range(self.start, self.start + self.size, self.step))) +@title("Random Range") +@tags("range", "integer", "random", "collection") class RandomRangeInvocation(BaseInvocation): """Creates a collection of random numbers""" type: Literal["random_range"] = "random_range" # 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") - size: int = Field(default=1, description="The number of values to generate") - seed: int = Field( + low: int = InputField(default=0, description="The inclusive low value") + high: int = InputField(default=np.iinfo(np.int32).max, description="The exclusive high value") + size: int = InputField(default=1, description="The number of values to generate") + seed: int = InputField( ge=0, le=SEED_MAX, description="The seed for the RNG (omit for random)", default_factory=get_random_seed, ) - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Random Range", "tags": ["range", "integer", "random", "collection"]}, - } - - def invoke(self, context: InvocationContext) -> IntCollectionOutput: + def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: rng = np.random.default_rng(self.seed) - return IntCollectionOutput(collection=list(rng.integers(low=self.low, high=self.high, size=self.size))) - - -class ImageCollectionInvocation(BaseInvocation): - """Load a collection of images and provide it as output.""" - - # fmt: off - type: Literal["image_collection"] = "image_collection" - - # Inputs - images: list[ImageField] = Field( - default=[], description="The image collection to load" - ) - # fmt: on - - def invoke(self, context: InvocationContext) -> ImageCollectionOutput: - return ImageCollectionOutput(collection=self.images) - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "type_hints": { - "title": "Image Collection", - "images": "image_collection", - } - }, - } + return IntegerCollectionOutput(collection=list(rng.integers(low=self.low, high=self.high, size=self.size))) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 86565366d9..0be33ce701 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -1,32 +1,35 @@ -from typing import Literal, Optional, Union, List, Annotated -from pydantic import BaseModel, Field import re - -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext, InvocationConfig -from .model import ClipField - -from ...backend.util.devices import torch_dtype -from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent -from ...backend.model_management import BaseModelType, ModelType, SubModelType, ModelPatcher +from dataclasses import dataclass +from typing import List, Literal, Union import torch from compel import Compel, ReturnedEmbeddingsType 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 invokeai.app.invocations.primitives import ConditioningField, ConditioningOutput + +from invokeai.backend.stable_diffusion.diffusion.shared_invokeai_diffusion import ( + BasicConditioningInfo, + SDXLConditioningInfo, +) + +from ...backend.model_management import ModelPatcher, ModelType from ...backend.model_management.lora import ModelPatcher -from ...backend.stable_diffusion import InvokeAIDiffuserComponent, BasicConditioningInfo, SDXLConditioningInfo -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext +from ...backend.model_management.models import ModelNotFoundException +from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent +from ...backend.util.devices import torch_dtype +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + Input, + InputField, + InvocationContext, + OutputField, + UIComponent, + tags, + title, +) from .model import ClipField -from dataclasses import dataclass - - -class ConditioningField(BaseModel): - conditioning_name: Optional[str] = Field(default=None, description="The name of conditioning data") - - class Config: - schema_extra = {"required": ["conditioning_name"]} @dataclass @@ -41,32 +44,26 @@ class ConditioningFieldData: # PerpNeg = "perp_neg" -class CompelOutput(BaseInvocationOutput): - """Compel parser output""" - - # fmt: off - type: Literal["compel_output"] = "compel_output" - - conditioning: ConditioningField = Field(default=None, description="Conditioning") - # fmt: on - - +@title("Compel Prompt") +@tags("prompt", "compel") class CompelInvocation(BaseInvocation): """Parse prompt using compel package to conditioning.""" type: Literal["compel"] = "compel" - prompt: str = Field(default="", description="Prompt") - clip: ClipField = Field(None, description="Clip to use") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Prompt (Compel)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, - } + prompt: str = InputField( + default="", + description=FieldDescriptions.compel_prompt, + ui_component=UIComponent.Textarea, + ) + clip: ClipField = InputField( + title="CLIP", + description=FieldDescriptions.clip, + input=Input.Connection, + ) @torch.no_grad() - def invoke(self, context: InvocationContext) -> CompelOutput: + def invoke(self, context: InvocationContext) -> ConditioningOutput: tokenizer_info = context.services.model_manager.get_model( **self.clip.tokenizer.dict(), context=context, @@ -149,7 +146,7 @@ class CompelInvocation(BaseInvocation): conditioning_name = f"{context.graph_execution_state_id}_{self.id}_conditioning" context.services.latents.save(conditioning_name, conditioning_data) - return CompelOutput( + return ConditioningOutput( conditioning=ConditioningField( conditioning_name=conditioning_name, ), @@ -270,30 +267,26 @@ class SDXLPromptInvocationBase: return c, c_pooled, ec +@title("SDXL Compel Prompt") +@tags("sdxl", "compel", "prompt") class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): """Parse prompt using compel package to conditioning.""" type: Literal["sdxl_compel_prompt"] = "sdxl_compel_prompt" - prompt: str = Field(default="", description="Prompt") - style: str = Field(default="", description="Style prompt") - original_width: int = Field(1024, description="") - original_height: int = Field(1024, description="") - crop_top: int = Field(0, description="") - crop_left: int = Field(0, description="") - target_width: int = Field(1024, description="") - target_height: int = Field(1024, description="") - clip: ClipField = Field(None, description="Clip to use") - clip2: ClipField = Field(None, description="Clip2 to use") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "SDXL Prompt (Compel)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, - } + prompt: str = InputField(default="", description=FieldDescriptions.compel_prompt, ui_component=UIComponent.Textarea) + style: str = InputField(default="", description=FieldDescriptions.compel_prompt, ui_component=UIComponent.Textarea) + original_width: int = InputField(default=1024, description="") + original_height: int = InputField(default=1024, description="") + crop_top: int = InputField(default=0, description="") + crop_left: int = InputField(default=0, description="") + target_width: int = InputField(default=1024, description="") + target_height: int = InputField(default=1024, description="") + clip: ClipField = InputField(description=FieldDescriptions.clip, input=Input.Connection) + clip2: ClipField = InputField(description=FieldDescriptions.clip, input=Input.Connection) @torch.no_grad() - def invoke(self, context: InvocationContext) -> CompelOutput: + def invoke(self, context: InvocationContext) -> ConditioningOutput: c1, c1_pooled, ec1 = self.run_clip_compel( context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=True ) @@ -326,38 +319,32 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): conditioning_name = f"{context.graph_execution_state_id}_{self.id}_conditioning" context.services.latents.save(conditioning_name, conditioning_data) - return CompelOutput( + return ConditioningOutput( conditioning=ConditioningField( conditioning_name=conditioning_name, ), ) +@title("SDXL Refiner Compel Prompt") +@tags("sdxl", "compel", "prompt") 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: ? - original_width: int = Field(1024, description="") - original_height: int = Field(1024, description="") - crop_top: int = Field(0, description="") - crop_left: int = Field(0, description="") - aesthetic_score: float = Field(6.0, description="") - clip2: ClipField = Field(None, description="Clip to use") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Refiner Prompt (Compel)", - "tags": ["prompt", "compel"], - "type_hints": {"model": "model"}, - }, - } + style: str = InputField( + default="", description=FieldDescriptions.compel_prompt, ui_component=UIComponent.Textarea + ) # TODO: ? + original_width: int = InputField(default=1024, description="") + original_height: int = InputField(default=1024, description="") + crop_top: int = InputField(default=0, description="") + crop_left: int = InputField(default=0, description="") + aesthetic_score: float = InputField(default=6.0, description=FieldDescriptions.sdxl_aesthetic) + clip2: ClipField = InputField(description=FieldDescriptions.clip, input=Input.Connection) @torch.no_grad() - def invoke(self, context: InvocationContext) -> CompelOutput: + def invoke(self, context: InvocationContext) -> ConditioningOutput: # TODO: if there will appear lora for refiner - write proper prefix c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "", zero_on_empty=False) @@ -380,7 +367,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase conditioning_name = f"{context.graph_execution_state_id}_{self.id}_conditioning" context.services.latents.save(conditioning_name, conditioning_data) - return CompelOutput( + return ConditioningOutput( conditioning=ConditioningField( conditioning_name=conditioning_name, ), @@ -391,21 +378,18 @@ class ClipSkipInvocationOutput(BaseInvocationOutput): """Clip skip node output""" type: Literal["clip_skip_output"] = "clip_skip_output" - clip: ClipField = Field(None, description="Clip with skipped layers") + clip: ClipField = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP") +@title("CLIP Skip") +@tags("clipskip", "clip", "skip") class ClipSkipInvocation(BaseInvocation): """Skip layers in clip text_encoder model.""" type: Literal["clip_skip"] = "clip_skip" - clip: ClipField = Field(None, description="Clip to use") - skipped_layers: int = Field(0, description="Number of layers to skip in text_encoder") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "CLIP Skip", "tags": ["clip", "skip"]}, - } + clip: ClipField = InputField(description=FieldDescriptions.clip, input=Input.Connection, title="CLIP") + skipped_layers: int = InputField(default=0, description=FieldDescriptions.skipped_layers) def invoke(self, context: InvocationContext) -> ClipSkipInvocationOutput: self.clip.skipped_layers += self.skipped_layers diff --git a/invokeai/app/invocations/controlnet_image_processors.py b/invokeai/app/invocations/controlnet_image_processors.py index d2b2d44526..811f767dee 100644 --- a/invokeai/app/invocations/controlnet_image_processors.py +++ b/invokeai/app/invocations/controlnet_image_processors.py @@ -26,79 +26,31 @@ from controlnet_aux.util import HWC3, ade_palette from PIL import Image from pydantic import BaseModel, Field, validator +from invokeai.app.invocations.primitives import ImageField, ImageOutput + + from ...backend.model_management import BaseModelType, ModelType -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from ..models.image import ImageOutput, PILInvocationConfig +from ..models.image import ImageCategory, ResourceOrigin +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + InputField, + Input, + InvocationContext, + OutputField, + UIType, + tags, + title, +) -CONTROLNET_DEFAULT_MODELS = [ - ########################################### - # lllyasviel sd v1.5, ControlNet v1.0 models - ############################################## - "lllyasviel/sd-controlnet-canny", - "lllyasviel/sd-controlnet-depth", - "lllyasviel/sd-controlnet-hed", - "lllyasviel/sd-controlnet-seg", - "lllyasviel/sd-controlnet-openpose", - "lllyasviel/sd-controlnet-scribble", - "lllyasviel/sd-controlnet-normal", - "lllyasviel/sd-controlnet-mlsd", - ############################################# - # lllyasviel sd v1.5, ControlNet v1.1 models - ############################################# - "lllyasviel/control_v11p_sd15_canny", - "lllyasviel/control_v11p_sd15_openpose", - "lllyasviel/control_v11p_sd15_seg", - # "lllyasviel/control_v11p_sd15_depth", # broken - "lllyasviel/control_v11f1p_sd15_depth", - "lllyasviel/control_v11p_sd15_normalbae", - "lllyasviel/control_v11p_sd15_scribble", - "lllyasviel/control_v11p_sd15_mlsd", - "lllyasviel/control_v11p_sd15_softedge", - "lllyasviel/control_v11p_sd15s2_lineart_anime", - "lllyasviel/control_v11p_sd15_lineart", - "lllyasviel/control_v11p_sd15_inpaint", - # "lllyasviel/control_v11u_sd15_tile", - # problem (temporary?) with huffingface "lllyasviel/control_v11u_sd15_tile", - # so for now replace "lllyasviel/control_v11f1e_sd15_tile", - "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? - ################################################## - "thibaud/controlnet-sd21-openpose-diffusers", - "thibaud/controlnet-sd21-canny-diffusers", - "thibaud/controlnet-sd21-depth-diffusers", - "thibaud/controlnet-sd21-scribble-diffusers", - "thibaud/controlnet-sd21-hed-diffusers", - "thibaud/controlnet-sd21-zoedepth-diffusers", - "thibaud/controlnet-sd21-color-diffusers", - "thibaud/controlnet-sd21-openposev2-diffusers", - "thibaud/controlnet-sd21-lineart-diffusers", - "thibaud/controlnet-sd21-normalbae-diffusers", - "thibaud/controlnet-sd21-ade20k-diffusers", - ############################################## - # ControlNetMediaPipeface, ControlNet v1.1 - ############################################## - # ["CrucibleAI/ControlNetMediaPipeFace", "diffusion_sd15"], # SD 1.5 - # diffusion_sd15 needs to be passed to from_pretrained() as subfolder arg - # hacked t2l to split to model & subfolder if format is "model,subfolder" - "CrucibleAI/ControlNetMediaPipeFace,diffusion_sd15", # SD 1.5 - "CrucibleAI/ControlNetMediaPipeFace", # SD 2.1? -] -CONTROLNET_NAME_VALUES = Literal[tuple(CONTROLNET_DEFAULT_MODELS)] -CONTROLNET_MODE_VALUES = Literal[tuple(["balanced", "more_prompt", "more_control", "unbalanced"])] +CONTROLNET_MODE_VALUES = Literal["balanced", "more_prompt", "more_control", "unbalanced"] CONTROLNET_RESIZE_VALUES = Literal[ - tuple( - [ - "just_resize", - "crop_resize", - "fill_resize", - "just_resize_simple", - ] - ) + "just_resize", + "crop_resize", + "fill_resize", + "just_resize_simple", ] @@ -110,9 +62,8 @@ 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_weight: Optional[float] = Field(default=1, description="weight given to controlnet") + image: ImageField = Field(description="The control image") + control_model: ControlNetModelField = Field(description="The ControlNet model to use") 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)" @@ -135,60 +86,39 @@ class ControlField(BaseModel): raise ValueError("Control weights must be within -1 to 2 range") return v - class Config: - schema_extra = { - "required": ["image", "control_model", "control_weight", "begin_step_percent", "end_step_percent"], - "ui": { - "type_hints": { - "control_weight": "float", - "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") - # fmt: on + + # Outputs + control: ControlField = OutputField(description=FieldDescriptions.control) +@title("ControlNet") +@tags("controlnet") class ControlNetInvocation(BaseInvocation): """Collects ControlNet info to pass to other nodes""" - # fmt: off type: Literal["controlnet"] = "controlnet" - # Inputs - image: ImageField = Field(default=None, description="The control image") - control_model: ControlNetModelField = Field(default="lllyasviel/sd-controlnet-canny", - description="control model used") - control_weight: Union[float, List[float]] = Field(default=1.0, description="The weight given to the ControlNet") - begin_step_percent: float = Field(default=0, ge=-1, le=2, - 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 used") - resize_mode: CONTROLNET_RESIZE_VALUES = Field(default="just_resize", description="The resize mode used") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "ControlNet", - "tags": ["controlnet", "latents"], - "type_hints": { - "model": "model", - "control": "control", - # "cfg_scale": "float", - "cfg_scale": "number", - "control_weight": "float", - }, - }, - } + # Inputs + image: ImageField = InputField(description="The control image") + control_model: ControlNetModelField = InputField( + default="lllyasviel/sd-controlnet-canny", description=FieldDescriptions.controlnet_model, input=Input.Direct + ) + control_weight: Union[float, List[float]] = InputField( + default=1.0, description="The weight given to the ControlNet", ui_type=UIType.Float + ) + begin_step_percent: float = InputField( + default=0, ge=-1, le=2, description="When the ControlNet is first applied (% of total steps)" + ) + end_step_percent: float = InputField( + default=1, ge=0, le=1, description="When the ControlNet is last applied (% of total steps)" + ) + control_mode: CONTROLNET_MODE_VALUES = InputField(default="balanced", description="The control mode used") + resize_mode: CONTROLNET_RESIZE_VALUES = InputField(default="just_resize", description="The resize mode used") def invoke(self, context: InvocationContext) -> ControlOutput: return ControlOutput( @@ -204,19 +134,13 @@ class ControlNetInvocation(BaseInvocation): ) -class ImageProcessorInvocation(BaseInvocation, PILInvocationConfig): +class ImageProcessorInvocation(BaseInvocation): """Base class for invocations that preprocess images for ControlNet""" - # fmt: off type: Literal["image_processor"] = "image_processor" - # Inputs - image: ImageField = Field(default=None, description="The image to process") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Image Processor", "tags": ["image", "processor"]}, - } + # Inputs + image: ImageField = InputField(description="The image to process") def run_processor(self, image): # superclass just passes through image without processing @@ -255,20 +179,20 @@ class ImageProcessorInvocation(BaseInvocation, PILInvocationConfig): ) -class CannyImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Canny Processor") +@tags("controlnet", "canny") +class CannyImageProcessorInvocation(ImageProcessorInvocation): """Canny edge detection for ControlNet""" - # fmt: off type: Literal["canny_image_processor"] = "canny_image_processor" - # Input - low_threshold: int = Field(default=100, ge=0, le=255, description="The low threshold of the Canny pixel gradient (0-255)") - high_threshold: int = Field(default=200, ge=0, le=255, description="The high threshold of the Canny pixel gradient (0-255)") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Canny Processor", "tags": ["controlnet", "canny", "image", "processor"]}, - } + # Input + low_threshold: int = InputField( + default=100, ge=0, le=255, description="The low threshold of the Canny pixel gradient (0-255)" + ) + high_threshold: int = InputField( + default=200, ge=0, le=255, description="The high threshold of the Canny pixel gradient (0-255)" + ) def run_processor(self, image): canny_processor = CannyDetector() @@ -276,23 +200,19 @@ class CannyImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfi return processed_image -class HedImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("HED (softedge) Processor") +@tags("controlnet", "hed", "softedge") +class HedImageProcessorInvocation(ImageProcessorInvocation): """Applies HED edge detection to image""" - # fmt: off type: Literal["hed_image_processor"] = "hed_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - # safe not supported in controlnet_aux v0.0.3 - # safe: bool = Field(default=False, description="whether to use safe mode") - scribble: bool = Field(default=False, description="Whether to use scribble mode") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Softedge(HED) Processor", "tags": ["controlnet", "softedge", "hed", "image", "processor"]}, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) + # safe not supported in controlnet_aux v0.0.3 + # safe: bool = InputField(default=False, description=FieldDescriptions.safe_mode) + scribble: bool = InputField(default=False, description=FieldDescriptions.scribble_mode) def run_processor(self, image): hed_processor = HEDdetector.from_pretrained("lllyasviel/Annotators") @@ -307,21 +227,17 @@ class HedImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig) return processed_image -class LineartImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Lineart Processor") +@tags("controlnet", "lineart") +class LineartImageProcessorInvocation(ImageProcessorInvocation): """Applies line art processing to image""" - # fmt: off type: Literal["lineart_image_processor"] = "lineart_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - coarse: bool = Field(default=False, description="Whether to use coarse mode") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Lineart Processor", "tags": ["controlnet", "lineart", "image", "processor"]}, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) + coarse: bool = InputField(default=False, description="Whether to use coarse mode") def run_processor(self, image): lineart_processor = LineartDetector.from_pretrained("lllyasviel/Annotators") @@ -331,23 +247,16 @@ class LineartImageProcessorInvocation(ImageProcessorInvocation, PILInvocationCon return processed_image -class LineartAnimeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Lineart Anime Processor") +@tags("controlnet", "lineart", "anime") +class LineartAnimeImageProcessorInvocation(ImageProcessorInvocation): """Applies line art anime processing to image""" - # fmt: off type: Literal["lineart_anime_image_processor"] = "lineart_anime_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Lineart Anime Processor", - "tags": ["controlnet", "lineart", "anime", "image", "processor"], - }, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) def run_processor(self, image): processor = LineartAnimeDetector.from_pretrained("lllyasviel/Annotators") @@ -359,21 +268,17 @@ class LineartAnimeImageProcessorInvocation(ImageProcessorInvocation, PILInvocati return processed_image -class OpenposeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Openpose Processor") +@tags("controlnet", "openpose", "pose") +class OpenposeImageProcessorInvocation(ImageProcessorInvocation): """Applies Openpose processing to image""" - # fmt: off type: Literal["openpose_image_processor"] = "openpose_image_processor" - # Inputs - hand_and_face: bool = Field(default=False, description="Whether to use hands and face mode") - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Openpose Processor", "tags": ["controlnet", "openpose", "image", "processor"]}, - } + # Inputs + hand_and_face: bool = InputField(default=False, description="Whether to use hands and face mode") + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) def run_processor(self, image): openpose_processor = OpenposeDetector.from_pretrained("lllyasviel/Annotators") @@ -386,22 +291,18 @@ class OpenposeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationCo return processed_image -class MidasDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Midas (Depth) Processor") +@tags("controlnet", "midas", "depth") +class MidasDepthImageProcessorInvocation(ImageProcessorInvocation): """Applies Midas depth processing to image""" - # fmt: off type: Literal["midas_depth_image_processor"] = "midas_depth_image_processor" - # Inputs - a_mult: float = Field(default=2.0, ge=0, description="Midas parameter `a_mult` (a = a_mult * PI)") - bg_th: float = Field(default=0.1, ge=0, description="Midas parameter `bg_th`") - # depth_and_normal not supported in controlnet_aux v0.0.3 - # depth_and_normal: bool = Field(default=False, description="whether to use depth and normal mode") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Midas (Depth) Processor", "tags": ["controlnet", "midas", "depth", "image", "processor"]}, - } + # Inputs + a_mult: float = InputField(default=2.0, ge=0, description="Midas parameter `a_mult` (a = a_mult * PI)") + bg_th: float = InputField(default=0.1, ge=0, description="Midas parameter `bg_th`") + # depth_and_normal not supported in controlnet_aux v0.0.3 + # depth_and_normal: bool = InputField(default=False, description="whether to use depth and normal mode") def run_processor(self, image): midas_processor = MidasDetector.from_pretrained("lllyasviel/Annotators") @@ -415,20 +316,16 @@ class MidasDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocation return processed_image -class NormalbaeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Normal BAE Processor") +@tags("controlnet", "normal", "bae") +class NormalbaeImageProcessorInvocation(ImageProcessorInvocation): """Applies NormalBae processing to image""" - # fmt: off type: Literal["normalbae_image_processor"] = "normalbae_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Normal BAE Processor", "tags": ["controlnet", "normal", "bae", "image", "processor"]}, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) def run_processor(self, image): normalbae_processor = NormalBaeDetector.from_pretrained("lllyasviel/Annotators") @@ -438,22 +335,18 @@ class NormalbaeImageProcessorInvocation(ImageProcessorInvocation, PILInvocationC return processed_image -class MlsdImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("MLSD Processor") +@tags("controlnet", "mlsd") +class MlsdImageProcessorInvocation(ImageProcessorInvocation): """Applies MLSD processing to image""" - # fmt: off type: Literal["mlsd_image_processor"] = "mlsd_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - thr_v: float = Field(default=0.1, ge=0, description="MLSD parameter `thr_v`") - thr_d: float = Field(default=0.1, ge=0, description="MLSD parameter `thr_d`") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "MLSD Processor", "tags": ["controlnet", "mlsd", "image", "processor"]}, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) + thr_v: float = InputField(default=0.1, ge=0, description="MLSD parameter `thr_v`") + thr_d: float = InputField(default=0.1, ge=0, description="MLSD parameter `thr_d`") def run_processor(self, image): mlsd_processor = MLSDdetector.from_pretrained("lllyasviel/Annotators") @@ -467,22 +360,18 @@ class MlsdImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig return processed_image -class PidiImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("PIDI Processor") +@tags("controlnet", "pidi") +class PidiImageProcessorInvocation(ImageProcessorInvocation): """Applies PIDI processing to image""" - # fmt: off type: Literal["pidi_image_processor"] = "pidi_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - safe: bool = Field(default=False, description="Whether to use safe mode") - scribble: bool = Field(default=False, description="Whether to use scribble mode") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "PIDI Processor", "tags": ["controlnet", "pidi", "image", "processor"]}, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) + safe: bool = InputField(default=False, description=FieldDescriptions.safe_mode) + scribble: bool = InputField(default=False, description=FieldDescriptions.scribble_mode) def run_processor(self, image): pidi_processor = PidiNetDetector.from_pretrained("lllyasviel/Annotators") @@ -496,26 +385,19 @@ class PidiImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig return processed_image -class ContentShuffleImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Content Shuffle Processor") +@tags("controlnet", "contentshuffle") +class ContentShuffleImageProcessorInvocation(ImageProcessorInvocation): """Applies content shuffle processing to image""" - # fmt: off type: Literal["content_shuffle_image_processor"] = "content_shuffle_image_processor" - # Inputs - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - h: Optional[int] = Field(default=512, ge=0, description="Content shuffle `h` parameter") - w: Optional[int] = Field(default=512, ge=0, description="Content shuffle `w` parameter") - f: Optional[int] = Field(default=256, ge=0, description="Content shuffle `f` parameter") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Content Shuffle Processor", - "tags": ["controlnet", "contentshuffle", "image", "processor"], - }, - } + # Inputs + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) + h: Optional[int] = InputField(default=512, ge=0, description="Content shuffle `h` parameter") + w: Optional[int] = InputField(default=512, ge=0, description="Content shuffle `w` parameter") + f: Optional[int] = InputField(default=256, ge=0, description="Content shuffle `f` parameter") def run_processor(self, image): content_shuffle_processor = ContentShuffleDetector() @@ -531,17 +413,12 @@ class ContentShuffleImageProcessorInvocation(ImageProcessorInvocation, PILInvoca # should work with controlnet_aux >= 0.0.4 and timm <= 0.6.13 -class ZoeDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Zoe (Depth) Processor") +@tags("controlnet", "zoe", "depth") +class ZoeDepthImageProcessorInvocation(ImageProcessorInvocation): """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"]}, - } def run_processor(self, image): zoe_depth_processor = ZoeDetector.from_pretrained("lllyasviel/Annotators") @@ -549,20 +426,16 @@ class ZoeDepthImageProcessorInvocation(ImageProcessorInvocation, PILInvocationCo return processed_image -class MediapipeFaceProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Mediapipe Face Processor") +@tags("controlnet", "mediapipe", "face") +class MediapipeFaceProcessorInvocation(ImageProcessorInvocation): """Applies mediapipe face processing to image""" - # fmt: off type: Literal["mediapipe_face_processor"] = "mediapipe_face_processor" - # Inputs - max_faces: int = Field(default=1, ge=1, description="Maximum number of faces to detect") - min_confidence: float = Field(default=0.5, ge=0, le=1, description="Minimum confidence for face detection") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Mediapipe Processor", "tags": ["controlnet", "mediapipe", "image", "processor"]}, - } + # Inputs + max_faces: int = InputField(default=1, ge=1, description="Maximum number of faces to detect") + min_confidence: float = InputField(default=0.5, ge=0, le=1, description="Minimum confidence for face detection") def run_processor(self, image): # MediaPipeFaceDetector throws an error if image has alpha channel @@ -574,23 +447,19 @@ class MediapipeFaceProcessorInvocation(ImageProcessorInvocation, PILInvocationCo return processed_image -class LeresImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Leres (Depth) Processor") +@tags("controlnet", "leres", "depth") +class LeresImageProcessorInvocation(ImageProcessorInvocation): """Applies leres processing to image""" - # fmt: off type: Literal["leres_image_processor"] = "leres_image_processor" - # Inputs - thr_a: float = Field(default=0, description="Leres parameter `thr_a`") - thr_b: float = Field(default=0, description="Leres parameter `thr_b`") - boost: bool = Field(default=False, description="Whether to use boost mode") - detect_resolution: int = Field(default=512, ge=0, description="The pixel resolution for detection") - image_resolution: int = Field(default=512, ge=0, description="The pixel resolution for the output image") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Leres (Depth) Processor", "tags": ["controlnet", "leres", "depth", "image", "processor"]}, - } + # Inputs + thr_a: float = InputField(default=0, description="Leres parameter `thr_a`") + thr_b: float = InputField(default=0, description="Leres parameter `thr_b`") + boost: bool = InputField(default=False, description="Whether to use boost mode") + detect_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.detect_res) + image_resolution: int = InputField(default=512, ge=0, description=FieldDescriptions.image_res) def run_processor(self, image): leres_processor = LeresDetector.from_pretrained("lllyasviel/Annotators") @@ -605,21 +474,16 @@ class LeresImageProcessorInvocation(ImageProcessorInvocation, PILInvocationConfi return processed_image -class TileResamplerProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): - # fmt: off - type: Literal["tile_image_processor"] = "tile_image_processor" - # Inputs - #res: int = Field(default=512, ge=0, le=1024, description="The pixel resolution for each tile") - down_sampling_rate: float = Field(default=1.0, ge=1.0, le=8.0, description="Down sampling rate") - # fmt: on +@title("Tile Resample Processor") +@tags("controlnet", "tile") +class TileResamplerProcessorInvocation(ImageProcessorInvocation): + """Tile resampler processor""" - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Tile Resample Processor", - "tags": ["controlnet", "tile", "resample", "image", "processor"], - }, - } + type: Literal["tile_image_processor"] = "tile_image_processor" + + # Inputs + # res: int = InputField(default=512, ge=0, le=1024, description="The pixel resolution for each tile") + down_sampling_rate: float = InputField(default=1.0, ge=1.0, le=8.0, description="Down sampling rate") # tile_resample copied from sd-webui-controlnet/scripts/processor.py def tile_resample( @@ -648,20 +512,12 @@ class TileResamplerProcessorInvocation(ImageProcessorInvocation, PILInvocationCo return processed_image -class SegmentAnythingProcessorInvocation(ImageProcessorInvocation, PILInvocationConfig): +@title("Segment Anything Processor") +@tags("controlnet", "segmentanything") +class SegmentAnythingProcessorInvocation(ImageProcessorInvocation): """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"], - }, - } def run_processor(self, image): # segment_anything_processor = SamDetector.from_pretrained("ybelkada/segment-anything", subfolder="checkpoints") diff --git a/invokeai/app/invocations/cv.py b/invokeai/app/invocations/cv.py index bd3a4adbe4..f318434211 100644 --- a/invokeai/app/invocations/cv.py +++ b/invokeai/app/invocations/cv.py @@ -5,40 +5,22 @@ from typing import Literal import cv2 as cv import numpy from PIL import Image, ImageOps -from pydantic import BaseModel, Field +from invokeai.app.invocations.primitives import ImageField, ImageOutput -from invokeai.app.models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import BaseInvocation, InvocationContext, InvocationConfig -from .image import ImageOutput +from invokeai.app.models.image import ImageCategory, ResourceOrigin +from .baseinvocation import BaseInvocation, InputField, InvocationContext, tags, title -class CvInvocationConfig(BaseModel): - """Helper class to provide all OpenCV invocations with additional config""" - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["cv", "image"], - }, - } - - -class CvInpaintInvocation(BaseInvocation, CvInvocationConfig): +@title("OpenCV Inpaint") +@tags("opencv", "inpaint") +class CvInpaintInvocation(BaseInvocation): """Simple inpaint using opencv.""" - # fmt: off type: Literal["cv_inpaint"] = "cv_inpaint" # Inputs - image: ImageField = Field(default=None, description="The image to inpaint") - mask: ImageField = Field(default=None, description="The mask to use when inpainting") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "OpenCV Inpaint", "tags": ["opencv", "inpaint"]}, - } + image: ImageField = InputField(description="The image to inpaint") + mask: ImageField = InputField(description="The mask to use when inpainting") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 2c47020207..f4a1648196 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -1,60 +1,31 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) from pathlib import Path -from typing import Literal, Optional, Union +from typing import Literal, Optional import cv2 import numpy from PIL import Image, ImageChops, ImageFilter, ImageOps -from pydantic import Field from invokeai.app.invocations.metadata import CoreMetadata +from invokeai.app.invocations.primitives import ImageField, ImageOutput from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark from invokeai.backend.image_util.safety_checker import SafetyChecker -from ..models.image import ImageCategory, ImageField, ImageOutput, MaskOutput, PILInvocationConfig, ResourceOrigin -from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext - - -class LoadImageInvocation(BaseInvocation): - """Load an image and provide it as output.""" - - # fmt: off - type: Literal["load_image"] = "load_image" - - # Inputs - image: Optional[ImageField] = Field( - default=None, description="The image to load" - ) - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Load Image", "tags": ["image", "load"]}, - } - - def invoke(self, context: InvocationContext) -> ImageOutput: - image = context.services.images.get_pil_image(self.image.image_name) - - return ImageOutput( - image=ImageField(image_name=self.image.image_name), - width=image.width, - height=image.height, - ) +from ..models.image import ImageCategory, ResourceOrigin +from .baseinvocation import BaseInvocation, FieldDescriptions, InputField, InvocationContext, tags, title +@title("Show Image") +@tags("image") class ShowImageInvocation(BaseInvocation): """Displays a provided image, and passes it forward in the pipeline.""" + # Metadata type: Literal["show_image"] = "show_image" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to show") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Show Image", "tags": ["image", "show"]}, - } + image: ImageField = InputField(description="The image to show") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -70,24 +41,20 @@ class ShowImageInvocation(BaseInvocation): ) -class ImageCropInvocation(BaseInvocation, PILInvocationConfig): +@title("Crop Image") +@tags("image", "crop") +class ImageCropInvocation(BaseInvocation): """Crops an image to a specified box. The box can be outside of the image.""" - # fmt: off + # Metadata type: Literal["img_crop"] = "img_crop" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to crop") - x: int = Field(default=0, description="The left x coordinate of the crop rectangle") - y: int = Field(default=0, description="The top y coordinate of the crop rectangle") - width: int = Field(default=512, gt=0, description="The width of the crop rectangle") - height: int = Field(default=512, gt=0, description="The height of the crop rectangle") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Crop Image", "tags": ["image", "crop"]}, - } + image: ImageField = InputField(description="The image to crop") + x: int = InputField(default=0, description="The left x coordinate of the crop rectangle") + y: int = InputField(default=0, description="The top y coordinate of the crop rectangle") + width: int = InputField(default=512, gt=0, description="The width of the crop rectangle") + height: int = InputField(default=512, gt=0, description="The height of the crop rectangle") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -111,24 +78,23 @@ class ImageCropInvocation(BaseInvocation, PILInvocationConfig): ) -class ImagePasteInvocation(BaseInvocation, PILInvocationConfig): +@title("Paste Image") +@tags("image", "paste") +class ImagePasteInvocation(BaseInvocation): """Pastes an image into another image.""" - # fmt: off + # Metadata type: Literal["img_paste"] = "img_paste" # Inputs - base_image: Optional[ImageField] = Field(default=None, description="The base image") - image: Optional[ImageField] = Field(default=None, description="The image to paste") - mask: Optional[ImageField] = Field(default=None, description="The mask to use when pasting") - x: int = Field(default=0, description="The left x coordinate at which to paste the image") - y: int = Field(default=0, description="The top y coordinate at which to paste the image") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Paste Image", "tags": ["image", "paste"]}, - } + base_image: ImageField = InputField(description="The base image") + image: ImageField = InputField(description="The image to paste") + mask: Optional[ImageField] = InputField( + default=None, + description="The mask to use when pasting", + ) + x: int = InputField(default=0, description="The left x coordinate at which to paste the image") + y: int = InputField(default=0, description="The top y coordinate at which to paste the image") def invoke(self, context: InvocationContext) -> ImageOutput: base_image = context.services.images.get_pil_image(self.base_image.image_name) @@ -164,23 +130,19 @@ class ImagePasteInvocation(BaseInvocation, PILInvocationConfig): ) -class MaskFromAlphaInvocation(BaseInvocation, PILInvocationConfig): +@title("Mask from Alpha") +@tags("image", "mask") +class MaskFromAlphaInvocation(BaseInvocation): """Extracts the alpha channel of an image as a mask.""" - # fmt: off + # Metadata type: Literal["tomask"] = "tomask" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to create the mask from") - invert: bool = Field(default=False, description="Whether or not to invert the mask") - # fmt: on + image: ImageField = InputField(description="The image to create the mask from") + invert: bool = InputField(default=False, description="Whether or not to invert the mask") - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Mask From Alpha", "tags": ["image", "mask", "alpha"]}, - } - - def invoke(self, context: InvocationContext) -> MaskOutput: + def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) image_mask = image.split()[-1] @@ -196,28 +158,24 @@ class MaskFromAlphaInvocation(BaseInvocation, PILInvocationConfig): is_intermediate=self.is_intermediate, ) - return MaskOutput( - mask=ImageField(image_name=image_dto.image_name), + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), width=image_dto.width, height=image_dto.height, ) -class ImageMultiplyInvocation(BaseInvocation, PILInvocationConfig): +@title("Multiply Images") +@tags("image", "multiply") +class ImageMultiplyInvocation(BaseInvocation): """Multiplies two images together using `PIL.ImageChops.multiply()`.""" - # fmt: off + # Metadata type: Literal["img_mul"] = "img_mul" # Inputs - image1: Optional[ImageField] = Field(default=None, description="The first image to multiply") - image2: Optional[ImageField] = Field(default=None, description="The second image to multiply") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Multiply Images", "tags": ["image", "multiply"]}, - } + image1: ImageField = InputField(description="The first image to multiply") + image2: ImageField = InputField(description="The second image to multiply") def invoke(self, context: InvocationContext) -> ImageOutput: image1 = context.services.images.get_pil_image(self.image1.image_name) @@ -244,21 +202,17 @@ class ImageMultiplyInvocation(BaseInvocation, PILInvocationConfig): IMAGE_CHANNELS = Literal["A", "R", "G", "B"] -class ImageChannelInvocation(BaseInvocation, PILInvocationConfig): +@title("Extract Image Channel") +@tags("image", "channel") +class ImageChannelInvocation(BaseInvocation): """Gets a channel from an image.""" - # fmt: off + # Metadata type: Literal["img_chan"] = "img_chan" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to get the channel from") - channel: IMAGE_CHANNELS = Field(default="A", description="The channel to get") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Image Channel", "tags": ["image", "channel"]}, - } + image: ImageField = InputField(description="The image to get the channel from") + channel: IMAGE_CHANNELS = InputField(default="A", description="The channel to get") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -284,21 +238,17 @@ class ImageChannelInvocation(BaseInvocation, PILInvocationConfig): IMAGE_MODES = Literal["L", "RGB", "RGBA", "CMYK", "YCbCr", "LAB", "HSV", "I", "F"] -class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): +@title("Convert Image Mode") +@tags("image", "convert") +class ImageConvertInvocation(BaseInvocation): """Converts an image to a different mode.""" - # fmt: off + # Metadata type: Literal["img_conv"] = "img_conv" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to convert") - mode: IMAGE_MODES = Field(default="L", description="The mode to convert to") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Convert Image", "tags": ["image", "convert"]}, - } + image: ImageField = InputField(description="The image to convert") + mode: IMAGE_MODES = InputField(default="L", description="The mode to convert to") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -321,22 +271,19 @@ class ImageConvertInvocation(BaseInvocation, PILInvocationConfig): ) -class ImageBlurInvocation(BaseInvocation, PILInvocationConfig): +@title("Blur Image") +@tags("image", "blur") +class ImageBlurInvocation(BaseInvocation): """Blurs an image""" - # fmt: off + # Metadata type: Literal["img_blur"] = "img_blur" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to blur") - radius: float = Field(default=8.0, ge=0, description="The blur radius") - blur_type: Literal["gaussian", "box"] = Field(default="gaussian", description="The type of blur") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Blur Image", "tags": ["image", "blur"]}, - } + image: ImageField = InputField(description="The image to blur") + radius: float = InputField(default=8.0, ge=0, description="The blur radius") + # Metadata + blur_type: Literal["gaussian", "box"] = InputField(default="gaussian", description="The type of blur") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -382,23 +329,19 @@ PIL_RESAMPLING_MAP = { } -class ImageResizeInvocation(BaseInvocation, PILInvocationConfig): +@title("Resize Image") +@tags("image", "resize") +class ImageResizeInvocation(BaseInvocation): """Resizes an image to specific dimensions""" - # fmt: off + # Metadata type: Literal["img_resize"] = "img_resize" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to resize") - width: Union[int, None] = Field(ge=64, multiple_of=8, description="The width to resize to (px)") - height: Union[int, None] = Field(ge=64, multiple_of=8, description="The height to resize to (px)") - resample_mode: PIL_RESAMPLING_MODES = Field(default="bicubic", description="The resampling mode") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Resize Image", "tags": ["image", "resize"]}, - } + image: ImageField = InputField(description="The image to resize") + width: int = InputField(default=512, ge=64, multiple_of=8, description="The width to resize to (px)") + height: int = InputField(default=512, ge=64, multiple_of=8, description="The height to resize to (px)") + resample_mode: PIL_RESAMPLING_MODES = InputField(default="bicubic", description="The resampling mode") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -426,22 +369,22 @@ class ImageResizeInvocation(BaseInvocation, PILInvocationConfig): ) -class ImageScaleInvocation(BaseInvocation, PILInvocationConfig): +@title("Scale Image") +@tags("image", "scale") +class ImageScaleInvocation(BaseInvocation): """Scales an image by a factor""" - # fmt: off + # Metadata type: Literal["img_scale"] = "img_scale" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to scale") - scale_factor: Optional[float] = Field(default=2.0, gt=0, description="The factor by which to scale the image") - resample_mode: PIL_RESAMPLING_MODES = Field(default="bicubic", description="The resampling mode") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Scale Image", "tags": ["image", "scale"]}, - } + image: ImageField = InputField(description="The image to scale") + scale_factor: float = InputField( + default=2.0, + gt=0, + description="The factor by which to scale the image", + ) + resample_mode: PIL_RESAMPLING_MODES = InputField(default="bicubic", description="The resampling mode") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -471,22 +414,18 @@ class ImageScaleInvocation(BaseInvocation, PILInvocationConfig): ) -class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): +@title("Lerp Image") +@tags("image", "lerp") +class ImageLerpInvocation(BaseInvocation): """Linear interpolation of all pixels of an image""" - # fmt: off + # Metadata type: Literal["img_lerp"] = "img_lerp" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to lerp") - min: int = Field(default=0, ge=0, le=255, description="The minimum output value") - max: int = Field(default=255, ge=0, le=255, description="The maximum output value") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Image Linear Interpolation", "tags": ["image", "linear", "interpolation", "lerp"]}, - } + image: ImageField = InputField(description="The image to lerp") + min: int = InputField(default=0, ge=0, le=255, description="The minimum output value") + max: int = InputField(default=255, ge=0, le=255, description="The maximum output value") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -512,25 +451,18 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): ) -class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): +@title("Inverse Lerp Image") +@tags("image", "ilerp") +class ImageInverseLerpInvocation(BaseInvocation): """Inverse linear interpolation of all pixels of an image""" - # fmt: off + # Metadata type: Literal["img_ilerp"] = "img_ilerp" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to lerp") - min: int = Field(default=0, ge=0, le=255, description="The minimum input value") - max: int = Field(default=255, ge=0, le=255, description="The maximum input value") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Image Inverse Linear Interpolation", - "tags": ["image", "linear", "interpolation", "inverse"], - }, - } + image: ImageField = InputField(description="The image to lerp") + min: int = InputField(default=0, ge=0, le=255, description="The minimum input value") + max: int = InputField(default=255, ge=0, le=255, description="The maximum input value") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -556,21 +488,19 @@ class ImageInverseLerpInvocation(BaseInvocation, PILInvocationConfig): ) -class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): +@title("Blur NSFW Image") +@tags("image", "nsfw") +class ImageNSFWBlurInvocation(BaseInvocation): """Add blur to NSFW-flagged images""" - # fmt: off + # Metadata type: Literal["img_nsfw"] = "img_nsfw" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to check") - metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Blur NSFW Images", "tags": ["image", "nsfw", "checker"]}, - } + image: ImageField = InputField(description="The image to check") + metadata: Optional[CoreMetadata] = InputField( + default=None, description=FieldDescriptions.core_metadata, ui_hidden=True + ) def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -607,22 +537,20 @@ class ImageNSFWBlurInvocation(BaseInvocation, PILInvocationConfig): return caution.resize((caution.width // 2, caution.height // 2)) -class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): +@title("Add Invisible Watermark") +@tags("image", "watermark") +class ImageWatermarkInvocation(BaseInvocation): """Add an invisible watermark to an image""" - # fmt: off + # Metadata 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") - metadata: Optional[CoreMetadata] = Field(default=None, description="Optional core metadata to be written to the image") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Add Invisible Watermark", "tags": ["image", "watermark", "invisible"]}, - } + image: ImageField = InputField(description="The image to check") + text: str = InputField(default="InvokeAI", description="Watermark text") + metadata: Optional[CoreMetadata] = InputField( + default=None, description=FieldDescriptions.core_metadata, ui_hidden=True + ) def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -644,21 +572,23 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): ) -class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): +@title("Mask Edge") +@tags("image", "mask", "inpaint") +class MaskEdgeInvocation(BaseInvocation): """Applies an edge mask to an image""" - # fmt: off type: Literal["mask_edge"] = "mask_edge" # Inputs - image: Optional[ImageField] = Field(default=None, description="The image to apply the mask to") - edge_size: int = Field(description="The size of the edge") - edge_blur: int = Field(description="The amount of blur on the edge") - low_threshold: int = Field(description="First threshold for the hysteresis procedure in Canny edge detection") - high_threshold: int = Field(description="Second threshold for the hysteresis procedure in Canny edge detection") - # fmt: on + image: ImageField = InputField(description="The image to apply the mask to") + edge_size: int = InputField(description="The size of the edge") + edge_blur: int = InputField(description="The amount of blur on the edge") + low_threshold: int = InputField(description="First threshold for the hysteresis procedure in Canny edge detection") + high_threshold: int = InputField( + description="Second threshold for the hysteresis procedure in Canny edge detection" + ) - def invoke(self, context: InvocationContext) -> MaskOutput: + def invoke(self, context: InvocationContext) -> ImageOutput: mask = context.services.images.get_pil_image(self.image.image_name) npimg = numpy.asarray(mask, dtype=numpy.uint8) @@ -683,28 +613,23 @@ class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): is_intermediate=self.is_intermediate, ) - return MaskOutput( - mask=ImageField(image_name=image_dto.image_name), + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), width=image_dto.width, height=image_dto.height, ) -class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): +@title("Combine Mask") +@tags("image", "mask", "multiply") +class MaskCombineInvocation(BaseInvocation): """Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`.""" - # fmt: off type: Literal["mask_combine"] = "mask_combine" # Inputs - mask1: ImageField = Field(default=None, description="The first mask to combine") - mask2: ImageField = Field(default=None, description="The second image to combine") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Mask Combine", "tags": ["mask", "combine"]}, - } + mask1: ImageField = InputField(description="The first mask to combine") + mask2: ImageField = InputField(description="The second image to combine") def invoke(self, context: InvocationContext) -> ImageOutput: mask1 = context.services.images.get_pil_image(self.mask1.image_name).convert("L") @@ -728,7 +653,9 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): ) -class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): +@title("Color Correct") +@tags("image", "color") +class ColorCorrectInvocation(BaseInvocation): """ Shifts the colors of a target image to match the reference image, optionally using a mask to only color-correct certain regions of the target image. @@ -736,10 +663,11 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): type: Literal["color_correct"] = "color_correct" - image: Optional[ImageField] = Field(default=None, description="The image to color-correct") - reference: Optional[ImageField] = Field(default=None, description="Reference image for color-correction") - mask: Optional[ImageField] = Field(default=None, description="Mask to use when applying color-correction") - mask_blur_radius: float = Field(default=8, description="Mask blur radius") + # Inputs + image: ImageField = InputField(description="The image to color-correct") + reference: ImageField = InputField(description="Reference image for color-correction") + mask: Optional[ImageField] = InputField(default=None, description="Mask to use when applying color-correction") + mask_blur_radius: float = InputField(default=8, description="Mask blur radius") def invoke(self, context: InvocationContext) -> ImageOutput: pil_init_mask = None @@ -833,16 +761,16 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): ) +@title("Image Hue Adjustment") +@tags("image", "hue", "hsl") class ImageHueAdjustmentInvocation(BaseInvocation): """Adjusts the Hue of an image.""" - # fmt: off type: Literal["img_hue_adjust"] = "img_hue_adjust" # Inputs - image: ImageField = Field(default=None, description="The image to adjust") - hue: int = Field(default=0, description="The degrees by which to rotate the hue, 0-360") - # fmt: on + image: ImageField = InputField(description="The image to adjust") + hue: int = InputField(default=0, description="The degrees by which to rotate the hue, 0-360") def invoke(self, context: InvocationContext) -> ImageOutput: pil_image = context.services.images.get_pil_image(self.image.image_name) @@ -877,16 +805,18 @@ class ImageHueAdjustmentInvocation(BaseInvocation): ) +@title("Image Luminosity Adjustment") +@tags("image", "luminosity", "hsl") class ImageLuminosityAdjustmentInvocation(BaseInvocation): """Adjusts the Luminosity (Value) of an image.""" - # fmt: off type: Literal["img_luminosity_adjust"] = "img_luminosity_adjust" # Inputs - image: ImageField = Field(default=None, description="The image to adjust") - luminosity: float = Field(default=1.0, ge=0, le=1, description="The factor by which to adjust the luminosity (value)") - # fmt: on + image: ImageField = InputField(description="The image to adjust") + luminosity: float = InputField( + default=1.0, ge=0, le=1, description="The factor by which to adjust the luminosity (value)" + ) def invoke(self, context: InvocationContext) -> ImageOutput: pil_image = context.services.images.get_pil_image(self.image.image_name) @@ -925,16 +855,16 @@ class ImageLuminosityAdjustmentInvocation(BaseInvocation): ) +@title("Image Saturation Adjustment") +@tags("image", "saturation", "hsl") class ImageSaturationAdjustmentInvocation(BaseInvocation): """Adjusts the Saturation of an image.""" - # fmt: off type: Literal["img_saturation_adjust"] = "img_saturation_adjust" # Inputs - image: ImageField = Field(default=None, description="The image to adjust") - saturation: float = Field(default=1.0, ge=0, le=1, description="The factor by which to adjust the saturation") - # fmt: on + image: ImageField = InputField(description="The image to adjust") + saturation: float = InputField(default=1.0, ge=0, le=1, description="The factor by which to adjust the saturation") def invoke(self, context: InvocationContext) -> ImageOutput: pil_image = context.services.images.get_pil_image(self.image.image_name) diff --git a/invokeai/app/invocations/infill.py b/invokeai/app/invocations/infill.py index cd5b2f9a11..1547191f6c 100644 --- a/invokeai/app/invocations/infill.py +++ b/invokeai/app/invocations/infill.py @@ -5,18 +5,13 @@ from typing import Literal, Optional, get_args import numpy as np import math from PIL import Image, ImageOps -from pydantic import Field +from invokeai.app.invocations.primitives import ImageField, ImageOutput, ColorField -from invokeai.app.invocations.image import ImageOutput from invokeai.app.util.misc import SEED_MAX, get_random_seed from invokeai.backend.image_util.patchmatch import PatchMatch -from ..models.image import ColorField, ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import ( - BaseInvocation, - InvocationConfig, - InvocationContext, -) +from ..models.image import ImageCategory, ResourceOrigin +from .baseinvocation import BaseInvocation, InputField, InvocationContext, title, tags def infill_methods() -> list[str]: @@ -114,21 +109,20 @@ def tile_fill_missing(im: Image.Image, tile_size: int = 16, seed: Optional[int] return si +@title("Solid Color Infill") +@tags("image", "inpaint") 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") - color: ColorField = Field( + + # Inputs + image: ImageField = InputField(description="The image to infill") + color: ColorField = InputField( default=ColorField(r=127, g=127, b=127, a=255), description="The color to use to infill", ) - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Color Infill", "tags": ["image", "inpaint", "color", "infill"]}, - } - def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) @@ -153,25 +147,23 @@ class InfillColorInvocation(BaseInvocation): ) +@title("Tile Infill") +@tags("image", "inpaint") class InfillTileInvocation(BaseInvocation): """Infills transparent areas of an image with tiles of the image""" type: Literal["infill_tile"] = "infill_tile" - 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( + # Input + image: ImageField = InputField(description="The image to infill") + tile_size: int = InputField(default=32, ge=1, description="The tile size (px)") + seed: int = InputField( ge=0, le=SEED_MAX, description="The seed to use for tile generation (omit for random)", default_factory=get_random_seed, ) - class Config(InvocationConfig): - schema_extra = { - "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) @@ -194,17 +186,15 @@ class InfillTileInvocation(BaseInvocation): ) +@title("PatchMatch Infill") +@tags("image", "inpaint") class InfillPatchMatchInvocation(BaseInvocation): """Infills transparent areas of an image using the PatchMatch algorithm""" type: Literal["infill_patchmatch"] = "infill_patchmatch" - 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"]}, - } + # Inputs + image: ImageField = InputField(description="The image to infill") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index c66c9c6214..40f7af8703 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -13,16 +13,25 @@ from diffusers.models.attention_processor import ( LoRAXFormersAttnProcessor, XFormersAttnProcessor, ) -from diffusers.schedulers import DPMSolverSDEScheduler, SchedulerMixin as Scheduler +from diffusers.schedulers import DPMSolverSDEScheduler +from diffusers.schedulers import SchedulerMixin as Scheduler from pydantic import BaseModel, Field, validator from torchvision.transforms.functional import resize as tv_resize from invokeai.app.invocations.metadata import CoreMetadata +from invokeai.app.invocations.primitives import ( + ImageField, + ImageOutput, + LatentsField, + LatentsOutput, + build_latents_output, +) from invokeai.app.util.controlnet_utils import prepare_control_image from invokeai.app.util.step_callback import stable_diffusion_step_callback from invokeai.backend.model_management.models import ModelType, SilenceWarnings from ...backend.model_management import BaseModelType, ModelPatcher +from ...backend.model_management.lora import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( ConditioningData, @@ -32,48 +41,27 @@ from ...backend.stable_diffusion.diffusers_pipeline import ( ) from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP -from ...backend.util.devices import choose_precision, choose_torch_device, torch_dtype -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext +from ...backend.util.devices import choose_precision, choose_torch_device +from ..models.image import ImageCategory, ResourceOrigin +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + Input, + InputField, + InvocationContext, + OutputField, + UIType, + tags, + title, +) from .compel import ConditioningField from .controlnet_image_processors import ControlField -from .image import ImageOutput from .model import ModelInfo, UNetField, VaeField 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") - seed: Optional[int] = Field(description="Seed used to generate this latents") - - class Config: - schema_extra = {"required": ["latents_name"]} - - -class LatentsOutput(BaseInvocationOutput): - """Base class for invocations that output latents""" - - # 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 - - -def build_latents_output(latents_name: str, latents: torch.Tensor, seed: Optional[int]): - return LatentsOutput( - latents=LatentsField(latents_name=latents_name, seed=seed), - width=latents.size()[3] * 8, - height=latents.size()[2] * 8, - ) - - SAMPLER_NAME_VALUES = Literal[tuple(list(SCHEDULER_MAP.keys()))] @@ -111,30 +99,36 @@ def get_scheduler( return scheduler +@title("Denoise Latents") +@tags("latents", "denoise", "txt2img", "t2i", "t2l", "img2img", "i2i", "l2l") class DenoiseLatentsInvocation(BaseInvocation): """Denoises noisy latents to decodable images""" type: Literal["denoise_latents"] = "denoise_latents" # Inputs - positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") - negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - noise: Optional[LatentsField] = Field(description="The noise to use") - steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") - cfg_scale: Union[float, List[float]] = Field( - default=7.5, - ge=1, - description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", + positive_conditioning: ConditioningField = InputField( + description=FieldDescriptions.positive_cond, input=Input.Connection ) - denoising_start: float = Field(default=0.0, ge=0, le=1, description="") - denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - 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") - latents: Optional[LatentsField] = Field(description="The latents to use as a base image") - mask: Optional[ImageField] = Field( - None, - description="Mask", + negative_conditioning: ConditioningField = InputField( + description=FieldDescriptions.negative_cond, input=Input.Connection + ) + noise: Optional[LatentsField] = InputField(description=FieldDescriptions.noise, input=Input.Connection) + steps: int = InputField(default=10, gt=0, description=FieldDescriptions.steps) + cfg_scale: Union[float, List[float]] = InputField( + default=7.5, ge=1, description=FieldDescriptions.cfg_scale, ui_type=UIType.Float + ) + denoising_start: float = InputField(default=0.0, ge=0, le=1, description=FieldDescriptions.denoising_start) + denoising_end: float = InputField(default=1.0, ge=0, le=1, description=FieldDescriptions.denoising_end) + scheduler: SAMPLER_NAME_VALUES = InputField(default="euler", description=FieldDescriptions.scheduler) + unet: UNetField = InputField(description=FieldDescriptions.unet, input=Input.Connection) + control: Union[ControlField, list[ControlField]] = InputField( + default=None, description=FieldDescriptions.control, input=Input.Connection + ) + latents: Optional[LatentsField] = InputField(description=FieldDescriptions.latents, input=Input.Connection) + mask: Optional[ImageField] = InputField( + default=None, + description=FieldDescriptions.mask, ) @validator("cfg_scale") @@ -149,20 +143,6 @@ class DenoiseLatentsInvocation(BaseInvocation): raise ValueError("cfg_scale must be greater than 1") return v - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Denoise Latents", - "tags": ["denoise", "latents"], - "type_hints": { - "model": "model", - "control": "control", - "cfg_scale": "number", - }, - }, - } - # TODO: pass this an emitter method or something? or a session for dispatching? def dispatch_progress( self, @@ -474,29 +454,29 @@ class DenoiseLatentsInvocation(BaseInvocation): return build_latents_output(latents_name=name, latents=result_latents, seed=seed) -# Latent to image +@title("Latents to Image") +@tags("latents", "image", "vae") class LatentsToImageInvocation(BaseInvocation): """Generates an image from latents.""" type: Literal["l2i"] = "l2i" # Inputs - 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" + latents: LatentsField = InputField( + description=FieldDescriptions.latents, + input=Input.Connection, + ) + vae: VaeField = InputField( + description=FieldDescriptions.vae, + input=Input.Connection, + ) + tiled: bool = InputField(default=False, description=FieldDescriptions.tiled) + fp32: bool = InputField(default=DEFAULT_PRECISION == "float32", description=FieldDescriptions.fp32) + metadata: CoreMetadata = InputField( + default=None, + description=FieldDescriptions.core_metadata, + ui_hidden=True, ) - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Latents To Image", - "tags": ["latents", "image"], - }, - } @torch.no_grad() def invoke(self, context: InvocationContext) -> ImageOutput: @@ -574,24 +554,30 @@ class LatentsToImageInvocation(BaseInvocation): LATENTS_INTERPOLATION_MODE = Literal["nearest", "linear", "bilinear", "bicubic", "trilinear", "area", "nearest-exact"] +@title("Resize Latents") +@tags("latents", "resize") class ResizeLatentsInvocation(BaseInvocation): """Resizes latents to explicit width/height (in pixels). Provided dimensions are floor-divided by 8.""" 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") - antialias: bool = Field( - default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + latents: LatentsField = InputField( + description=FieldDescriptions.latents, + input=Input.Connection, ) - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Resize Latents", "tags": ["latents", "resize"]}, - } + width: int = InputField( + ge=64, + multiple_of=8, + description=FieldDescriptions.width, + ) + height: int = InputField( + ge=64, + multiple_of=8, + description=FieldDescriptions.width, + ) + mode: LATENTS_INTERPOLATION_MODE = InputField(default="bilinear", description=FieldDescriptions.interp_mode) + antialias: bool = InputField(default=False, description=FieldDescriptions.torch_antialias) def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) @@ -616,23 +602,21 @@ class ResizeLatentsInvocation(BaseInvocation): return build_latents_output(latents_name=name, latents=resized_latents, seed=self.latents.seed) +@title("Scale Latents") +@tags("latents", "resize") class ScaleLatentsInvocation(BaseInvocation): """Scales latents by a given factor.""" 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") - antialias: bool = Field( - default=False, description="Whether or not to antialias (applied in bilinear and bicubic modes only)" + latents: LatentsField = InputField( + description=FieldDescriptions.latents, + input=Input.Connection, ) - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Scale Latents", "tags": ["latents", "scale"]}, - } + scale_factor: float = InputField(gt=0, description=FieldDescriptions.scale_factor) + mode: LATENTS_INTERPOLATION_MODE = InputField(default="bilinear", description=FieldDescriptions.interp_mode) + antialias: bool = InputField(default=False, description=FieldDescriptions.torch_antialias) def invoke(self, context: InvocationContext) -> LatentsOutput: latents = context.services.latents.get(self.latents.latents_name) @@ -658,22 +642,23 @@ class ScaleLatentsInvocation(BaseInvocation): return build_latents_output(latents_name=name, latents=resized_latents, seed=self.latents.seed) +@title("Image to Latents") +@tags("latents", "image", "vae") class ImageToLatentsInvocation(BaseInvocation): """Encodes an image into latents.""" type: Literal["i2l"] = "i2l" # 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") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Image To Latents", "tags": ["latents", "image"]}, - } + image: ImageField = InputField( + description="The image to encode", + ) + vae: VaeField = InputField( + description=FieldDescriptions.vae, + input=Input.Connection, + ) + tiled: bool = InputField(default=False, description=FieldDescriptions.tiled) + fp32: bool = InputField(default=DEFAULT_PRECISION == "float32", description=FieldDescriptions.fp32) @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: diff --git a/invokeai/app/invocations/math.py b/invokeai/app/invocations/math.py index 32b1ab2a39..13e3d92f52 100644 --- a/invokeai/app/invocations/math.py +++ b/invokeai/app/invocations/math.py @@ -2,134 +2,83 @@ from typing import Literal -from pydantic import BaseModel, Field import numpy as np -from .baseinvocation import ( - BaseInvocation, - BaseInvocationOutput, - InvocationContext, - InvocationConfig, -) +from invokeai.app.invocations.primitives import IntegerOutput + +from .baseinvocation import BaseInvocation, FieldDescriptions, InputField, InvocationContext, tags, title -class MathInvocationConfig(BaseModel): - """Helper class to provide all math invocations with additional config""" - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["math"], - } - } - - -class IntOutput(BaseInvocationOutput): - """An integer output""" - - # fmt: off - type: Literal["int_output"] = "int_output" - a: int = Field(default=None, description="The output integer") - # fmt: on - - -class FloatOutput(BaseInvocationOutput): - """A float output""" - - # fmt: off - type: Literal["float_output"] = "float_output" - param: float = Field(default=None, description="The output float") - # fmt: on - - -class AddInvocation(BaseInvocation, MathInvocationConfig): +@title("Add Integers") +@tags("math") +class AddInvocation(BaseInvocation): """Adds two numbers""" - # fmt: off type: Literal["add"] = "add" - a: int = Field(default=0, description="The first number") - b: int = Field(default=0, description="The second number") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Add", "tags": ["math", "add"]}, - } + # Inputs + a: int = InputField(default=0, description=FieldDescriptions.num_1) + b: int = InputField(default=0, description=FieldDescriptions.num_2) - def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=self.a + self.b) + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=self.a + self.b) -class SubtractInvocation(BaseInvocation, MathInvocationConfig): +@title("Subtract Integers") +@tags("math") +class SubtractInvocation(BaseInvocation): """Subtracts two numbers""" - # fmt: off type: Literal["sub"] = "sub" - a: int = Field(default=0, description="The first number") - b: int = Field(default=0, description="The second number") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Subtract", "tags": ["math", "subtract"]}, - } + # Inputs + a: int = InputField(default=0, description=FieldDescriptions.num_1) + b: int = InputField(default=0, description=FieldDescriptions.num_2) - def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=self.a - self.b) + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=self.a - self.b) -class MultiplyInvocation(BaseInvocation, MathInvocationConfig): +@title("Multiply Integers") +@tags("math") +class MultiplyInvocation(BaseInvocation): """Multiplies two numbers""" - # fmt: off type: Literal["mul"] = "mul" - a: int = Field(default=0, description="The first number") - b: int = Field(default=0, description="The second number") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Multiply", "tags": ["math", "multiply"]}, - } + # Inputs + a: int = InputField(default=0, description=FieldDescriptions.num_1) + b: int = InputField(default=0, description=FieldDescriptions.num_2) - def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=self.a * self.b) + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=self.a * self.b) -class DivideInvocation(BaseInvocation, MathInvocationConfig): +@title("Divide Integers") +@tags("math") +class DivideInvocation(BaseInvocation): """Divides two numbers""" - # fmt: off type: Literal["div"] = "div" - a: int = Field(default=0, description="The first number") - b: int = Field(default=0, description="The second number") - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Divide", "tags": ["math", "divide"]}, - } + # Inputs + a: int = InputField(default=0, description=FieldDescriptions.num_1) + b: int = InputField(default=0, description=FieldDescriptions.num_2) - def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=int(self.a / self.b)) + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=int(self.a / self.b)) +@title("Random Integer") +@tags("math") class RandomIntInvocation(BaseInvocation): """Outputs a single random integer.""" - # fmt: off type: Literal["rand_int"] = "rand_int" - low: int = Field(default=0, description="The inclusive low value") - high: int = Field( - default=np.iinfo(np.int32).max, description="The exclusive high value" - ) - # fmt: on - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Random Integer", "tags": ["math", "random", "integer"]}, - } + # Inputs + low: int = InputField(default=0, description="The inclusive low value") + high: int = InputField(default=np.iinfo(np.int32).max, description="The exclusive high value") - def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=np.random.randint(self.low, self.high)) + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=np.random.randint(self.low, self.high)) diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index d0549f8539..679c610750 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -1,18 +1,22 @@ -from typing import Literal, Optional, Union +from typing import Literal, Optional from pydantic import Field -from ...version import __version__ from invokeai.app.invocations.baseinvocation import ( BaseInvocation, BaseInvocationOutput, - InvocationConfig, + InputField, InvocationContext, + OutputField, + tags, + title, ) from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import LoRAModelField, MainModelField, VAEModelField from invokeai.app.util.model_exclude_null import BaseModelExcludeNull +from ...version import __version__ + class LoRAMetadataField(BaseModelExcludeNull): """LoRA metadata for an image generated in InvokeAI.""" @@ -43,37 +47,37 @@ class CoreMetadata(BaseModelExcludeNull): model: MainModelField = Field(description="The main model 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( + vae: Optional[VAEModelField] = Field( default=None, description="The VAE used for decoding, if the main model's default was not used", ) # Latents-to-Latents - strength: Union[float, None] = Field( + strength: Optional[float] = 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: Optional[str] = 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: Optional[str] = Field(default=None, description="The positive style prompt parameter") + negative_style_prompt: Optional[str] = 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_cfg_scale: Union[float, None] = Field( + refiner_model: Optional[MainModelField] = Field(default=None, description="The SDXL Refiner model used") + refiner_cfg_scale: Optional[float] = 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_positive_aesthetic_store: Union[float, None] = Field( + refiner_steps: Optional[int] = Field(default=None, description="The number of steps used for the refiner") + refiner_scheduler: Optional[str] = Field(default=None, description="The scheduler used for the refiner") + refiner_positive_aesthetic_store: Optional[float] = Field( default=None, description="The aesthetic score used for the refiner" ) - refiner_negative_aesthetic_store: Union[float, None] = Field( + refiner_negative_aesthetic_store: Optional[float] = 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: Optional[float] = Field(default=None, description="The start value used for refiner denoising") class ImageMetadata(BaseModelExcludeNull): @@ -91,69 +95,86 @@ class MetadataAccumulatorOutput(BaseInvocationOutput): type: Literal["metadata_accumulator_output"] = "metadata_accumulator_output" - metadata: CoreMetadata = Field(description="The core metadata for the image") + metadata: CoreMetadata = OutputField(description="The core metadata for the image") +@title("Metadata Accumulator") +@tags("metadata") class MetadataAccumulatorInvocation(BaseInvocation): """Outputs a Core Metadata Object""" type: Literal["metadata_accumulator"] = "metadata_accumulator" - generation_mode: str = Field( + generation_mode: str = InputField( description="The generation mode that output this image", ) - positive_prompt: str = Field(description="The positive prompt parameter") - negative_prompt: str = Field(description="The negative prompt parameter") - width: int = Field(description="The width parameter") - height: int = Field(description="The height parameter") - seed: int = Field(description="The seed used for noise generation") - rand_device: str = Field(description="The device used for random number generation") - cfg_scale: float = Field(description="The classifier-free guidance scale parameter") - steps: int = Field(description="The number of steps used for inference") - scheduler: str = Field(description="The scheduler used for inference") - clip_skip: int = Field( + positive_prompt: str = InputField(description="The positive prompt parameter") + negative_prompt: str = InputField(description="The negative prompt parameter") + width: int = InputField(description="The width parameter") + height: int = InputField(description="The height parameter") + seed: int = InputField(description="The seed used for noise generation") + rand_device: str = InputField(description="The device used for random number generation") + cfg_scale: float = InputField(description="The classifier-free guidance scale parameter") + steps: int = InputField(description="The number of steps used for inference") + scheduler: str = InputField(description="The scheduler used for inference") + clip_skip: int = InputField( 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") - loras: list[LoRAMetadataField] = Field(description="The LoRAs used for inference") - strength: Union[float, None] = Field( + model: MainModelField = InputField(description="The main model used for inference") + controlnets: list[ControlField] = InputField(description="The ControlNets used for inference") + loras: list[LoRAMetadataField] = InputField(description="The LoRAs used for inference") + strength: Optional[float] = InputField( 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") - vae: Union[VAEModelField, None] = Field( + init_image: Optional[str] = InputField( + default=None, + description="The name of the initial image", + ) + vae: Optional[VAEModelField] = InputField( 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: Optional[str] = InputField( + default=None, + description="The positive style prompt parameter", + ) + negative_style_prompt: Optional[str] = InputField( + 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_cfg_scale: Union[float, None] = Field( + refiner_model: Optional[MainModelField] = InputField( + default=None, + description="The SDXL Refiner model used", + ) + refiner_cfg_scale: Optional[float] = InputField( 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_positive_aesthetic_score: Union[float, None] = Field( - default=None, description="The aesthetic score used for the refiner" + refiner_steps: Optional[int] = InputField( + default=None, + description="The number of steps used for the refiner", ) - refiner_negative_aesthetic_score: Union[float, None] = Field( - default=None, description="The aesthetic score used for the refiner" + refiner_scheduler: Optional[str] = InputField( + default=None, + description="The scheduler used for the refiner", + ) + refiner_positive_aesthetic_store: Optional[float] = InputField( + default=None, + description="The aesthetic score used for the refiner", + ) + refiner_negative_aesthetic_store: Optional[float] = InputField( + default=None, + description="The aesthetic score used for the refiner", + ) + refiner_start: Optional[float] = InputField( + 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 = { - "ui": { - "title": "Metadata Accumulator", - "tags": ["image", "metadata", "generation"], - }, - } def invoke(self, context: InvocationContext) -> MetadataAccumulatorOutput: """Collects and outputs a CoreMetadata object""" diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index 0d21f8f0ce..484a4d71e1 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -4,7 +4,18 @@ 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, + FieldDescriptions, + InputField, + Input, + InvocationContext, + OutputField, + UIType, + tags, + title, +) class ModelInfo(BaseModel): @@ -39,13 +50,11 @@ class VaeField(BaseModel): class ModelLoaderOutput(BaseInvocationOutput): """Model loader output""" - # fmt: off type: Literal["model_loader_output"] = "model_loader_output" - unet: UNetField = Field(default=None, description="UNet submodel") - clip: ClipField = Field(default=None, description="Tokenizer and text_encoder submodels") - vae: VaeField = Field(default=None, description="Vae submodel") - # fmt: on + unet: UNetField = OutputField(description=FieldDescriptions.unet, title="UNet") + clip: ClipField = OutputField(description=FieldDescriptions.clip, title="CLIP") + vae: VaeField = OutputField(description=FieldDescriptions.vae, title="VAE") class MainModelField(BaseModel): @@ -63,24 +72,17 @@ class LoRAModelField(BaseModel): base_model: BaseModelType = Field(description="Base model") +@title("Main Model Loader") +@tags("model") class MainModelLoaderInvocation(BaseInvocation): """Loads a main model, outputting its submodels.""" type: Literal["main_model_loader"] = "main_model_loader" - model: MainModelField = Field(description="The model to load") + # Inputs + model: MainModelField = InputField(description=FieldDescriptions.main_model, input=Input.Direct) # TODO: precision? - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Model Loader", - "tags": ["model", "loader"], - "type_hints": {"model": "model"}, - }, - } - def invoke(self, context: InvocationContext) -> ModelLoaderOutput: base_model = self.model.base_model model_name = self.model.model_name @@ -155,22 +157,6 @@ class MainModelLoaderInvocation(BaseInvocation): loras=[], skipped_layers=0, ), - clip2=ClipField( - tokenizer=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=model_type, - submodel=SubModelType.Tokenizer2, - ), - text_encoder=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=model_type, - submodel=SubModelType.TextEncoder2, - ), - loras=[], - skipped_layers=0, - ), vae=VaeField( vae=ModelInfo( model_name=model_name, @@ -188,30 +174,27 @@ class LoraLoaderOutput(BaseInvocationOutput): # fmt: off type: Literal["lora_loader_output"] = "lora_loader_output" - unet: Optional[UNetField] = Field(default=None, description="UNet submodel") - clip: Optional[ClipField] = Field(default=None, description="Tokenizer and text_encoder submodels") + unet: Optional[UNetField] = OutputField(default=None, description=FieldDescriptions.unet, title="UNet") + clip: Optional[ClipField] = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP") # fmt: on +@title("LoRA Loader") +@tags("lora", "model") class LoraLoaderInvocation(BaseInvocation): """Apply selected lora to unet and text_encoder.""" type: Literal["lora_loader"] = "lora_loader" - 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") - clip: Optional[ClipField] = Field(description="Clip model for applying lora") - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Lora Loader", - "tags": ["lora", "loader"], - "type_hints": {"lora": "lora_model"}, - }, - } + # Inputs + lora: LoRAModelField = InputField(description=FieldDescriptions.lora_model, input=Input.Direct, title="LoRA") + weight: float = InputField(default=0.75, description=FieldDescriptions.lora_weight) + unet: Optional[UNetField] = InputField( + default=None, description=FieldDescriptions.unet, input=Input.Connection, title="UNet" + ) + clip: Optional[ClipField] = InputField( + default=None, description=FieldDescriptions.clip, input=Input.Connection, title="CLIP" + ) def invoke(self, context: InvocationContext) -> LoraLoaderOutput: if self.lora is None: @@ -263,37 +246,35 @@ class LoraLoaderInvocation(BaseInvocation): class SDXLLoraLoaderOutput(BaseInvocationOutput): - """Model loader output""" + """SDXL LoRA Loader Output""" # fmt: off type: Literal["sdxl_lora_loader_output"] = "sdxl_lora_loader_output" - unet: Optional[UNetField] = Field(default=None, description="UNet submodel") - clip: Optional[ClipField] = Field(default=None, description="Tokenizer and text_encoder submodels") - clip2: Optional[ClipField] = Field(default=None, description="Tokenizer2 and text_encoder2 submodels") + unet: Optional[UNetField] = OutputField(default=None, description=FieldDescriptions.unet, title="UNet") + clip: Optional[ClipField] = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP 1") + clip2: Optional[ClipField] = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP 2") # fmt: on +@title("SDXL LoRA Loader") +@tags("sdxl", "lora", "model") class SDXLLoraLoaderInvocation(BaseInvocation): """Apply selected lora to unet and text_encoder.""" type: Literal["sdxl_lora_loader"] = "sdxl_lora_loader" - 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") - clip: Optional[ClipField] = Field(description="Clip model for applying lora") - clip2: Optional[ClipField] = Field(description="Clip2 model for applying lora") - - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Lora Loader", - "tags": ["lora", "loader"], - "type_hints": {"lora": "lora_model"}, - }, - } + lora: LoRAModelField = InputField(description=FieldDescriptions.lora_model, input=Input.Direct, title="LoRA") + weight: float = Field(default=0.75, description=FieldDescriptions.lora_weight) + unet: Optional[UNetField] = Field( + default=None, description=FieldDescriptions.unet, input=Input.Connection, title="UNET" + ) + clip: Optional[ClipField] = Field( + default=None, description=FieldDescriptions.clip, input=Input.Connection, title="CLIP 1" + ) + clip2: Optional[ClipField] = Field( + default=None, description=FieldDescriptions.clip, input=Input.Connection, title="CLIP 2" + ) def invoke(self, context: InvocationContext) -> SDXLLoraLoaderOutput: if self.lora is None: @@ -369,29 +350,23 @@ class VAEModelField(BaseModel): class VaeLoaderOutput(BaseInvocationOutput): """Model loader output""" - # fmt: off type: Literal["vae_loader_output"] = "vae_loader_output" - vae: VaeField = Field(default=None, description="Vae model") - # fmt: on + # Outputs + vae: VaeField = OutputField(description=FieldDescriptions.vae, title="VAE") +@title("VAE Loader") +@tags("vae", "model") class VaeLoaderInvocation(BaseInvocation): """Loads a VAE model, outputting a VaeLoaderOutput""" type: Literal["vae_loader"] = "vae_loader" - vae_model: VAEModelField = Field(description="The VAE to load") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "VAE Loader", - "tags": ["vae", "loader"], - "type_hints": {"vae_model": "vae_model"}, - }, - } + # Inputs + vae_model: VAEModelField = InputField( + description=FieldDescriptions.vae_model, input=Input.Direct, ui_type=UIType.VaeModel, title="VAE" + ) def invoke(self, context: InvocationContext) -> VaeLoaderOutput: base_model = self.vae_model.base_model diff --git a/invokeai/app/invocations/noise.py b/invokeai/app/invocations/noise.py index db64e5b6e5..6fae308fdc 100644 --- a/invokeai/app/invocations/noise.py +++ b/invokeai/app/invocations/noise.py @@ -1,19 +1,24 @@ # Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654) & the InvokeAI Team -import math from typing import Literal -from pydantic import Field, validator import torch -from invokeai.app.invocations.latent import LatentsField +from pydantic import validator +from invokeai.app.invocations.latent import LatentsField from invokeai.app.util.misc import SEED_MAX, get_random_seed + from ...backend.util.devices import choose_torch_device, torch_dtype from .baseinvocation import ( BaseInvocation, BaseInvocationOutput, - InvocationConfig, + FieldDescriptions, + InputField, InvocationContext, + OutputField, + UIType, + tags, + title, ) """ @@ -61,14 +66,12 @@ Nodes class NoiseOutput(BaseInvocationOutput): """Invocation noise output""" - # fmt: off - type: Literal["noise_output"] = "noise_output" + type: Literal["noise_output"] = "noise_output" # Inputs - noise: LatentsField = Field(default=None, description="The output noise") - width: int = Field(description="The width of the noise in pixels") - height: int = Field(description="The height of the noise in pixels") - # fmt: on + noise: LatentsField = OutputField(default=None, description=FieldDescriptions.noise) + width: int = OutputField(description=FieldDescriptions.width) + height: int = OutputField(description=FieldDescriptions.height) def build_noise_output(latents_name: str, latents: torch.Tensor, seed: int): @@ -79,44 +82,37 @@ def build_noise_output(latents_name: str, latents: torch.Tensor, seed: int): ) +@title("Noise") +@tags("latents", "noise") class NoiseInvocation(BaseInvocation): """Generates latent noise.""" type: Literal["noise"] = "noise" # Inputs - seed: int = Field( + seed: int = InputField( ge=0, le=SEED_MAX, - description="The seed to use", + description=FieldDescriptions.seed, default_factory=get_random_seed, ) - width: int = Field( + width: int = InputField( default=512, multiple_of=8, gt=0, - description="The width of the resulting noise", + description=FieldDescriptions.width, ) - height: int = Field( + height: int = InputField( default=512, multiple_of=8, gt=0, - description="The height of the resulting noise", + description=FieldDescriptions.height, ) - use_cpu: bool = Field( + use_cpu: bool = InputField( default=True, description="Use CPU for noise generation (for reproducible results across platforms)", ) - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Noise", - "tags": ["latents", "noise"], - }, - } - @validator("seed", pre=True) def modulo_seed(cls, v): """Returns the seed modulo (SEED_MAX + 1) to ensure it is within the valid range.""" diff --git a/invokeai/app/invocations/onnx.py b/invokeai/app/invocations/onnx.py index 4f04a4f023..6cff56fb2e 100644 --- a/invokeai/app/invocations/onnx.py +++ b/invokeai/app/invocations/onnx.py @@ -1,37 +1,43 @@ # Copyright (c) 2023 Borisov Sergey (https://github.com/StAlKeR7779) +import inspect +import re from contextlib import ExitStack from typing import List, Literal, Optional, Union -import re -import inspect - -from pydantic import BaseModel, Field, validator -import torch import numpy as np +import torch from diffusers import ControlNetModel, DPMSolverMultistepScheduler from diffusers.image_processor import VaeImageProcessor from diffusers.schedulers import SchedulerMixin as Scheduler - -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from ...backend.model_management import ONNXModelPatcher -from ...backend.util import choose_torch_device -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from .compel import ConditioningField -from .controlnet_image_processors import ControlField -from .image import ImageOutput -from .model import ModelInfo, UNetField, VaeField +from pydantic import BaseModel, Field, validator +from tqdm import tqdm from invokeai.app.invocations.metadata import CoreMetadata -from invokeai.backend import BaseModelType, ModelType, SubModelType +from invokeai.app.invocations.primitives import ConditioningField, ConditioningOutput, ImageField, ImageOutput from invokeai.app.util.step_callback import stable_diffusion_step_callback +from invokeai.backend import BaseModelType, ModelType, SubModelType + +from ...backend.model_management import ONNXModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState - -from tqdm import tqdm -from .model import ClipField -from .latent import LatentsField, LatentsOutput, build_latents_output, get_scheduler, SAMPLER_NAME_VALUES -from .compel import CompelOutput - +from ...backend.util import choose_torch_device +from ..models.image import ImageCategory, ResourceOrigin +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + InputField, + Input, + InvocationContext, + OutputField, + UIComponent, + UIType, + tags, + title, +) +from .controlnet_image_processors import ControlField +from .latent import SAMPLER_NAME_VALUES, LatentsField, LatentsOutput, build_latents_output, get_scheduler +from .model import ClipField, ModelInfo, UNetField, VaeField ORT_TO_NP_TYPE = { "tensor(bool)": np.bool_, @@ -51,13 +57,15 @@ ORT_TO_NP_TYPE = { PRECISION_VALUES = Literal[tuple(list(ORT_TO_NP_TYPE.keys()))] +@title("ONNX Prompt (Raw)") +@tags("onnx", "prompt") class ONNXPromptInvocation(BaseInvocation): type: Literal["prompt_onnx"] = "prompt_onnx" - prompt: str = Field(default="", description="Prompt") - clip: ClipField = Field(None, description="Clip to use") + prompt: str = InputField(default="", description=FieldDescriptions.raw_prompt, ui_component=UIComponent.Textarea) + clip: ClipField = InputField(description=FieldDescriptions.clip, input=Input.Connection) - def invoke(self, context: InvocationContext) -> CompelOutput: + def invoke(self, context: InvocationContext) -> ConditioningOutput: tokenizer_info = context.services.model_manager.get_model( **self.clip.tokenizer.dict(), ) @@ -126,7 +134,7 @@ class ONNXPromptInvocation(BaseInvocation): # TODO: hacky but works ;D maybe rename latents somehow? context.services.latents.save(conditioning_name, (prompt_embeds, None)) - return CompelOutput( + return ConditioningOutput( conditioning=ConditioningField( conditioning_name=conditioning_name, ), @@ -134,25 +142,48 @@ class ONNXPromptInvocation(BaseInvocation): # Text to image +@title("ONNX Text to Latents") +@tags("latents", "inference", "txt2img", "onnx") class ONNXTextToLatentsInvocation(BaseInvocation): """Generates latents from conditionings.""" type: Literal["t2l_onnx"] = "t2l_onnx" # Inputs - # fmt: off - positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") - negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - noise: Optional[LatentsField] = Field(description="The noise to use") - steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") - cfg_scale: Union[float, List[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" ) - precision: PRECISION_VALUES = Field(default = "tensor(float16)", description="The precision to use when generating latents") - 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'") - # fmt: on + positive_conditioning: ConditioningField = InputField( + description=FieldDescriptions.positive_cond, + input=Input.Connection, + ) + negative_conditioning: ConditioningField = InputField( + description=FieldDescriptions.negative_cond, + input=Input.Connection, + ) + noise: LatentsField = InputField( + description=FieldDescriptions.noise, + input=Input.Connection, + ) + steps: int = InputField(default=10, gt=0, description=FieldDescriptions.steps) + cfg_scale: Union[float, List[float]] = InputField( + default=7.5, + ge=1, + description=FieldDescriptions.cfg_scale, + ui_type=UIType.Float, + ) + scheduler: SAMPLER_NAME_VALUES = InputField( + default="euler", description=FieldDescriptions.scheduler, input=Input.Direct + ) + precision: PRECISION_VALUES = InputField(default="tensor(float16)", description=FieldDescriptions.precision) + unet: UNetField = InputField( + description=FieldDescriptions.unet, + input=Input.Connection, + ) + control: Optional[Union[ControlField, list[ControlField]]] = InputField( + default=None, + description=FieldDescriptions.control, + ui_type=UIType.Control, + ) + # seamless: bool = InputField(default=False, description="Whether or not to generate an image that can tile without seams", ) + # seamless_axes: str = InputField(default="", description="The axes to tile the image on, 'x' and/or 'y'") @validator("cfg_scale") def ge_one(cls, v): @@ -166,20 +197,6 @@ class ONNXTextToLatentsInvocation(BaseInvocation): raise ValueError("cfg_scale must be greater than 1") return v - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["latents"], - "type_hints": { - "model": "model", - "control": "control", - # "cfg_scale": "float", - "cfg_scale": "number", - }, - }, - } - # based on # https://github.com/huggingface/diffusers/blob/3ebbaf7c96801271f9e6c21400033b6aa5ffcf29/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py#L375 def invoke(self, context: InvocationContext) -> LatentsOutput: @@ -300,26 +317,28 @@ class ONNXTextToLatentsInvocation(BaseInvocation): # Latent to image +@title("ONNX Latents to Image") +@tags("latents", "image", "vae", "onnx") class ONNXLatentsToImageInvocation(BaseInvocation): """Generates an image from latents.""" type: Literal["l2i_onnx"] = "l2i_onnx" # Inputs - latents: Optional[LatentsField] = Field(description="The latents to generate an image from") - vae: VaeField = Field(default=None, description="Vae submodel") - metadata: Optional[CoreMetadata] = Field( - default=None, description="Optional core metadata to be written to the image" + latents: LatentsField = InputField( + description=FieldDescriptions.denoised_latents, + input=Input.Connection, ) - # tiled: bool = Field(default=False, description="Decode latents by overlaping tiles(less memory consumption)") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "tags": ["latents", "image"], - }, - } + vae: VaeField = InputField( + description=FieldDescriptions.vae, + input=Input.Connection, + ) + metadata: Optional[CoreMetadata] = InputField( + default=None, + description=FieldDescriptions.core_metadata, + ui_hidden=True, + ) + # tiled: bool = InputField(default=False, description="Decode latents by overlaping tiles(less memory consumption)") def invoke(self, context: InvocationContext) -> ImageOutput: latents = context.services.latents.get(self.latents.latents_name) @@ -373,89 +392,13 @@ class ONNXModelLoaderOutput(BaseInvocationOutput): # fmt: off type: Literal["model_loader_output_onnx"] = "model_loader_output_onnx" - unet: UNetField = Field(default=None, description="UNet submodel") - clip: ClipField = Field(default=None, description="Tokenizer and text_encoder submodels") - vae_decoder: VaeField = Field(default=None, description="Vae submodel") - vae_encoder: VaeField = Field(default=None, description="Vae submodel") + unet: UNetField = OutputField(default=None, description=FieldDescriptions.unet, title="UNet") + clip: ClipField = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP") + vae_decoder: VaeField = OutputField(default=None, description=FieldDescriptions.vae, title="VAE Decoder") + vae_encoder: VaeField = OutputField(default=None, description=FieldDescriptions.vae, title="VAE Encoder") # fmt: on -class ONNXSD1ModelLoaderInvocation(BaseInvocation): - """Loading submodels of selected model.""" - - type: Literal["sd1_model_loader_onnx"] = "sd1_model_loader_onnx" - - model_name: str = Field(default="", description="Model to load") - # TODO: precision? - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"tags": ["model", "loader"], "type_hints": {"model_name": "model"}}, # TODO: rename to model_name? - } - - def invoke(self, context: InvocationContext) -> ONNXModelLoaderOutput: - model_name = "stable-diffusion-v1-5" - base_model = BaseModelType.StableDiffusion1 - - # TODO: not found exceptions - if not context.services.model_manager.model_exists( - model_name=model_name, - base_model=BaseModelType.StableDiffusion1, - model_type=ModelType.ONNX, - ): - raise Exception(f"Unkown model name: {model_name}!") - - return ONNXModelLoaderOutput( - unet=UNetField( - unet=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.UNet, - ), - scheduler=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.Scheduler, - ), - loras=[], - ), - clip=ClipField( - tokenizer=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.Tokenizer, - ), - text_encoder=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.TextEncoder, - ), - loras=[], - ), - vae_decoder=VaeField( - vae=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.VaeDecoder, - ), - ), - vae_encoder=VaeField( - vae=ModelInfo( - model_name=model_name, - base_model=base_model, - model_type=ModelType.ONNX, - submodel=SubModelType.VaeEncoder, - ), - ), - ) - - class OnnxModelField(BaseModel): """Onnx model field""" @@ -464,22 +407,17 @@ class OnnxModelField(BaseModel): model_type: ModelType = Field(description="Model Type") +@title("ONNX Model Loader") +@tags("onnx", "model") class OnnxModelLoaderInvocation(BaseInvocation): """Loads a main model, outputting its submodels.""" type: Literal["onnx_model_loader"] = "onnx_model_loader" - model: OnnxModelField = Field(description="The model to load") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Onnx Model Loader", - "tags": ["model", "loader"], - "type_hints": {"model": "model"}, - }, - } + # Inputs + model: OnnxModelField = InputField( + description=FieldDescriptions.onnx_main_model, input=Input.Direct, ui_type=UIType.ONNXModel + ) def invoke(self, context: InvocationContext) -> ONNXModelLoaderOutput: base_model = self.model.base_model diff --git a/invokeai/app/invocations/param_easing.py b/invokeai/app/invocations/param_easing.py index f910e5379c..67f96b0c34 100644 --- a/invokeai/app/invocations/param_easing.py +++ b/invokeai/app/invocations/param_easing.py @@ -1,73 +1,64 @@ import io -from typing import Literal, Optional, Any +from typing import Literal, Optional -# from PIL.Image import Image -import PIL.Image -from matplotlib.ticker import MaxNLocator -from matplotlib.figure import Figure - -from pydantic import BaseModel, Field -import numpy as np import matplotlib.pyplot as plt +import numpy as np +import PIL.Image 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, + CircularEaseIn, + CircularEaseInOut, + CircularEaseOut, + CubicEaseIn, + CubicEaseInOut, + CubicEaseOut, + ElasticEaseIn, + ElasticEaseInOut, + ElasticEaseOut, + ExponentialEaseIn, + ExponentialEaseInOut, + ExponentialEaseOut, + LinearInOut, + QuadEaseIn, + QuadEaseInOut, + QuadEaseOut, + QuarticEaseIn, + QuarticEaseInOut, + QuarticEaseOut, + QuinticEaseIn, + QuinticEaseInOut, + QuinticEaseOut, + SineEaseIn, + SineEaseInOut, + SineEaseOut, ) +from matplotlib.figure import Figure +from matplotlib.ticker import MaxNLocator +from pydantic import BaseModel, Field + +from invokeai.app.invocations.primitives import FloatCollectionOutput -from .baseinvocation import ( - BaseInvocation, - BaseInvocationOutput, - InvocationContext, - InvocationConfig, -) from ...backend.util.logging import InvokeAILogger -from .collections import FloatCollectionOutput +from .baseinvocation import BaseInvocation, InputField, InvocationContext, tags, title +@title("Float Range") +@tags("math", "range") class FloatLinearRangeInvocation(BaseInvocation): """Creates a range""" type: Literal["float_range"] = "float_range" # Inputs - start: float = Field(default=5, description="The first value of the range") - stop: float = Field(default=10, description="The last value of the range") - steps: int = Field(default=30, description="number of values to interpolate over (including start and stop)") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Linear Range (Float)", "tags": ["math", "float", "linear", "range"]}, - } + start: float = InputField(default=5, description="The first value of the range") + stop: float = InputField(default=10, description="The last value of the range") + steps: int = InputField(default=30, description="number of values to interpolate over (including start and stop)") def invoke(self, context: InvocationContext) -> FloatCollectionOutput: param_list = list(np.linspace(self.start, self.stop, self.steps)) @@ -108,37 +99,32 @@ EASING_FUNCTIONS_MAP = { "BounceInOut": BounceEaseInOut, } -EASING_FUNCTION_KEYS: Any = Literal[tuple(list(EASING_FUNCTIONS_MAP.keys()))] +EASING_FUNCTION_KEYS = Literal[tuple(list(EASING_FUNCTIONS_MAP.keys()))] # actually I think for now could just use CollectionOutput (which is list[Any] +@title("Step Param Easing") +@tags("step", "easing") class StepParamEasingInvocation(BaseInvocation): """Experimental per-step parameter easing for denoising steps""" type: Literal["step_param_easing"] = "step_param_easing" # Inputs - # fmt: off - easing: EASING_FUNCTION_KEYS = Field(default="Linear", description="The easing function to use") - num_steps: int = Field(default=20, description="number of denoising steps") - start_value: float = Field(default=0.0, description="easing starting value") - end_value: float = Field(default=1.0, description="easing ending value") - start_step_percent: float = Field(default=0.0, description="fraction of steps at which to start easing") - end_step_percent: float = Field(default=1.0, description="fraction of steps after which to end easing") + easing: EASING_FUNCTION_KEYS = InputField(default="Linear", description="The easing function to use") + num_steps: int = InputField(default=20, description="number of denoising steps") + start_value: float = InputField(default=0.0, description="easing starting value") + end_value: float = InputField(default=1.0, description="easing ending value") + start_step_percent: float = InputField(default=0.0, description="fraction of steps at which to start easing") + end_step_percent: float = InputField(default=1.0, description="fraction of steps after which to end easing") # if None, then start_value is used prior to easing start - pre_start_value: Optional[float] = Field(default=None, description="value before easing start") + pre_start_value: Optional[float] = InputField(default=None, description="value before easing start") # if None, then end value is used prior to easing end - post_end_value: Optional[float] = Field(default=None, description="value after easing end") - mirror: bool = Field(default=False, description="include mirror of easing function") + post_end_value: Optional[float] = InputField(default=None, description="value after easing end") + mirror: bool = InputField(default=False, description="include mirror of easing function") # FIXME: add alt_mirror option (alternative to default or mirror), or remove entirely - # alt_mirror: bool = Field(default=False, description="alternative mirroring by dual easing") - show_easing_plot: bool = Field(default=False, description="show easing plot") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Param Easing By Step", "tags": ["param", "step", "easing"]}, - } + # alt_mirror: bool = InputField(default=False, description="alternative mirroring by dual easing") + show_easing_plot: bool = InputField(default=False, description="show easing plot") def invoke(self, context: InvocationContext) -> FloatCollectionOutput: log_diagnostics = False diff --git a/invokeai/app/invocations/params.py b/invokeai/app/invocations/params.py deleted file mode 100644 index 513eb8762f..0000000000 --- a/invokeai/app/invocations/params.py +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654) - -from typing import Literal - -from pydantic import Field - -from invokeai.app.invocations.prompt import PromptOutput - -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 - type: Literal["param_int"] = "param_int" - a: int = Field(default=0, description="The integer value") - # fmt: on - - class Config(InvocationConfig): - 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 - type: Literal["param_float"] = "param_float" - param: float = Field(default=0.0, description="The float value") - # fmt: on - - class Config(InvocationConfig): - 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") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"tags": ["param", "string"], "title": "String Parameter"}, - } - - def invoke(self, context: InvocationContext) -> StringOutput: - return StringOutput(text=self.text) - - -class ParamPromptInvocation(BaseInvocation): - """A prompt input parameter""" - - type: Literal["param_prompt"] = "param_prompt" - prompt: str = Field(default="", description="The prompt value") - - class Config(InvocationConfig): - schema_extra = { - "ui": {"tags": ["param", "prompt"], "title": "Prompt"}, - } - - def invoke(self, context: InvocationContext) -> PromptOutput: - return PromptOutput(prompt=self.prompt) diff --git a/invokeai/app/invocations/primitives.py b/invokeai/app/invocations/primitives.py new file mode 100644 index 0000000000..61ef9fa27c --- /dev/null +++ b/invokeai/app/invocations/primitives.py @@ -0,0 +1,494 @@ +# Copyright (c) 2023 Kyle Schouviller (https://github.com/kyle0654) + +from typing import Literal, Optional, Tuple, Union +from anyio import Condition + +from pydantic import BaseModel, Field +import torch + +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + Input, + InputField, + InvocationContext, + OutputField, + UIComponent, + UIType, + tags, + title, +) + +""" +Primitives: Boolean, Integer, Float, String, Image, Latents, Conditioning, Color +- primitive nodes +- primitive outputs +- primitive collection outputs +""" + +# region Boolean + + +class BooleanOutput(BaseInvocationOutput): + """Base class for nodes that output a single boolean""" + + type: Literal["boolean_output"] = "boolean_output" + a: bool = OutputField(description="The output boolean") + + +class BooleanCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of booleans""" + + type: Literal["boolean_collection_output"] = "boolean_collection_output" + + # Outputs + collection: list[bool] = OutputField( + default_factory=list, description="The output boolean collection", ui_type=UIType.BooleanCollection + ) + + +@title("Boolean Primitive") +@tags("primitives", "boolean") +class BooleanInvocation(BaseInvocation): + """A boolean primitive value""" + + type: Literal["boolean"] = "boolean" + + # Inputs + a: bool = InputField(default=False, description="The boolean value") + + def invoke(self, context: InvocationContext) -> BooleanOutput: + return BooleanOutput(a=self.a) + + +@title("Boolean Primitive Collection") +@tags("primitives", "boolean", "collection") +class BooleanCollectionInvocation(BaseInvocation): + """A collection of boolean primitive values""" + + type: Literal["boolean_collection"] = "boolean_collection" + + # Inputs + collection: list[bool] = InputField( + default=False, description="The collection of boolean values", ui_type=UIType.BooleanCollection + ) + + def invoke(self, context: InvocationContext) -> BooleanCollectionOutput: + return BooleanCollectionOutput(collection=self.collection) + + +# endregion + +# region Integer + + +class IntegerOutput(BaseInvocationOutput): + """Base class for nodes that output a single integer""" + + type: Literal["integer_output"] = "integer_output" + a: int = OutputField(description="The output integer") + + +class IntegerCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of integers""" + + type: Literal["integer_collection_output"] = "integer_collection_output" + + # Outputs + collection: list[int] = OutputField( + default_factory=list, description="The int collection", ui_type=UIType.IntegerCollection + ) + + +@title("Integer Primitive") +@tags("primitives", "integer") +class IntegerInvocation(BaseInvocation): + """An integer primitive value""" + + type: Literal["integer"] = "integer" + + # Inputs + a: int = InputField(default=0, description="The integer value") + + def invoke(self, context: InvocationContext) -> IntegerOutput: + return IntegerOutput(a=self.a) + + +@title("Integer Primitive Collection") +@tags("primitives", "integer", "collection") +class IntegerCollectionInvocation(BaseInvocation): + """A collection of integer primitive values""" + + type: Literal["integer_collection"] = "integer_collection" + + # Inputs + collection: list[int] = InputField( + default=0, description="The collection of integer values", ui_type=UIType.IntegerCollection + ) + + def invoke(self, context: InvocationContext) -> IntegerCollectionOutput: + return IntegerCollectionOutput(collection=self.collection) + + +# endregion + +# region Float + + +class FloatOutput(BaseInvocationOutput): + """Base class for nodes that output a single float""" + + type: Literal["float_output"] = "float_output" + a: float = OutputField(description="The output float") + + +class FloatCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of floats""" + + type: Literal["float_collection_output"] = "float_collection_output" + + # Outputs + collection: list[float] = OutputField( + default_factory=list, description="The float collection", ui_type=UIType.FloatCollection + ) + + +@title("Float Primitive") +@tags("primitives", "float") +class FloatInvocation(BaseInvocation): + """A float primitive value""" + + type: Literal["float"] = "float" + + # Inputs + param: float = InputField(default=0.0, description="The float value") + + def invoke(self, context: InvocationContext) -> FloatOutput: + return FloatOutput(a=self.param) + + +@title("Float Primitive Collection") +@tags("primitives", "float", "collection") +class FloatCollectionInvocation(BaseInvocation): + """A collection of float primitive values""" + + type: Literal["float_collection"] = "float_collection" + + # Inputs + collection: list[float] = InputField( + default=0, description="The collection of float values", ui_type=UIType.FloatCollection + ) + + def invoke(self, context: InvocationContext) -> FloatCollectionOutput: + return FloatCollectionOutput(collection=self.collection) + + +# endregion + +# region String + + +class StringOutput(BaseInvocationOutput): + """Base class for nodes that output a single string""" + + type: Literal["string_output"] = "string_output" + text: str = OutputField(description="The output string") + + +class StringCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of strings""" + + type: Literal["string_collection_output"] = "string_collection_output" + + # Outputs + collection: list[str] = OutputField( + default_factory=list, description="The output strings", ui_type=UIType.StringCollection + ) + + +@title("String Primitive") +@tags("primitives", "string") +class StringInvocation(BaseInvocation): + """A string primitive value""" + + type: Literal["string"] = "string" + + # Inputs + text: str = InputField(default="", description="The string value", ui_component=UIComponent.Textarea) + + def invoke(self, context: InvocationContext) -> StringOutput: + return StringOutput(text=self.text) + + +@title("String Primitive Collection") +@tags("primitives", "string", "collection") +class StringCollectionInvocation(BaseInvocation): + """A collection of string primitive values""" + + type: Literal["string_collection"] = "string_collection" + + # Inputs + collection: list[str] = InputField( + default=0, description="The collection of string values", ui_type=UIType.StringCollection + ) + + def invoke(self, context: InvocationContext) -> StringCollectionOutput: + return StringCollectionOutput(collection=self.collection) + + +# endregion + +# region Image + + +class ImageField(BaseModel): + """An image primitive field""" + + image_name: str = Field(description="The name of the image") + + +class ImageOutput(BaseInvocationOutput): + """Base class for nodes that output a single image""" + + type: Literal["image_output"] = "image_output" + image: ImageField = OutputField(description="The output image") + width: int = OutputField(description="The width of the image in pixels") + height: int = OutputField(description="The height of the image in pixels") + + +class ImageCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of images""" + + type: Literal["image_collection_output"] = "image_collection_output" + + # Outputs + collection: list[ImageField] = OutputField( + default_factory=list, description="The output images", ui_type=UIType.ImageCollection + ) + + +@title("Image Primitive") +@tags("primitives", "image") +class ImageInvocation(BaseInvocation): + """An image primitive value""" + + # Metadata + type: Literal["image"] = "image" + + # Inputs + image: ImageField = InputField(description="The image to load") + + def invoke(self, context: InvocationContext) -> ImageOutput: + image = context.services.images.get_pil_image(self.image.image_name) + + return ImageOutput( + image=ImageField(image_name=self.image.image_name), + width=image.width, + height=image.height, + ) + + +@title("Image Primitive Collection") +@tags("primitives", "image", "collection") +class ImageCollectionInvocation(BaseInvocation): + """A collection of image primitive values""" + + type: Literal["image_collection"] = "image_collection" + + # Inputs + collection: list[ImageField] = InputField( + default=0, description="The collection of image values", ui_type=UIType.ImageCollection + ) + + def invoke(self, context: InvocationContext) -> ImageCollectionOutput: + return ImageCollectionOutput(collection=self.collection) + + +# endregion + +# region Latents + + +class LatentsField(BaseModel): + """A latents tensor primitive field""" + + latents_name: str = Field(description="The name of the latents") + seed: Optional[int] = Field(default=None, description="Seed used to generate this latents") + + +class LatentsOutput(BaseInvocationOutput): + """Base class for nodes that output a single latents tensor""" + + type: Literal["latents_output"] = "latents_output" + + latents: LatentsField = OutputField( + description=FieldDescriptions.latents, + ) + width: int = OutputField(description=FieldDescriptions.width) + height: int = OutputField(description=FieldDescriptions.height) + + +class LatentsCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of latents tensors""" + + type: Literal["latents_collection_output"] = "latents_collection_output" + + collection: list[LatentsField] = OutputField( + default_factory=list, + description=FieldDescriptions.latents, + ui_type=UIType.LatentsCollection, + ) + + +@title("Latents Primitive") +@tags("primitives", "latents") +class LatentsInvocation(BaseInvocation): + """A latents tensor primitive value""" + + type: Literal["latents"] = "latents" + + # Inputs + latents: LatentsField = InputField(description="The latents tensor", input=Input.Connection) + + def invoke(self, context: InvocationContext) -> LatentsOutput: + latents = context.services.latents.get(self.latents.latents_name) + + return build_latents_output(self.latents.latents_name, latents) + + +@title("Latents Primitive Collection") +@tags("primitives", "latents", "collection") +class LatentsCollectionInvocation(BaseInvocation): + """A collection of latents tensor primitive values""" + + type: Literal["latents_collection"] = "latents_collection" + + # Inputs + collection: list[LatentsField] = InputField( + default=0, description="The collection of latents tensors", ui_type=UIType.LatentsCollection + ) + + def invoke(self, context: InvocationContext) -> LatentsCollectionOutput: + return LatentsCollectionOutput(collection=self.collection) + + +def build_latents_output(latents_name: str, latents: torch.Tensor, seed: Optional[int] = None): + return LatentsOutput( + latents=LatentsField(latents_name=latents_name, seed=seed), + width=latents.size()[3] * 8, + height=latents.size()[2] * 8, + ) + + +# endregion + +# region Color + + +class ColorField(BaseModel): + """A color primitive field""" + + 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 ColorOutput(BaseInvocationOutput): + """Base class for nodes that output a single color""" + + type: Literal["color_output"] = "color_output" + color: ColorField = OutputField(description="The output color") + + +class ColorCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of colors""" + + type: Literal["color_collection_output"] = "color_collection_output" + + # Outputs + collection: list[ColorField] = OutputField( + default_factory=list, description="The output colors", ui_type=UIType.ColorCollection + ) + + +@title("Color Primitive") +@tags("primitives", "color") +class ColorInvocation(BaseInvocation): + """A color primitive value""" + + type: Literal["color"] = "color" + + # Inputs + color: ColorField = InputField(default=ColorField(r=0, g=0, b=0, a=255), description="The color value") + + def invoke(self, context: InvocationContext) -> ColorOutput: + return ColorOutput(color=self.color) + + +# endregion + +# region Conditioning + + +class ConditioningField(BaseModel): + """A conditioning tensor primitive value""" + + conditioning_name: str = Field(description="The name of conditioning tensor") + + +class ConditioningOutput(BaseInvocationOutput): + """Base class for nodes that output a single conditioning tensor""" + + type: Literal["conditioning_output"] = "conditioning_output" + + conditioning: ConditioningField = OutputField(description=FieldDescriptions.cond) + + +class ConditioningCollectionOutput(BaseInvocationOutput): + """Base class for nodes that output a collection of conditioning tensors""" + + type: Literal["conditioning_collection_output"] = "conditioning_collection_output" + + # Outputs + collection: list[ConditioningField] = OutputField( + default_factory=list, + description="The output conditioning tensors", + ui_type=UIType.ConditioningCollection, + ) + + +@title("Conditioning Primitive") +@tags("primitives", "conditioning") +class ConditioningInvocation(BaseInvocation): + """A conditioning tensor primitive value""" + + type: Literal["conditioning"] = "conditioning" + + conditioning: ConditioningField = InputField(description=FieldDescriptions.cond, input=Input.Connection) + + def invoke(self, context: InvocationContext) -> ConditioningOutput: + return ConditioningOutput(conditioning=self.conditioning) + + +@title("Conditioning Primitive Collection") +@tags("primitives", "conditioning", "collection") +class ConditioningCollectionInvocation(BaseInvocation): + """A collection of conditioning tensor primitive values""" + + type: Literal["conditioning_collection"] = "conditioning_collection" + + # Inputs + collection: list[ConditioningField] = InputField( + default=0, description="The collection of conditioning tensors", ui_type=UIType.ConditioningCollection + ) + + def invoke(self, context: InvocationContext) -> ConditioningCollectionOutput: + return ConditioningCollectionOutput(collection=self.collection) + + +# endregion diff --git a/invokeai/app/invocations/prompt.py b/invokeai/app/invocations/prompt.py index 83a397ddcf..acdb821456 100644 --- a/invokeai/app/invocations/prompt.py +++ b/invokeai/app/invocations/prompt.py @@ -1,59 +1,28 @@ from os.path import exists -from typing import Literal, Optional +from typing import Literal, Optional, Union import numpy as np -from pydantic import Field, validator +from dynamicprompts.generators import CombinatorialPromptGenerator, RandomPromptGenerator +from pydantic import 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 - type: Literal["prompt"] = "prompt" - - prompt: str = Field(default=None, description="The output prompt") - # fmt: on - - class Config: - schema_extra = { - "required": [ - "type", - "prompt", - ] - } - - -class PromptCollectionOutput(BaseInvocationOutput): - """Base class for invocations that output a collection of prompts""" - - # fmt: off - type: Literal["prompt_collection_output"] = "prompt_collection_output" - - prompt_collection: list[str] = Field(description="The output prompt collection") - count: int = Field(description="The size of the prompt collection") - # fmt: on - - class Config: - schema_extra = {"required": ["type", "prompt_collection", "count"]} +from invokeai.app.invocations.primitives import StringCollectionOutput + +from .baseinvocation import BaseInvocation, InputField, InvocationContext, UIComponent, UIType, tags, title +@title("Dynamic Prompt") +@tags("prompt", "collection") class DynamicPromptInvocation(BaseInvocation): """Parses a prompt using adieyal/dynamicprompts' random or combinatorial generator""" 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") - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Dynamic Prompt", "tags": ["prompt", "dynamic"]}, - } + # Inputs + prompt: str = InputField(description="The prompt to parse with dynamicprompts", ui_component=UIComponent.Textarea) + max_prompts: int = InputField(default=1, description="The number of prompts to generate") + combinatorial: bool = InputField(default=False, description="Whether to use the combinatorial generator") - def invoke(self, context: InvocationContext) -> PromptCollectionOutput: + def invoke(self, context: InvocationContext) -> StringCollectionOutput: if self.combinatorial: generator = CombinatorialPromptGenerator() prompts = generator.generate(self.prompt, max_prompts=self.max_prompts) @@ -61,27 +30,26 @@ class DynamicPromptInvocation(BaseInvocation): generator = RandomPromptGenerator() prompts = generator.generate(self.prompt, num_images=self.max_prompts) - return PromptCollectionOutput(prompt_collection=prompts, count=len(prompts)) + return StringCollectionOutput(collection=prompts) +@title("Prompts from File") +@tags("prompt", "file") class PromptsFromFileInvocation(BaseInvocation): """Loads prompts from a text file""" - # fmt: off - type: Literal['prompt_from_file'] = 'prompt_from_file' + type: Literal["prompt_from_file"] = "prompt_from_file" # Inputs - file_path: str = Field(description="Path to prompt text file") - pre_prompt: Optional[str] = Field(description="String to prepend to each prompt") - 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 - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Prompts From File", "tags": ["prompt", "file"]}, - } + file_path: str = InputField(description="Path to prompt text file", ui_type=UIType.FilePath) + pre_prompt: Optional[str] = InputField( + default=None, description="String to prepend to each prompt", ui_component=UIComponent.Textarea + ) + post_prompt: Optional[str] = InputField( + default=None, description="String to append to each prompt", ui_component=UIComponent.Textarea + ) + start_line: int = InputField(default=1, ge=1, description="Line in the file to start start from") + max_prompts: int = InputField(default=1, ge=0, description="Max lines to read from file (0=all)") @validator("file_path") def file_path_exists(cls, v): @@ -89,7 +57,14 @@ class PromptsFromFileInvocation(BaseInvocation): raise ValueError(FileNotFoundError) return v - def promptsFromFile(self, file_path: str, pre_prompt: str, post_prompt: str, start_line: int, max_prompts: int): + def promptsFromFile( + self, + file_path: str, + pre_prompt: Union[str, None], + post_prompt: Union[str, None], + start_line: int, + max_prompts: int, + ): prompts = [] start_line -= 1 end_line = start_line + max_prompts @@ -103,8 +78,8 @@ class PromptsFromFileInvocation(BaseInvocation): break return prompts - def invoke(self, context: InvocationContext) -> PromptCollectionOutput: + def invoke(self, context: InvocationContext) -> StringCollectionOutput: 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)) + return StringCollectionOutput(collection=prompts) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index a5a1c2c641..4efe30a3d9 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -1,55 +1,55 @@ -import torch from typing import Literal -from pydantic import Field from ...backend.model_management import ModelType, SubModelType -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from .model import UNetField, ClipField, VaeField, MainModelField, ModelInfo +from .baseinvocation import ( + BaseInvocation, + BaseInvocationOutput, + FieldDescriptions, + Input, + InputField, + InvocationContext, + OutputField, + UIType, + tags, + title, +) +from .model import ClipField, MainModelField, ModelInfo, UNetField, VaeField class SDXLModelLoaderOutput(BaseInvocationOutput): """SDXL base model loader output""" - # fmt: off type: Literal["sdxl_model_loader_output"] = "sdxl_model_loader_output" - unet: UNetField = Field(default=None, description="UNet submodel") - clip: ClipField = Field(default=None, description="Tokenizer and text_encoder submodels") - clip2: ClipField = Field(default=None, description="Tokenizer and text_encoder submodels") - vae: VaeField = Field(default=None, description="Vae submodel") - # fmt: on + unet: UNetField = OutputField(description=FieldDescriptions.unet, title="UNet") + clip: ClipField = OutputField(description=FieldDescriptions.clip, title="CLIP 1") + clip2: ClipField = OutputField(description=FieldDescriptions.clip, title="CLIP 2") + vae: VaeField = OutputField(description=FieldDescriptions.vae, title="VAE") 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 + + unet: UNetField = OutputField(description=FieldDescriptions.unet, title="UNet") + clip2: ClipField = OutputField(description=FieldDescriptions.clip, title="CLIP 2") + vae: VaeField = OutputField(description=FieldDescriptions.vae, title="VAE") +@title("SDXL Main Model Loader") +@tags("model", "sdxl") class SDXLModelLoaderInvocation(BaseInvocation): """Loads an sdxl base model, outputting its submodels.""" type: Literal["sdxl_model_loader"] = "sdxl_model_loader" - model: MainModelField = Field(description="The model to load") + # Inputs + model: MainModelField = InputField( + description=FieldDescriptions.sdxl_main_model, input=Input.Direct, ui_type=UIType.SDXLMainModel + ) # TODO: precision? - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Model Loader", - "tags": ["model", "loader", "sdxl"], - "type_hints": {"model": "model"}, - }, - } - def invoke(self, context: InvocationContext) -> SDXLModelLoaderOutput: base_model = self.model.base_model model_name = self.model.model_name @@ -122,24 +122,21 @@ class SDXLModelLoaderInvocation(BaseInvocation): ) +@title("SDXL Refiner Model Loader") +@tags("model", "sdxl", "refiner") 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") + # Inputs + model: MainModelField = InputField( + description=FieldDescriptions.sdxl_refiner_model, + input=Input.Direct, + ui_type=UIType.SDXLRefinerModel, + ) # TODO: precision? - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Refiner Model Loader", - "tags": ["model", "loader", "sdxl_refiner"], - "type_hints": {"model": "refiner_model"}, - }, - } - def invoke(self, context: InvocationContext) -> SDXLRefinerModelLoaderOutput: base_model = self.model.base_model model_name = self.model.model_name diff --git a/invokeai/app/invocations/upscale.py b/invokeai/app/invocations/upscale.py index fd220223db..cd4463e174 100644 --- a/invokeai/app/invocations/upscale.py +++ b/invokeai/app/invocations/upscale.py @@ -6,13 +6,12 @@ import cv2 as cv import numpy as np from basicsr.archs.rrdbnet_arch import RRDBNet from PIL import Image -from pydantic import Field from realesrgan import RealESRGANer +from invokeai.app.invocations.primitives import ImageField, ImageOutput -from invokeai.app.models.image import ImageCategory, ImageField, ResourceOrigin +from invokeai.app.models.image import ImageCategory, ResourceOrigin -from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext -from .image import ImageOutput +from .baseinvocation import BaseInvocation, InputField, InvocationContext, title, tags # TODO: Populate this from disk? # TODO: Use model manager to load? @@ -24,17 +23,16 @@ ESRGAN_MODELS = Literal[ ] +@title("Upscale (RealESRGAN)") +@tags("esrgan", "upscale") class ESRGANInvocation(BaseInvocation): """Upscales an image using RealESRGAN.""" 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") - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Upscale (RealESRGAN)", "tags": ["image", "upscale", "realesrgan"]}, - } + # Inputs + image: ImageField = InputField(description="The input image") + model_name: ESRGAN_MODELS = InputField(default="RealESRGAN_x4plus.pth", description="The Real-ESRGAN model to use") def invoke(self, context: InvocationContext) -> ImageOutput: image = context.services.images.get_pil_image(self.image.image_name) diff --git a/invokeai/app/models/image.py b/invokeai/app/models/image.py index 2a5a0f9d3b..88cf8af5f9 100644 --- a/invokeai/app/models/image.py +++ b/invokeai/app/models/image.py @@ -1,31 +1,8 @@ from enum import Enum -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): @@ -36,50 +13,6 @@ class ProgressImage(BaseModel): 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). diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index caee5b631e..7135e031b0 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -2,7 +2,7 @@ from ..invocations.latent import LatentsToImageInvocation, DenoiseLatentsInvocat from ..invocations.image import ImageNSFWBlurInvocation from ..invocations.noise import NoiseInvocation from ..invocations.compel import CompelInvocation -from ..invocations.params import ParamIntInvocation +from ..invocations.primitives import IntegerInvocation from .graph import Edge, EdgeConnection, ExposedNodeInput, ExposedNodeOutput, Graph, LibraryGraph from .item_storage import ItemStorageABC @@ -17,9 +17,9 @@ def create_text_to_image() -> LibraryGraph: 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), + "width": IntegerInvocation(id="width", a=512), + "height": IntegerInvocation(id="height", a=512), + "seed": IntegerInvocation(id="seed", a=-1), "3": NoiseInvocation(id="3"), "4": CompelInvocation(id="4"), "5": CompelInvocation(id="5"), diff --git a/invokeai/app/services/graph.py b/invokeai/app/services/graph.py index d7f021df14..c412431b43 100644 --- a/invokeai/app/services/graph.py +++ b/invokeai/app/services/graph.py @@ -3,16 +3,7 @@ import copy import itertools import uuid -from typing import ( - Annotated, - Any, - Literal, - Optional, - Union, - get_args, - get_origin, - get_type_hints, -) +from typing import Annotated, Any, Literal, Optional, Union, get_args, get_origin, get_type_hints import networkx as nx from pydantic import BaseModel, root_validator, validator @@ -22,7 +13,11 @@ from ..invocations import * from ..invocations.baseinvocation import ( BaseInvocation, BaseInvocationOutput, + Input, + InputField, InvocationContext, + OutputField, + UIType, ) # in 3.10 this would be "from types import NoneType" @@ -183,15 +178,9 @@ class IterateInvocationOutput(BaseInvocationOutput): type: Literal["iterate_output"] = "iterate_output" - item: Any = Field(description="The item being iterated over") - - class Config: - schema_extra = { - "required": [ - "type", - "item", - ] - } + item: Any = OutputField( + description="The item being iterated over", title="Collection Item", ui_type=UIType.CollectionItem + ) # TODO: Fill this out and move to invocations @@ -200,8 +189,10 @@ class IterateInvocation(BaseInvocation): 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] = InputField( + description="The list of items to iterate over", default_factory=list, ui_type=UIType.Collection + ) + index: int = InputField(description="The index, will be provided on executed iterators", default=0, ui_hidden=True) def invoke(self, context: InvocationContext) -> IterateInvocationOutput: """Produces the outputs as values""" @@ -211,15 +202,9 @@ class IterateInvocation(BaseInvocation): class CollectInvocationOutput(BaseInvocationOutput): type: Literal["collect_output"] = "collect_output" - collection: list[Any] = Field(description="The collection of input items") - - class Config: - schema_extra = { - "required": [ - "type", - "collection", - ] - } + collection: list[Any] = OutputField( + description="The collection of input items", title="Collection", ui_type=UIType.Collection + ) class CollectInvocation(BaseInvocation): @@ -227,13 +212,14 @@ class CollectInvocation(BaseInvocation): type: Literal["collect"] = "collect" - item: Any = Field( + item: Any = InputField( description="The item to collect (all inputs must be of the same type)", - default=None, + ui_type=UIType.CollectionItem, + title="Collection Item", + input=Input.Connection, ) - collection: list[Any] = Field( - description="The collection, will be provided on execution", - default_factory=list, + collection: list[Any] = InputField( + description="The collection, will be provided on execution", default_factory=list, ui_hidden=True ) def invoke(self, context: InvocationContext) -> CollectInvocationOutput: diff --git a/invokeai/app/services/image_record_storage.py b/invokeai/app/services/image_record_storage.py index 8c274ab8f9..aa71431b7f 100644 --- a/invokeai/app/services/image_record_storage.py +++ b/invokeai/app/services/image_record_storage.py @@ -67,6 +67,7 @@ IMAGE_DTO_COLS = ", ".join( "created_at", "updated_at", "deleted_at", + "starred", ], ) ) @@ -139,6 +140,7 @@ class ImageRecordStorageBase(ABC): node_id: Optional[str], metadata: Optional[dict], is_intermediate: bool = False, + starred: bool = False, ) -> datetime: """Saves an image record.""" pass @@ -200,6 +202,16 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): """ ) + self._cursor.execute("PRAGMA table_info(images)") + columns = [column[1] for column in self._cursor.fetchall()] + + if "starred" not in columns: + self._cursor.execute( + """--sql + ALTER TABLE images ADD COLUMN starred BOOLEAN DEFAULT FALSE; + """ + ) + # Create the `images` table indices. self._cursor.execute( """--sql @@ -222,6 +234,12 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): """ ) + self._cursor.execute( + """--sql + CREATE INDEX IF NOT EXISTS idx_images_starred ON images(starred); + """ + ) + # Add trigger for `updated_at`. self._cursor.execute( """--sql @@ -321,6 +339,17 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): (changes.is_intermediate, image_name), ) + # Change the image's `starred`` state + if changes.starred is not None: + self._cursor.execute( + f"""--sql + UPDATE images + SET starred = ? + WHERE image_name = ?; + """, + (changes.starred, image_name), + ) + self._conn.commit() except sqlite3.Error as e: self._conn.rollback() @@ -397,7 +426,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): query_params.append(board_id) query_pagination = """--sql - ORDER BY images.created_at DESC LIMIT ? OFFSET ? + ORDER BY images.starred DESC, images.created_at DESC LIMIT ? OFFSET ? """ # Final images query with pagination @@ -500,6 +529,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): node_id: Optional[str], metadata: Optional[dict], is_intermediate: bool = False, + starred: bool = False, ) -> datetime: try: metadata_json = None if metadata is None else json.dumps(metadata) @@ -515,9 +545,10 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): node_id, session_id, metadata, - is_intermediate + is_intermediate, + starred ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?); + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?); """, ( image_name, @@ -529,6 +560,7 @@ class SqliteImageRecordStorage(ImageRecordStorageBase): session_id, metadata_json, is_intermediate, + starred, ), ) self._conn.commit() diff --git a/invokeai/app/services/models/image_record.py b/invokeai/app/services/models/image_record.py index 294b760630..a480fd0efd 100644 --- a/invokeai/app/services/models/image_record.py +++ b/invokeai/app/services/models/image_record.py @@ -39,6 +39,8 @@ class ImageRecord(BaseModelExcludeNull): description="The node ID that generated this image, if it is a generated image.", ) """The node ID that generated this image, if it is a generated image.""" + starred: bool = Field(description="Whether this image is starred.") + """Whether this image is starred.""" class ImageRecordChanges(BaseModelExcludeNull, extra=Extra.forbid): @@ -48,6 +50,7 @@ class ImageRecordChanges(BaseModelExcludeNull, extra=Extra.forbid): - `image_category`: change the category of an image - `session_id`: change the session associated with an image - `is_intermediate`: change the image's `is_intermediate` flag + - `starred`: change whether the image is starred """ image_category: Optional[ImageCategory] = Field(description="The image's new category.") @@ -59,6 +62,8 @@ class ImageRecordChanges(BaseModelExcludeNull, extra=Extra.forbid): """The image's new session ID.""" is_intermediate: Optional[StrictBool] = Field(default=None, description="The image's new `is_intermediate` flag.") """The image's new `is_intermediate` flag.""" + starred: Optional[StrictBool] = Field(default=None, description="The image's new `starred` state") + """The image's new `starred` state.""" class ImageUrlsDTO(BaseModelExcludeNull): @@ -113,6 +118,7 @@ def deserialize_image_record(image_dict: dict) -> ImageRecord: updated_at = image_dict.get("updated_at", get_iso_timestamp()) deleted_at = image_dict.get("deleted_at", get_iso_timestamp()) is_intermediate = image_dict.get("is_intermediate", False) + starred = image_dict.get("starred", False) return ImageRecord( image_name=image_name, @@ -126,4 +132,5 @@ def deserialize_image_record(image_dict: dict) -> ImageRecord: updated_at=updated_at, deleted_at=deleted_at, is_intermediate=is_intermediate, + starred=starred, ) diff --git a/invokeai/app/services/processor.py b/invokeai/app/services/processor.py index 41170a304b..b8c2f93e93 100644 --- a/invokeai/app/services/processor.py +++ b/invokeai/app/services/processor.py @@ -87,7 +87,10 @@ class DefaultInvocationProcessor(InvocationProcessorABC): # Invoke try: with statistics.collect_stats(invocation, graph_execution_state.id): - outputs = invocation.invoke( + # use the internal invoke_internal(), which wraps the node's invoke() method in + # this accomodates nodes which require a value, but get it only from a + # connection + outputs = invocation.invoke_internal( InvocationContext( services=self.__invoker.services, graph_execution_state_id=graph_execution_state.id, diff --git a/invokeai/app/services/sqlite.py b/invokeai/app/services/sqlite.py index 855f3f1939..3c46b1c2a0 100644 --- a/invokeai/app/services/sqlite.py +++ b/invokeai/app/services/sqlite.py @@ -49,7 +49,8 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): def _parse_item(self, item: str) -> T: item_type = get_args(self.__orig_class__)[0] - return parse_raw_as(item_type, item) + parsed = parse_raw_as(item_type, item) + return parsed def set(self, item: T): try: diff --git a/invokeai/backend/model_management/model_merge.py b/invokeai/backend/model_management/model_merge.py index 74419a4433..a34d9b0e3e 100644 --- a/invokeai/backend/model_management/model_merge.py +++ b/invokeai/backend/model_management/model_merge.py @@ -109,7 +109,7 @@ class ModelMerger(object): # pick up the first model's vae if mod == model_names[0]: vae = info.get("vae") - model_paths.extend([config.root_path / info["path"]]) + model_paths.extend([(config.root_path / info["path"]).as_posix()]) merge_method = None if interp == "weighted_sum" else MergeInterpolationMethod(interp) logger.debug(f"interp = {interp}, merge_method={merge_method}") @@ -120,11 +120,11 @@ class ModelMerger(object): 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 + dump_path = (dump_path / merged_model_name).as_posix() merged_pipe.save_pretrained(dump_path, safe_serialization=True) attributes = dict( - path=str(dump_path), + path=dump_path, description=f"Merge of models {', '.join(model_names)}", model_format="diffusers", variant=ModelVariantType.Normal.value, diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 145c56c273..3045849065 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -481,9 +481,19 @@ class ControlNetFolderProbe(FolderProbeBase): 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 + dimension = config["cross_attention_dim"] + base_model = ( + BaseModelType.StableDiffusion1 + if dimension == 768 + else BaseModelType.StableDiffusion2 + if dimension == 1024 + else BaseModelType.StableDiffusionXL + if dimension == 2048 + else None ) + if not base_model: + raise InvalidModelException(f"Unable to determine model base for {self.folder_path}") + return base_model class LoRAFolderProbe(FolderProbeBase): diff --git a/invokeai/backend/web/__init__.py b/invokeai/backend/web/__init__.py deleted file mode 100644 index c57600f72b..0000000000 --- a/invokeai/backend/web/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -""" -Initialization file for the web backend. -""" -from .invoke_ai_web_server import InvokeAIWebServer diff --git a/invokeai/backend/web/invoke_ai_web_server.py b/invokeai/backend/web/invoke_ai_web_server.py deleted file mode 100644 index 88eb77551f..0000000000 --- a/invokeai/backend/web/invoke_ai_web_server.py +++ /dev/null @@ -1,1654 +0,0 @@ -import base64 -import glob -import io -import json -import math -import mimetypes -import os -import shutil -import traceback -from pathlib import Path -from threading import Event -from uuid import uuid4 - -import eventlet -from compel.prompt_parser import Blend -from flask import Flask, make_response, redirect, request, send_from_directory -from flask_socketio import SocketIO -from PIL import Image -from PIL.Image import Image as ImageType -from werkzeug.utils import secure_filename - -import invokeai.backend.util.logging as logger -import invokeai.frontend.web.dist as frontend - -from .. import Generate -from ..args import APP_ID, APP_VERSION, Args, calculate_init_img_hash -from ..generator import infill_methods -from ..globals import Globals, global_converted_ckpts_dir, global_models_dir -from ..image_util import PngWriter, retrieve_metadata -from ...frontend.merge.merge_diffusers import merge_diffusion_models -from ..prompting import ( - get_prompt_structure, - get_tokens_for_prompt_object, -) -from ..stable_diffusion import PipelineIntermediateState -from .modules.get_canvas_generation_mode import get_canvas_generation_mode -from .modules.parameters import parameters_to_command - -# Loading Arguments -opt = Args() -args = opt.parse_args() - -# Set the root directory for static files and relative paths -args.root_dir = os.path.expanduser(args.root_dir or "..") -if not os.path.isabs(args.outdir): - args.outdir = os.path.join(args.root_dir, args.outdir) - -# normalize the config directory relative to root -if not os.path.isabs(opt.conf): - opt.conf = os.path.normpath(os.path.join(Globals.root, opt.conf)) - - -class InvokeAIWebServer: - def __init__(self, generate: Generate, gfpgan, codeformer, esrgan) -> None: - self.host = args.host - self.port = args.port - - self.generate = generate - self.gfpgan = gfpgan - self.codeformer = codeformer - self.esrgan = esrgan - - self.canceled = Event() - 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 - - def run(self): - self.setup_app() - self.setup_flask() - - def setup_flask(self): - # Fix missing mimetypes on Windows - mimetypes.add_type("application/javascript", ".js") - mimetypes.add_type("text/css", ".css") - # Socket IO - engineio_logger = True if args.web_verbose else False - max_http_buffer_size = 10000000 - - socketio_args = { - "logger": logger, - "engineio_logger": engineio_logger, - "max_http_buffer_size": max_http_buffer_size, - "ping_interval": (50, 50), - "ping_timeout": 60, - } - - if opt.cors: - _cors = opt.cors - # convert list back into comma-separated string, - # be defensive here, not sure in what form this arrives - if isinstance(_cors, list): - _cors = ",".join(_cors) - if "," in _cors: - _cors = _cors.split(",") - socketio_args["cors_allowed_origins"] = _cors - - self.app = Flask(__name__, static_url_path="", static_folder=frontend.__path__[0]) - - self.socketio = SocketIO(self.app, **socketio_args) - - # Keep Server Alive Route - @self.app.route("/flaskwebgui-keep-server-alive") - def keep_alive(): - return {"message": "Server Running"} - - # Outputs Route - self.app.config["OUTPUTS_FOLDER"] = os.path.abspath(args.outdir) - - @self.app.route("/outputs/") - def outputs(file_path): - return send_from_directory(self.app.config["OUTPUTS_FOLDER"], file_path) - - # Base Route - @self.app.route("/") - def serve(): - if args.web_develop: - return redirect("http://127.0.0.1:5173") - else: - return send_from_directory(self.app.static_folder, "index.html") - - @self.app.route("/upload", methods=["POST"]) - def upload(): - try: - data = json.loads(request.form["data"]) - filename = "" - # check if the post request has the file part - if "file" in request.files: - file = request.files["file"] - # If the user does not select a file, the browser submits an - # empty file without a filename. - if file.filename == "": - return make_response("No file selected", 400) - filename = file.filename - elif "dataURL" in data: - file = dataURL_to_bytes(data["dataURL"]) - if "filename" not in data or data["filename"] == "": - return make_response("No filename provided", 400) - filename = data["filename"] - else: - return make_response("No file or dataURL", 400) - - kind = data["kind"] - - if kind == "init": - path = self.init_image_path - elif kind == "temp": - path = self.temp_image_path - elif kind == "result": - path = self.result_path - elif kind == "mask": - path = self.mask_image_path - else: - return make_response(f"Invalid upload kind: {kind}", 400) - - if not self.allowed_file(filename): - return make_response( - f'Invalid file type, must be one of: {", ".join(self.ALLOWED_EXTENSIONS)}', - 400, - ) - - secured_filename = secure_filename(filename) - - uuid = uuid4().hex - truncated_uuid = uuid[:8] - - split = os.path.splitext(secured_filename) - name = f"{split[0]}.{truncated_uuid}{split[1]}" - - file_path = os.path.join(path, name) - - if "dataURL" in data: - with open(file_path, "wb") as f: - f.write(file) - else: - file.save(file_path) - - mtime = os.path.getmtime(file_path) - - pil_image = Image.open(file_path) - - if "cropVisible" in data and data["cropVisible"] == True: - visible_image_bbox = pil_image.getbbox() - pil_image = pil_image.crop(visible_image_bbox) - pil_image.save(file_path) - - (width, height) = pil_image.size - - 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), - "thumbnail": self.get_url_from_image_path(thumbnail_path), - "mtime": mtime, - "width": width, - "height": height, - } - - return make_response(response, 200) - - except Exception as e: - self.handle_exceptions(e) - return make_response("Error uploading file", 500) - - self.load_socketio_listeners(self.socketio) - - if args.gui: - logger.info("Launching Invoke AI GUI") - try: - from flaskwebgui import FlaskUI - - FlaskUI( - app=self.app, - socketio=self.socketio, - server="flask_socketio", - width=1600, - height=1000, - port=self.port, - ).run() - except KeyboardInterrupt: - import sys - - sys.exit(0) - else: - useSSL = args.certfile or args.keyfile - logger.info("Started Invoke AI Web Server") - if self.host == "0.0.0.0": - logger.info( - 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}") - if not useSSL: - self.socketio.run(app=self.app, host=self.host, port=self.port) - else: - self.socketio.run( - app=self.app, - host=self.host, - port=self.port, - certfile=args.certfile, - keyfile=args.keyfile, - ) - - def setup_app(self): - self.result_url = "outputs/" - self.init_image_url = "outputs/init-images/" - self.mask_image_url = "outputs/mask-images/" - self.intermediate_url = "outputs/intermediates/" - self.temp_image_url = "outputs/temp-images/" - self.thumbnail_image_url = "outputs/thumbnails/" - # location for "finished" images - self.result_path = args.outdir - # temporary path for intermediates - self.intermediate_path = os.path.join(self.result_path, "intermediates/") - # path for user-uploaded init images and masks - self.init_image_path = os.path.join(self.result_path, "init-images/") - self.mask_image_path = os.path.join(self.result_path, "mask-images/") - # path for temp images e.g. gallery generations which are not committed - self.temp_image_path = os.path.join(self.result_path, "temp-images/") - # path for thumbnail images - self.thumbnail_image_path = os.path.join(self.result_path, "thumbnails/") - # txt log - self.log_path = os.path.join(self.result_path, "invoke_logger.txt") - # make all output paths - [ - os.makedirs(path, exist_ok=True) - for path in [ - self.result_path, - self.intermediate_path, - self.init_image_path, - self.mask_image_path, - self.temp_image_path, - self.thumbnail_image_path, - ] - ] - - def load_socketio_listeners(self, socketio): - @socketio.on("requestSystemConfig") - def handle_request_capabilities(): - logger.info("System config requested") - config = self.get_system_config() - config["model_list"] = self.generate.model_manager.list_models() - config["infill_methods"] = infill_methods() - socketio.emit("systemConfig", config) - - @socketio.on("searchForModels") - def handle_search_models(search_folder: str): - try: - if not search_folder: - socketio.emit( - "foundModels", - {"search_folder": None, "found_models": None}, - ) - else: - ( - search_folder, - found_models, - ) = self.generate.model_manager.search_models(search_folder) - socketio.emit( - "foundModels", - {"search_folder": search_folder, "found_models": found_models}, - ) - except Exception as e: - self.handle_exceptions(e) - print("\n") - - @socketio.on("addNewModel") - def handle_add_model(new_model_config: dict): - try: - model_name = new_model_config["name"] - del new_model_config["name"] - model_attributes = new_model_config - if len(model_attributes["vae"]) == 0: - del model_attributes["vae"] - update = False - current_model_list = self.generate.model_manager.list_models() - if model_name in current_model_list: - update = True - - logger.info(f"Adding New Model: {model_name}") - - self.generate.model_manager.add_model( - model_name=model_name, - model_attributes=model_attributes, - clobber=True, - ) - self.generate.model_manager.commit(opt.conf) - - new_model_list = self.generate.model_manager.list_models() - socketio.emit( - "newModelAdded", - { - "new_model_name": model_name, - "model_list": new_model_list, - "update": update, - }, - ) - logger.info(f"New Model Added: {model_name}") - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("deleteModel") - def handle_delete_model(model_name: str): - try: - logger.info(f"Deleting Model: {model_name}") - self.generate.model_manager.del_model(model_name) - self.generate.model_manager.commit(opt.conf) - updated_model_list = self.generate.model_manager.list_models() - socketio.emit( - "modelDeleted", - { - "deleted_model_name": model_name, - "model_list": updated_model_list, - }, - ) - logger.info(f"Model Deleted: {model_name}") - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("requestModelChange") - def handle_set_model(model_name: str): - try: - logger.info(f"Model change requested: {model_name}") - model = self.generate.set_model(model_name) - model_list = self.generate.model_manager.list_models() - if model is None: - socketio.emit( - "modelChangeFailed", - {"model_name": model_name, "model_list": model_list}, - ) - else: - socketio.emit( - "modelChanged", - {"model_name": model_name, "model_list": model_list}, - ) - except Exception as e: - self.handle_exceptions(e) - - @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 "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"}) - else: - self.socketio.emit("error", {"message": "Could not retrieve model info."}) - - if not ckpt_path.is_absolute(): - ckpt_path = Path(Globals.root, ckpt_path) - - 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") - - if model_to_convert["save_location"] == "root": - 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 diffusers_path.exists(): - shutil.rmtree(diffusers_path) - - self.generate.model_manager.convert_and_import( - ckpt_path, - diffusers_path, - model_name=model_name, - model_description=model_description, - vae=None, - original_config_file=original_config_file, - commit_to_conf=opt.conf, - ) - - new_model_list = self.generate.model_manager.list_models() - socketio.emit( - "modelConverted", - { - "new_model_name": model_name, - "model_list": new_model_list, - "update": True, - }, - ) - logger.info(f"Model Converted: {model_name}") - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("mergeDiffusersModels") - 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] - merged_pipe = merge_diffusion_models( - model_ids_or_paths, - model_merge_info["alpha"], - model_merge_info["interp"], - model_merge_info["force"], - ) - - dump_path = global_models_dir() / "merged_models" - if model_merge_info["model_merge_save_path"] is not None: - dump_path = Path(model_merge_info["model_merge_save_path"]) - - os.makedirs(dump_path, exist_ok=True) - dump_path = dump_path / model_merge_info["merged_model_name"] - merged_pipe.save_pretrained(dump_path, safe_serialization=1) - - merged_model_config = dict( - model_name=model_merge_info["merged_model_name"], - description=f'Merge of models {", ".join(models_to_merge)}', - commit_to_conf=opt.conf, - ) - - 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) - new_model_list = self.generate.model_manager.list_models() - - socketio.emit( - "modelsMerged", - { - "merged_models": models_to_merge, - "merged_model_name": model_merge_info["merged_model_name"], - "model_list": new_model_list, - "update": True, - }, - ) - logger.info(f"Models Merged: {models_to_merge}") - logger.info(f"New Model Added: {model_merge_info['merged_model_name']}") - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("requestEmptyTempFolder") - def empty_temp_folder(): - try: - temp_files = glob.glob(os.path.join(self.temp_image_path, "*")) - for f in temp_files: - try: - os.remove(f) - thumbnail_path = os.path.join( - self.thumbnail_image_path, - os.path.splitext(os.path.basename(f))[0] + ".webp", - ) - os.remove(thumbnail_path) - except Exception as e: - socketio.emit("error", {"message": f"Unable to delete {f}: {str(e)}"}) - pass - - socketio.emit("tempFolderEmptied") - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("requestSaveStagingAreaImageToGallery") - def save_temp_image_to_gallery(url): - try: - image_path = self.get_image_path_from_url(url) - new_path = os.path.join(self.result_path, os.path.basename(image_path)) - shutil.copy2(image_path, new_path) - - if os.path.splitext(new_path)[1] == ".png": - metadata = retrieve_metadata(new_path) - else: - metadata = {} - - pil_image = Image.open(new_path) - - (width, height) = pil_image.size - - thumbnail_path = save_thumbnail(pil_image, os.path.basename(new_path), self.thumbnail_image_path) - - image_array = [ - { - "url": self.get_url_from_image_path(new_path), - "thumbnail": self.get_url_from_image_path(thumbnail_path), - "mtime": os.path.getmtime(new_path), - "metadata": metadata, - "width": width, - "height": height, - "category": "result", - } - ] - - socketio.emit( - "galleryImages", - {"images": image_array, "category": "result"}, - ) - - except Exception as e: - self.handle_exceptions(e) - - @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 - - 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 = list( - filter( - lambda x: os.path.getmtime(x) > latest_mtime, - image_paths, - ) - ) - - image_array = [] - - for path in image_paths: - try: - if os.path.splitext(path)[1] == ".png": - metadata = retrieve_metadata(path) - else: - metadata = {} - - pil_image = Image.open(path) - (width, height) = pil_image.size - - 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), - "mtime": os.path.getmtime(path), - "metadata": metadata.get("sd-metadata"), - "dreamPrompt": metadata.get("Dream"), - "width": width, - "height": height, - "category": category, - } - ) - except Exception as e: - socketio.emit("error", {"message": f"Unable to load {path}: {str(e)}"}) - pass - - socketio.emit( - "galleryImages", - {"images": image_array, "category": category}, - ) - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("requestImages") - def handle_request_images(category, earliest_mtime=None): - try: - page_size = 50 - - 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) - - if earliest_mtime: - image_paths = list( - filter( - lambda x: os.path.getmtime(x) < earliest_mtime, - image_paths, - ) - ) - - areMoreImagesAvailable = len(image_paths) >= page_size - image_paths = image_paths[slice(0, page_size)] - - image_array = [] - for path in image_paths: - try: - if os.path.splitext(path)[1] == ".png": - metadata = retrieve_metadata(path) - else: - metadata = {} - - pil_image = Image.open(path) - (width, height) = pil_image.size - - 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), - "mtime": os.path.getmtime(path), - "metadata": metadata.get("sd-metadata"), - "dreamPrompt": metadata.get("Dream"), - "width": width, - "height": height, - "category": category, - } - ) - except Exception as e: - logger.info(f"Unable to load {path}") - socketio.emit("error", {"message": f"Unable to load {path}: {str(e)}"}) - pass - - socketio.emit( - "galleryImages", - { - "images": image_array, - "areMoreImagesAvailable": areMoreImagesAvailable, - "category": category, - }, - ) - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("generateImage") - def handle_generate_image_event(generation_parameters, esrgan_parameters, facetool_parameters): - try: - # truncate long init_mask/init_img base64 if needed - printable_parameters = { - **generation_parameters, - } - - if "init_img" in generation_parameters: - printable_parameters["init_img"] = printable_parameters["init_img"][:64] + "..." - - if "init_mask" in generation_parameters: - 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}") - logger.info(f"Facetool Parameters: {facetool_parameters}") - - self.generate_images( - generation_parameters, - esrgan_parameters, - facetool_parameters, - ) - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("runPostprocessing") - def handle_run_postprocessing(original_image, postprocessing_parameters): - try: - 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"]) - - image = Image.open(original_image_path) - - try: - seed = original_image["metadata"]["image"]["seed"] - except KeyError: - seed = "unknown_seed" - pass - - if postprocessing_parameters["type"] == "esrgan": - progress.set_current_status("common.statusUpscalingESRGAN") - elif postprocessing_parameters["type"] == "gfpgan": - progress.set_current_status("common.statusRestoringFacesGFPGAN") - elif postprocessing_parameters["type"] == "codeformer": - progress.set_current_status("common.statusRestoringFacesCodeFormer") - - socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - if postprocessing_parameters["type"] == "esrgan": - image = self.esrgan.process( - image=image, - upsampler_scale=postprocessing_parameters["upscale"][0], - denoise_str=postprocessing_parameters["upscale"][1], - strength=postprocessing_parameters["upscale"][2], - seed=seed, - ) - elif postprocessing_parameters["type"] == "gfpgan": - image = self.gfpgan.process( - image=image, - strength=postprocessing_parameters["facetool_strength"], - seed=seed, - ) - elif postprocessing_parameters["type"] == "codeformer": - image = self.codeformer.process( - image=image, - strength=postprocessing_parameters["facetool_strength"], - fidelity=postprocessing_parameters["codeformer_fidelity"], - seed=seed, - 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') - - progress.set_current_status("common.statusSavingImage") - socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - postprocessing_parameters["seed"] = seed - metadata = self.parameters_to_post_processed_image_metadata( - parameters=postprocessing_parameters, - original_image_path=original_image_path, - ) - - command = parameters_to_command(postprocessing_parameters) - - (width, height) = image.size - - path = self.save_result_image( - image, - command, - metadata, - self.result_path, - postprocessing=postprocessing_parameters["type"], - ) - - 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}' - ) - - progress.mark_complete() - socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - socketio.emit( - "postprocessingResult", - { - "url": self.get_url_from_image_path(path), - "thumbnail": self.get_url_from_image_path(thumbnail_path), - "mtime": os.path.getmtime(path), - "metadata": metadata, - "dreamPrompt": command, - "width": width, - "height": height, - }, - ) - except Exception as e: - self.handle_exceptions(e) - - @socketio.on("cancel") - def handle_cancel(): - logger.info("Cancel processing requested") - self.canceled.set() - - # TODO: I think this needs a safety mechanism. - @socketio.on("deleteImage") - def handle_delete_image(url, thumbnail, uuid, category): - try: - logger.info(f'Delete requested "{url}"') - from send2trash import send2trash - - path = self.get_image_path_from_url(url) - thumbnail_path = self.get_image_path_from_url(thumbnail) - - send2trash(path) - send2trash(thumbnail_path) - - socketio.emit( - "imageDeleted", - {"url": url, "uuid": uuid, "category": category}, - ) - except Exception as e: - self.handle_exceptions(e) - - # App Functions - def get_system_config(self): - model_list: dict = self.generate.model_manager.list_models() - active_model_name = None - - for model_name, model_dict in model_list.items(): - if model_dict["status"] == "active": - active_model_name = model_name - - return { - "model": "stable diffusion", - "model_weights": active_model_name, - "model_hash": self.generate.model_hash, - "app_id": APP_ID, - "app_version": APP_VERSION, - } - - 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 [] - ) - - actual_generation_mode = generation_parameters["generation_mode"] - original_bounding_box = None - - progress = Progress(generation_parameters=generation_parameters) - - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - """ - TODO: - If a result image is used as an init image, and then deleted, we will want to be - able to use it as an init image in the future. Need to handle this case. - """ - - """ - Prepare for generation based on generation_mode - """ - if generation_parameters["generation_mode"] == "unifiedCanvas": - """ - generation_parameters["init_img"] is a base64 image - generation_parameters["init_mask"] is a base64 image - - So we need to convert each into a PIL Image. - """ - - init_img_url = generation_parameters["init_img"] - - original_bounding_box = generation_parameters["bounding_box"].copy() - - 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 - to the generator should be: - { - "x": 0, - "y": 0, - "width": original_bounding_box["width"], - "height": original_bounding_box["height"] - } - """ - - generation_parameters["bounding_box"]["x"] = 0 - 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") - - actual_generation_mode = get_canvas_generation_mode(initial_image, mask_image) - - """ - Apply the mask to the init image, creating a "mask" image with - transparency where inpainting should occur. This is the kind of - mask that prompt2image() needs. - """ - alpha_mask = initial_image.copy() - alpha_mask.putalpha(mask_image) - - generation_parameters["init_img"] = initial_image - generation_parameters["init_mask"] = alpha_mask - - # Remove the unneeded parameters for whichever mode we are doing - if actual_generation_mode == "inpainting": - generation_parameters.pop("seam_size", None) - generation_parameters.pop("seam_blur", None) - generation_parameters.pop("seam_strength", None) - generation_parameters.pop("seam_steps", None) - generation_parameters.pop("tile_size", None) - generation_parameters.pop("force_outpaint", None) - elif actual_generation_mode == "img2img": - generation_parameters["height"] = original_bounding_box["height"] - generation_parameters["width"] = original_bounding_box["width"] - generation_parameters.pop("init_mask", None) - generation_parameters.pop("seam_size", None) - generation_parameters.pop("seam_blur", None) - generation_parameters.pop("seam_strength", None) - generation_parameters.pop("seam_steps", None) - generation_parameters.pop("tile_size", None) - generation_parameters.pop("force_outpaint", None) - generation_parameters.pop("infill_method", None) - elif actual_generation_mode == "txt2img": - generation_parameters["height"] = original_bounding_box["height"] - generation_parameters["width"] = original_bounding_box["width"] - generation_parameters.pop("strength", None) - generation_parameters.pop("fit", None) - generation_parameters.pop("init_img", None) - generation_parameters.pop("init_mask", None) - generation_parameters.pop("seam_size", None) - generation_parameters.pop("seam_blur", None) - generation_parameters.pop("seam_strength", None) - generation_parameters.pop("seam_steps", None) - generation_parameters.pop("tile_size", None) - generation_parameters.pop("force_outpaint", None) - generation_parameters.pop("infill_method", None) - - 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") - - def image_progress(intermediate_state: PipelineIntermediateState): - if self.canceled.is_set(): - raise CanceledException - - nonlocal step_index - nonlocal generation_parameters - nonlocal progress - - step = intermediate_state.step - if intermediate_state.predicted_original is not None: - # Some schedulers report not only the noisy latents at the current timestep, - # but also their estimate so far of what the de-noised latents will be. - sample = intermediate_state.predicted_original - else: - sample = intermediate_state.latents - - generation_messages = { - "txt2img": "common.statusGeneratingTextToImage", - "img2img": "common.statusGeneratingImageToImage", - "inpainting": "common.statusGeneratingInpainting", - "outpainting": "common.statusGeneratingOutpainting", - } - - progress.set_current_step(step + 1) - progress.set_current_status(f"{generation_messages[actual_generation_mode]}") - progress.set_current_status_has_steps(True) - - if ( - generation_parameters["progress_images"] - and step % generation_parameters["save_intermediates"] == 0 - and step < generation_parameters["steps"] - 1 - ): - image = self.generate.sample_to_image(sample) - metadata = self.parameters_to_generated_image_metadata(generation_parameters) - command = parameters_to_command(generation_parameters) - - (width, height) = image.size - - path = self.save_result_image( - image, - command, - metadata, - self.intermediate_path, - step_index=step_index, - postprocessing=False, - ) - - step_index += 1 - self.socketio.emit( - "intermediateResult", - { - "url": self.get_url_from_image_path(path), - "mtime": os.path.getmtime(path), - "metadata": metadata, - "width": width, - "height": height, - "generationMode": generation_parameters["generation_mode"], - "boundingBox": original_bounding_box, - }, - ) - - if generation_parameters["progress_latents"]: - image = self.generate.sample_to_lowres_estimated_image(sample) - (width, height) = image.size - width *= 8 - height *= 8 - img_base64 = image_to_dataURL(image, image_format="JPEG") - self.socketio.emit( - "intermediateResult", - { - "url": img_base64, - "isBase64": True, - "mtime": 0, - "metadata": {}, - "width": width, - "height": height, - "generationMode": generation_parameters["generation_mode"], - "boundingBox": original_bounding_box, - }, - ) - - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - def image_done(image, seed, first_seed, attention_maps_image=None): - if self.canceled.is_set(): - raise CanceledException - - nonlocal generation_parameters - nonlocal esrgan_parameters - nonlocal facetool_parameters - nonlocal progress - - nonlocal prior_variations - - """ - Tidy up after generation based on generation_mode - """ - # paste the inpainting image back onto the original - if generation_parameters["generation_mode"] == "inpainting": - image = paste_image_into_bounding_box( - Image.open(init_img_path), - image, - **generation_parameters["bounding_box"], - ) - - progress.set_current_status("common.statusGenerationComplete") - - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - all_parameters = generation_parameters - postprocessing = False - - 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["seed"] = first_seed - elif "with_variations" in all_parameters: - all_parameters["seed"] = first_seed - else: - all_parameters["seed"] = seed - - if self.canceled.is_set(): - raise CanceledException - - if esrgan_parameters: - progress.set_current_status("common.statusUpscaling") - progress.set_current_status_has_steps(False) - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - image = self.esrgan.process( - image=image, - upsampler_scale=esrgan_parameters["level"], - denoise_str=esrgan_parameters["denoise_str"], - strength=esrgan_parameters["strength"], - seed=seed, - ) - - postprocessing = True - all_parameters["upscale"] = [ - esrgan_parameters["level"], - esrgan_parameters["denoise_str"], - esrgan_parameters["strength"], - ] - - if self.canceled.is_set(): - raise CanceledException - - if facetool_parameters: - 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_has_steps(False) - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - if facetool_parameters["type"] == "gfpgan": - image = self.gfpgan.process( - image=image, - strength=facetool_parameters["strength"], - seed=seed, - ) - elif facetool_parameters["type"] == "codeformer": - image = self.codeformer.process( - image=image, - strength=facetool_parameters["strength"], - fidelity=facetool_parameters["codeformer_fidelity"], - seed=seed, - device="cpu" if str(self.generate.device) == "mps" else self.generate.device, - ) - all_parameters["codeformer_fidelity"] = facetool_parameters["codeformer_fidelity"] - - postprocessing = True - all_parameters["facetool_strength"] = facetool_parameters["strength"] - all_parameters["facetool_type"] = facetool_parameters["type"] - - progress.set_current_status("common.statusSavingImage") - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - # 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 "" - ) - - if "init_mask" in all_parameters: - # TODO: store the mask in metadata - all_parameters["init_mask"] = "" - - if generation_parameters["generation_mode"] == "unifiedCanvas": - all_parameters["bounding_box"] = original_bounding_box - - metadata = self.parameters_to_generated_image_metadata(all_parameters) - - command = parameters_to_command(all_parameters) - - (width, height) = image.size - - generated_image_outdir = ( - self.result_path - if generation_parameters["generation_mode"] in ["txt2img", "img2img"] - else self.temp_image_path - ) - - path = self.save_result_image( - image, - command, - metadata, - generated_image_outdir, - postprocessing=postprocessing, - ) - - 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}') - - if progress.total_iterations > progress.current_iteration: - progress.set_current_step(1) - progress.set_current_status("common.statusIterationComplete") - progress.set_current_status_has_steps(False) - else: - progress.mark_complete() - - self.socketio.emit("progressUpdate", progress.to_formatted_dict()) - eventlet.sleep(0) - - parsed_prompt, _ = get_prompt_structure(generation_parameters["prompt"]) - with self.generate.model_context as model: - tokens = ( - None - if type(parsed_prompt) is Blend - 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) - ) - - self.socketio.emit( - "generationResult", - { - "url": self.get_url_from_image_path(path), - "thumbnail": self.get_url_from_image_path(thumbnail_path), - "mtime": os.path.getmtime(path), - "metadata": metadata, - "dreamPrompt": command, - "width": width, - "height": height, - "boundingBox": original_bounding_box, - "generationMode": generation_parameters["generation_mode"], - "attentionMaps": attention_maps_image_base64_url, - "tokens": tokens, - }, - ) - eventlet.sleep(0) - - progress.set_current_iteration(progress.current_iteration + 1) - - self.generate.prompt2image( - **generation_parameters, - step_callback=image_progress, - image_callback=image_done, - ) - - except KeyboardInterrupt: - # Clear the CUDA cache on an exception - self.empty_cuda_cache() - self.socketio.emit("processingCanceled") - raise - except CanceledException: - # Clear the CUDA cache on an exception - self.empty_cuda_cache() - self.socketio.emit("processingCanceled") - pass - except Exception as e: - # Clear the CUDA cache on an exception - self.empty_cuda_cache() - logger.error(e) - self.handle_exceptions(e) - - def empty_cuda_cache(self): - if self.generate.device.type == "cuda": - import torch.cuda - - torch.cuda.empty_cache() - - def parameters_to_generated_image_metadata(self, parameters): - try: - # top-level metadata minus `image` or `images` - metadata = self.get_system_config() - # remove any image keys not mentioned in RFC #266 - rfc266_img_fields = [ - "type", - "postprocessing", - "sampler", - "prompt", - "seed", - "variations", - "steps", - "cfg_scale", - "threshold", - "perlin", - "step_number", - "width", - "height", - "extra", - "seamless", - "hires_fix", - ] - - rfc_dict = {} - - for item in parameters.items(): - key, value = item - if key in rfc266_img_fields: - rfc_dict[key] = value - - postprocessing = [] - - rfc_dict["type"] = parameters["generation_mode"] - - # 'postprocessing' is either null or an - if "facetool_strength" in parameters: - facetool_parameters = { - "type": str(parameters["facetool_type"]), - "strength": float(parameters["facetool_strength"]), - } - - if parameters["facetool_type"] == "codeformer": - facetool_parameters["fidelity"] = float(parameters["codeformer_fidelity"]) - - postprocessing.append(facetool_parameters) - - if "upscale" in parameters: - postprocessing.append( - { - "type": "esrgan", - "scale": int(parameters["upscale"][0]), - "denoise_str": int(parameters["upscale"][1]), - "strength": float(parameters["upscale"][2]), - } - ) - - rfc_dict["postprocessing"] = postprocessing if len(postprocessing) > 0 else None - - # semantic drift - rfc_dict["sampler"] = parameters["sampler_name"] - - # 'variations' should always exist and be an array, empty or consisting of {'seed': seed, 'weight': weight} pairs - variations = [] - - if "with_variations" in parameters: - 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 - - metadata["image"] = rfc_dict - - return metadata - - except Exception as e: - self.handle_exceptions(e) - - def parameters_to_post_processed_image_metadata(self, parameters, original_image_path): - try: - current_metadata = retrieve_metadata(original_image_path)["sd-metadata"] - postprocessing_metadata = {} - - """ - if we don't have an original image metadata to reconstruct, - need to record the original image and its hash - """ - if "image" not in current_metadata: - current_metadata["image"] = {} - - 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 - - if parameters["type"] == "esrgan": - postprocessing_metadata["type"] = "esrgan" - postprocessing_metadata["scale"] = parameters["upscale"][0] - postprocessing_metadata["denoise_str"] = parameters["upscale"][1] - postprocessing_metadata["strength"] = parameters["upscale"][2] - elif parameters["type"] == "gfpgan": - postprocessing_metadata["type"] = "gfpgan" - postprocessing_metadata["strength"] = parameters["facetool_strength"] - elif parameters["type"] == "codeformer": - postprocessing_metadata["type"] = "codeformer" - postprocessing_metadata["strength"] = parameters["facetool_strength"] - postprocessing_metadata["fidelity"] = parameters["codeformer_fidelity"] - - else: - raise TypeError(f"Invalid type: {parameters['type']}") - - if "postprocessing" in current_metadata["image"] and isinstance( - current_metadata["image"]["postprocessing"], list - ): - current_metadata["image"]["postprocessing"].append(postprocessing_metadata) - else: - current_metadata["image"]["postprocessing"] = [postprocessing_metadata] - - return current_metadata - - except Exception as e: - self.handle_exceptions(e) - - def save_result_image( - self, - image, - command, - metadata, - output_dir, - step_index=None, - postprocessing=False, - ): - try: - pngwriter = PngWriter(output_dir) - - number_prefix = pngwriter.unique_prefix() - - uuid = uuid4().hex - truncated_uuid = uuid[:8] - - seed = "unknown_seed" - - if "image" in metadata: - if "seed" in metadata["image"]: - seed = metadata["image"]["seed"] - - filename = f"{number_prefix}.{truncated_uuid}.{seed}" - - if step_index: - filename += f".{step_index}" - if postprocessing: - filename += ".postprocessed" - - filename += ".png" - - path = pngwriter.save_image_and_prompt_to_png( - image=image, - dream_prompt=command, - metadata=metadata, - name=filename, - ) - - return os.path.abspath(path) - - except Exception as e: - self.handle_exceptions(e) - - def make_unique_init_image_filename(self, name): - try: - uuid = uuid4().hex - split = os.path.splitext(name) - name = f"{split[0]}.{uuid}{split[1]}" - return name - except Exception as e: - self.handle_exceptions(e) - - def calculate_real_steps(self, steps, strength, has_init_image): - import math - - return math.floor(strength * steps) if has_init_image else steps - - def write_log_message(self, message): - """Logs the filename and parameters used to generate or process that image to log file""" - try: - message = f"{message}\n" - with open(self.log_path, "a", encoding="utf-8") as file: - file.writelines(message) - - except Exception as e: - self.handle_exceptions(e) - - def get_image_path_from_url(self, url): - """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))) - elif "mask-images" in 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))) - elif "temp-images" in 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))) - else: - return os.path.abspath(os.path.join(self.result_path, os.path.basename(url))) - except Exception as e: - self.handle_exceptions(e) - - def get_url_from_image_path(self, path): - """Given an absolute file path to an image, returns the URL that the client can use to load the image""" - try: - if "init-images" in path: - return os.path.join(self.init_image_url, os.path.basename(path)) - elif "mask-images" in path: - return os.path.join(self.mask_image_url, os.path.basename(path)) - elif "intermediates" in path: - return os.path.join(self.intermediate_url, os.path.basename(path)) - elif "temp-images" in path: - return os.path.join(self.temp_image_url, os.path.basename(path)) - elif "thumbnails" in path: - return os.path.join(self.thumbnail_image_url, os.path.basename(path)) - else: - return os.path.join(self.result_url, os.path.basename(path)) - except Exception as e: - self.handle_exceptions(e) - - def save_file_unique_uuid_name(self, bytes, name, path): - try: - uuid = uuid4().hex - truncated_uuid = uuid[:8] - - split = os.path.splitext(name) - name = f"{split[0]}.{truncated_uuid}{split[1]}" - - file_path = os.path.join(path, name) - - os.makedirs(os.path.dirname(file_path), exist_ok=True) - - newFile = open(file_path, "wb") - newFile.write(bytes) - - return file_path - except Exception as e: - self.handle_exceptions(e) - - def handle_exceptions(self, exception, emit_key: str = "error"): - self.socketio.emit(emit_key, {"message": (str(exception))}) - print("\n") - traceback.print_exc() - print("\n") - - -class Progress: - def __init__(self, generation_parameters=None): - self.current_step = 1 - self.total_steps = ( - self._calculate_real_steps( - steps=generation_parameters["steps"], - 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.current_status = "common.statusPreparing" - self.is_processing = True - self.current_status_has_steps = False - self.has_error = False - - def set_current_step(self, current_step): - self.current_step = current_step - - def set_total_steps(self, total_steps): - self.total_steps = total_steps - - def set_current_iteration(self, current_iteration): - self.current_iteration = current_iteration - - def set_total_iterations(self, total_iterations): - self.total_iterations = total_iterations - - def set_current_status(self, current_status): - self.current_status = current_status - - def set_is_processing(self, is_processing): - self.is_processing = is_processing - - def set_current_status_has_steps(self, current_status_has_steps): - self.current_status_has_steps = current_status_has_steps - - def set_has_error(self, has_error): - self.has_error = has_error - - def mark_complete(self): - self.current_status = "common.statusProcessingComplete" - self.current_step = 0 - self.total_steps = 0 - self.current_iteration = 0 - self.total_iterations = 0 - self.is_processing = False - - def to_formatted_dict( - self, - ): - return { - "currentStep": self.current_step, - "totalSteps": self.total_steps, - "currentIteration": self.current_iteration, - "totalIterations": self.total_iterations, - "currentStatus": self.current_status, - "isProcessing": self.is_processing, - "currentStatusHasSteps": self.current_status_has_steps, - "hasError": self.has_error, - } - - def _calculate_real_steps(self, steps, strength, has_init_image): - return math.floor(strength * steps) if has_init_image else steps - - -class CanceledException(Exception): - pass - - -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. - """ - with image as im: - bounds = (x, y, x + width, y + height) - im_cropped = im.crop(bounds) - return im_cropped - - -def dataURL_to_image(dataURL: str) -> ImageType: - """ - Converts a base64 image dataURL into an image. - The dataURL is split on the first comma. - """ - image = Image.open( - io.BytesIO( - base64.decodebytes( - bytes( - dataURL.split(",", 1)[1], - "utf-8", - ) - ) - ) - ) - return image - - -def image_to_dataURL(image: ImageType, image_format: str = "PNG") -> str: - """ - Converts an image into a base64 image dataURL. - """ - 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") - return image_base64 - - -def dataURL_to_bytes(dataURL: str) -> bytes: - """ - Converts a base64 image dataURL into bytes. - The dataURL is split on the first comma. - """ - return base64.decodebytes( - bytes( - dataURL.split(",", 1)[1], - "utf-8", - ) - ) - - -def paste_image_into_bounding_box( - recipient_image: ImageType, - donor_image: ImageType, - x: int, - y: int, - width: int, - height: int, -) -> ImageType: - """ - Pastes an image onto another with a bounding box. - """ - with recipient_image as im: - bounds = (x, y, x + width, y + height) - im.paste(donor_image, bounds) - return recipient_image - - -def save_thumbnail( - image: ImageType, - filename: str, - path: str, - size: int = 256, -) -> str: - """ - Saves a thumbnail of an image, returning its path. - """ - base_filename = os.path.splitext(filename)[0] - thumbnail_path = os.path.join(path, base_filename + ".webp") - - if os.path.exists(thumbnail_path): - return thumbnail_path - - thumbnail_width = size - thumbnail_height = round(size * (image.height / image.width)) - - image_copy = image.copy() - image_copy.thumbnail(size=(thumbnail_width, thumbnail_height)) - - image_copy.save(thumbnail_path, "WEBP") - - return thumbnail_path diff --git a/invokeai/backend/web/modules/__init__.py b/invokeai/backend/web/modules/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/invokeai/backend/web/modules/create_cmd_parser.py b/invokeai/backend/web/modules/create_cmd_parser.py deleted file mode 100644 index 856522989b..0000000000 --- a/invokeai/backend/web/modules/create_cmd_parser.py +++ /dev/null @@ -1,56 +0,0 @@ -import argparse -import os - -from ...args import PRECISION_CHOICES - - -def create_cmd_parser(): - parser = argparse.ArgumentParser(description="InvokeAI web UI") - parser.add_argument( - "--host", - type=str, - help="The host to serve on", - default="localhost", - ) - parser.add_argument("--port", type=int, help="The port to serve on", default=9090) - parser.add_argument( - "--cors", - nargs="*", - type=str, - help="Additional allowed origins, comma-separated", - ) - parser.add_argument( - "--embedding_path", - type=str, - help="Path to a pre-trained embedding manager checkpoint - can only be set on command line", - ) - # TODO: Can't get flask to serve images from any dir (saving to the dir does work when specified) - # parser.add_argument( - # "--output_dir", - # default="outputs/", - # type=str, - # help="Directory for output images", - # ) - parser.add_argument( - "-v", - "--verbose", - action="store_true", - help="Enables verbose logging", - ) - parser.add_argument( - "--precision", - dest="precision", - type=str, - choices=PRECISION_CHOICES, - metavar="PRECISION", - help=f'Set model precision. Defaults to auto selected based on device. Options: {", ".join(PRECISION_CHOICES)}', - default="auto", - ) - parser.add_argument( - "--free_gpu_mem", - dest="free_gpu_mem", - action="store_true", - help="Force free gpu memory before final decoding", - ) - - return parser diff --git a/invokeai/backend/web/modules/get_canvas_generation_mode.py b/invokeai/backend/web/modules/get_canvas_generation_mode.py deleted file mode 100644 index 6d680016e7..0000000000 --- a/invokeai/backend/web/modules/get_canvas_generation_mode.py +++ /dev/null @@ -1,113 +0,0 @@ -from typing import Literal, Union - -from PIL import Image, ImageChops -from PIL.Image import Image as ImageType - - -# https://stackoverflow.com/questions/43864101/python-pil-check-if-image-is-transparent -def check_for_any_transparency(img: Union[ImageType, str]) -> bool: - if type(img) is str: - img = Image.open(str) - - if img.info.get("transparency", None) is not None: - return True - if img.mode == "P": - transparent = img.info.get("transparency", -1) - for _, index in img.getcolors(): - if index == transparent: - return True - elif img.mode == "RGBA": - extrema = img.getextrema() - if extrema[3][0] < 255: - return True - return False - - -def get_canvas_generation_mode( - init_img: Union[ImageType, str], init_mask: Union[ImageType, str] -) -> Literal["txt2img", "outpainting", "inpainting", "img2img",]: - if type(init_img) is str: - init_img = Image.open(init_img) - - if type(init_mask) is str: - init_mask = Image.open(init_mask) - - init_img = init_img.convert("RGBA") - - # Get alpha from init_img - init_img_alpha = init_img.split()[-1] - init_img_alpha_mask = init_img_alpha.convert("L") - 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 - - """ - Mask images are white in areas where no change should be made, black where changes - should be made. - """ - - # Fit the mask to init_img's size and convert it to greyscale - init_mask = init_mask.resize(init_img.size).convert("L") - - """ - PIL.Image.getbbox() returns the bounding box of non-zero areas of the image, so we first - invert the mask image so that masked areas are white and other areas black == zero. - getbbox() now tells us if the are any masked areas. - """ - init_mask_bbox = ImageChops.invert(init_mask).getbbox() - init_mask_exists = False if init_mask_bbox is None else True - - if init_img_has_transparency: - if init_img_is_fully_transparent: - return "txt2img" - else: - return "outpainting" - else: - if init_mask_exists: - return "inpainting" - else: - return "img2img" - - -def main(): - # Testing - init_img_opaque = "test_images/init-img_opaque.png" - init_img_partial_transparency = "test_images/init-img_partial_transparency.png" - init_img_full_transparency = "test_images/init-img_full_transparency.png" - init_mask_no_mask = "test_images/init-mask_no_mask.png" - init_mask_has_mask = "test_images/init-mask_has_mask.png" - - print( - "OPAQUE IMAGE, NO MASK, expect img2img, got ", - get_canvas_generation_mode(init_img_opaque, init_mask_no_mask), - ) - - print( - "IMAGE WITH TRANSPARENCY, NO MASK, expect outpainting, got ", - get_canvas_generation_mode(init_img_partial_transparency, init_mask_no_mask), - ) - - print( - "FULLY TRANSPARENT IMAGE NO MASK, expect txt2img, got ", - get_canvas_generation_mode(init_img_full_transparency, init_mask_no_mask), - ) - - print( - "OPAQUE IMAGE, WITH MASK, expect inpainting, got ", - get_canvas_generation_mode(init_img_opaque, init_mask_has_mask), - ) - - print( - "IMAGE WITH TRANSPARENCY, WITH MASK, expect outpainting, got ", - get_canvas_generation_mode(init_img_partial_transparency, init_mask_has_mask), - ) - - print( - "FULLY TRANSPARENT IMAGE WITH MASK, expect txt2img, got ", - get_canvas_generation_mode(init_img_full_transparency, init_mask_has_mask), - ) - - -if __name__ == "__main__": - main() diff --git a/invokeai/backend/web/modules/parameters.py b/invokeai/backend/web/modules/parameters.py deleted file mode 100644 index 8ab74adb92..0000000000 --- a/invokeai/backend/web/modules/parameters.py +++ /dev/null @@ -1,82 +0,0 @@ -import argparse - -from .parse_seed_weights import parse_seed_weights - -SAMPLER_CHOICES = [ - "ddim", - "ddpm", - "deis", - "lms", - "lms_k", - "pndm", - "heun", - "heun_k", - "euler", - "euler_k", - "euler_a", - "kdpm_2", - "kdpm_2_a", - "dpmpp_2s", - "dpmpp_2s_k", - "dpmpp_2m", - "dpmpp_2m_k", - "dpmpp_2m_sde", - "dpmpp_2m_sde_k", - "dpmpp_sde", - "dpmpp_sde_k", - "unipc", -] - - -def parameters_to_command(params): - """ - Converts dict of parameters into a `invoke.py` REPL command. - """ - - switches = list() - - if "prompt" in params: - switches.append(f'"{params["prompt"]}"') - if "steps" in params: - switches.append(f'-s {params["steps"]}') - if "seed" in params: - switches.append(f'-S {params["seed"]}') - if "width" in params: - switches.append(f'-W {params["width"]}') - if "height" in params: - switches.append(f'-H {params["height"]}') - if "cfg_scale" in params: - switches.append(f'-C {params["cfg_scale"]}') - if "sampler_name" in params: - switches.append(f'-A {params["sampler_name"]}') - if "seamless" in params and params["seamless"] == True: - switches.append(f"--seamless") - if "hires_fix" in params and params["hires_fix"] == True: - switches.append(f"--hires") - if "init_img" in params and len(params["init_img"]) > 0: - switches.append(f'-I {params["init_img"]}') - if "init_mask" in params and len(params["init_mask"]) > 0: - switches.append(f'-M {params["init_mask"]}') - if "init_color" in params and len(params["init_color"]) > 0: - switches.append(f'--init_color {params["init_color"]}') - if "strength" in params and "init_img" in params: - switches.append(f'-f {params["strength"]}') - if "fit" in params and params["fit"] == True: - switches.append(f"--fit") - if "facetool" in params: - switches.append(f'-ft {params["facetool"]}') - if "facetool_strength" in params and params["facetool_strength"]: - switches.append(f'-G {params["facetool_strength"]}') - elif "gfpgan_strength" in params and params["gfpgan_strength"]: - switches.append(f'-G {params["gfpgan_strength"]}') - if "codeformer_fidelity" in params: - switches.append(f'-cf {params["codeformer_fidelity"]}') - if "upscale" in params and params["upscale"]: - switches.append(f'-U {params["upscale"][0]} {params["upscale"][1]}') - 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"]) - switches.append(f"-V {seed_weight_pairs}") - - return " ".join(switches) diff --git a/invokeai/backend/web/modules/parse_seed_weights.py b/invokeai/backend/web/modules/parse_seed_weights.py deleted file mode 100644 index 7e15d4e166..0000000000 --- a/invokeai/backend/web/modules/parse_seed_weights.py +++ /dev/null @@ -1,47 +0,0 @@ -def parse_seed_weights(seed_weights): - """ - Accepts seed weights as string in "12345:0.1,23456:0.2,3456:0.3" format - Validates them - If valid: returns as [[12345, 0.1], [23456, 0.2], [3456, 0.3]] - If invalid: returns False - """ - - # Must be a string - if not isinstance(seed_weights, str): - return False - # String must not be empty - if len(seed_weights) == 0: - return False - - pairs = [] - - for pair in seed_weights.split(","): - split_values = pair.split(":") - - # Seed and weight are required - if len(split_values) != 2: - return False - - if len(split_values[0]) == 0 or len(split_values[1]) == 1: - return False - - # Try casting the seed to int and weight to float - try: - seed = int(split_values[0]) - weight = float(split_values[1]) - except ValueError: - return False - - # Seed must be 0 or above - if not seed >= 0: - return False - - # Weight must be between 0 and 1 - if not (weight >= 0 and weight <= 1): - return False - - # This pair is valid - pairs.append([seed, weight]) - - # All pairs are valid - return pairs diff --git a/invokeai/backend/web/modules/test_images/init-img_full_transparency.png b/invokeai/backend/web/modules/test_images/init-img_full_transparency.png deleted file mode 100644 index 6cdeada609..0000000000 Binary files a/invokeai/backend/web/modules/test_images/init-img_full_transparency.png and /dev/null differ diff --git a/invokeai/backend/web/modules/test_images/init-img_opaque.png b/invokeai/backend/web/modules/test_images/init-img_opaque.png deleted file mode 100644 index a45aec75ed..0000000000 Binary files a/invokeai/backend/web/modules/test_images/init-img_opaque.png and /dev/null differ diff --git a/invokeai/backend/web/modules/test_images/init-img_partial_transparency.png b/invokeai/backend/web/modules/test_images/init-img_partial_transparency.png deleted file mode 100644 index 348e59fc8a..0000000000 Binary files a/invokeai/backend/web/modules/test_images/init-img_partial_transparency.png and /dev/null differ diff --git a/invokeai/backend/web/modules/test_images/init-mask_has_mask.png b/invokeai/backend/web/modules/test_images/init-mask_has_mask.png deleted file mode 100644 index 88fe072950..0000000000 Binary files a/invokeai/backend/web/modules/test_images/init-mask_has_mask.png and /dev/null differ diff --git a/invokeai/backend/web/modules/test_images/init-mask_no_mask.png b/invokeai/backend/web/modules/test_images/init-mask_no_mask.png deleted file mode 100644 index 2aecd3ea7d..0000000000 Binary files a/invokeai/backend/web/modules/test_images/init-mask_no_mask.png and /dev/null differ diff --git a/invokeai/frontend/web/dist/assets/App-0a099278.js b/invokeai/frontend/web/dist/assets/App-0a099278.js deleted file mode 100644 index 6ce732787f..0000000000 --- a/invokeai/frontend/web/dist/assets/App-0a099278.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-deaa1f26.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-b4489359.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(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(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(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,D=t-R;return m?u9(D,s-M):D}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=_0();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 P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),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=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(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}const L5=({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:cm(["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})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(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 L9=f.memo($9);const z9=200,B9=150,F9=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?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({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 P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+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"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({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 U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.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}=Lp(K9,X1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:cm(["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(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Hu;(function(e){e.Line="line",e.Handle="handle"})(Hu||(Hu={}));function Y9({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 F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Hu.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=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Hu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,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(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Hu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:cm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(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]=oA(()=>td=!0),e),{}),aA=_d.reduce((e,t)=>{const n=gm[t];return e[t]=(r,o=!1,s=!1)=>(td||cA(),n.schedule(r,o,s)),e},{}),iA=_d.reduce((e,t)=>(e[t]=gm[t].cancel,e),{});_d.reduce((e,t)=>(e[t]=()=>gm[t].process(sc),e),{});const lA=e=>gm[e].process(sc),U5=e=>{td=!1,sc.delta=Nv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,$v=!0,_d.forEach(lA),$v=!1,td&&(Nv=!1,V5(U5))},cA=()=>{td=!0,Nv=!0,$v||V5(U5)},Rw=()=>sc;function fb(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(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 pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Lv=typeof window<"u"?f.useLayoutEffect:f.useEffect,Xp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(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 mA(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=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return Lv(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);Lv(()=>()=>{o.current&&t.unregister(o.current)},[]),Lv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Xp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function pb(){return[Xp(bA),()=>Xp(G5()),()=>vA(),o=>yA(o)]}var[xA,vm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,hb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=pb(),Eu=Ae(function(t,n){const{getButtonProps:r}=hb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...vm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Eu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(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 _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({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[PA,mb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=mb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({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)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,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 IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;bd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){bd({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 OA(e){bd({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){bd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Ou(e){const{isOpen:t,isDisabled:n}=hb(),{reduceMotion:r}=mb(),o=Ct("chakra-accordion__icon",e.className),s=vm(),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(fo,{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"})})}Ou.displayName="AccordionIcon";var Ru=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...vm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ru.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},mu={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 zv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return mu.slideRight;case"left":return mu.slideLeft;case"bottom":return mu.slideDown;case"top":return mu.slideUp;default:return mu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={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})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.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:Cs.enter(Tw.enter,o)}}},bm=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(_)},[]),bd({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(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});bm.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:Cs.enter(Xi.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:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=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(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={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:Cs.exit(Xi.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:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=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(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={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:Cs.exit(Xi.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:Cs.enter(Xi.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:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Bv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=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(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...Bv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=zv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=zv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=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=zv({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(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Mu=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=mb(),{getPanelProps:c,isOpen:d}=hb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=vm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(bm,{in:d,...o,children:v})});Mu.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function Pd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={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}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(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=Ct("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?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Fv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Fv.displayName="ButtonIcon";function Yp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("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(je.div,{className:d,...c,__css:h,children:o})}Yp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("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:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Yp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Yp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Fv,{marginEnd:o,children:t}),r,n&&i.jsx(Fv,{marginStart:o,children:n})]})}var ka=Ae((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(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(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(je.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 XA(e){return i.jsx(je.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 YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,jd]=Dn({strict:!1,name:"FormControlContext"});function ZA(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,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&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:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=jd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=jd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=jd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function gb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=vb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function vb(e){var t,n,r;const o=jd(),{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 bb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:bb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:bb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,Id=null,ol=!1,Hv=!1;const Wv=new Set;function yb(e,t){Wv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(Id="keyboard",yb("keyboard",e))}function Nl(e){if(Id="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;yb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,Id="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Hv&&(Id="virtual",yb("virtual",e)),ol=!1,Hv=!1)}function lT(){ol=!1,Hv=!0}function Bw(){return Id!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Wv.add(t),()=>{Wv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=vb(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":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:bb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(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:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),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 P=y;r!=null&&r.onChange&&a.value&&(P=um(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function xb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Vv(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 Qp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Uv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Vv(n);return xb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=j0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(oi(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),oi(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),xb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=oi(A):L=oi(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=oi(-A):L=oi(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=j0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=j0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=oi(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(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 wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(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(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(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=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{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(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,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]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),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,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=Y1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){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:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=yd(MT);var Gv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(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 v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var I0={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 qv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],kb=JT.join(","),ZT="".concat(kb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:kb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?ym([e.contentDocument.body],t):[e]},ym=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(kb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return ym([n])}).reduce(function(n,r){return n.concat(r)},[])},_b=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Xv=function(e,t,n){return A3(_b(ym(e,n),t),!0,n)},Vw=function(e,t){return A3(_b(ym(e),t),!1)},nN=function(e,t){return _b(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(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?ic(o,t):!1}return ic(n,t)})},rN=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)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},Pb=function(e){var t=Jp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Gv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Gv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},nd=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?nd(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?nd(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=nd(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Pb(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=nd(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},jb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(jb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?jb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(jb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Cb(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=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;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}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Yv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Yv(e.parentNode.host||e.parentNode,t),t},E0=function(e,t){for(var n=Yv(e),r=Yv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Jp(e),o=Jp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=E0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=E0(s,d);p&&(!a||ic(p,a)?a=p:a=E0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=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(YT)},mN=function(e,t){var n=nd(Jp(e).length>0?document:P3(e).ownerDocument),r=Pb(e).filter(Zp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Xv(r,s).filter(function(b){var w=b.node;return Zp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(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]}},gN=function(e){var t=Pb(e).filter(Zp),n=z3(e,e,t),r=new Map,o=Xv([n],r,!0),s=Xv(t,r).filter(function(a){var c=a.node;return Zp(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:Cb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},O0=0,R0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!R0&&r){if(O0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),R0=!0,setTimeout(function(){R0=!1},1);return}O0++,vN(r.node,n.focusOptions),O0--}};function Ib(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,rd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(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 kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!rd:rd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},eh=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),rd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(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")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){eh()&&t&&(t.stopPropagation(),t.preventDefault())},Eb=function(){return Ib(eh)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){rd="just",Ib(function(){rd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Eb),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Eb),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),eh(),Ib(eh)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Eb);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ob(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(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 LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Ob(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Ob(e)||X3(e)||BN(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:K3(e)}function HN(e){return e?Ob(e)&&Y3(e)&&!zN(e):!1}var WN=["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]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=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&&Q3(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(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function th(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=th(t);return f.useEffect(()=>{var s;const a=(s=U2(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=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=th(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{M0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&M0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&M0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(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 M0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=th(n),a=th(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=Pd(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=fb({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(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),xm=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),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(e$,{ref:n,__css:h,...a})});xm.id="InputElement";xm.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(xm,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Rb=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(xm,{ref:n,placement:"right",className:s,...o})});Rb.id="InputRightElement";Rb.displayName="InputRightElement";var Ed=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=gb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Ed.displayName="Input";Ed.id="Input";var Mb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Mb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Db=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=Pd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Db.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Db,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Ab=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Db,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Ab.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(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(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):jv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=fb({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(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{"&":n6(n,o=>r[o])}}var Tb=Ae((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(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=Pd(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Tb.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var pi=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"row",ref:t}));pi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Qv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=fb({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Qv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var Wa=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("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(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Wa.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(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(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(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 l$(){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 D0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(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),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&D0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);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":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(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 u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!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=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(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 h$={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"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={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`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"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"}},k$={"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 _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Nb="auto",Od=[_o,as,is,Po],xc="start",od="end",P$="clippingParents",i6="viewport",gu="popper",j$="reference",eS=Od.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+od])},[]),l6=[].concat(Od,[Nb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+od])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function $b(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(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];!os(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 z$(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},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,nh=Math.min,wc=Math.round;function Jv(){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 c6(){return!/^((?!chrome|android).)*safari/i.test(Jv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&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 Lb(e){var t=Sc(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 u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&$b(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function wm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||($b(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Jv()),n=/Trident/i.test(Jv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=wm(e);for($b(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(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 Rd(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function zb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Wu(e,t,n){return Qi(e,nh(t,n))}function W$(e,t,n){var r=Wu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Od))};function U$(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=zb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=Lb(s),b=d==="y"?_o:Po,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=Rd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Wu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(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)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(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"),P=Po,I=_o,E=window;if(p){var O=Rd(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===od){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===od){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(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:Cc(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,nS(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,nS(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 Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Hf={passive:!0};function J$(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=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Hf)}),c&&d.addEventListener("resize",n.update,Hf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Hf)}),c&&d.removeEventListener("resize",n.update,Hf)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ep(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function Bb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Fb(e){return Sc(Pi(e)).left+Bb(e).scrollLeft}function nL(e,t){var n=Fo(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=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Fb(e),y:d}}function rL(e){var t,n=Pi(e),r=Bb(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+Fb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Hb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Hb(e)?e:h6(wm(e))}function Vu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Hb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Vu(wm(a)))}function Zv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(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 oS(e,t,n){return t===i6?Zv(nL(e,n)):al(t)?oL(t,n):Zv(rL(Pi(e)))}function sL(e){var t=Vu(wm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Rd(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=nh(h.right,d.right),d.bottom=nh(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(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 m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o: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 Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?zb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case od:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function sd(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?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?gu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Od)),_=v===gu?j$:gu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Zv(Object.assign({},P,R)),D=v===gu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===gu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(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?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Od,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]=sd(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 lL(e){if(ta(e)===Nb)return[];var t=Ep(e);return[rS(e),t,rS(t)]}function cL(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,P=d||(_||!w?[Ep(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Nb?iL(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,D=I[0],A=0;A=0,q=V?"width":"height",G=sd(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ep(T));var z=Ep(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(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 aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=sd(t,{elementContext:"reference"}),c=sd(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(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 fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].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,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(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 mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(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=sd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=zb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Lb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Wu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Rd(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Wu(b?nh(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Wu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?Bb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Hb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Fb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(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 PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(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 iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(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 I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(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 Vb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(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(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{A0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&A0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&A0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(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 A0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(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=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ub(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=pb(),[LL,Md]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(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),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Vb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Wb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Md(),{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":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function e1(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Md();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=TL(),b=a$({preventDefault:k=>k.key!==" "&&e1(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={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(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});e1(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ub({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 WL(e={}){const{popper:t,isOpen:n}=Md();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(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=Md(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),e1(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,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 VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({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=Pd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.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 GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Dd=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:Y1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Dd.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),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(je.button,{ref:t,type:s,...r,__css:a})}),Gb=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Gb.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={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"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Md(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:um(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var ad=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});ad.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(ad,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ad=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ad.displayName="MenuButton";var ZL=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"})}),rh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});rh.id="MenuItemOption";rh.displayName="MenuItemOption";var ez={slideInBottom:{...Bv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Bv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(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}},t1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=t1.add(o);r(s)}return()=>{t1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Wf=new WeakMap,Vf={},T0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(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})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Vf[n]||(Vf[n]=new WeakMap);var s=Vf[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=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Wf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),T0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Wf.has(m)||m.removeAttribute(r),Wf.delete(m)),b||m.removeAttribute(n)}),T0--,T0||(Ll=new WeakMap,Ll=new WeakMap,Wf=new WeakMap,Vf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(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]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&t1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),id=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=Fr("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(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Zu,{...n,children:r})})})})};id.displayName="Modal";var Op="right-scroll-bar-position",Rp="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),N0=function(){},Sm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:N0,onWheelCapture:N0,onTouchMoveCapture:N0}),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,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,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))});Sm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Sm.classNames={fullWidth:Rp,zeroRight:Op};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(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 Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},$0=function(e){return parseInt(e||"",10)||0},_z=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[$0(n),$0(r),$0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(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])}},jz=j6(),Iz=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(gz,` { - 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(Op,` { - right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(Rp,` { - margin-right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(Op," .").concat(Op,` { - right: 0 `).concat(r,`; - } - - .`).concat(Rp," .").concat(Rp,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(vz,": ").concat(c,`px; - } -`)},Ez=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Pz(o)},[o]);return f.createElement(jz,{styles:Iz(s,!t,o,n?"":"!important")})},n1=!1;if(typeof window<"u")try{var Uf=Object.defineProperty({},"passive",{get:function(){return n1=!0,!0}});window.addEventListener("test",Uf,Uf),window.removeEventListener("test",Uf,Uf)}catch{n1=!1}var zl=n1?{passive:!1}:!1,Oz=function(e){return e.tagName==="TEXTAREA"},I6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Oz(e)&&n[t]==="visible")},Rz=function(e){return I6(e,"overflowY")},Mz=function(e){return I6(e,"overflowX")},dS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=E6(e,r);if(o){var s=O6(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dz=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Az=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},E6=function(e,t){return e==="v"?Rz(t):Mz(t)},O6=function(e,t){return e==="v"?Dz(t):Az(t)},Tz=function(e,t){return e==="h"&&t==="rtl"?-1:1},Nz=function(e,t,n,r,o){var s=Tz(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=O6(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&E6(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},Gf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fS=function(e){return[e.deltaX,e.deltaY]},pS=function(e){return e&&"current"in e?e.current:e},$z=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lz=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},zz=0,Bl=[];function Bz(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(zz++)[0],s=f.useState(j6)[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=qv([e.lockRef.current],(e.shards||[]).map(pS),!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=Gf(y),_=n.current,P="deltaX"in y?y.deltaX:_[0]-k[0],I="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=dS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=dS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(P||I)&&(r.current=E),!E)return!0;var D=r.current||E;return Nz(D,S,y,D==="h"?P:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Bl.length||Bl[Bl.length-1]!==s)){var k="deltaY"in S?fS(S):Gf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&$z(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var P=(a.current.shards||[]).map(pS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=P.length>0?c(S,P[0]):!a.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var P={name:y,delta:S,target:k,should:_};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(y){n.current=Gf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,fS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Gf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Bl.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,zl),document.addEventListener("touchmove",d,zl),document.addEventListener("touchstart",h,zl),function(){Bl=Bl.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,zl),document.removeEventListener("touchmove",d,zl),document.removeEventListener("touchstart",h,zl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:Lz(o)}):null,b?f.createElement(Ez,{gapMode:e.gapMode}):null)}const Fz=LT(P6,Bz);var R6=f.forwardRef(function(e,t){return f.createElement(Sm,Qs({},e,{ref:t,sideCar:Fz}))});R6.classNames=Sm.classNames;const Hz=R6;function Wz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=ll(),[v,b]=LR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=k6(r,m);return i.jsx(J3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(Hz,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var ld=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=ll(),p=c(a,t),h=d(o),m=Ct("chakra-modal__content",n),v=Wc(),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}=ll();return i.jsx(Wz,{children:i.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(C6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});ld.displayName="ModalContent";function Td(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(id,{...n,initialFocusRef:t})}var Nd=Ae((e,t)=>i.jsx(ld,{ref:t,role:"alertdialog",...e})),Ma=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Wc().footer};return i.jsx(je.footer,{ref:t,...r,__css:a,className:o})});Ma.displayName="ModalFooter";var Da=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__header",n),d={flex:0,...Wc().header};return i.jsx(je.header,{ref:t,className:a,id:o,...r,__css:d})});Da.displayName="ModalHeader";var Vz=je(Er.div),Aa=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Wc().overlay},{motionPreset:p}=ll(),m=o||(p==="none"?{}:q5);return i.jsx(Vz,{...m,__css:d,ref:t,className:a,...s})});Aa.displayName="ModalOverlay";var Ta=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__body",n),c=Wc();return i.jsx(je.div,{ref:t,className:a,id:o,...r,__css:c.body})});Ta.displayName="ModalBody";var qb=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=ll(),a=Ct("chakra-modal__close-btn",r),c=Wc();return i.jsx(r9,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});qb.displayName="ModalCloseButton";var Uz=e=>i.jsx(fo,{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"})}),Gz=e=>i.jsx(fo,{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 hS(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 qz(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Kz=50,mS=300;function Xz(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);qz(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?Kz:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},mS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},mS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var Yz=/^[Ee0-9+\-.]$/;function Qz(e){return Yz.test(e)}function Jz(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 Zz(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":P,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:D,format:A,parse:L,...Q}=e,F=or(E),V=or(O),q=or(R),G=or(D??Qz),T=or(M),z=bT(e),{update:$,increment:Y,decrement:ae}=z,[fe,ie]=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(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=L==null?void 0:L(we))!=null?ht:we},[L]),le=f.useCallback(we=>{var ht;return((ht=A==null?void 0:A(we))!=null?ht:we).toString()},[A]);Fa(()=>{(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((we=a)=>{X&&Y(we)},[Y,X,a]),ke=f.useCallback((we=a)=>{X&&ae(we)},[ae,X,a]),xe=Xz(ge,ke);hS(se,"disabled",xe.stop,xe.isSpinning),hS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);$(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[$,oe,pe]),Te=f.useCallback(we=>{var ht,$t,Lt;F==null||F(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(Lt=U.current.end)!=null?Lt:we.currentTarget.selectionStart)},[F]),Ee=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;Jz(we,G)||we.preventDefault();const ht=$e(we)*a,$t=we.key,Le={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>$(o),End:()=>$(s)}[$t];Le&&(we.preventDefault(),Le(we))},[G,a,ge,ke,$,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=T==null?void 0:T(z.value);if(we!=null)return we;const ht=z.value.toString();return ht||void 0},[z.value,T]),ct=f.useCallback(()=>{let we=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(we=s),z.cast(we))},[z,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Yi(()=>K.current,"wheel",we=>{var ht,$t;const Le=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Le)return;we.preventDefault();const Ge=$e(we)*a,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ge):Pn===1&&ke(Ge)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||bt(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMax,r,bt,xe.stop,d]),Pt=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||Se(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,Lt,Le,Ge;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":P,"aria-describedby":_,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(Lt=we.readOnly)!=null?Lt:c,"aria-required":(Le=we.required)!=null?Le:p,required:(Ge=we.required)!=null?Ge:p,ref:cn(K,ht),value:le(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":rs(h??z.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:et(we.onChange,de),onKeyDown:et(we.onKeyDown,Ee),onFocus:et(we.onFocus,Te,()=>ie(!0)),onBlur:et(we.onBlur,V,on)}},[k,v,m,I,P,le,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,kt,de,Ee,Te,V,on]);return{value:le(z.value),valueAsNumber:z.valueAsNumber,isFocused:fe,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:Pt,getInputProps:Tt,htmlProps:Q}}var[eB,Cm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tB,Kb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),km=Ae(function(t,n){const r=Fr("NumberInput",t),o=qn(t),s=vb(o),{htmlProps:a,...c}=Zz(s),d=f.useMemo(()=>c,[c]);return i.jsx(tB,{value:d,children:i.jsx(eB,{value:r,children:i.jsx(je.div,{...a,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});km.displayName="NumberInput";var _m=Ae(function(t,n){const r=Cm();return i.jsx(je.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}})});_m.displayName="NumberInputStepper";var Pm=Ae(function(t,n){const{getInputProps:r}=Kb(),o=r(t,n),s=Cm();return i.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});Pm.displayName="NumberInputField";var M6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),jm=Ae(function(t,n){var r;const o=Cm(),{getDecrementButtonProps:s}=Kb(),a=s(t,n);return i.jsx(M6,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(Uz,{})})});jm.displayName="NumberDecrementStepper";var Im=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=Kb(),s=o(t,n),a=Cm();return i.jsx(M6,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(Gz,{})})});Im.displayName="NumberIncrementStepper";var[nB,$d]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[rB,Xb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Yb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=$d();return f.cloneElement(t,n(t.props,t.ref))}Yb.displayName="PopoverTrigger";var Fl={click:"click",hover:"hover"};function oB(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Fl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:P}=Vb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[D,A]=f.useState(!1),[L,Q]=f.useState(!1),F=f.useId(),V=o??F,[q,G,T,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:$,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:fe,forceUpdate:ie}=Wb({...y,enabled:S||!!w}),X=v6({isOpen:S,ref:O});d3({enabled:S,ref:E}),a6(O,{focusRef:E,visible:S,shouldFocus:s&&p===Fl.click}),d$(O,{focusRef:r,visible:S,shouldFocus:a&&p===Fl.click});const K=Ub({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Ee={...de,style:{...de.style,transformOrigin:Ir.transformOrigin.varRef,[Ir.arrowSize.var]:c?`${c}px`:void 0,[Ir.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&k()}),onBlur:et(de.onBlur,$e=>{const kt=gS($e),ct=L0(O.current,kt),on=L0(E.current,kt);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":D?T:void 0,"aria-describedby":L?z:void 0};return p===Fl.hover&&(Ee.role="tooltip",Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0}),Ee.onMouseLeave=et(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ee},[K,G,D,T,L,z,p,n,k,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,$)}),[I,$]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&$(de)},[$]),ge=f.useCallback((de={},Te=null)=>{const Ee={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Fl.click&&(Ee.onClick=et(de.onClick,P)),p===Fl.hover&&(Ee.onFocus=et(de.onFocus,()=>{oe.current===void 0&&_()}),Ee.onBlur=et(de.onBlur,$e=>{const kt=gS($e),ct=!L0(O.current,kt);S&&t&&ct&&k()}),Ee.onKeyDown=et(de.onKeyDown,$e=>{$e.key==="Escape"&&k()}),Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ee.onMouseLeave=et(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ee},[q,S,G,p,le,P,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:T,ref:cn(Te,Ee=>{A(!!Ee)})}),[T]),xe=f.useCallback((de={},Te=null)=>({...de,id:z,ref:cn(Te,Ee=>{Q(!!Ee)})}),[z]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:fe,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function L0(e,t){return e===t||(e==null?void 0:e.contains(t))}function gS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Qb(e){const t=Fr("Popover",e),{children:n,...r}=qn(e),o=Nc(),s=oB({...r,direction:o.direction});return i.jsx(nB,{value:s,children:i.jsx(rB,{value:t,children:Y1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Qb.displayName="Popover";var z0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function D6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=$d(),h=Xb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":z0("colors",c),"--popper-arrow-bg":z0("colors",m),"--popper-arrow-shadow":z0("shadows",v),...h.arrow}})})}D6.displayName="PopoverArrow";var A6=Ae(function(t,n){const{getBodyProps:r}=$d(),o=Xb();return i.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});A6.displayName="PopoverBody";function sB(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var aB={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]}}},iB=je(Er.section),T6=Ae(function(t,n){const{variants:r=aB,...o}=t,{isOpen:s}=$d();return i.jsx(iB,{ref:n,variants:sB(r),initial:!1,animate:s?"enter":"exit",...o})});T6.displayName="PopoverTransition";var Jb=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=$d(),p=Xb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(T6,{...o,...a(s,n),onAnimationComplete:um(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});Jb.displayName="PopoverContent";function lB(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 cB=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),uB=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function dB(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=lB(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[fB,pB]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),hB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=dB({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...pB().filledTrack};return i.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),N6=Ae((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=Fr("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),P={animation:`${uB} 1s linear infinite`},O={...!h&&a&&c&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${cB} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(je.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(fB,{value:k,children:[i.jsx(hB,{"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]})})});N6.displayName="Progress";function mB(e){return e&&jv(e)&&jv(e.target)}function gB(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=mB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),P=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=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:P,getRadioProps:I,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[vB,$6]=Dn({name:"RadioGroupContext",strict:!1}),oh=Ae((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}=gB(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(vB,{value:y,children:i.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",a),children:s})})});oh.displayName="RadioGroup";var bB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function yB(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=jd(),_=!!$6()||!!v;let I=!!S&&!_?S.id:y;I=m??I;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),[D,A]=f.useState(!1),[L,Q]=f.useState(!1),[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(!!t),$=typeof n<"u",Y=$?n:T;f.useEffect(()=>e3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}$||z(le.target.checked),c==null||c(le)},[$,E,O,c]),fe=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(F),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft(L),"data-focus-visible":Ft(L&&D),"data-readonly":Ft(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,F,E,M,Y,L,O,D]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,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,fe),onKeyUp:et(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":rs(M),"aria-disabled":rs(ke),"aria-required":rs(R),"data-readonly":Ft(O),"aria-describedby":b,style:bB}},[E,r,I,p,h,ae,U,K,fe,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:L,isChecked:Y,isActive:q,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,xB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function xB(e){e.preventDefault(),e.stopPropagation()}function wB(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 ya=Ae((e,t)=>{var n;const r=$6(),{onChange:o,value:s}=e,a=Fr("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=um(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:P,getRootProps:I,htmlProps:E}=yB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=wB(E,T_),M=_(R),D=k(v,t),A=P(),L=Object.assign({},O,I()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(je.label,{className:"chakra-radio",...L,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...D}),i.jsx(je.span,{className:"chakra-radio__control",...M,__css:F}),p&&i.jsx(je.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ya.displayName="Radio";var L6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(je.select,{...a,ref:n,className:Ct("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});L6.displayName="SelectField";function SB(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 z6=Ae((e,t)=>{var n;const r=Fr("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]=SB(w,T_),k=gb(S),_={width:"100%",height:"fit-content",position:"relative",color:c},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(je.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(L6,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:P,children:e.children}),i.jsx(B6,{"data-disabled":Ft(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});z6.displayName="Select";var CB=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"})}),kB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),B6=e=>{const{children:t=i.jsx(CB,{}),...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(kB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};B6.displayName="SelectIcon";function _B(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function PB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var jB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),r1=N_("skeleton-start-color"),o1=N_("skeleton-end-color"),IB=za({from:{opacity:0},to:{opacity:1}}),EB=za({from:{borderColor:r1.reference,background:r1.reference},to:{borderColor:o1.reference,background:o1.reference}}),Em=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=ia("Skeleton",n),o=_B(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=$c("colors",[s,a]),y=PB(c),S=Ct("chakra-skeleton",h),k={...b&&{[r1.variable]:b},...w&&{[o1.variable]:w}};if(c){const _=o||y?"none":`${IB} ${d}s`;return i.jsx(je.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(jB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${EB}`}})});Em.displayName="Skeleton";var Zo=e=>e?"":void 0,uc=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function dc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function OB(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 Du(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Mp={width:0,height:0},qf=e=>e||Mp;function F6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Mp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Du({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)=>qf(y).height>qf(S).height?y:S,Mp):r.reduce((y,S)=>qf(y).width>qf(S).width?y:S,Mp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Du({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",...Du({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,...Du({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 H6(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 MB(e){const t=AB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function W6(e){return!!e.touches}function DB(e){return W6(e)&&e.touches.length>1}function AB(e){var t;return(t=e.view)!=null?t:window}function TB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function NB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function V6(e,t="page"){return W6(e)?TB(e,t):NB(e,t)}function $B(e){return t=>{const n=MB(t);(!n||n&&t.button===0)&&e(t)}}function LB(e,t=!1){function n(o){e(o,{point:V6(o)})}return t?$B(n):n}function Dp(e,t,n,r){return RB(e,t,LB(n,t==="pointerdown"),r)}var zB=Object.defineProperty,BB=(e,t,n)=>t in e?zB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vs=(e,t,n)=>(BB(e,typeof t!="symbol"?t+"":t,n),n),FB=class{constructor(e,t,n){vs(this,"history",[]),vs(this,"startEvent",null),vs(this,"lastEvent",null),vs(this,"lastEventInfo",null),vs(this,"handlers",{}),vs(this,"removeListeners",()=>{}),vs(this,"threshold",3),vs(this,"win"),vs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=B0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=UB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=Rw();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)}),vs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,aA.update(this.updatePoint,!0)}),vs(this,"onPointerUp",(c,d)=>{const p=B0(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,DB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:V6(e)},{timestamp:s}=Rw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,B0(o,this.history)),this.removeListeners=VB(Dp(this.win,"pointermove",this.onPointerMove),Dp(this.win,"pointerup",this.onPointerUp),Dp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),iA.update(this.updatePoint)}};function vS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function B0(e,t){return{point:e.point,delta:vS(e.point,t[t.length-1]),offset:vS(e.point,t[0]),velocity:WB(t,.1)}}var HB=e=>e*1e3;function WB(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 VB(...e){return t=>e.reduce((n,r)=>r(n),t)}function F0(e,t){return Math.abs(e-t)}function bS(e){return"x"in e&&"y"in e}function UB(e,t){if(typeof e=="number"&&typeof t=="number")return F0(e,t);if(bS(e)&&bS(t)){const n=F0(e.x,t.x),r=F0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function U6(e){const t=f.useRef(null);return t.current=e,t}function G6(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=U6({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 FB(b,h.current,c)}return Dp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function GB(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 qB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function KB(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 q6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return qB(()=>{const a=e(),c=a.map((d,p)=>GB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(KB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function XB(e){return typeof e=="object"&&e!==null&&"current"in e}function YB(e){const[t]=q6({observeMutation:!1,getNodes(){return[XB(e)?e.current:e]}});return t}function QB(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:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),D=or(y),A=H6({isReversed:a,direction:c,orientation:d}),[L,Q]=zc({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(L))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof L}\``);const[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(-1),$=!(h||m),Y=f.useRef(L),ae=L.map(Pe=>ac(Pe,t,n)),fe=E*w,ie=JB(ae,t,n,fe),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Qp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=q6({getNodes(){const Pe=pe.current,Ye=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Ye?Array.from(Ye):[]}}),ge=f.useId(),xe=OB(p??ge),de=f.useCallback(Pe=>{var Ye,Ke;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:zt,clientY:cr}=(Ke=(Ye=Pe.touches)==null?void 0:Ye[0])!=null?Ke:Pe,pn=re?dt.bottom-cr:zt-dt.left,ln=re?dt.height:dt.width;let Hr=pn/ln;return A&&(Hr=1-Hr),r3(Hr,t,n)},[re,A,n,t]),Te=(n-t)/10,Ee=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Ye){if(!$)return;const Ke=X.current.valueBounds[Pe];Ye=parseFloat(Uv(Ye,Ke.min,Ee)),Ye=ac(Ye,Ke.min,Ke.max);const dt=[...X.current.value];dt[Pe]=Ye,Q(dt)},setActiveIndex:z,stepUp(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke-Ye:Ke+Ye;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke+Ye:Ke-Ye;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ee,A,Q,$]),kt=f.useCallback(Pe=>{const Ye=Pe.key,dt={ArrowRight:()=>$e.stepUp(T),ArrowUp:()=>$e.stepUp(T),ArrowLeft:()=>$e.stepDown(T),ArrowDown:()=>$e.stepDown(T),PageUp:()=>$e.stepUp(T,Te),PageDown:()=>$e.stepDown(T,Te),Home:()=>{const{min:zt}=ie[T];$e.setValueAtIndex(T,zt)},End:()=>{const{max:zt}=ie[T];$e.setValueAtIndex(T,zt)}}[Ye];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,T,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>F6({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),Se=f.useCallback(Pe=>{var Ye;const Ke=Pe??T;if(Ke!==-1&&I){const dt=xe.getThumb(Ke),zt=(Ye=pe.current)==null?void 0:Ye.ownerDocument.getElementById(dt);zt&&setTimeout(()=>zt.focus())}},[I,T,xe]);Fa(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Ye=de(Pe)||0,Ke=X.current.value.map(ln=>Math.abs(ln-Ye)),dt=Math.min(...Ke);let zt=Ke.indexOf(dt);const cr=Ke.filter(ln=>ln===dt);cr.length>1&&Ye>X.current.value[zt]&&(zt=zt+cr.length-1),z(zt),$e.setValueAtIndex(zt,Ye),Se(zt)},Pt=Pe=>{if(T==-1)return;const Ye=de(Pe)||0;z(T),$e.setValueAtIndex(T,Ye),Se(T)};G6(pe,{onPanSessionStart(Pe){$&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){$&&(V(!1),M==null||M(X.current.value))},onPan(Pe){$&&Pt(Pe)}});const Tt=f.useCallback((Pe={},Ye=null)=>({...Pe,...O,id:xe.root,ref:cn(Ye,pe),tabIndex:-1,"aria-disabled":uc(h),"data-focused":Zo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:cn(Ye,oe),id:xe.track,"data-disabled":Zo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Ye=null)=>{var Ke;const{index:dt,...zt}=Pe,cr=ae[dt];if(cr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...zt,ref:Ye,role:"slider",tabIndex:$?0:void 0,id:xe.getThumb(dt),"data-active":Zo(F&&T===dt),"aria-valuetext":(Ke=D==null?void 0:D(cr))!=null?Ke:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":cr,"aria-orientation":d,"aria-disabled":uc(h),"aria-readonly":uc(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:dc(Pe.onKeyDown,kt),onFocus:dc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:dc(Pe.onBlur,()=>{G(!1),z(-1)})}},[xe,ae,ie,$,F,T,D,S,d,h,m,k,_,ct,kt,G]),Lt=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.output,htmlFor:ae.map((Ke,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),Le=f.useCallback((Pe,Ye=null)=>{const{value:Ke,...dt}=Pe,zt=!(Ken),cr=Ke>=ae[0]&&Ke<=ae[ae.length-1];let pn=Qp(Ke,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Du({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Ye,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Zo(h),"data-invalid":Zo(!zt),"data-highlighted":Zo(cr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,xe]),Ge=f.useCallback((Pe,Ye=null)=>{const{index:Ke,...dt}=Pe;return{...dt,ref:Ye,id:xe.getInput(Ke),type:"hidden",value:ae[Ke],name:Array.isArray(P)?P[Ke]:`${P}-${Ke}`}},[P,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:F,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Le,getInputProps:Ge,getOutputProps:Lt}}function JB(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[ZB,Om]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[eF,Rm]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),K6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getRootProps:c,...d}=QB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(ZB,{value:p,children:i.jsx(eF,{value:o,children:i.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});K6.displayName="RangeSlider";var s1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=Om(),a=Rm(),c=r(t,n);return i.jsxs(je.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});s1.displayName="RangeSliderThumb";var X6=Ae(function(t,n){const{getTrackProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});X6.displayName="RangeSliderTrack";var Y6=Ae(function(t,n){const{getInnerTrackProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});Y6.displayName="RangeSliderFilledTrack";var Ap=Ae(function(t,n){const{getMarkerProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});Ap.displayName="RangeSliderMark";function tF(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":P,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),D=or(S),A=H6({isReversed:c,direction:d,orientation:p}),[L,Q]=zc({value:s,defaultValue:a??rF(n,r),onChange:o}),[F,V]=f.useState(!1),[q,G]=f.useState(!1),T=!(m||v),z=(r-n)/10,$=y||(r-n)/100,Y=ac(L,n,r),ae=r-Y+n,ie=Qp(A?ae:Y,n,r),X=p==="vertical",K=U6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:T,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}`],ke=f.useCallback(Le=>{var Ge,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Ye=U.current.getBoundingClientRect(),{clientX:Ke,clientY:dt}=(Pn=(Ge=Le.touches)==null?void 0:Ge[0])!=null?Pn:Le,zt=X?Ye.bottom-dt:Ke-Ye.left,cr=X?Ye.height:Ye.width;let pn=zt/cr;A&&(pn=1-pn);let ln=r3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Uv(ln,Pe.min,Pe.step))),ln=ac(ln,Pe.min,Pe.max),ln},[X,A,K]),xe=f.useCallback(Le=>{const Ge=K.current;Ge.isInteractive&&(Le=parseFloat(Uv(Le,Ge.min,$)),Le=ac(Le,Ge.min,Ge.max),Q(Le))},[$,Q,K]),de=f.useMemo(()=>({stepUp(Le=$){const Ge=A?Y-Le:Y+Le;xe(Ge)},stepDown(Le=$){const Ge=A?Y+Le:Y-Le;xe(Ge)},reset(){xe(a||0)},stepTo(Le){xe(Le)}}),[xe,A,Y,$,a]),Te=f.useCallback(Le=>{const Ge=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(z),PageDown:()=>de.stepDown(z),Home:()=>xe(Ge.min),End:()=>xe(Ge.max)}[Le.key];Pe&&(Le.preventDefault(),Le.stopPropagation(),Pe(Le),Ge.eventSource="keyboard")},[de,xe,z,K]),Ee=(t=D==null?void 0:D(Y))!=null?t:k,$e=YB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Le=K.current,Ge=$e??{width:0,height:0};return F6({isReversed:A,orientation:Le.orientation,thumbRects:[Ge],thumbPercents:[ie]})},[A,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ge;return(Ge=se.current)==null?void 0:Ge.focus()})},[K]);Fa(()=>{const Le=K.current;bt(),Le.eventSource==="keyboard"&&(M==null||M(Le.value))},[Y,M]);function Se(Le){const Ge=ke(Le);Ge!=null&&Ge!==K.current.value&&Q(Ge)}G6(re,{onPanSessionStart(Le){const Ge=K.current;Ge.isInteractive&&(V(!0),bt(),Se(Le),R==null||R(Ge.value))},onPanSessionEnd(){const Le=K.current;Le.isInteractive&&(V(!1),M==null||M(Le.value))},onPan(Le){K.current.isInteractive&&Se(Le)}});const Me=f.useCallback((Le={},Ge=null)=>({...Le,...O,ref:cn(Ge,re),tabIndex:-1,"aria-disabled":uc(m),"data-focused":Zo(q),style:{...Le.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,U),id:ge,"data-disabled":Zo(m),style:{...Le.style,...on}}),[m,ge,on]),Tt=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,style:{...Le.style,...vt}}),[vt]),we=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,se),role:"slider",tabIndex:T?0:void 0,id:le,"data-active":Zo(F),"aria-valuetext":Ee,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":uc(m),"aria-readonly":uc(v),"aria-label":_,"aria-labelledby":_?void 0:P,style:{...Le.style,...kt(0)},onKeyDown:dc(Le.onKeyDown,Te),onFocus:dc(Le.onFocus,()=>G(!0)),onBlur:dc(Le.onBlur,()=>G(!1))}),[T,le,F,Ee,n,r,Y,p,m,v,_,P,kt,Te]),ht=f.useCallback((Le,Ge=null)=>{const Pn=!(Le.valuer),Pe=Y>=Le.value,Ye=Qp(Le.value,n,r),Ke={position:"absolute",pointerEvents:"none",...nF({orientation:p,vertical:{bottom:A?`${100-Ye}%`:`${Ye}%`},horizontal:{left:A?`${100-Ye}%`:`${Ye}%`}})};return{...Le,ref:Ge,role:"presentation","aria-hidden":!0,"data-disabled":Zo(m),"data-invalid":Zo(!Pn),"data-highlighted":Zo(Pe),style:{...Le.style,...Ke}}},[m,A,r,n,p,Y]),$t=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:F},actions:de,getRootProps:Me,getTrackProps:Pt,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function nF(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function rF(e,t){return t"}),[sF,Dm]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),Q6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=tF(s),h=d(),m=c({},t);return i.jsx(oF,{value:p,children:i.jsx(sF,{value:o,children:i.jsxs(je.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});Q6.displayName="Slider";var J6=Ae((e,t)=>{const{getThumbProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});J6.displayName="SliderThumb";var Z6=Ae((e,t)=>{const{getTrackProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});Z6.displayName="SliderTrack";var eP=Ae((e,t)=>{const{getInnerTrackProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});eP.displayName="SliderFilledTrack";var ql=Ae((e,t)=>{const{getMarkerProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});ql.displayName="SliderMark";var Zb=Ae(function(t,n){const r=Fr("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=t3(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(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&i.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Zb.displayName="Switch";var[aF,iF,lF,cF]=pb();function uF(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]=zc({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=lF(),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[dF,Am]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fF(e){const{focusedIndex:t,orientation:n,direction:r}=Am(),o=iF(),s=f.useCallback(a=>{const c=()=>{var _;const P=o.nextEnabled(t);P&&((_=P.node)==null||_.focus())},d=()=>{var _;const P=o.prevEnabled(t);P&&((_=P.node)==null||_.focus())},p=()=>{var _;const P=o.firstEnabled();P&&((_=P.node)==null||_.focus())},h=()=>{var _;const P=o.lastEnabled();P&&((_=P.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 pF(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=Am(),{index:p,register:h}=cF({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=s6({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:tP(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":nP(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[hF,mF]=Dn({});function gF(e){const t=Am(),{id:n,selectedIndex:r}=t,s=Pd(e.children).map((a,c)=>f.createElement(hF,{key:c,value:{isSelected:c===r,id:nP(n,c),tabId:tP(n,c),selectedIndex:r}},a));return{...e,children:s}}function vF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=Am(),{isSelected:s,id:a,tabId:c}=mF(),d=f.useRef(!1);s&&(d.current=!0);const p=Ub({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 tP(e,t){return`${e}--tab-${t}`}function nP(e,t){return`${e}--tabpanel-${t}`}var[bF,Tm]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ld=Ae(function(t,n){const r=Fr("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=uF(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(aF,{value:d,children:i.jsx(dF,{value:h,children:i.jsx(bF,{value:r,children:i.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ld.displayName="Tabs";var zd=Ae(function(t,n){const r=fF({...t,ref:n}),s={display:"flex",...Tm().tablist};return i.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});zd.displayName="TabList";var Nm=Ae(function(t,n){const r=vF({...t,ref:n}),o=Tm();return i.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Nm.displayName="TabPanel";var $m=Ae(function(t,n){const r=gF(t),o=Tm();return i.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});$m.displayName="TabPanels";var kc=Ae(function(t,n){const r=Tm(),o=pF({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});kc.displayName="Tab";function yF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xF=["h","minH","height","minHeight"],ey=Ae((e,t)=>{const n=ia("Textarea",e),{className:r,rows:o,...s}=qn(e),a=gb(s),c=o?yF(n,xF):n;return i.jsx(je.textarea,{ref:t,rows:o,...a,className:Ct("chakra-textarea",r),__css:c})});ey.displayName="Textarea";var wF={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]}}}},a1=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},Tp=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function SF(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:P,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:D}=Vb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:L,getArrowInnerProps:Q,getArrowProps:F}=Wb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:P,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,T=f.useRef(null),z=f.useRef(),$=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),fe=f.useCallback(()=>{ae(),D()},[D,ae]),ie=CF(T,fe),X=f.useCallback(()=>{if(!_&&!z.current){R&&ie();const ge=Tp(T);z.current=ge.setTimeout(M,t)}},[ie,_,R,M,t]),K=f.useCallback(()=>{$();const ge=Tp(T);Y.current=ge.setTimeout(fe,n)},[n,fe,$]),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(()=>a1(T),"keydown",c?re:void 0),Yi(()=>{const ge=T.current;if(!ge)return null;const ke=q3(ge);return ke.localName==="body"?Tp(T):ke},"scroll",()=>{R&&s&&fe()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&($(),R&&D())},[_,R,D,$]),f.useEffect(()=>()=>{$(),ae()},[$,ae]),Yi(()=>T.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(T,ke,A),onPointerEnter:et(ge.onPointerEnter,de=>{de.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={},ke=null)=>L({...ge,style:{...ge.style,[Ir.arrowSize.var]:w?`${w}px`:void 0,[Ir.arrowShadowColor.var]:y}},ke),[L,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:Ir.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:F,getArrowInnerProps:Q}}var H0="chakra-ui:close-tooltip";function CF(e,t){return f.useEffect(()=>{const n=a1(e);return n.addEventListener(H0,t),()=>n.removeEventListener(H0,t)},[t,e]),()=>{const n=a1(e),r=Tp(e);n.dispatchEvent(new r.CustomEvent(H0))}}function kF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _F(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var PF=je(Er.div),vn=Ae((e,t)=>{var n,r;const o=ia("Tooltip",e),s=qn(e),a=Nc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,P=(r=(n=w??y)!=null?n:v)!=null?r:S;if(P){o.bg=P;const L=zR(a,"colors",P);o[Ir.arrowBg.var]=L}const I=SF({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const L=f.Children.only(c);O=f.cloneElement(L,I.getTriggerProps(L.props,L.ref))}const R=!!h,M=I.getTooltipProps({},t),D=R?kF(M,["role","id"]):M,A=_F(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(mo,{children:I.isOpen&&i.jsx(Zu,{...b,children:i.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(PF,{variants:wF,initial:"exit",animate:"enter",exit:"exit",...k,...D,__css:o,children:[d,R&&i.jsx(je.span,{srOnly:!0,...A,children:h}),m&&i.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});vn.displayName="Tooltip";function jF(e,t={}){let n=f.useCallback(o=>t.keys?M9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,IF=e=>e.system.toastQueue,rP=be(vo,e=>e.language,Je),kr=be(e=>e,e=>e.system.isProcessing||!e.system.isConnected),EF=be(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),OF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=B(EF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${BR[e]}`)):localStorage.setItem("ROARR_LOG","false"),G2.ROARR.write=FR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...HR};q2.set(G2.Roarr.child(r))},[]),jF(q2)},RF=()=>{const e=te(),t=B(IF),n=uA();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(WR())},[e,n,t]),null},Vc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var MF=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 Bd(e,t){var n=DF(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 DF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=MF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var AF=[".DS_Store","Thumbs.db"];function TF(e){return Bc(this,void 0,void 0,function(){return Fc(this,function(t){return sh(e)&&NF(e.dataTransfer)?[2,BF(e.dataTransfer,e.type)]:$F(e)?[2,LF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,zF(e)]:[2,[]]})})}function NF(e){return sh(e)}function $F(e){return sh(e)&&sh(e.target)}function sh(e){return typeof e=="object"&&e!==null}function LF(e){return i1(e.target.files).map(function(t){return Bd(t)})}function zF(e){return Bc(this,void 0,void 0,function(){var t;return Fc(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 Bd(r)})]}})})}function BF(e,t){return Bc(this,void 0,void 0,function(){var n,r;return Fc(this,function(o){switch(o.label){case 0:return e.items?(n=i1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(FF))]):[3,2];case 1:return r=o.sent(),[2,yS(oP(r))];case 2:return[2,yS(i1(e.files).map(function(s){return Bd(s)}))]}})})}function yS(e){return e.filter(function(t){return AF.indexOf(t.name)===-1})}function i1(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,kS(n)];if(e.sizen)return[!1,kS(n)]}return[!0,null]}function Vi(e){return e!=null}function rH(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=lP(d,n),h=cd(p,1),m=h[0],v=cP(d,r,o),b=cd(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function ah(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Kf(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 oH(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function sH(e){return e.indexOf("Edge/")!==-1}function aH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oH(e)||sH(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 CH(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 ty=f.forwardRef(function(e,t){var n=e.children,r=ih(e,fH),o=ny(r),s=o.open,a=ih(o,pH);return f.useImperativeHandle(t,function(){return{open:s}},[s]),H.createElement(f.Fragment,null,n(fr(fr({},a),{},{open:s})))});ty.displayName="Dropzone";var pP={disabled:!1,getFilesFromEvent:TF,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};ty.defaultProps=pP;ty.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 d1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ny(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=fr(fr({},pP),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,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,D=t.validator,A=f.useMemo(function(){return cH(n)},[n]),L=f.useMemo(function(){return lH(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:IS},[S]),F=f.useMemo(function(){return typeof y=="function"?y:IS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(kH,d1),T=W0(G,2),z=T[0],$=T[1],Y=z.isFocused,ae=z.isFileDialogActive,fe=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&iH()),ie=function(){!fe.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||($({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,F,fe]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",PS,!1),document.addEventListener("drop",K,!1)),function(){P&&(document.removeEventListener("dragover",PS),document.removeEventListener("drop",K))}},[V,P]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(gH(X.current),[Se.target]),Kf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(ah(Se)&&!R)){var Pt=Me.length,Tt=Pt>0&&rH({files:Me,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:D}),we=Pt>0&&!Tt;$({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,A,a,s,c,d,D]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=Kf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),Pt=Me.indexOf(Se.target);Pt!==-1&&Me.splice(Pt,1),X.current=Me,!(Me.length>0)&&($({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Kf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var Pt=[],Tt=[];Se.forEach(function(we){var ht=lP(we,A),$t=W0(ht,2),Lt=$t[0],Le=$t[1],Ge=cP(we,a,s),Pn=W0(Ge,2),Pe=Pn[0],Ye=Pn[1],Ke=D?D(we):null;if(Lt&&Pe&&!Ke)Pt.push(we);else{var dt=[Le,Ye];Ke&&(dt=dt.concat(Ke)),Tt.push({file:we,errors:dt.filter(function(zt){return zt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(we){Tt.push({file:we,errors:[nH]})}),Pt.splice(0)),$({acceptedFiles:Pt,fileRejections:Tt,type:"setFiles"}),v&&v(Pt,Tt,Me),Tt.length>0&&w&&w(Tt,Me),Pt.length>0&&b&&b(Pt,Me)},[$,c,A,a,s,d,v,b,w,D]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],Kf(Se)&&Promise.resolve(o(Se)).then(function(Me){ah(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),$({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(fe.current){$({type:"openDialog"}),Q();var Se={multiple:c,types:L};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),$({type:"closeDialog"})}).catch(function(Me){uH(Me)?(F(Me),$({type:"closeDialog"})):dH(Me)?(fe.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(Me)});return}q.current&&($({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[$,Q,F,k,pe,U,L,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){$({type:"focus"})},[]),de=f.useCallback(function(){$({type:"blur"})},[]),Te=f.useCallback(function(){I||(aH()?setTimeout(ge,0):ge())},[I,ge]),Ee=function(Me){return r?null:Me},$e=function(Me){return E?null:Ee(Me)},kt=function(Me){return O?null:Ee(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,Lt=Se.onClick,Le=Se.onDragEnter,Ge=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Ye=ih(Se,hH);return fr(fr(u1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Ee(Gs(Lt,Te)),onDragEnter:kt(Gs(Le,se)),onDragOver:kt(Gs(Ge,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Ye)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=ih(Se,mH),$t=u1({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ee(Gs(Tt,le)),onClick:Ee(Gs(we,vt)),tabIndex:-1},Pt,q);return fr(fr({},$t),ht)}},[q,n,c,le,r]);return fr(fr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ee(ge)})}function kH(e,t){switch(t.type){case"focus":return fr(fr({},e),{},{isFocused:!0});case"blur":return fr(fr({},e),{},{isFocused:!1});case"openDialog":return fr(fr({},d1),{},{isFileDialogActive:!0});case"closeDialog":return fr(fr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return fr(fr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return fr(fr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return fr({},d1);default:return e}}function IS(){}function f1(){return f1=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=ci(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?mP(p):!p},MH=f.createContext(void 0),DH=function(){return f.useContext(MH)};function yP(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&&yP(e[r],t[r])},!0):e===t}var AH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),TH=function(){return f.useContext(AH)};function NH(e){var t=f.useRef(void 0);return yP(t.current,e)||(t.current=e),t.current}var ES=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},$H=typeof window<"u"?f.useLayoutEffect:f.useEffect;function tt(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=NH(a),v=TH(),b=v.enabledScopes,w=DH();return $H(function(){if(!((m==null?void 0:m.enabled)===!1||!OH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(EH(I)&&!bP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){ES(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||V0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,D=U0(R,m==null?void 0:m.combinationKey);if(RH(I,D,m==null?void 0:m.ignoreModifiers)||(M=D.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(jH(I,D,m==null?void 0:m.preventDefault),!IH(I,D,m==null?void 0:m.enabled)){ES(I);return}h.current(I,D),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(gP(ci(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},k=function(I){I.key!==void 0&&(vP(ci(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&V0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.addHotkey(U0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&V0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.removeHotkey(U0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const LH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return tt("esc",()=>{r(!1)}),i.jsxs(Re,{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(Ys,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Ys,{size:"lg",children:"Invalid Upload"}),i.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},zH=be([lt,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}},Je),BH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=B(zH),o=B(kr),s=Vc(),{t:a}=ye(),[c,d]=f.useState(!1),[p]=$_(),h=f.useCallback(P=>{d(!0),s({title:a("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` -`),status:"error"})},[a,s]),m=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n==="none"?void 0:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=ny({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;_.current&&(E=I.clipboardData)!=null&&E.files&&(_.current.files=I.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[_]),i.jsxs(Re,{...b({style:{}}),onKeyDown:P=>{P.key},children:[i.jsx("input",{...w()}),t,i.jsx(mo,{children:k&&c&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(LH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},FH=f.memo(BH),HH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(vn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(yc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Yt=f.memo(HH);function WH(e){const t=f.createContext(null);return[({children:o,value:s})=>H.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function xP(e){return Array.isArray(e)?e:[e]}const VH=()=>{};function UH(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||VH:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function wP({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 SP(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==H.Fragment:!1}function CP(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 KH=VR({key:"mantine",prepend:!0});function XH(){return $5()||KH}var YH=Object.defineProperty,OS=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,JH=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?YH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZH=(e,t)=>{for(var n in t||(t={}))QH.call(t,n)&&RS(e,n,t[n]);if(OS)for(var n of OS(t))JH.call(t,n)&&RS(e,n,t[n]);return e};const G0="ref";function eW(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(!(G0 in n))return{args:e,ref:t};t=n[G0];const r=ZH({},n);return delete r[G0],{args:[r],ref:t}}const{cssFactory:tW}=(()=>{function e(n,r,o){const s=[],a=qR(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}=eW(a),p=UR(d,r.registered);return GR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,kP(a))}}return{cssFactory:t}})();function _P(){const e=XH();return qH(()=>tW({cache:e}),[e])}function nW({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 rW=Object.defineProperty,MS=Object.getOwnPropertySymbols,oW=Object.prototype.hasOwnProperty,sW=Object.prototype.propertyIsEnumerable,DS=(e,t,n)=>t in e?rW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,q0=(e,t)=>{for(var n in t||(t={}))oW.call(t,n)&&DS(e,n,t[n]);if(MS)for(var n of MS(t))sW.call(t,n)&&DS(e,n,t[n]);return e};function p1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=q0(q0({},e[n]),t[n]):e[n]=q0({},t[n])}),e}function AS(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)=>p1(s,a),{}):o(e)}function aW({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&p1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&p1(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=Ha(),a=o9(o==null?void 0:o.name),c=$5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=_P(),m=t(s,r,d),v=AS(o==null?void 0:o.styles,s,r,d),b=AS(a,s,r,d),w=aW({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:nW({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 TS(e){return`___ref-${e||""}`}var iW=Object.defineProperty,lW=Object.defineProperties,cW=Object.getOwnPropertyDescriptors,NS=Object.getOwnPropertySymbols,uW=Object.prototype.hasOwnProperty,dW=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?iW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))uW.call(t,n)&&$S(e,n,t[n]);if(NS)for(var n of NS(t))dW.call(t,n)&&$S(e,n,t[n]);return e},bu=(e,t)=>lW(e,cW(t));const yu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Xf={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:bu(vu({},yu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":bu(vu({},yu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":bu(vu({},yu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":bu(vu({},yu),{common:{transformOrigin:"top left"}}),"pop-top-right":bu(vu({},yu),{common:{transformOrigin:"top right"}})},LS=["mousedown","touchstart"];function fW(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||LS).forEach(s=>document.addEventListener(s,o)),()=>{(t||LS).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function pW(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function hW(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function mW(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:hW(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),pW(s.current,a=>o(a.matches))},[e]),r}const PP=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ks(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function gW({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 ks(()=>{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 vW=/input|select|textarea|button|object/,jP="a, input, select, textarea, button, object, [tabindex]";function bW(e){return e.style.display==="none"}function yW(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(bW(n))return!1;n=n.parentNode}return!0}function IP(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function h1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(IP(e));return(vW.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&yW(e)}function EP(e){const t=IP(e);return(Number.isNaN(t)||t>=0)&&h1(e)}function xW(e){return Array.from(e.querySelectorAll(jP)).filter(EP)}function wW(e,t){const n=xW(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 oy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function SW(e,t="body > :not(script)"){const n=oy(),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 CW(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(jP));a=c.find(EP)||c.find(h1)||null,!a&&h1(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=SW(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&&wW(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const kW=H["useId".toString()]||(()=>{});function _W(){const e=kW();return e?`mantine-${e.replace(/:/g,"")}`:""}function sy(e){const t=_W(),[n,r]=f.useState(t);return PP(()=>{r(oy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function zS(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function OP(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function PW(...e){return t=>{e.forEach(n=>OP(n,t))}}function Fd(...e){return f.useCallback(PW(...e),e)}function ud({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 RP(e,t){return mW("(prefers-reduced-motion: reduce)",e,t)}const jW=e=>e<.5?2*e*e:-1+(4-2*e)*e,IW=({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},EW=({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]},OW=({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 MP({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=jW,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=RP(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=EW({parent:h.current,axis:t}))!=null?k:0,P=IW({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+P*r(R);OW({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return zS("wheel",y,{passive:!0}),zS("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var BS=Object.getOwnPropertySymbols,RW=Object.prototype.hasOwnProperty,MW=Object.prototype.propertyIsEnumerable,DW=(e,t)=>{var n={};for(var r in e)RW.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&&MW.call(e,r)&&(n[r]=e[r]);return n};function Lm(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:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=DW(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:s9({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:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function AW(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Pw(Vt({size:r,sizes:t.breakpoints}))-Pw(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function TW({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return AW(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 NW(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 $W(e){return Ue(e)}function LW(e){return e}function zW(e,t){return Vt({size:e,sizes:t.fontSizes})}const BW=["-xs","-sm","-md","-lg","-xl"];function FW(e,t){return BW.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const HW={identity:LW,color:NW,size:$W,fontSize:zW,spacing:FW},WW={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 VW=Object.defineProperty,FS=Object.getOwnPropertySymbols,UW=Object.prototype.hasOwnProperty,GW=Object.prototype.propertyIsEnumerable,HS=(e,t,n)=>t in e?VW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WS=(e,t)=>{for(var n in t||(t={}))UW.call(t,n)&&HS(e,n,t[n]);if(FS)for(var n of FS(t))GW.call(t,n)&&HS(e,n,t[n]);return e};function VS(e,t,n=WW){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(TW({value:e[s],getValue:HW[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]=WS(WS({},o[a]),s[a]):o[a]=s[a]}),o),{})}function US(e,t){return typeof e=="function"?e(t):e}function qW(e,t,n){const r=Ha(),{css:o,cx:s}=_P();return Array.isArray(e)?s(n,o(VS(t,r)),e.map(a=>o(US(a,r)))):s(n,o(US(e,r)),o(VS(t,r)))}var KW=Object.defineProperty,lh=Object.getOwnPropertySymbols,DP=Object.prototype.hasOwnProperty,AP=Object.prototype.propertyIsEnumerable,GS=(e,t,n)=>t in e?KW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XW=(e,t)=>{for(var n in t||(t={}))DP.call(t,n)&&GS(e,n,t[n]);if(lh)for(var n of lh(t))AP.call(t,n)&&GS(e,n,t[n]);return e},YW=(e,t)=>{var n={};for(var r in e)DP.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&&AP.call(e,r)&&(n[r]=e[r]);return n};const TP=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=YW(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Lm(c),h=o||"div";return H.createElement(h,XW({ref:t,className:qW(a,d,r),style:s},p))});TP.displayName="@mantine/core/Box";const Io=TP;var QW=Object.defineProperty,JW=Object.defineProperties,ZW=Object.getOwnPropertyDescriptors,qS=Object.getOwnPropertySymbols,eV=Object.prototype.hasOwnProperty,tV=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?QW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XS=(e,t)=>{for(var n in t||(t={}))eV.call(t,n)&&KS(e,n,t[n]);if(qS)for(var n of qS(t))tV.call(t,n)&&KS(e,n,t[n]);return e},nV=(e,t)=>JW(e,ZW(t)),rV=so(e=>({root:nV(XS(XS({},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 oV=rV;var sV=Object.defineProperty,ch=Object.getOwnPropertySymbols,NP=Object.prototype.hasOwnProperty,$P=Object.prototype.propertyIsEnumerable,YS=(e,t,n)=>t in e?sV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aV=(e,t)=>{for(var n in t||(t={}))NP.call(t,n)&&YS(e,n,t[n]);if(ch)for(var n of ch(t))$P.call(t,n)&&YS(e,n,t[n]);return e},iV=(e,t)=>{var n={};for(var r in e)NP.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&&$P.call(e,r)&&(n[r]=e[r]);return n};const LP=f.forwardRef((e,t)=>{const n=Cr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=iV(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=oV(null,{name:"UnstyledButton",unstyled:s,variant:a});return H.createElement(Io,aV({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});LP.displayName="@mantine/core/UnstyledButton";const lV=LP;var cV=Object.defineProperty,uV=Object.defineProperties,dV=Object.getOwnPropertyDescriptors,QS=Object.getOwnPropertySymbols,fV=Object.prototype.hasOwnProperty,pV=Object.prototype.propertyIsEnumerable,JS=(e,t,n)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m1=(e,t)=>{for(var n in t||(t={}))fV.call(t,n)&&JS(e,n,t[n]);if(QS)for(var n of QS(t))pV.call(t,n)&&JS(e,n,t[n]);return e},ZS=(e,t)=>uV(e,dV(t));const hV=["subtle","filled","outline","light","default","transparent","gradient"],Yf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function mV({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%"})}:hV.includes(e)?m1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var gV=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:ZS(m1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:Yf}),minHeight:Vt({size:s,sizes:Yf}),width:Vt({size:s,sizes:Yf}),minWidth:Vt({size:s,sizes:Yf})},mV({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":ZS(m1({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 vV=gV;var bV=Object.defineProperty,uh=Object.getOwnPropertySymbols,zP=Object.prototype.hasOwnProperty,BP=Object.prototype.propertyIsEnumerable,eC=(e,t,n)=>t in e?bV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tC=(e,t)=>{for(var n in t||(t={}))zP.call(t,n)&&eC(e,n,t[n]);if(uh)for(var n of uh(t))BP.call(t,n)&&eC(e,n,t[n]);return e},nC=(e,t)=>{var n={};for(var r in e)zP.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&&BP.call(e,r)&&(n[r]=e[r]);return n};function yV(e){var t=e,{size:n,color:r}=t,o=nC(t,["size","color"]);const s=o,{style:a}=s,c=nC(s,["style"]);return H.createElement("svg",tC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:tC({width:n},a)},c),H.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},H.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"}),H.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"})),H.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},H.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"}),H.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"})),H.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},H.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"}),H.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"})),H.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},H.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"}),H.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 xV=Object.defineProperty,dh=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?xV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oC=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&rC(e,n,t[n]);if(dh)for(var n of dh(t))HP.call(t,n)&&rC(e,n,t[n]);return e},sC=(e,t)=>{var n={};for(var r in e)FP.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&&HP.call(e,r)&&(n[r]=e[r]);return n};function wV(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 H.createElement("svg",oC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:oC({width:n,height:n},a)},c),H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},H.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),H.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},H.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var SV=Object.defineProperty,fh=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,aC=(e,t,n)=>t in e?SV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iC=(e,t)=>{for(var n in t||(t={}))WP.call(t,n)&&aC(e,n,t[n]);if(fh)for(var n of fh(t))VP.call(t,n)&&aC(e,n,t[n]);return e},lC=(e,t)=>{var n={};for(var r in e)WP.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&&VP.call(e,r)&&(n[r]=e[r]);return n};function CV(e){var t=e,{size:n,color:r}=t,o=lC(t,["size","color"]);const s=o,{style:a}=s,c=lC(s,["style"]);return H.createElement("svg",iC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:iC({width:n},a)},c),H.createElement("circle",{cx:"15",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},H.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"105",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var kV=Object.defineProperty,ph=Object.getOwnPropertySymbols,UP=Object.prototype.hasOwnProperty,GP=Object.prototype.propertyIsEnumerable,cC=(e,t,n)=>t in e?kV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_V=(e,t)=>{for(var n in t||(t={}))UP.call(t,n)&&cC(e,n,t[n]);if(ph)for(var n of ph(t))GP.call(t,n)&&cC(e,n,t[n]);return e},PV=(e,t)=>{var n={};for(var r in e)UP.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&&GP.call(e,r)&&(n[r]=e[r]);return n};const K0={bars:yV,oval:wV,dots:CV},jV={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},IV={size:"md"};function qP(e){const t=Cr("Loader",IV,e),{size:n,color:r,variant:o}=t,s=PV(t,["size","color","variant"]),a=Ha(),c=o in K0?o:a.loader;return H.createElement(Io,_V({role:"presentation",component:K0[c]||K0.bars,size:Vt({size:n,sizes:jV}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}qP.displayName="@mantine/core/Loader";var EV=Object.defineProperty,hh=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,XP=Object.prototype.propertyIsEnumerable,uC=(e,t,n)=>t in e?EV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dC=(e,t)=>{for(var n in t||(t={}))KP.call(t,n)&&uC(e,n,t[n]);if(hh)for(var n of hh(t))XP.call(t,n)&&uC(e,n,t[n]);return e},OV=(e,t)=>{var n={};for(var r in e)KP.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&&XP.call(e,r)&&(n[r]=e[r]);return n};const RV={color:"gray",size:"md",variant:"subtle"},YP=f.forwardRef((e,t)=>{const n=Cr("ActionIcon",RV,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=OV(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=vV({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),P=H.createElement(qP,dC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return H.createElement(lV,dC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?P:s)});YP.displayName="@mantine/core/ActionIcon";const MV=YP;var DV=Object.defineProperty,AV=Object.defineProperties,TV=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,JP=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?DV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NV=(e,t)=>{for(var n in t||(t={}))QP.call(t,n)&&fC(e,n,t[n]);if(mh)for(var n of mh(t))JP.call(t,n)&&fC(e,n,t[n]);return e},$V=(e,t)=>AV(e,TV(t)),LV=(e,t)=>{var n={};for(var r in e)QP.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&&JP.call(e,r)&&(n[r]=e[r]);return n};function ZP(e){const t=Cr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=LV(t,["children","target","className","innerRef"]),c=Ha(),[d,p]=f.useState(!1),h=f.useRef();return PP(()=>(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(H.createElement("div",$V(NV({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}ZP.displayName="@mantine/core/Portal";var zV=Object.defineProperty,gh=Object.getOwnPropertySymbols,ej=Object.prototype.hasOwnProperty,tj=Object.prototype.propertyIsEnumerable,pC=(e,t,n)=>t in e?zV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BV=(e,t)=>{for(var n in t||(t={}))ej.call(t,n)&&pC(e,n,t[n]);if(gh)for(var n of gh(t))tj.call(t,n)&&pC(e,n,t[n]);return e},FV=(e,t)=>{var n={};for(var r in e)ej.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&&tj.call(e,r)&&(n[r]=e[r]);return n};function nj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=FV(t,["withinPortal","children"]);return n?H.createElement(ZP,BV({},o),r):H.createElement(H.Fragment,null,r)}nj.displayName="@mantine/core/OptionalPortal";var HV=Object.defineProperty,vh=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&hC(e,n,t[n]);if(vh)for(var n of vh(t))oj.call(t,n)&&hC(e,n,t[n]);return e},WV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};function sj(e){const t=e,{width:n,height:r,style:o}=t,s=WV(t,["width","height","style"]);return H.createElement("svg",mC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:mC({width:n,height:r},o)},s),H.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"}))}sj.displayName="@mantine/core/CloseIcon";var VV=Object.defineProperty,bh=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,ij=Object.prototype.propertyIsEnumerable,gC=(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={}))aj.call(t,n)&&gC(e,n,t[n]);if(bh)for(var n of bh(t))ij.call(t,n)&&gC(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)aj.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&&ij.call(e,r)&&(n[r]=e[r]);return n};const qV={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},KV={size:"sm"},lj=f.forwardRef((e,t)=>{const n=Cr("CloseButton",KV,e),{iconSize:r,size:o,children:s}=n,a=GV(n,["iconSize","size","children"]),c=Ue(r||qV[o]);return H.createElement(MV,UV({ref:t,__staticSelector:"CloseButton",size:o},a),s||H.createElement(sj,{width:c,height:c}))});lj.displayName="@mantine/core/CloseButton";const cj=lj;var XV=Object.defineProperty,YV=Object.defineProperties,QV=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,JV=Object.prototype.hasOwnProperty,ZV=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?XV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qf=(e,t)=>{for(var n in t||(t={}))JV.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))ZV.call(t,n)&&bC(e,n,t[n]);return e},eU=(e,t)=>YV(e,QV(t));function tU({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function nU({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 rU(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function oU({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 sU=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:eU(Qf(Qf(Qf(Qf({},e.fn.fontStyles()),e.fn.focusStyles()),rU(n)),oU({theme:e,truncate:r})),{color:nU({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:tU({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 aU=sU;var iU=Object.defineProperty,yh=Object.getOwnPropertySymbols,uj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,yC=(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={}))uj.call(t,n)&&yC(e,n,t[n]);if(yh)for(var n of yh(t))dj.call(t,n)&&yC(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)uj.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&&dj.call(e,r)&&(n[r]=e[r]);return n};const uU={variant:"text"},fj=f.forwardRef((e,t)=>{const n=Cr("Text",uU,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:P,unstyled:I,span:E,__staticSelector:O}=n,R=cU(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:D}=aU({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:I,name:O||"Text",variant:p,size:o});return H.createElement(Io,lU({ref:t,className:D(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});fj.displayName="@mantine/core/Text";const _c=fj,Jf={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function Zf(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 dU=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:`${Vt({size:n,sizes:Jf})} ${r} ${Zf(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:Jf})} ${r} ${Zf(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(Vt({size:n,sizes:Jf})),borderTopColor:Zf(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:Jf})),borderLeftColor:Zf(e,t),borderLeftStyle:r}}));const fU=dU;var pU=Object.defineProperty,hU=Object.defineProperties,mU=Object.getOwnPropertyDescriptors,xh=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,hj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&xC(e,n,t[n]);if(xh)for(var n of xh(t))hj.call(t,n)&&xC(e,n,t[n]);return e},gU=(e,t)=>hU(e,mU(t)),vU=(e,t)=>{var n={};for(var r in e)pj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&hj.call(e,r)&&(n[r]=e[r]);return n};const bU={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},g1=f.forwardRef((e,t)=>{const n=Cr("Divider",bU,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=vU(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=fU({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",P=!!c&&_,I=!(p!=null&&p.color);return H.createElement(Io,wC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:P},r),role:"separator"},w),P&&H.createElement(_c,gU(wC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});g1.displayName="@mantine/core/Divider";var yU=Object.defineProperty,xU=Object.defineProperties,wU=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,SU=Object.prototype.hasOwnProperty,CU=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?yU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))SU.call(t,n)&&CC(e,n,t[n]);if(SC)for(var n of SC(t))CU.call(t,n)&&CC(e,n,t[n]);return e},kU=(e,t)=>xU(e,wU(t)),_U=so((e,t,{size:n})=>({item:kU(kC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({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]":kC({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(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const PU=_U;var jU=Object.defineProperty,_C=Object.getOwnPropertySymbols,IU=Object.prototype.hasOwnProperty,EU=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OU=(e,t)=>{for(var n in t||(t={}))IU.call(t,n)&&PC(e,n,t[n]);if(_C)for(var n of _C(t))EU.call(t,n)&&PC(e,n,t[n]);return e};function ay({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}=PU(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],P=[];let I=null;const E=(R,M)=>{const D=typeof o=="function"?o(R.value):!1;return H.createElement(h,OU({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&D||void 0,selected:D,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?I=M:R.group?(O!==R.group&&(O=R.group,P.push(H.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},H.createElement(g1,{classNames:{label:k.separatorLabel},label:R.group})))),P.push(E(R,M))):_.push(E(R,M))}),b){const R=e[I];_.push(H.createElement("div",{key:oy(),className:k.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return P.length>0&&_.length>0&&_.unshift(H.createElement("div",{className:k.separator,key:"empty-group-separator"},H.createElement(g1,null))),P.length>0||_.length>0?H.createElement(H.Fragment,null,P,_):H.createElement(_c,{size:m,unstyled:y,className:k.nothingFound},v)}ay.displayName="@mantine/core/SelectItems";var RU=Object.defineProperty,wh=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable,jC=(e,t,n)=>t in e?RU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MU=(e,t)=>{for(var n in t||(t={}))mj.call(t,n)&&jC(e,n,t[n]);if(wh)for(var n of wh(t))gj.call(t,n)&&jC(e,n,t[n]);return e},DU=(e,t)=>{var n={};for(var r in e)mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wh)for(var r of wh(e))t.indexOf(r)<0&&gj.call(e,r)&&(n[r]=e[r]);return n};const iy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=DU(n,["label","value"]);return H.createElement("div",MU({ref:t},s),r||o)});iy.displayName="@mantine/core/DefaultItem";function AU(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function vj(...e){return t=>e.forEach(n=>AU(n,t))}function vl(...e){return f.useCallback(vj(...e),e)}const bj=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(NU);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(v1,sr({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(v1,sr({},r,{ref:t}),n)});bj.displayName="Slot";const v1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...$U(r,n.props),ref:vj(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});v1.displayName="SlotClone";const TU=({children:e})=>f.createElement(f.Fragment,null,e);function NU(e){return f.isValidElement(e)&&e.type===TU}function $U(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 LU=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Hd=LU.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?bj:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),b1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function zU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Wd=e=>{const{present:t,children:n}=e,r=BU(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};Wd.displayName="Presence";function BU(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=zU(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=ep(r.current);s.current=c==="mounted"?p:"none"},[c]),b1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=ep(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]),b1(()=>{if(t){const p=m=>{const b=ep(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=ep(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 ep(e){return(e==null?void 0:e.animationName)||"none"}function FU(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,HU(o,...t)]}function HU(...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 WU=f.createContext(void 0);function VU(e){const t=f.useContext(WU);return e||t||"ltr"}function UU(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 GU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const yj="ScrollArea",[xj,Qde]=FU(yj),[qU,us]=xj(yj),KU=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),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),D=vl(t,L=>d(L)),A=VU(o);return f.createElement(qU,{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:I},f.createElement(Hd.div,sr({dir:A},a,{ref:D,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),XU="ScrollAreaViewport",YU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=us(XU,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(Hd.div,sr({"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)))}),Va="ScrollAreaScrollbar",QU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,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(JU,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(ZU,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(wj,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(ly,sr({},r,{ref:t})):null}),JU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,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(Wd,{present:n||s},f.createElement(wj,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),ZU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Bm(()=>d("SCROLL_END"),100),[c,d]=GU("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(Wd,{present:n||c!=="hidden"},f.createElement(ly,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),wj=f.forwardRef((e,t)=>{const n=us(Va,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Bm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=us(Va,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=_j(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 iG(v,a.current,c,b)}return n==="horizontal"?f.createElement(eG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=IC(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(tG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=IC(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}),eG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Va,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(Cj,sr({"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":zm(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),jj(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:Sh(a.paddingLeft),paddingEnd:Sh(a.paddingRight)}})}}))}),tG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Va,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(Cj,sr({"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":zm(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),jj(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:Sh(a.paddingTop),paddingEnd:Sh(a.paddingBottom)}})}}))}),[nG,Sj]=xj(Va),Cj=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=us(Va,n),[w,y]=f.useState(null),S=vl(t,D=>y(D)),k=f.useRef(null),_=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Bm(m,10);function M(D){if(k.current){const A=D.clientX-k.current.left,L=D.clientY-k.current.top;p({x:A,y:L})}}return f.useEffect(()=>{const D=A=>{const L=A.target;(w==null?void 0:w.contains(L))&&E(A,I)};return document.addEventListener("wheel",D,{passive:!1}),()=>document.removeEventListener("wheel",D,{passive:!1})},[P,w,I,E]),f.useEffect(O,[r,O]),Pc(w,R),Pc(b.content,R),f.createElement(nG,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Hd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Ji(e.onPointerDown,D=>{D.button===0&&(D.target.setPointerCapture(D.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(D))}),onPointerMove:Ji(e.onPointerMove,M),onPointerUp:Ji(e.onPointerUp,D=>{const A=D.target;A.hasPointerCapture(D.pointerId)&&A.releasePointerCapture(D.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),y1="ScrollAreaThumb",rG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Sj(y1,e.__scopeScrollArea);return f.createElement(Wd,{present:n||o.hasThumb},f.createElement(oG,sr({ref:t},r)))}),oG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=us(y1,n),a=Sj(y1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Bm(()=>{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=lG(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Hd.div,sr({"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:Ji(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Ji(e.onPointerUp,a.onThumbPointerUp)}))}),kj="ScrollAreaCorner",sG=f.forwardRef((e,t)=>{const n=us(kj,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(aG,sr({},e,{ref:t})):null}),aG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=us(kj,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Pc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Pc(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(Hd.div,sr({},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 Sh(e){return e?parseInt(e,10):0}function _j(e,t){const n=e/t;return isNaN(n)?0:n}function zm(e){const t=_j(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iG(e,t,n,r="ltr"){const o=zm(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 Pj([d,p],m)(e)}function IC(e,t,n="ltr"){const r=zm(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=UU(e,d);return Pj([0,a],[0,c])(p)}function Pj(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 jj(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 Bm(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 Pc(e,t){const n=Ui(t);b1(()=>{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 cG=KU,uG=YU,EC=QU,OC=rG,dG=sG;var fG=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],[`& .${TS("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:TS("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 pG=fG;var hG=Object.defineProperty,mG=Object.defineProperties,gG=Object.getOwnPropertyDescriptors,Ch=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,RC=(e,t,n)=>t in e?hG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x1=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&RC(e,n,t[n]);if(Ch)for(var n of Ch(t))Ej.call(t,n)&&RC(e,n,t[n]);return e},Oj=(e,t)=>mG(e,gG(t)),Rj=(e,t)=>{var n={};for(var r in e)Ij.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&&Ej.call(e,r)&&(n[r]=e[r]);return n};const Mj={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Fm=f.forwardRef((e,t)=>{const n=Cr("ScrollArea",Mj,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=Rj(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,P]=f.useState(!1),I=Ha(),{classes:E,cx:O}=pG({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return H.createElement(cG,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},H.createElement(Io,x1({className:O(E.root,o)},k),H.createElement(uG,Oj(x1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),H.createElement(EC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(EC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(dG,{className:E.corner})))}),Dj=f.forwardRef((e,t)=>{const n=Cr("ScrollAreaAutosize",Mj,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=Rj(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return H.createElement(Io,Oj(x1({},k),{ref:t,sx:[{display:"flex"},...xP(w)]}),H.createElement(Io,{sx:{display:"flex",flexDirection:"column",flex:1}},H.createElement(Fm,{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)))});Dj.displayName="@mantine/core/ScrollAreaAutosize";Fm.displayName="@mantine/core/ScrollArea";Fm.Autosize=Dj;const Aj=Fm;var vG=Object.defineProperty,bG=Object.defineProperties,yG=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Nj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?vG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DC=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&MC(e,n,t[n]);if(kh)for(var n of kh(t))Nj.call(t,n)&&MC(e,n,t[n]);return e},xG=(e,t)=>bG(e,yG(t)),wG=(e,t)=>{var n={};for(var r in e)Tj.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&&Nj.call(e,r)&&(n[r]=e[r]);return n};const Hm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=wG(n,["style"]);return H.createElement(Aj,xG(DC({},o),{style:DC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Hm.displayName="@mantine/core/SelectScrollArea";var SG=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const CG=SG;function Uc(e){return e.split("-")[1]}function cy(e){return e==="y"?"height":"width"}function _s(e){return e.split("-")[0]}function Ii(e){return["top","bottom"].includes(_s(e))?"x":"y"}function AC(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=Ii(t),d=cy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(_s(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(Uc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const kG=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}=AC(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}=Na(e,t)||{};if(d==null)return{};const h=uy(p),m={x:n,y:r},v=Ii(o),b=cy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=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=P/2-I/2,M=O/2-w[b]/2-1,D=vi(h[S],M),A=vi(h[k],M),L=D,Q=O-w[b]-A,F=O/2-w[b]/2+R,V=w1(L,F,Q),q=Uc(o)!=null&&F!=V&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const PG={left:"right",right:"left",bottom:"top",top:"bottom"};function _h(e){return e.replace(/left|right|bottom|top/g,t=>PG[t])}function jG(e,t,n){n===void 0&&(n=!1);const r=Uc(e),o=Ii(e),s=cy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=_h(a)),{main:a,cross:_h(a)}}const IG={start:"end",end:"start"};function X0(e){return e.replace(/start|end/g,t=>IG[t])}const EG=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}=Na(e,t),S=_s(r),k=_s(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),P=m||(k||!w?[_h(a)]:function(L){const Q=_h(L);return[X0(L),Q,X0(Q)]}(a));m||b==="none"||P.push(...function(L,Q,F,V){const q=Uc(L);let G=function(T,z,$){const Y=["left","right"],ae=["right","left"],fe=["top","bottom"],ie=["bottom","top"];switch(T){case"top":case"bottom":return $?z?ae:Y:z?Y:ae;case"left":case"right":return z?fe:ie;default:return[]}}(_s(L),F==="start",V);return q&&(G=G.map(T=>T+"-"+q),Q&&(G=G.concat(G.map(X0)))),G}(a,w,b,_));const I=[a,...P],E=await dy(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:L,cross:Q}=jG(r,s,_);O.push(E[L],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every(L=>L<=0)){var M,D;const L=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[L];if(Q)return{data:{index:L,overflows:R},reset:{placement:Q}};let F=(D=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:D.placement;if(!F)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,T)=>G+T,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(F=V);break}case"initialPlacement":F=a}if(r!==F)return{reset:{placement:F}}}return{}}}};function NC(e){const t=vi(...e.map(r=>r.left)),n=vi(...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 OG=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}=Na(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((P,I)=>P.y-I.y),k=[];let _=null;for(let P=0;P_.height/2?k.push([I]):k[k.length-1].push(I),_=I}return k.map(P=>jc(NC(P)))}(h),v=jc(NC(h)),b=uy(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(Ii(n)==="x"){const E=m[0],O=m[m.length-1],R=_s(n)==="top",M=E.top,D=O.bottom,A=R?E.left:O.left,L=R?E.right:O.right;return{top:M,bottom:D,left:A,right:L,width:L-A,height:D-M,x:A,y:M}}const y=_s(n)==="left",S=Ks(...m.map(E=>E.right)),k=vi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),P=_[0].top,I=_[_.length-1].bottom;return{top:P,bottom:I,left:k,right:S,width:S-k,height:I-P,x:k,y:P}}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}}:{}}}},RG=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=_s(c),v=Uc(c),b=Ii(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Na(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:P}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof P=="number"&&(_=v==="end"?-1*P:P),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 $j(e){return e==="x"?"y":"x"}const MG=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}=Na(e,t),p={x:n,y:r},h=await dy(t,d),m=Ii(_s(o)),v=$j(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=w1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=w1(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}}}}},DG=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}=Na(e,t),h={x:n,y:r},m=Ii(o),v=$j(m);let b=h[m],w=h[v];const y=Na(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const P=m==="y"?"height":"width",I=s.reference[m]-s.floating[P]+S.mainAxis,E=s.reference[m]+s.reference[P]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const P=m==="y"?"width":"height",I=["top","left"].includes(_s(o)),E=s.reference[v]-s.floating[P]+(I&&((k=a.offset)==null?void 0:k[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((_=a.offset)==null?void 0:_[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},AG=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}=Na(e,t),d=await dy(t,c),p=_s(n),h=Uc(n),m=Ii(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 P=S,I=k;if(m){const O=v-d.left-d.right;I=h||_?vi(k,O):O}else{const O=b-d.top-d.bottom;P=h||_?vi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),D=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):P=b-2*(M!==0||D!==0?M+D:Ks(d.top,d.bottom))}await a({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oa(e){return zo(e).getComputedStyle(e)}function Lj(e){return e instanceof zo(e).Node}function bi(e){return Lj(e)?(e.nodeName||"").toLowerCase():"#document"}function Os(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function $C(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function dd(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=oa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function TG(e){return["table","td","th"].includes(bi(e))}function S1(e){const t=fy(),n=oa(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 fy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Wm(e){return["html","body","#document"].includes(bi(e))}const C1=Math.min,fc=Math.max,Ph=Math.round,tp=Math.floor,yi=e=>({x:e,y:e});function zj(e){const t=oa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Os(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=Ph(n)!==s||Ph(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof zo(e).Element}function py(e){return _a(e)?e:e.contextElement}function pc(e){const t=py(e);if(!Os(t))return yi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=zj(t);let a=(s?Ph(n.width):n.width)/r,c=(s?Ph(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const NG=yi(0);function Bj(e){const t=zo(e);return fy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:NG}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=py(e);let a=yi(1);t&&(r?_a(r)&&(a=pc(r)):a=pc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?Bj(s):yi(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=zo(s),b=r&&_a(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=pc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,P=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=P,w=zo(w).frameElement}}return jc({width:h,height:m,x:d,y:p})}function Vm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(Lj(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Fj(e){return cl(Pa(e)).left+Vm(e).scrollLeft}function Ic(e){if(bi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||$C(e)&&e.host||Pa(e);return $C(t)?t.host:t}function Hj(e){const t=Ic(e);return Wm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Os(t)&&dd(t)?t:Hj(t)}function jh(e,t){var n;t===void 0&&(t=[]);const r=Hj(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],dd(r)?r:[]):t.concat(r,jh(r))}function LC(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=zo(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=fy();(!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=Vm(o),c=o.ownerDocument.body,d=fc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=fc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+Fj(o);const m=-a.scrollTop;return oa(c).direction==="rtl"&&(h+=fc(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=Os(o)?pc(o):yi(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=Bj(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return jc(r)}function Wj(e,t){const n=Ic(e);return!(n===t||!_a(n)||Wm(n))&&(oa(n).position==="fixed"||Wj(n,t))}function $G(e,t,n){const r=Os(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=yi(0);if(r||!r&&!s)if((bi(t)!=="body"||dd(o))&&(c=Vm(t)),Os(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Fj(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function zC(e,t){return Os(e)&&oa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function BC(e,t){const n=zo(e);if(!Os(e))return n;let r=zC(e,t);for(;r&&TG(r)&&oa(r).position==="static";)r=zC(r,t);return r&&(bi(r)==="html"||bi(r)==="body"&&oa(r).position==="static"&&!S1(r))?n:r||function(o){let s=Ic(o);for(;Os(s)&&!Wm(s);){if(S1(s))return s;s=Ic(s)}return null}(e)||n}const LG={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Os(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=yi(1);const d=yi(0);if((o||!o&&r!=="fixed")&&((bi(n)!=="body"||dd(s))&&(a=Vm(n)),Os(n))){const p=cl(n);c=pc(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=jh(d).filter(y=>_a(y)&&bi(y)!=="body"),v=null;const b=oa(d).position==="fixed";let w=b?Ic(d):d;for(;_a(w)&&!Wm(w);){const y=oa(w),S=S1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||dd(w)&&!S&&Wj(d,w))?m=m.filter(k=>k!==w):v=y,w=Ic(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=LC(t,p,o);return d.top=fc(h.top,d.top),d.right=C1(h.right,d.right),d.bottom=C1(h.bottom,d.bottom),d.left=fc(h.left,d.left),d},LC(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:BC,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||BC,s=this.getDimensions;return{reference:$G(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 zj(e)},getScale:pc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function zG(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=py(e),h=o||s?[...p?jh(p):[],...jh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,P=null;const I=Pa(S);function E(){clearTimeout(_),P&&P.disconnect(),P=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:D,top:A,width:L,height:Q}=S.getBoundingClientRect();if(R||k(),!L||!Q)return;const F={rootMargin:-tp(A)+"px "+-tp(I.clientWidth-(D+L))+"px "+-tp(I.clientHeight-(A+Q))+"px "+-tp(D)+"px",threshold:fc(0,C1(1,M))||1};let V=!0;function q(G){const T=G[0].intersectionRatio;if(T!==M){if(!V)return O();T?O(!1,T):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{P=new IntersectionObserver(q,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(q,F)}P.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 BG=(e,t,n)=>{const r=new Map,o={platform:LG,...n},s={...o.platform,_c:r};return kG(e,t,{...o,platform:s})},FG=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?TC({element:t.current,padding:n}).fn(o):{}:t?TC({element:t,padding:n}).fn(o):{}}}};var Np=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ih(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(!Ih(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)&&!Ih(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function FC(e){const t=f.useRef(e);return Np(()=>{t.current=e}),t}function HG(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);Ih(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=FC(s),y=FC(o),[S,k]=f.useState(null),[_,P]=f.useState(null),I=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,P(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),BG(m.current,v.current,A).then(L=>{const Q={...L,isPositioned:!0};R.current&&!Ih(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Np(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);Np(()=>(R.current=!0,()=>{R.current=!1}),[]),Np(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),D=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:D,reference:I,floating:E}),[c,O,M,D,I,E])}var WG=typeof document<"u"?f.useLayoutEffect:f.useEffect;function VG(){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 UG=f.createContext(null),GG=()=>f.useContext(UG);function qG(e){return(e==null?void 0:e.ownerDocument)||document}function KG(e){return qG(e).defaultView||window}function np(e){return e?e instanceof KG(e).Element:!1}const XG=Q1["useInsertionEffect".toString()],YG=XG||(e=>e());function QG(e){const t=f.useRef(()=>{});return YG(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oVG())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=np(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(np(k)||k===null)&&(a.current=k,h(k)),(np(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!np(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=QG(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 WG(()=>{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 ZG({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 zG(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ks(()=>{t.update()},r),ks(()=>{s(a=>a+1)},[e])}function eq(e){const t=[RG(e.offset)];return e.middlewares.shift&&t.push(MG({limiter:DG()})),e.middlewares.flip&&t.push(EG()),e.middlewares.inline&&t.push(OG()),t.push(FG({element:e.arrowRef,padding:e.arrowOffset})),t}function tq(e){const[t,n]=ud({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=JG({placement:e.position,middleware:[...eq(e),...e.width==="target"?[AG({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 ZG({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ks(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),ks(()=>{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 Vj={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"},[nq,Uj]=WH(Vj.context);var rq=Object.defineProperty,oq=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,Eh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rp=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&HC(e,n,t[n]);if(Eh)for(var n of Eh(t))qj.call(t,n)&&HC(e,n,t[n]);return e},aq=(e,t)=>oq(e,sq(t)),iq=(e,t)=>{var n={};for(var r in e)Gj.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&&qj.call(e,r)&&(n[r]=e[r]);return n};const lq={refProp:"ref",popupType:"dialog"},Kj=f.forwardRef((e,t)=>{const n=Cr("PopoverTarget",lq,e),{children:r,refProp:o,popupType:s}=n,a=iq(n,["children","refProp","popupType"]);if(!SP(r))throw new Error(Vj.children);const c=a,d=Uj(),p=Fd(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,rp(aq(rp(rp(rp({},c),h),d.targetProps),{className:kP(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});Kj.displayName="@mantine/core/PopoverTarget";var cq=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 uq=cq;var dq=Object.defineProperty,WC=Object.getOwnPropertySymbols,fq=Object.prototype.hasOwnProperty,pq=Object.prototype.propertyIsEnumerable,VC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))fq.call(t,n)&&VC(e,n,t[n]);if(WC)for(var n of WC(t))pq.call(t,n)&&VC(e,n,t[n]);return e};const UC={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function hq({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Xf?Hl(Hl(Hl({transitionProperty:Xf[e].transitionProperty},o),Xf[e].common),Xf[e][UC[t]]):null:Hl(Hl(Hl({transitionProperty:e.transitionProperty},o),e.common),e[UC[t]])}function mq({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Ha(),p=RP(),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,P=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:k?e:t;if(v(I),I===0)typeof _=="function"&&_(),typeof P=="function"&&P(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),w(k?"entered":"exited")},I)}};return ks(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function Xj({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}=mq({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?H.createElement(H.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:H.createElement(H.Fragment,null,s(hq({transition:t,duration:m,state:v,timingFunction:b})))}Xj.displayName="@mantine/core/Transition";function Yj({children:e,active:t=!0,refProp:n="ref"}){const r=CW(t),o=Fd(r,e==null?void 0:e.ref);return SP(e)?f.cloneElement(e,{[n]:o}):e}Yj.displayName="@mantine/core/FocusTrap";var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,GC=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&qC(e,n,t[n]);if(GC)for(var n of GC(t))xq.call(t,n)&&qC(e,n,t[n]);return e},op=(e,t)=>vq(e,bq(t));function KC(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function XC(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 wq={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function Sq({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",[wq[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?op(ti(ti({},h),KC(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?op(ti(ti({},h),KC(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?op(ti(ti({},h),XC(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?op(ti(ti({},h),XC(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var Cq=Object.defineProperty,kq=Object.defineProperties,_q=Object.getOwnPropertyDescriptors,Oh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,YC=(e,t,n)=>t in e?Cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pq=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&YC(e,n,t[n]);if(Oh)for(var n of Oh(t))Jj.call(t,n)&&YC(e,n,t[n]);return e},jq=(e,t)=>kq(e,_q(t)),Iq=(e,t)=>{var n={};for(var r in e)Qj.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&&Jj.call(e,r)&&(n[r]=e[r]);return n};const Zj=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=Iq(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Ha();return d?H.createElement("div",jq(Pq({},m),{ref:t,style:Sq({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});Zj.displayName="@mantine/core/FloatingArrow";var Eq=Object.defineProperty,Oq=Object.defineProperties,Rq=Object.getOwnPropertyDescriptors,Rh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?Eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&QC(e,n,t[n]);if(Rh)for(var n of Rh(t))tI.call(t,n)&&QC(e,n,t[n]);return e},sp=(e,t)=>Oq(e,Rq(t)),Mq=(e,t)=>{var n={};for(var r in e)eI.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&&tI.call(e,r)&&(n[r]=e[r]);return n};const Dq={};function nI(e){var t;const n=Cr("PopoverDropdown",Dq,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=Mq(n,["style","className","children","onKeyDownCapture"]),d=Uj(),{classes:p,cx:h}=uq({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=gW({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:H.createElement(nj,sp(Wl({},d.portalProps),{withinPortal:d.withinPortal}),H.createElement(Xj,sp(Wl({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 H.createElement(Yj,{active:d.trapFocus},H.createElement(Io,Wl(sp(Wl({},v),{tabIndex:-1,ref:d.floating,style:sp(Wl(Wl({},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:UH(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,H.createElement(Zj,{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})))}))}nI.displayName="@mantine/core/PopoverDropdown";function Aq(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 JC=Object.getOwnPropertySymbols,Tq=Object.prototype.hasOwnProperty,Nq=Object.prototype.propertyIsEnumerable,$q=(e,t)=>{var n={};for(var r in e)Tq.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&JC)for(var r of JC(e))t.indexOf(r)<0&&Nq.call(e,r)&&(n[r]=e[r]);return n};const Lq={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:ry("popover"),__staticSelector:"Popover",width:"max-content"};function Gc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Cr("Popover",Lq,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:D,closeOnClickOutside:A,withinPortal:L,portalProps:Q,closeOnEscape:F,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:T,onChange:z,zIndex:$,radius:Y,shadow:ae,id:fe,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=$q(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),[ke,xe]=f.useState(null),de=sy(fe),Te=Ha(),Ee=tq({middlewares:k,width:S,position:Aq(Te.dir,h),offset:typeof m=="number"?m+(_?P/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:z,onOpen:T,onClose:G});fW(()=>Ee.opened&&A&&Ee.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Ee.floating.reference(ct)},[Ee.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Ee.floating.floating(ct)},[Ee.floating.floating]);return H.createElement(nq,{value:{returnFocus:se,disabled:U,controlled:Ee.controlled,reference:$e,floating:kt,x:Ee.floating.x,y:Ee.floating.y,arrowX:(r=(n=(t=Ee.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ee.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ee.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Ee.floating.placement,trapFocus:q,withinPortal:L,portalProps:Q,zIndex:$,radius:Y,shadow:ae,closeOnEscape:F,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:D,unstyled:R,variant:re,keepMounted:oe}},p)}Gc.Target=Kj;Gc.Dropdown=nI;Gc.displayName="@mantine/core/Popover";var zq=Object.defineProperty,Mh=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,ZC=(e,t,n)=>t in e?zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&ZC(e,n,t[n]);if(Mh)for(var n of Mh(t))oI.call(t,n)&&ZC(e,n,t[n]);return e},Fq=(e,t)=>{var n={};for(var r in e)rI.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&&oI.call(e,r)&&(n[r]=e[r]);return n};function Hq(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=Fq(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=CG(null,{name:d,styles:p,classNames:h,unstyled:m});return H.createElement(Gc.Dropdown,Bq({p:0,onMouseDown:w=>w.preventDefault()},v),H.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},H.createElement(Io,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Hm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},H.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 H.createElement(Gc,{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=Gc.Target;hi.Dropdown=Hq;var Wq=Object.defineProperty,Vq=Object.defineProperties,Uq=Object.getOwnPropertyDescriptors,Dh=Object.getOwnPropertySymbols,sI=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?Wq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))sI.call(t,n)&&e4(e,n,t[n]);if(Dh)for(var n of Dh(t))aI.call(t,n)&&e4(e,n,t[n]);return e},Gq=(e,t)=>Vq(e,Uq(t)),qq=(e,t)=>{var n={};for(var r in e)sI.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&&aI.call(e,r)&&(n[r]=e[r]);return n};function iI(e,t,n){const r=Cr(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:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,D=qq(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=sy(_),{systemStyles:L,rest:Q}=Lm(D),F=ap({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:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return Gq(ap({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:ap(ap({},F),L),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:P,__staticSelector:v,error:a,variant:M}})}var Kq=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({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 Xq=Kq;var Yq=Object.defineProperty,Ah=Object.getOwnPropertySymbols,lI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?Yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t)=>{for(var n in t||(t={}))lI.call(t,n)&&t4(e,n,t[n]);if(Ah)for(var n of Ah(t))cI.call(t,n)&&t4(e,n,t[n]);return e},Jq=(e,t)=>{var n={};for(var r in e)lI.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&&cI.call(e,r)&&(n[r]=e[r]);return n};const Zq={labelElement:"label",size:"sm"},hy=f.forwardRef((e,t)=>{const n=Cr("InputLabel",Zq,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=Jq(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=Xq(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return H.createElement(Io,Qq({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&&H.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});hy.displayName="@mantine/core/InputLabel";var eK=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const tK=eK;var nK=Object.defineProperty,Th=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,n4=(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={}))uI.call(t,n)&&n4(e,n,t[n]);if(Th)for(var n of Th(t))dI.call(t,n)&&n4(e,n,t[n]);return e},oK=(e,t)=>{var n={};for(var r in e)uI.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&&dI.call(e,r)&&(n[r]=e[r]);return n};const sK={size:"sm"},my=f.forwardRef((e,t)=>{const n=Cr("InputError",sK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=oK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=tK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,rK({className:b(v.error,o),ref:t},m),r)});my.displayName="@mantine/core/InputError";var aK=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const iK=aK;var lK=Object.defineProperty,Nh=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,r4=(e,t,n)=>t in e?lK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&r4(e,n,t[n]);if(Nh)for(var n of Nh(t))pI.call(t,n)&&r4(e,n,t[n]);return e},uK=(e,t)=>{var n={};for(var r in e)fI.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&&pI.call(e,r)&&(n[r]=e[r]);return n};const dK={size:"sm"},gy=f.forwardRef((e,t)=>{const n=Cr("InputDescription",dK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=uK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=iK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,cK({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});gy.displayName="@mantine/core/InputDescription";const hI=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),fK=hI.Provider,pK=()=>f.useContext(hI);function hK(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 mK=Object.defineProperty,gK=Object.defineProperties,vK=Object.getOwnPropertyDescriptors,o4=Object.getOwnPropertySymbols,bK=Object.prototype.hasOwnProperty,yK=Object.prototype.propertyIsEnumerable,s4=(e,t,n)=>t in e?mK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xK=(e,t)=>{for(var n in t||(t={}))bK.call(t,n)&&s4(e,n,t[n]);if(o4)for(var n of o4(t))yK.call(t,n)&&s4(e,n,t[n]);return e},wK=(e,t)=>gK(e,vK(t)),SK=so(e=>({root:wK(xK({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const CK=SK;var kK=Object.defineProperty,_K=Object.defineProperties,PK=Object.getOwnPropertyDescriptors,$h=Object.getOwnPropertySymbols,mI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?kK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ni=(e,t)=>{for(var n in t||(t={}))mI.call(t,n)&&a4(e,n,t[n]);if($h)for(var n of $h(t))gI.call(t,n)&&a4(e,n,t[n]);return e},i4=(e,t)=>_K(e,PK(t)),jK=(e,t)=>{var n={};for(var r in e)mI.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&&gI.call(e,r)&&(n[r]=e[r]);return n};const IK={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},vI=f.forwardRef((e,t)=>{const n=Cr("InputWrapper",IK,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:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=jK(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:D}=CK(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:P,variant:O,size:S}),A={classNames:w,styles:y,unstyled:P,size:S,variant:O,__staticSelector:_},L=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,F=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?F:""}`,G=q.trim().length>0?q.trim():void 0,T=o&&H.createElement(hy,ni(ni({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:L},A),m),o),z=p&&H.createElement(gy,i4(ni(ni({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||F}),p),$=H.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&H.createElement(my,i4(ni(ni({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(fe=>{switch(fe){case"label":return T;case"input":return $;case"description":return z;case"error":return Y;default:return null}});return H.createElement(fK,{value:ni({describedBy:G},hK(I,{hasDescription:!!z,hasError:!!Y}))},H.createElement(Io,ni({className:D(M.root,r),ref:t},R),ae))});vI.displayName="@mantine/core/InputWrapper";var EK=Object.defineProperty,Lh=Object.getOwnPropertySymbols,bI=Object.prototype.hasOwnProperty,yI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?EK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OK=(e,t)=>{for(var n in t||(t={}))bI.call(t,n)&&l4(e,n,t[n]);if(Lh)for(var n of Lh(t))yI.call(t,n)&&l4(e,n,t[n]);return e},RK=(e,t)=>{var n={};for(var r in e)bI.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&&yI.call(e,r)&&(n[r]=e[r]);return n};const MK={},xI=f.forwardRef((e,t)=>{const n=Cr("InputPlaceholder",MK,e),{sx:r}=n,o=RK(n,["sx"]);return H.createElement(Io,OK({component:"span",sx:[s=>s.fn.placeholderStyles(),...xP(r)],ref:t},o))});xI.displayName="@mantine/core/InputPlaceholder";var DK=Object.defineProperty,AK=Object.defineProperties,TK=Object.getOwnPropertyDescriptors,c4=Object.getOwnPropertySymbols,NK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?DK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ip=(e,t)=>{for(var n in t||(t={}))NK.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))$K.call(t,n)&&u4(e,n,t[n]);return e},Y0=(e,t)=>AK(e,TK(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},LK=["default","filled","unstyled"];function zK({theme:e,variant:t}){return LK.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 BK=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:Vt({size:m,sizes:Qo}),paddingLeft:`calc(${Vt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Qo}):`calc(${Vt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({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:Y0(ip(ip(Y0(ip({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({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}),zK({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):Vt({size:m,sizes:Qo})},"&::placeholder":Y0(ip({},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):Vt({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||Vt({size:m,sizes:Qo})}}});const FK=BK;var HK=Object.defineProperty,WK=Object.defineProperties,VK=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,wI=Object.prototype.hasOwnProperty,SI=Object.prototype.propertyIsEnumerable,d4=(e,t,n)=>t in e?HK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lp=(e,t)=>{for(var n in t||(t={}))wI.call(t,n)&&d4(e,n,t[n]);if(zh)for(var n of zh(t))SI.call(t,n)&&d4(e,n,t[n]);return e},f4=(e,t)=>WK(e,VK(t)),UK=(e,t)=>{var n={};for(var r in e)wI.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&&SI.call(e,r)&&(n[r]=e[r]);return n};const GK={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Cr("Input",GK,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:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=UK(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:D,offsetTop:A,describedBy:L}=pK(),{classes:Q,cx:F}=FK({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:D,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",P],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Lm(M);return H.createElement(Io,lp(lp({className:F(Q.wrapper,r),sx:E,style:p},V),S),d&&H.createElement("div",{className:Q.icon},d),H.createElement(Io,f4(lp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":L,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&H.createElement("div",f4(lp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=vI;bl.Label=hy;bl.Description=gy;bl.Error=my;bl.Placeholder=xI;const Ec=bl;var qK=Object.defineProperty,Bh=Object.getOwnPropertySymbols,CI=Object.prototype.hasOwnProperty,kI=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?qK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h4=(e,t)=>{for(var n in t||(t={}))CI.call(t,n)&&p4(e,n,t[n]);if(Bh)for(var n of Bh(t))kI.call(t,n)&&p4(e,n,t[n]);return e},KK=(e,t)=>{var n={};for(var r in e)CI.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&&kI.call(e,r)&&(n[r]=e[r]);return n};const XK={multiple:!1},_I=f.forwardRef((e,t)=>{const n=Cr("FileButton",XK,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=KK(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 OP(p,()=>{w.current.value=""}),H.createElement(H.Fragment,null,o(h4({onClick:y},b)),H.createElement("input",h4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Fd(t,w),name:c,form:d,capture:m},v)))});_I.displayName="@mantine/core/FileButton";const PI={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},YK={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var QK=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:Vt({size:o,sizes:PI}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:YK}),borderRadius:Vt({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(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const JK=QK;var ZK=Object.defineProperty,Fh=Object.getOwnPropertySymbols,jI=Object.prototype.hasOwnProperty,II=Object.prototype.propertyIsEnumerable,m4=(e,t,n)=>t in e?ZK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eX=(e,t)=>{for(var n in t||(t={}))jI.call(t,n)&&m4(e,n,t[n]);if(Fh)for(var n of Fh(t))II.call(t,n)&&m4(e,n,t[n]);return e},tX=(e,t)=>{var n={};for(var r in e)jI.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&&II.call(e,r)&&(n[r]=e[r]);return n};const nX={xs:16,sm:22,md:24,lg:26,xl:30};function EI(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=tX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=JK({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return H.createElement("div",eX({className:y(w.defaultValue,s)},b),H.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&H.createElement(cj,{"aria-hidden":!0,onMouseDown:a,size:nX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}EI.displayName="@mantine/core/MultiSelect/DefaultValue";function rX({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 oX=Object.defineProperty,Hh=Object.getOwnPropertySymbols,OI=Object.prototype.hasOwnProperty,RI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v4=(e,t)=>{for(var n in t||(t={}))OI.call(t,n)&&g4(e,n,t[n]);if(Hh)for(var n of Hh(t))RI.call(t,n)&&g4(e,n,t[n]);return e},sX=(e,t)=>{var n={};for(var r in e)OI.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&&RI.call(e,r)&&(n[r]=e[r]);return n};const aX={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=sX(t,["size","error","style"]);const a=Ha(),c=Vt({size:n,sizes:aX});return H.createElement("svg",v4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:v4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),H.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 lX=Object.defineProperty,cX=Object.defineProperties,uX=Object.getOwnPropertyDescriptors,b4=Object.getOwnPropertySymbols,dX=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?lX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pX=(e,t)=>{for(var n in t||(t={}))dX.call(t,n)&&y4(e,n,t[n]);if(b4)for(var n of b4(t))fX.call(t,n)&&y4(e,n,t[n]);return e},hX=(e,t)=>cX(e,uX(t));function MI({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?H.createElement(cj,hX(pX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):H.createElement(iX,{error:o,size:r})}MI.displayName="@mantine/core/SelectRightSection";var mX=Object.defineProperty,gX=Object.defineProperties,vX=Object.getOwnPropertyDescriptors,Wh=Object.getOwnPropertySymbols,DI=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?mX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q0=(e,t)=>{for(var n in t||(t={}))DI.call(t,n)&&x4(e,n,t[n]);if(Wh)for(var n of Wh(t))AI.call(t,n)&&x4(e,n,t[n]);return e},w4=(e,t)=>gX(e,vX(t)),bX=(e,t)=>{var n={};for(var r in e)DI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&AI.call(e,r)&&(n[r]=e[r]);return n};function TI(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=bX(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)&&H.createElement(MI,Q0({},a)),styles:w4(Q0({},c),{rightSection:w4(Q0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var yX=Object.defineProperty,xX=Object.defineProperties,wX=Object.getOwnPropertyDescriptors,S4=Object.getOwnPropertySymbols,SX=Object.prototype.hasOwnProperty,CX=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?yX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kX=(e,t)=>{for(var n in t||(t={}))SX.call(t,n)&&C4(e,n,t[n]);if(S4)for(var n of S4(t))CX.call(t,n)&&C4(e,n,t[n]);return e},_X=(e,t)=>xX(e,wX(t)),PX=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(${Vt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:_X(kX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:PI}),"&::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 jX=PX;var IX=Object.defineProperty,EX=Object.defineProperties,OX=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,NI=Object.prototype.hasOwnProperty,$I=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?IX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))NI.call(t,n)&&k4(e,n,t[n]);if(Vh)for(var n of Vh(t))$I.call(t,n)&&k4(e,n,t[n]);return e},_4=(e,t)=>EX(e,OX(t)),RX=(e,t)=>{var n={};for(var r in e)NI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&$I.call(e,r)&&(n[r]=e[r]);return n};function MX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function DX(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function P4(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 AX={size:"sm",valueComponent:EI,itemComponent:iy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:MX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:DX,switchDirectionOnFlip:!1,zIndex:ry("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},LI=f.forwardRef((e,t)=>{const n=Cr("MultiSelect",AX,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:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:D,searchable:A,placeholder:L,filter:Q,limit:F,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:T,onSearchChange:z,searchValue:$,disabled:Y,initiallyOpened:ae,radius:fe,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Ee,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:Pt,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:Lt,withAsterisk:Le,clearButtonProps:Ge,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Ye=RX(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:Ke,cx:dt,theme:zt}=jX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:T}),{systemStyles:cr,rest:pn}=Lm(Ye),ln=f.useRef(),Hr=f.useRef({}),xr=sy(P),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Do,Wr]=f.useState("column"),[Vr,ds]=ud({value:$,defaultValue:"",finalValue:void 0,onChange:z}),[$r,$s]=f.useState(!1),{scrollIntoView:fs,targetRef:da,scrollableRef:Ls}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=wP({data:he}),[me,ut]=ud({value:P4(b,y),defaultValue:P4(w,y),finalValue:[],onChange:S}),ot=f.useRef(!!xe&&xe{if(!Lt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{ds(Be.currentTarget.value),!Y&&!ot.current&&A&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!ot.current&&A&&Hn(!0)},He=rX({data:_e,searchable:A,searchValue:Vr,limit:F,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Vr,_e)&&(ee=se(Vr),He.push({label:Vr,value:Vr,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Xe=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};ks(()=>{Nr(Pn&&Vr?0:-1)},[Vr,Pn]),ks(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(ot.current=!0,Hn(!1))},[me]);const jt=Be=>{if(!Lt)if(V&&ds(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(ot.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof D=="function"&&D(Be),kt&&He[Ce]&&Fn&&jt(He[Ce]),G&&ds(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),Lt)||Be.key!=="Backspace"&&xe&&ot.current)return;const yt=Do==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(da.current=Hr.current[(Gt=He[un])==null?void 0:Gt.value],fs({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0);break}case" ":{A||(Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Vr.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(ot.current=!1));break}case"Home":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"End":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>H.createElement(k,_4(Vl({},Be),{variant:T,disabled:Y,className:Ke.value,readOnly:Lt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:fe,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;ds(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(ot.current=!1)},Ut=!Lt&&(He.length>0?Fn:Fn&&!!R);return ks(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),H.createElement(Ec.Wrapper,Vl(Vl({required:s,id:xr,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:Le,variant:T},cr),v),H.createElement(hi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Wr,switchDirectionOnFlip:Ee,zIndex:$e,dropdownPosition:on,positionDependencies:[...Pt,Vr],classNames:h,styles:m,unstyled:we,variant:T},H.createElement(hi.Target,null,H.createElement("div",{className:Ke.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${xr}-items`:null,"aria-controls":xr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),H.createElement(Ec,Vl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:T,disabled:Y,error:p,required:s,radius:fe,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!ot.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:_4(Vl({},h),{input:dt({[Ke.input]:!A},h==null?void 0:h.input)})},TI({theme:zt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ge,readOnly:Lt})),H.createElement("div",{className:Ke.values,"data-clearable":q||void 0},qt,H.createElement("input",Vl({ref:Fd(t,ln),type:"search",id:xr,className:dt(Ke.searchInput,{[Ke.searchInputPointer]:!A,[Ke.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Ke.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Vr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||ot.current||Lt,placeholder:me.length===0?L:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),H.createElement(hi.Dropdown,{component:le||Hm,maxHeight:E,direction:Do,id:xr,innerRef:Ls,__staticSelector:"MultiSelect",classNames:h,styles:m},H.createElement(ay,{data:He,hovered:Ce,classNames:h,styles:m,uuid:xr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:jt,itemsRefs:Hr,itemComponent:_,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:T}))))});LI.displayName="@mantine/core/MultiSelect";var TX=Object.defineProperty,NX=Object.defineProperties,$X=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,zI=Object.prototype.hasOwnProperty,BI=Object.prototype.propertyIsEnumerable,j4=(e,t,n)=>t in e?TX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J0=(e,t)=>{for(var n in t||(t={}))zI.call(t,n)&&j4(e,n,t[n]);if(Uh)for(var n of Uh(t))BI.call(t,n)&&j4(e,n,t[n]);return e},LX=(e,t)=>NX(e,$X(t)),zX=(e,t)=>{var n={};for(var r in e)zI.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&&BI.call(e,r)&&(n[r]=e[r]);return n};const BX={type:"text",size:"sm",__staticSelector:"TextInput"},FI=f.forwardRef((e,t)=>{const n=iI("TextInput",BX,e),{inputProps:r,wrapperProps:o}=n,s=zX(n,["inputProps","wrapperProps"]);return H.createElement(Ec.Wrapper,J0({},o),H.createElement(Ec,LX(J0(J0({},r),s),{ref:t})))});FI.displayName="@mantine/core/TextInput";function FX({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 HX=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const WX=HX;var VX=Object.defineProperty,UX=Object.defineProperties,GX=Object.getOwnPropertyDescriptors,Gh=Object.getOwnPropertySymbols,HI=Object.prototype.hasOwnProperty,WI=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xu=(e,t)=>{for(var n in t||(t={}))HI.call(t,n)&&I4(e,n,t[n]);if(Gh)for(var n of Gh(t))WI.call(t,n)&&I4(e,n,t[n]);return e},Z0=(e,t)=>UX(e,GX(t)),qX=(e,t)=>{var n={};for(var r in e)HI.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&&WI.call(e,r)&&(n[r]=e[r]);return n};function KX(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function XX(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const YX={required:!1,size:"sm",shadow:"sm",itemComponent:iy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:KX,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:XX,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:ry("popover"),positionDependencies:[],dropdownPosition:"flip"},vy=f.forwardRef((e,t)=>{const n=iI("Select",YX,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:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:D,onSearchChange:A,searchValue:L,rightSection:Q,rightSectionWidth:F,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:T,onCreate:z,dropdownComponent:$,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:fe,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=qX(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:Ee,cx:$e,theme:kt}=WX(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[Pt,Tt]=f.useState("column"),we=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:Lt}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),Le=re===void 0?O:re,Ge=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Ye=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Ke=wP({data:Ye}),[dt,zt,cr]=ud({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Ke.find(ee=>ee.value===dt),[ln,Hr]=ud({value:L,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),xr=ee=>{Hr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;ke||(zt(null),cr||xr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Ke.find(he=>he.value===dt);ee?xr(ee.label):(!Pn||!dt)&&xr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&xr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(Le&&(pn==null?void 0:pn.value)===ee.value)zt(null),Ge(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&zt(typeof he=="string"?he:he.value)}else zt(ee.value);cr||xr(ee.label),bt(-1),Ge(!1),Se.current.focus()}},Wn=FX({data:Ke,searchable:E,limit:M,searchValue:ln,filter:P,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};ks(()=>{bt(de&&ln?0:-1)},[ln,de]);const Do=dt?Wn.findIndex(ee=>ee.value===dt):0,Wr=!ke&&(Wn.length>0?ct:ct&&!!R),Vr=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Wr&&ht({alignment:we?"start":"end"}),_e})},ds=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Do])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);ks(()=>{Wr&&$r()},[Wr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Vr():ds():(bt(Do),Ge(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?ds():Vr():(bt(Do),Ge(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ge(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ge(!0),bt(Do),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},fs=ee=>{typeof v=="function"&&v(ee);const he=Ke.find(_e=>_e.value===dt);T&&Wn[vt]&&ct&&Hn(Wn[vt]),xr((he==null?void 0:he.label)||""),Ge(!1)},da=ee=>{typeof b=="function"&&b(ee),E&&Ge(!0)},Ls=ee=>{ke||(xr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&zt(null),bt(-1),Ge(!0))},J=()=>{ke||(Ge(!ct),dt&&!ct&&bt(Do))};return H.createElement(Ec.Wrapper,Z0(xu({},o),{__staticSelector:"Select"}),H.createElement(hi,{opened:Wr,transitionProps:w,shadow:s,withinPortal:fe,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},H.createElement(hi.Target,null,H.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Wr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Wr,onMouseLeave:()=>bt(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:D}),H.createElement(Ec,xu(Z0(xu(xu({autoComplete:"off",type:"search"},r),Te),{ref:Fd(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:Ls,"aria-autocomplete":"list","aria-controls":Wr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:fs,onFocus:da,readOnly:!E||ke,disabled:D,"data-mantine-stop-propagation":Wr,name:null,classNames:Z0(xu({},k),{input:$e({[Ee.input]:!E},k==null?void 0:k.input)})}),TI({theme:kt,rightSection:Q,rightSectionWidth:F,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:D,readOnly:ke}))))),H.createElement(hi.Dropdown,{component:$||Hm,maxHeight:I,direction:Pt,id:r.id,innerRef:Lt,__staticSelector:"Select",classNames:k,styles:_},H.createElement(ay,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});vy.displayName="@mantine/core/Select";const by=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,P,I,E,O,R,M,D,A,L,Q,F,V,q,G,T,z,$,Y,ae]=$c("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:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:D,accent400:A,accent450:L,accent500:Q,accent550:F,accent600:V,accent650:q,accent700:G,accent750:T,accent800:z,accent850:$,accent900:Y,accent950:ae}},Fe=(e,t)=>n=>n==="light"?e:t,VI=()=>{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}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},QX=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(jo(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(jo(!1))},[d]),b=f.useCallback(y=>{o&&o(y)},[o]),w=VI();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(vy,{ref:r,label:s?i.jsx(go,{isDisabled:a,children:i.jsx(Bo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(QX),JX=be([lt],({changeBoardModal:e})=>{const{isModalOpen:t,imagesToChange:n}=e;return{isModalOpen:t,imagesToChange:n}},Je),ZX=()=>{const e=te(),[t,n]=f.useState(),{data:r,isFetching:o}=dm(),{imagesToChange:s,isModalOpen:a}=B(JX),[c]=KR(),[d]=XR(),p=f.useMemo(()=>{const b=[{label:"Uncategorized",value:"none"}];return(r??[]).forEach(w=>b.push({label:w.board_name,value:w.board_id})),b},[r]),h=f.useCallback(()=>{e(K2()),e(J1(!1))},[e]),m=f.useCallback(()=>{!s.length||!t||(t==="none"?d({imageDTOs:s}):c({imageDTOs:s,board_id:t}),n(null),e(K2()))},[c,e,s,d,t]),v=f.useRef(null);return i.jsx(Td,{isOpen:a,onClose:h,leastDestructiveRef:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:"Change Board"}),i.jsx(Ta,{children:i.jsxs(W,{sx:{flexDir:"column",gap:4},children:[i.jsxs(Qe,{children:["Moving ",`${s.length}`," image",`${s.length>1?"s":""}`," to board:"]}),i.jsx(ar,{placeholder:o?"Loading...":"Select Board",disabled:o,onChange:b=>n(b),value:t,data:p})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:v,onClick:h,children:"Cancel"}),i.jsx(Yt,{colorScheme:"accent",onClick:m,ml:3,children:"Move"})]})]})})})},eY=f.memo(ZX),tY=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(vn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(Bo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Zb,{...c})]})})},yr=f.memo(tY),nY=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||!wa(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(Qe,{children:n}),i.jsxs(Ab,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(Sa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(Sa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(Sa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(Sa,{children:"Node Editor"})]}),i.jsx(Qe,{children:r})]})},UI=f.memo(nY),rY=be([lt,YR],(e,t)=>{const{system:n,config:r,deleteImageModal:o}=e,{shouldConfirmOnDelete:s}=n,{canRestoreDeletedImagesFromBin:a}=r,{imagesToDelete:c,isModalOpen:d}=o,p=(c??[]).map(({image_name:m})=>L_(e,m)),h={isInitialImage:wa(p,m=>m.isInitialImage),isCanvasImage:wa(p,m=>m.isCanvasImage),isNodesImage:wa(p,m=>m.isNodesImage),isControlNetImage:wa(p,m=>m.isControlNetImage)};return{shouldConfirmOnDelete:s,canRestoreDeletedImagesFromBin:a,imagesToDelete:c,imagesUsage:t,isModalOpen:d,imageUsageSummary:h}},Je),oY=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imagesToDelete:o,imagesUsage:s,isModalOpen:a,imageUsageSummary:c}=B(rY),d=f.useCallback(v=>e(z_(!v.target.checked)),[e]),p=f.useCallback(()=>{e(X2()),e(QR(!1))},[e]),h=f.useCallback(()=>{!o.length||!s.length||(e(X2()),e(JR({imageDTOs:o,imagesUsage:s})))},[e,o,s]),m=f.useRef(null);return i.jsx(Td,{isOpen:a,onClose:p,leastDestructiveRef:m,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(UI,{imageUsage:c}),i.jsx(Wa,{}),i.jsx(Qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(Qe,{children:t("common.areYouSure")}),i.jsx(yr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:d})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:m,onClick:p,children:"Cancel"}),i.jsx(Yt,{colorScheme:"error",onClick:h,ml:3,children:"Delete"})]})]})})})},sY=f.memo(oY),mn=e=>e.canvas,lr=be([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),aY=e=>e.canvas.layerState.objects.find(B_),iY=d9(e=>{e(F_(!0))},300),ko=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&iY(e)};var lY=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)}}(),Pr=globalThis&&globalThis.__assign||function(){return Pr=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)}},mY=["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"],D4="__resizable_base__",gY=function(e){dY(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(D4):s.className+=D4,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||fY},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 ev(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?ev(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?ev(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&&Ul("left",s),c=o&&Ul("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,P=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,P);n=up(n,I,E),r=up(r,O,R)}else n=up(n,h,m),r=up(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&&pY(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&dp(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&&dp(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=dp(n)?n.touches[0].clientX:n.clientX,h=dp(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=hY(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),P=_.newHeight,I=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(I=M4(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=M4(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=R4(I,this.props.grid[0]),M=R4(P,this.props.grid[1]),D=this.props.snapGap||0;I=D===0||Math.abs(R-I)<=D?R:I,P=D===0||Math.abs(M-P)<=D?M:P}var A={width:I-b.width,height:P-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var L=I/S.width*100;I=L+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var L=P/S.height*100;P=L+"%"}else if(y.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(y.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"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(uY,{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 mY.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 vY=({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"}),bY=({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}:{}}},ba="0.75rem",pp="1rem",wu="5px",yY=({isResizable:e,direction:t})=>{const n=`calc((2 * ${ba} + ${wu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:wu,paddingBottom:pp},handleStyles:e?{top:{paddingTop:ba,paddingBottom:ba,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:wu,paddingInlineEnd:pp},handleStyles:e?{right:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:wu,paddingTop:pp},handleStyles:e?{bottom:{paddingTop:ba,paddingBottom:ba,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:wu,paddingInlineStart:pp},handleStyles:e?{left:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},xY=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",wY=je(gY,{shouldForwardProp:e=>!["sx"].includes(e)}),GI=({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=Nc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(_),[O,R]=f.useState(P);XN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?vY({direction:e,langDirection:y}):{},[t,y,e]),D=f.useMemo(()=>bY({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:L}=f.useMemo(()=>yY({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>xY(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(X5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Re,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(wY,{size:{width:t?I:_,height:t?O:P},enable:M,handleStyles:L,...D,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(F,V,q)=>{m&&m(F,V,q)},onResize:(F,V,q,G)=>{b&&b(F,V,q,G)},onResizeStop:(F,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(F,V,q,G)},children:o})})})};var qI={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A4=H.createContext&&H.createContext(qI),mi=globalThis&&globalThis.__assign||function(){return mi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?z4(e,s,t):t.reduce((a,c)=>(a[c]=z4(e,s,c),a),o)}return o}e&&_n(Ho(t),o=>SQ(e,o,t[o]))}const ys=(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]]},Ud=()=>typeof window<"u",uE=Ud()&&Node.ELEMENT_NODE,{toString:iQ,hasOwnProperty:tv}=Object.prototype,Ua=e=>e===void 0,Gm=e=>e===null,lQ=e=>Ua(e)||Gm(e)?`${e}`:iQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),gi=e=>typeof e=="number",Ei=e=>typeof e=="string",ky=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),fd=e=>typeof e=="object"&&!Ms(e)&&!Gm(e),qm=e=>{const t=!!e&&e.length,n=gi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&fd(e)?t-1 in e:!0:!1},k1=e=>{if(!e||!fd(e)||lQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=tv.call(e,n),a=o&&tv.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ua(t)||tv.call(e,t)},qh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},Km=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},_y=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&qm(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},Py=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Xm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],hr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Gm(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(k1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!k1(v)&&(b={}),e[p]=hr(b,h)}else e[p]=h})}),e},jy=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Ua(r))return n?n[e]:t;n&&(Ei(r)||gi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Ua(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=ul(s).join(" ").trim();to(e,t,a)}},cQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),ja=(e,t)=>dE("scrollTop",0,e,t),_1=Ud()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?Km(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},uQ=(e,t)=>{const n=t?Km(t)?t:null:document;return n?n.querySelector(e):null},Kh=(e,t)=>Km(e)?(_1.matches||_1.msMatchesSelector).call(e,t):!1,Iy=e=>e?ul(e.childNodes):[],$a=e=>e?e.parentElement:null,Jl=(e,t)=>{if(Km(e)){const n=_1.closest;if(n)return n.call(e,t);do{if(Kh(e,t))return e;e=$a(e)}while(e)}return null},dQ=(e,t,n)=>{const r=e&&Jl(e,t),o=e&&uQ(n,r),s=Jl(o,t)===r;return r&&o?r===e||o===e||s&&Jl(Jl(e,n),t)!==r:!1},Ey=(e,t,n)=>{if(n&&e){let r=t,o;qm(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)}},ns=(e,t)=>{Ey(e,null,t)},fQ=(e,t)=>{Ey($a(e),e,t)},N4=(e,t)=>{Ey($a(e),e&&e.nextSibling,t)},sa=e=>{if(qm(e))_n(ul(e),t=>sa(t));else if(e){const t=$a(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(Iy(t),n=>sa(n))},P1=e=>e.charAt(0).toUpperCase()+e.slice(1),pQ=()=>el().style,hQ=["-webkit-","-moz-","-o-","-ms-"],mQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],nv={},rv={},gQ=e=>{let t=rv[e];if(Xm(rv,e))return t;const n=P1(e),r=pQ();return _n(hQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,P1(s)+n].find(c=>r[c]!==void 0))}),rv[e]=t||""},Gd=e=>{if(Ud()){let t=nv[e]||window[e];return Xm(nv,e)||(_n(mQ,n=>(t=t||window[n+P1(e)],!t)),nv[e]=t),t}},vQ=Gd("MutationObserver"),$4=Gd("IntersectionObserver"),Zl=Gd("ResizeObserver"),hE=Gd("cancelAnimationFrame"),mE=Gd("requestAnimationFrame"),Xh=Ud()&&window.setTimeout,j1=Ud()&&window.clearTimeout,bQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(bQ)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Oy=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Ia=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Oy.bind(0,e,t)),Ym=(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},vE=(e,t)=>Ym(e,t,["w","h"]),bE=(e,t)=>Ym(e,t,["x","y"]),yQ=(e,t)=>Ym(e,t,["t","r","b","l"]),L4=(e,t,n)=>Ym(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Kl=e=>{let t;const n=e?Xh:mE,r=e?j1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Ry=(e,t)=>{let n,r,o,s=ts;const{v:a,g:c,p:d}=t||{},p=function(w){s(),j1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(a)?a():a;if(gi(y)&&y>=0){const k=Rs(c)?c():c,_=gi(k)&&k>=0,P=y>0?Xh:mE,I=y>0?j1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Xh(m,k)),r=o=O}else p(w)};return v.m=m,v},xQ={opacity:1,zindex:1},hp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},wQ=(e,t)=>!xQ[e.toLowerCase()]&&gi(t)?`${t}px`:t,z4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],SQ=(e,t,n)=>{try{const{style:r}=e;Ua(r[t])?r.setProperty(t,n):r[t]=wQ(t,n)}catch{}},pd=e=>no(e,"direction")==="rtl",B4=(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=no(e,[s,a,c,d]);return{t:hp(p[s],!0),r:hp(p[a],!0),b:hp(p[c],!0),l:hp(p[d],!0)}},{round:F4}=Math,My={w:0,h:0},hd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:My,$p=e=>e?{w:e.clientWidth,h:e.clientHeight}:My,Yh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:My,Qh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-F4(n),h:t-F4(t)}},Zs=e=>e.getBoundingClientRect();let mp;const CQ=()=>{if(Ua(mp)){mp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){mp=!0}}))}catch{}}return mp},yE=e=>e.split(" "),kQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=CQ(),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(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,kQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),_Q={x:0,y:0},ov=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:_Q},H4=(e,t)=>{_n(Ms(t)?t:[t],e)},Dy=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);H4(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),H4(h=>{Rs(h)&&p.add(h)},a),n.bind(0,s,a)}ky(a)&&a&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(ul(c),d=>{a&&!Py(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},W4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),PQ={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"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],a=t[o];if(fd(s)&&fd(a))hr(n[o]={},SE(s,a)),jy(n[o])&&delete n[o];else if(Xm(t,o)&&a!==s){let c=!0;if(Ms(s)||Ms(a))try{W4(s)===W4(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,jQ=`${kE}-max`,_E="os-scrollbar-hidden",sv="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,hc="overflowVisible",IQ="scrollbarHidden",V4="scrollbarPressed",Jh="updating",ai="data-overlayscrollbars-viewport",av="arrange",IE="scrollbarHidden",mc=hc,I1="data-overlayscrollbars-padding",EQ=mc,U4="data-overlayscrollbars-content",Ay="os-size-observer",OQ=`${Ay}-appear`,RQ=`${Ay}-listener`,MQ="os-trinsic-observer",DQ="os-no-css-vars",AQ="os-theme-none",Oo="os-scrollbar",TQ=`${Oo}-rtl`,NQ=`${Oo}-horizontal`,$Q=`${Oo}-vertical`,EE=`${Oo}-track`,Ty=`${Oo}-handle`,LQ=`${Oo}-visible`,zQ=`${Oo}-cornerless`,G4=`${Oo}-transitionless`,q4=`${Oo}-interaction`,K4=`${Oo}-unusable`,X4=`${Oo}-auto-hidden`,Y4=`${Oo}-wheel`,BQ=`${EE}-interactive`,FQ=`${Ty}-interactive`,OE={},dl=()=>OE,HQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},WQ="__osOptionsValidationPlugin",VQ="__osSizeObserverPlugin",Ny="__osScrollbarsHidingPlugin",UQ="__osClickScrollPlugin";let iv;const Q4=(e,t,n,r)=>{ns(e,t);const o=$p(t),s=hd(t),a=Qh(n);return r&&sa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},GQ=e=>{let t=!1;const n=Ia(e,_E);try{t=no(e,gQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},qQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=ov(e),o=ov(t);Ps(e,-999);const s=ov(t);return{i:r.x===o.x,n:o.x!==s.x}},KQ=(e,t)=>{const n=Ia(e,kE),r=Zs(e),o=Zs(t),s=L4(o,r,!0),a=Ia(e,jQ),c=Zs(e),d=Zs(t),p=L4(d,c,!0);return n(),a(),s&&p},XQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=Dy(),[a,c]=ys({o:Q4(e,n,r),u:bE},Q4.bind(0,e,n,r,!0)),[d]=c(),p=GQ(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=hr({},PQ),b=hr.bind(0,{},v),w=hr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:qQ(n,r),V:KQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>hr(m,_)&&w(),F:b,G:_=>hr(v,_)&&b(),X:hr({},m),U:hr({},v)},S=window.addEventListener,k=Ry(_=>s(_?"z":"r"),{v:33,g:99});if(So(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[Ny];_=_||P&&P.R(),_&&_(y,a,k.bind(0,!0))})}return y},Ro=()=>(iv||(iv=XQ()),iv),$y=(e,t)=>Rs(t)?t.apply(0,e):t,YQ=(e,t,n,r)=>{const o=Ua(r)?n:r;return $y(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Ua(r)?n:r,s=$y(e,o);return!!s&&(qh(s)?s:t.apply(0,e))},QQ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Ro(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ua(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Gm(h)?!a:h);return!!m||!!v},Ly=new WeakMap,JQ=(e,t)=>{Ly.set(e,t)},ZQ=e=>{Ly.delete(e)},ME=e=>Ly.get(e),J4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Xm(n,r)?n[r]:void 0,e):void 0,E1=(e,t,n)=>r=>[J4(e,r),n||J4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=hr({},t,n)}]},gp="tabindex",vp=el.bind(0,""),lv=e=>{ns($a(e),Iy(e)),sa(e)},eJ=e=>{const t=Ro(),{N:n,I:r}=t,o=dl()[Ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=qh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=Kh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=YQ.bind(0,[_]),D=RE.bind(0,[_]),A=$y.bind(0,[_]),L=M.bind(0,vp,p),Q=D.bind(0,vp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&qh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(vp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(vp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>cQ(fe,V?xs:ai,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:ai,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!$a(Se)?Se:!1)},[]),pe=vt=>vt?_y(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{So(ge,xs),So(ge,sv),So(le,sv),O&&(So(E,xs),So(E,sv))}],$e=P&&pe(ge);let kt=P?le:Iy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,I1,""),to(de,U4,""),V||to(xe,ai,"");const vt=O&&!V?Ia($a(_),_E):ts;if($e&&(N4(le,ge),An(Ee,()=>{N4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),So(ke,I1),So(de,U4),So(xe,PE),So(xe,jE),So(xe,ai),pe(de)&&lv(de),pe(xe)&&lv(xe),pe(ke)&&lv(ke)}),r&&!V&&(Zi(xe,ai,IE,!0),An(Ee,So.bind(0,xe,ai))),Te&&(fQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,gp);to(xe,gp,"-1"),xe.focus();const Se=()=>bt?to(xe,gp,bt):So(xe,gp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Ee)]},tJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Ro(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:a?"":"100%"}),{gt:d,wt:d}}},nJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=ys({u:yQ,o:B4()},B4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Ro(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||a,Q),no(a,F),r({K:b,St:!D,P:s?F:hr({},Q,F)})}return{xt:M}}},{max:O1}=Math,ii=O1.bind(0,0),AE="visible",Z4="hidden",rJ=42,bp={u:vE,o:{w:0,h:0}},oJ={u:bE,o:{x:Z4,y:Z4}},sJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:ii(e.w-t.w),h:ii(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},yp=e=>e.indexOf(AE)===0,aJ=(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}=Ro(),S=dl()[Ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(bp,Qh.bind(0,a)),[E,O]=ys(bp,Yh.bind(0,a)),[R,M]=ys(bp),[D,A]=ys(bp),[L]=ys(oJ),Q=(z,$)=>{if(no(a,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Qh(o),K=$p(o),U=no(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(a,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?rJ:0,ae=(pe,le,ge)=>{const ke=no(a,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=yp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",yp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,a,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=yp(le.x),Te=yp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,IQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(mc,hc,!1);const[Pe,Ye]=T(ke,re,vt),[Ke,dt]=$e=P(Y),[zt,cr]=kt=E(Y),pn=$p(a);let ln=zt,Hr=pn;Pe(),(cr||dt||pe)&&Ye&&!ke&&G(Ye,zt,Ke,re)&&(Hr=$p(a),ln=Yh(a));const xr={w:ii(O1(zt.w,ln.w)+Ke.w),h:ii(O1(zt.h,ln.h)+Ke.h)},Fn={w:ii((_?m.innerWidth:Hr.w+ii(pn.w-zt.w))+Ke.w),h:ii((_?m.innerHeight+Ke.h:Hr.h+ii(pn.h-zt.h))+Ke.h)};on=D(Fn),ct=R(sJ(xr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ye=V(ke,Lt,le,Pe),Ke=G(Ye,Tt,ht,re);d||q(Ye,re,Ke,Pe),xe&&Q(Ye,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(a,Pe)}Zi(o,xs,hc,Le),Zi(s,I1,EQ,Le),d||Zi(a,ai,mc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:Pt}}},ek=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},iJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Ro(),p=!a&&(c.x||c.y),h=[tJ(e,t),nJ(e,t),aJ(e,t)];return(m,v,b)=>{const w=ek(hr({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&&Ps(r),k=y&&ja(r);o("",Jh,!0);let _=w;return _n(h,P=>{_=ek(_,P(_,m,!!b)||{},b)}),Ps(r,S),ja(r,k),o("",Jh),s||(Ps(n,0),ja(n,0)),_}},lJ=(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):fE(m,e));b&&b.length&&v&&Ei(v)&&An(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=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},tk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Ry(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=lJ(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=_y(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&Kh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),Kh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new vQ(P=>k(P));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 P=_.takeRecords();return!Py(P)&&k(P,!0)}}]},xp=3333333,wp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[VQ],{B:a}=Ro(),d=pE(`
`)[0],p=d.firstChild,h=pd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!wp(y)&&wp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&fd(y[0]),k=!S&&ky(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=wp(E),M=wp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:pd(d);Ps(d,E?a.n?-xp:a.i?0:xp:xp),ja(d,xp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ca(b),sa(d)},()=>{if(Zl){const y=new Zl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Oy(p,"ltr rtl"),_?Ia(p,"rtl"):Ia(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Ia(d,OQ),An(b,Tr(d,"animationstart",w,{C:!!Zl}))),(Zl||s)&&ns(e,d)}]},cJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,uJ=(e,t)=>{let n;const r=el(MQ),o=[],[s]=ys({o:!1}),a=(d,p)=>{if(d){const h=s(cJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),sa(r)},()=>{if($4)n=new $4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=hd(r);a(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},nk=`[${xs}]`,dJ=`[${ai}]`,cv=["tabindex"],rk=["wrap","cols","rows"],uv=["id","class","style","open"],fJ=(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}=Ro(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(mc,hc),q=m(av,""),G=q&&Ps(c),T=q&&ja(c);v(mc,hc),v(av,""),v("",Jh,!0);const z=Yh(d),$=Yh(c),Y=Qh(c);return v(mc,hc,V),v(av,"",q),v("",Jh),Ps(c,G),ja(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?rk:uv.concat(rk),S=Ry(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||cv,q=>{if(_y(cv,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?uJ(a,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(a,P,{Vt:!0,Bt:!0}),[L,Q]=tk(a,!1,E,{Pt:uv,Ht:uv.concat(cv)}),F=h&&Zl&&new Zl(P.bind(0,{gt:!0}));return F&&F.observe(a),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&hr(V,E.apply(0,An(q,!0))),G&&hr(V,_.apply(0,An(G,!0))),T&&hr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=tk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:nk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?dQ(U,nk,dJ):!1)||!!Jl(U,`.${Oo}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=gi(X)&&X,o=gi(K)&&K}else gi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ok={x:0,y:0},pJ=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:ok,Tt:ok,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:pd(e.Z)}),hJ=(e,t)=>{const n=E1(t,{}),[r,o,s]=Dy(),[a,c,d]=eJ(e),p=DE(pJ(a)),[h,m]=p,v=iJ(a,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!jy(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=fJ(a,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=a,E=Ps(P),O=ja(P);y(),c(),Ps(I,E),ja(I,O)},_.qt=a,[(P,I)=>{const E=E1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:sk}=Math,mJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=hd(e);return{x:sk(t)/r||1,y:sk(n)/o||1}},gJ=(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)},vJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ak="pointerup pointerleave pointercancel lostpointercapture",bJ=(e,t,n,r,o,s,a)=>{const{B:c}=Ro(),{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=(_,P)=>I=>{const{Tt:E}=s(),O=hd(p)[y]-hd(d)[y],M=P*I/O*E[S],A=pd(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Jl(_.target,`.${Ty}`)===d,I=P?d:p;if(Zi(t,xs,V4,!0),gJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/mJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ca(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,V4),Tr(n,ak,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ak,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[UQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},yJ=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Kl(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(q4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(q4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&$a(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Y4,!0),p(()=>{v=!0,r(Y4)}),wE(b)},{S:!1,$:!0}),vJ(d,o),bJ(e,s,o,n,a,t,c),h])},{min:R1,max:ik,abs:xJ,round:wJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return ik(0,R1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return ik(0,R1(1,s/a))},SJ=(e,t,n,r,o,s)=>{const{B:a}=Ro(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=wJ(p[c]),m=xJ(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=R1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},CJ=(e,t,n)=>{const{N:r,L:o}=Ro(),{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=RE([d,p,h],()=>w&&b?d:p,a,S),_=(G,T,z)=>{const $=z?Ia:Oy;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=SJ(ae,fe,v,T,pd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=ky(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?NQ:$Q,z=G?R:M,$=Py(z)?G4:"",Y=el(`${Oo} ${T} ${$}`),ae=el(EE),fe=el(Ty),ie={Xt:Y,Gt:ae,Ft:fe};return o||Ia(Y,DQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Xh(()=>{D(G4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ca.bind(0,O)]},kJ=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Kl(),[w,y]=Kl(),[S,k]=Kl(100),[_,P]=Kl(100),[I,E]=Kl(()=>p),[O,R,M]=CJ(e,n.qt,yJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&$a(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${ja(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(X4);else{const oe=()=>T(X4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Ro(),de=E1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ye=(Ke,dt)=>{const zt=Se==="visible"||Se==="auto"&&Ke==="scroll";return T(LQ,zt,dt),zt};if(p=we,on&&T(AQ,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&T(FQ,ht),Le&&T(BQ,Lt),Pn){const Ke=Ye($e.x,!0),dt=Ye($e.y,!1);T(zQ,!(Ke&&dt))}Ge&&(z(Te),$(Te),T(K4,!Ee.x,!0),T(K4,!Ee.y,!1),T(TQ,kt&&!V))},U,ca.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},di=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Ro(),c=dl(),d=qh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[WQ],q=V&&V.O;return q?q(F,!0):F},b=hr({},r(),v(t)),[w,y,S]=Dy(n),[k,_,P]=hJ(e,b),[I,E,O]=kJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=a(M),L=F=>{ZQ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,hr(q,v(F)));jy(G)||(hr(b,G),R(G))}return hr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return hr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return hr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return hr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),JQ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),QQ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};di.plugin=e=>{_n(HQ(e),t=>$E(t,di))};di.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return k1(n)&&!!ME(n.target)};di.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}=Ro();return hr({},{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 _J=()=>{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]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(_J,[]),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,di.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,di.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(di.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=di(h,b,w);v?o(y,v):y()},()=>a.current],[])},PJ=(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]=LE({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}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},zE=f.forwardRef(PJ);var BE={exports:{}},FE={};const Lo=Z1(ZR),Su=Z1(e7),jJ=Z1(t7);(function(e){var t,n,r=Al&&Al.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Xe=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Oe,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Xe)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Oe=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Oe)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.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,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.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,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Oe=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Oe,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Oe=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Oe==null?void 0:Oe.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Oe={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Oe.inversePatches))}};if(rt.status===t.uninitialized)return Oe;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Oe.patches).push.apply(Bt,Ie[1]),(mt=Oe.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Oe.patches.push({op:"replace",path:[],value:We}),Oe.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Oe.patches)),Oe}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(rt,Oe){delete rt[Oe.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Oe){var Ie=Oe.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Oe,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Oe[De=Ze.queryCacheKey]!=null||(Oe[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Oe,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(Rn.fulfilled,function(Oe,Ie){var De=Ie.meta,We=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.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=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Oe,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Oe,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Oe){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Oe.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Oe){Oe.online=!0}).addCase(ie,function(Oe){Oe.online=!1}).addCase(Y,function(Oe){Oe.focused=!0}).addCase(ae,function(Oe){Oe.focused=!1}).addMatcher(Sn,function(Oe){return S({},Oe)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Oe){return mt(yn.match(Oe)?void 0:rt,Oe)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,cr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Oe=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Oe||(Oe=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Oe=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Ur,Rr,Ga,ef,Ao,fa;if(We.match(Vn)){var zs=Vn.payload,pa=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[pa])!=null&&ao[io]&&(gn[pa][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[pa=lo.queryCacheKey]&&delete gn[pa][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,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(ef=gn[Ga=Yr.queryCacheKey])!=null?ef:gn[Ga]={})[io]=(fa=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Oe,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Oe=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Oe=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(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(Td,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Em,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{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(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.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"}),i.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"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function qd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=qd({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"})]})}),zy=qd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=qd({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"}),DJ=qd({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"})})}),AJ=qd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[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(Z3,{children:[i.jsx(Ed,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Rb,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(fi()),{colorMode:o}=Ds();return i.jsx(Er.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:Fe("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?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Zh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(fi()),{isOver:s,setNodeRef:a,active:c}=eb({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:zp(n,c)&&i.jsx(Zh,{isOver:s,label:t})})})},By=f.memo(zJ),Fy=({isSelected:e,isHovered:t})=>i.jsx(Re,{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}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Uu=globalThis&&globalThis.__assign||function(){return Uu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=dm(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},BJ=({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(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Hy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Qm(t),h=f.useCallback(()=>{o(fm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:m,children:i.jsxs(ad,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Hy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(fm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Hy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.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(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(Fy,{isSelected:t,isHovered:d}),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(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(By,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Qm("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(fm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Hy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,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(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),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:s}),i.jsx(Fy,{isSelected:e,isHovered:c}),i.jsx(By,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=dm(),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(bm,{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($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Qv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Qv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Qm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(zy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({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 YE(e){return nt({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 QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Qb,{isLazy:o,...s,children:[i.jsx(Yb,{children:t}),i.jsxs(Jb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({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 tZ=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:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=Iu(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(pi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"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(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{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(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(km,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(Pm,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(_m,{...L,children:[i.jsx(Im,{onClick:()=>d(Number(T))}),i.jsx(jm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=dm(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(fm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(Bp(h))},[e]),c=f.useCallback(()=>{e(Bp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Em,{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(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,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(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Jm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Wy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Zm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Jm,t)}function Vy(e){e(Kc)}function eg(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Jm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Jm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Jm:t=o;break;case JE:return t}return n(r,o)}}function fZ(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=ho(e,s),t):(r(),Zm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Gu(e){return Wy(Sr(),t=>Un(e,t))}function gc(e,t){return Wy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Vy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function li(e){return t=>()=>t(e)}function Sp(e,t){return n=>r=>n(t=e(t,r))}function M1(e){return t=>n=>{e>0?e--:t(n)}}function Au(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...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);ho(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 pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),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);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Vy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(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 gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Wy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Cp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Vy)}},[_,I,P]),Cp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(eg,k));return Cp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Cp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Uy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Uy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:eg(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.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 tg(e,t=!0){return nO(e,t).callbackRef}function em(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Zm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.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():u7.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]);H.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(em(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=em(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(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 ng=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({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}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const tm="up",qu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),M1(1),li(!0)),Xt(wn(t),M1(1),li(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,li(!0)),Xt(s,li(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Au(50)),p);const w=Gu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),Sp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,Sp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Au(50)),d);const S=Kt(qu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),Sp((_,P)=>eg(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?tm:qu,prevScrollTop:P},{direction:qu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Au(50),li(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),li(0)),k),Un(Xt(t,Au(100),Xs(v),Kr(([_,P])=>!!P),Sp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(ng)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Gu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&eg(e)("props updated",{},Uy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function D1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const nm="top",rm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===tm&&t===nm||n===qu&&t===rm?e:0:n===tm?t===nm?e.main:e.reverse:t===rm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,D1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,nm),D=gk(P,rm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=tm),wh!=null),Co(D1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(ng),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([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}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(ng)),dv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=dv,e.style.position===dv?dv:vk});function AZ(e,t){const n=H.useRef(null),r=H.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}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.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}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.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}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.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}=oO(d,h,p,Zm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:om,min:fv,max:Ku}=Math;function BZ(e){return{...zZ,items:e}}function wk(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 FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function kp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{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:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),li(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,M1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,kp),wn(D,kp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,kp),wn(M,kp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*om((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=fv(U-1,Ku(bt,on-1)),vt=fv(bt,Ku(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(D1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),li(0),Co())),X=Gu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Au(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=Ku(0,de,fv(oe-1,de));let Te=A1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,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:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,ng,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=A1(e,t,n,r[0].index),a=A1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function A1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=om(r/o),a=s*n.height+Ku(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return Ku(1,om((e+n)/(om(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Zm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),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")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),a=pr("isSeeking"),c=js("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=js("itemDimensions"),b=js("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=tg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(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?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=pr("HeaderComponent"),n=js("headerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=pr("FooterComponent"),n=js("footerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=tg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=pr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:pr,useEmitter:dO}=vZ(VZ,{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"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:pr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Uy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({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(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),rg=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),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==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ny({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Gy=()=>{const e=te(),t=Vc(),{t:n}=ye(),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((O,R,M,D)=>{if(Lf(O)||zf(R)||pu(M)||v0(D)){Lf(O)&&e(Lu(O)),zf(R)&&e(zu(R)),pu(M)&&e(Bu(M)),pu(D)&&e(Fu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Lf(O)){o();return}e(Lu(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!zf(O)){o();return}e(zu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(Bu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!v0(O)){o();return}e(Fu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Fp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!b0(O)){o();return}e(Hp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(Iv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!y0(O)){o();return}e(Ev(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!x0(O)){o();return}e(Wp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Vp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(tb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;b0(R)&&e(Hp(R)),J2(D)&&e(Iv(D)),Lf(A)&&e(Lu(A)),zf(L)&&e(zu(L)),y0(Q)&&e(Ev(Q)),Q2(F)&&e(Fp(F)),x0(V)&&e(Wp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Vp(G)),pu(T)&&e(Bu(T)),v0(z)&&e(Fu(z)),d7($)&&e(q_($)),x0(ae)&&e(Ov(ae)),b0(Y)&&e(Rv(Y)),y0(fe)&&e(K_(fe)),f7(ie)&&e(Mv(ie)),p7(X)&&e(Dv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(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}},qy=()=>{const e=Vc(),{t}=ye(),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 ree(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 D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<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 D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(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 oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function Ky(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(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]}nb("gallery/requestedBoardImagesDeletion");const see=nb("gallery/sentImageToCanvas"),fO=nb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=ir("unifiedCanvas").isFeatureEnabled,[a,c]=Ky(t.image_name,500),{currentData:d}=rb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=qy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(pm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Gy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(tb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(hm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(J1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(xy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(J1(!0))},[e,t]),r=f.useCallback(()=>{e(pm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(fi()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=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:P="Reset",resetIcon:I=i.jsx(Sy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=rg({postUploadAction:m,isDisabled:p}),q=jp("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:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,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(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{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(nee,{imageDTO:t}),i.jsx(Fy,{isSelected:k,isHovered:R?D:!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:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Vd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(By,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{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:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Em,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,ob],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:p=>({imageDTOs:p.data?g7.selectAll(p.data):[]})}),s=ir("multiselect").isFeatureEnabled,a=f.useCallback(p=>{var h;if(e){if(!s){t(hu([e]));return}if(p.shiftKey){const m=e.image_name,v=(h=r[r.length-1])==null?void 0:h.image_name,b=o.findIndex(y=>y.image_name===v),w=o.findIndex(y=>y.image_name===m);if(b>-1&&w>-1){const y=Math.min(b,w),S=Math.max(b,w),k=o.slice(y,S+1);t(hu(Ow(r.concat(k))))}}else p.ctrlKey||p.metaKey?r.some(m=>m.image_name===e.image_name)&&r.length>1?t(hu(r.filter(m=>m.image_name!==e.image_name))):t(hu(Ow(r.concat(e)))):t(hu([e]))}},[t,e,o,r,s]),c=f.useMemo(()=>e?r.some(p=>p.image_name===e.image_name):!1,[e,r]),d=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:d,isSelected:c,handleClick:a}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(pm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{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(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(ob),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[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(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),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(Ld,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(zd,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,lr],(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:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Av(!1)),t&&e(ko())};tt("esc",()=>{e(Av(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Bp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Bp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),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(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,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(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(vy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{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(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(sb()),e(On({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(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.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."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{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}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(ab,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({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:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),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(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(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:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=ir("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(id,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(ld,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(qb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{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(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(id,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(ld,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,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}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),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=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("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(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:ed,children:[i.jsxs(ad,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(ad,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({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 Jee(e){return nt({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 Zee(e){return nt({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 ete(e){return nt({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 tte(e){return nt({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 vO(e){return nt({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 nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:si,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Xu}=Q1,Ek=Q1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",sm=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Xy(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const og=ste(null);og.displayName="PanelGroupContext";function SO({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=xO(og);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Xy(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{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=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return sm(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),sm(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(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 md=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";md.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Tu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}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),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),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 Gl(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 pv(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 CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Yy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function sg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Qy(e,t,n){var d,p,h,m;const r=sg(t),o=_O(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 Jo(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 Rk(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=Yy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Qy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(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 D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Tu(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(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",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=sg(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=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(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(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function T1(e){return e.type.startsWith("mouse")}function N1(e){return e.type.startsWith("touch")}let $1=null,Ki=null;function IO(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 bte(){Ki!==null&&(document.head.removeChild(Ki),$1=null,Ki=null)}function hv(e){if($1===e)return;$1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(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 OO(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 xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const mv={};function Mk(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 Nu={getItem:e=>(Mk(Nu),Nu.getItem(e)),setItem:(e,t)=>{Mk(Nu),Nu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Nu,style:p={},tagName:h="div"}){const m=Xy(a),[v,b]=Xu(null),[w,y]=Xu(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Xu([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),sm(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),sm(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);mv[e]||(mv[e]=yte(wte,100)),mv[e](e,T,P,d)}},[e,w,P,d]);const M=si((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=si((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=si(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Qy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Yy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Tu($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((T1($)||N1($))&&O.current!=le&&hv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=si(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=pv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Tu(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=pv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Tu(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=si((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=pv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Tu(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),T1(z)||N1(z)){const $=sg(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(og.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Jy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Jy.displayName="forwardRef(PanelGroup)";function L1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(og);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=Xy(r),k=h===S,[_,P]=Xu(!1),[I,E]=Xu(null),O=si(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(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:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}L1.displayName="PanelResizeHandle";const Ste=(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}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.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(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=rg({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[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(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Vd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Sy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=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(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(zy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(bm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,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}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[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})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),Kd=()=>{const{activeLabel:e}=B(Tte);return ir("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},ag=f.memo(Vte),Ute=be(vo,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:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("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(Yp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Dd,{closeOnSelect:!1,children:[i.jsx(Ad,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(rh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(rh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ig=f.memo(Gte),qte=be([lt,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}=G7.endpoints.getMainModels.select(Qu)(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")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Xd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Xd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Qm(a),p=f.useCallback(()=>{r(xd()),r(wd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"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?Dk:{}},children:"Invoke"})})]})})}const Yd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Zy,{}),i.jsx(ig,{})]}),ex=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(ey,{ref:t,onPaste:ex,onKeyDown:r,onKeyUp:o,...e})}),lg=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(yy,{}),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})},cg=f.memo(Jte),tx="28rem",ug=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(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:Qn[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(Qb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Yb,{children:o}),i.jsx(Jb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${tx} - 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(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{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})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(zu(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(zu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(ug,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(lg,{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(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Xd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e(Lu(w.target.value))},[e]);tt("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(Lu(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(xd()),e(wd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(ug,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={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)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Fu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Fu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ib,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Mv(a)),[r]),s=f.useCallback(()=>r(Mv(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})},ine=f.memo(ane),am=/^-?(0\.)?\.?$/,lne=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(am)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(am)||a(p?Math.floor(Number(R)):Number(R))},I=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(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(km,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:ex,children:[i.jsx(Pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(_m,{children:[i.jsx(Im,{...b}),i.jsx(jm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Rv(d)),[o]),c=f.useCallback(()=>o(Rv(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(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Qd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ib),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[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=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{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(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(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}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Dv(s)),[t]),o=f.useCallback(()=>t(Dv(.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})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ov(c))},[r]),a=f.useCallback(()=>{r(Ov(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(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({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}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Hp(m)),[c]),h=f.useCallback(()=>c(Hp(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(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Ine),Ene=be([lt],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}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(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(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(One),nx=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Qu),{data:a,isLoading:c}=Up(Qu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=nx(v);b&&e(Iv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=Z7.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},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(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:Qn[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(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{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})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(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}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Ev(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=ir("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},Si=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({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}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(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})},Kne=f.memo(qne),Xne=be([lt],({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}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(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})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(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(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),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(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({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}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Wp(v))},[c]),h=f.useCallback(()=>{c(Wp(t))},[c,t]),m=f.useCallback(()=>{c(xd())},[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(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Fp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Fp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),ki=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.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})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),fre=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(sM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(aM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(iM(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(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},pre=f.memo(fre),hre=be(lt,({lora:e})=>({lorasArray:cs(e.loras)}),Je),mre=()=>{const{lorasArray:e}=B(hre);return i.jsx(i.Fragment,{children:e.map((t,n)=>i.jsxs(i.Fragment,{children:[n>0&&i.jsx(Wa,{pt:1},`${t.model_name}-divider`),i.jsx(pre,{lora:t},t.model_name)]}))})},gre=be(lt,({lora:e})=>({loras:e.loras}),Je),vre=()=>{const e=te(),{loras:t}=B(gre),{data:n}=mm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(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:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),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(lM(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(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{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})},bre=be(lt,e=>{const t=o5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),yre=()=>{const{activeLabel:e}=B(bre);return ir("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(vre,{}),i.jsx(mre,{})]})}):null},Jd=f.memo(yre),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(cM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),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}})},xre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),wre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(xre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:tx,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},rx=f.memo(wre),Sre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(L1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx(L1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(Sre),Cre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),kre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(Cre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},_re=[{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 Pre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(uM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:_re})}const jre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(s5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Pre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Ire=be([lt,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:Zt}}),Ere=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(Ire),d=ir("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Gy(),[w,y]=Ky(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=rb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(tb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(s5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(pm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(dM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!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(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:ed,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(jre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(yy,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(kre,{onClick:M,isDisabled:o})})]})})},Ore=be([lt,ob],(e,t)=>{var _,P;const{data:n,status:r}=fM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=pM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Ore),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Rre(e){return nt({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 bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Rre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{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(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Mre=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}=Gy(),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]),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(()=>{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(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},Dre=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(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{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(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Are=({image:e})=>{const[t,n]=Ky(e.image_name,500),{currentData:r}=rb(n.isPending()?ro.skipToken:t??ro.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(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(Mre,{metadata:o}),i.jsxs(Ld,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(zd,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx($m,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Nm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Dre,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Tre=f.memo(Are),gv={color:"base.100",pointerEvents:"auto"},Nre=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:gv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:gv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:gv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},$re=f.memo(Nre),Lre=be([lt,hM],({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==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Lre),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{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(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Tre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.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($re,{})},"nextPrevButtons")})]})},Bre=f.memo(zre),Fre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(Ere,{}),i.jsx(Bre,{})]}),UO=()=>i.jsx(Re,{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(Fre,{})})});function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?Bf[t.base_model].maxClip:Bf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Bf[t.base_model].markers:Bf["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 Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=mM.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},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=lb(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&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(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.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})]})},Jre=f.memo(Qre),Cu=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Cu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Cu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Cu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Cu.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Cu.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:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),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:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.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(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),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:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.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})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),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:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.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(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),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:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.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})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),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:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.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})]})},uoe=f.memo(coe),_p=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),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:_p.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:_p.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:_p.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:_p.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})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),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:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.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})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),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:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.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(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),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:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.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(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(pi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:1})}),i.jsx(Ap,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Ap,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Ap,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,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)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:fi()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);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(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(zy,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{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:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=lb(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=fi();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{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($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(Wa,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return ir("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return ir("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({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}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Vp(h)),[a]),p=f.useCallback(()=>{a(Vp(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}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(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(rx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Jy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(md,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=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 Gk=yd(ise);function z1(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 lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(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(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(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(ec(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 B1(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=xa(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)=>B1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||B1(a,t,c,o)),o},r)}function F1(e,t){return Qk(typeof e=="function"?e(t):B1(e,t))}function Pp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=F1(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 pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),dg(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},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 yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?dg(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),dg(e,s,r)}function o_(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 _se(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 Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ri=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},vv=(e,t)=>jse(e,Ise(t));function Sl({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(z1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ri(ri({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>z1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>vv(ri({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ri({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>vv(ri({},re),{[K]:!0})),w(re=>{const oe=dg(K,U,re);if(se){const pe=Pp(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ri(ri({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=F1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=Pp(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>vv(ri({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=Pp(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(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()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!Pp(K,d,b).hasError:!F1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=by(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Zd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function fg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.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]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Cd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Zd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(fg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0: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(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Cd(null))}).catch(d=>{d&&n(On(Mn({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(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Zd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(fg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,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(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({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(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({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(br,{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(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){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(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{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(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=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(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Ed,{...a,onPaste:ex,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({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(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Cd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{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(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(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(Re,{as:Er.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(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Cd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(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(Qe,{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(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Cd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({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(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.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:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{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(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(oh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{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(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(oh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{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(Td,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[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,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{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(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Ab,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(oh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({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(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({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(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(Wa,{}),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(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Zd,{required:!0,...h.getInputProps("base_model")}),i.jsx(fg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({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(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({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(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{required:!0,...c.getInputProps("base_model")}),i.jsx(fg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},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(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,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(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"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 eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:ku(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:ku(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=mm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:ku(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:ku(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:ku(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.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(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(Pu,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(_u,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(Pu,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(_u,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(Pu,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(_u,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(Pu,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(_u,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(Pu,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(_u,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},ku=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function _u(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function Pu({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=mm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();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(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Qd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs(Ld,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(zd,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx($m,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Nm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([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}}),lae=(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},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=cb();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{...c_,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=fi(),s=mw(r.inputs,(h,m,v)=>{const b=fi(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:fi(),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{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Zb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function pg(){return(pg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function H1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=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(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=W1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Yu(I)}(k,d.current)&&_)){if(Yu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,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]),H.createElement("div",pg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),hg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=hg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},V1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},bv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=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:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=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:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=hg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:V1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:V1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:V1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=H1(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;l8(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 jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.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}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+bv(Object.assign({},n,{a:0}))+", "+bv(Object.assign({},n,{a:1}))+")"},s=hg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:bv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=hg(["react-colorful",t]);return H.createElement("div",pg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,pg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=lb(),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 oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=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}=eb({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(Uae,{imageName:d},d)),zp(r,a)&&i.jsx(Zh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({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(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=WM.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},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=mm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[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=Qae(p);h&&o(As({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(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[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})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a}=Up(Qu),{data:c,isLoading:d}=na(Qu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=nx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(am)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(am)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(km,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(Pm,{}),i.jsxs(_m,{children:[i.jsx(Im,{}),i.jsx(jm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(ey,{onChange:o,value:n.value,rows:2}):i.jsx(Ed,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[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=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[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})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ib),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[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=nx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[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(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{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(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(pi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(pi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(pi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(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=B(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(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},U1=f.memo(Sie),G1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(G1,{selected:r,children:[i.jsx(r8,{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(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(U1,{})]}):i.jsx(G1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(U1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(G1,{selected:o,children:[i.jsx(r8,{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(Lc,{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(tl,{})})}),i.jsx(U1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=cb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(yy,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(vd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=jp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=jp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=jp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Td,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.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:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.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:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=cb(),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}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Vd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Xd(),a=f.useCallback(()=>{r(wd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),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(Yt,{"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 $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(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(ze,{icon:i.jsx(Um,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(vd,{position:"top-center",children:i.jsxs(pi,{children:[i.jsx(Nie,{}),i.jsx(ig,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({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}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,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"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(vd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{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)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(vd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var q1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(q1,q1.exports);var lle=q1.exports;const gd=yd(lle);var m8={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 cle=function(t){var n={},r=f,o=Ip,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 ue=` -`+C[N].replace(" at new "," at ");return l.displayName&&ue.includes("")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(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 Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(a(168));Wt(Gt,u),Wt(un,g)}function Rn(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 Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,bn=4194304;function yn(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 qe(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=yn(Z):(j&=N,j!==0&&(x=yn(j)))}else N=g&~C,N!==0?x=yn(N):j!==0&&(x=yn(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 rt(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,To=1<<32-Tn(u)+C|g<Cn?(Br=Jt,Jt=null):Br=Jt.sibling;var kn=at(ce,Jt,ve[Cn],it);if(kn===null){Jt===null&&(Jt=Br);break}l&&Jt&&kn.alternate===null&&u(ce,Jt),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Jt=Br}if(Cn===ve.length)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;CnCn?(Br=Jt,Jt=null):Br=Jt.sibling;var ei=at(ce,Jt,kn.value,it);if(ei===null){Jt===null&&(Jt=Br);break}l&&Jt&&ei.alternate===null&&u(ce,Jt),ne=j(ei,ne,Cn),rn===null?At=ei:rn.sibling=ei,rn=ei,Jt=Br}if(kn.done)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Qt(ce,kn.value,it),kn!==null&&(ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ai(ce,Cn),At}for(Jt=x(ce,Jt);!kn.done;Cn++,kn=ve.next())kn=Yn(Jt,ce,Cn,kn.value,it),kn!==null&&(l&&kn.alternate!==null&&Jt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Jt.forEach(function(uR){return u(ce,uR)}),er&&Ai(ce,Cn),At}function va(ce,ne,ve,it){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 At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===P&&Ex(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=Jc(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.sibling}ve.type===h?(ne=Fi(ve.props.children,ce.mode,it,ve.key),ne.return=ce,ce=ne):(it=Tf(ve.type,ve.key,ve.props,null,ce.mode,it),it.ref=Jc(ce,ne,ve),it.return=ce,ce=it)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)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=g0(ve,ce.mode,it),ne.return=ce,ce=ne}return N(ce);case P:return rn=ve._init,va(ce,ne,rn(ve._payload),it)}if(q(ve))return Ln(ce,ne,ve,it);if(O(ve))return wo(ce,ne,ve,it);cf(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=m0(ve,ce.mode,it),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return va}var jl=Ox(!0),Rx=Ox(!1),Zc={},Go=yt(Zc),eu=yt(Zc),Il=yt(Zc);function Fs(l){if(l===Zc)throw Error(a(174));return l}function Eg(l,u){Wt(Il,u),Wt(eu,l),Wt(Go,Zc),l=T(u),Mt(Go),Wt(Go,l)}function El(){Mt(Go),Mt(eu),Mt(Il)}function Mx(l){var u=Fs(Il.current),g=Fs(Go.current);u=z(g,l.type,u),g!==u&&(Wt(eu,l),Wt(Go,u))}function Og(l){eu.current===l&&(Mt(Go),Mt(eu))}var ur=yt(0);function uf(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(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 Rg=[];function Mg(){for(var l=0;lg?g:4,l(!0);var x=Dg.transition;Dg.transition={};try{l(!1),u()}finally{Ie=g,Dg.transition=x}}function Yx(){return qo().memoizedState}function $8(l,u,g){var x=Qa(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Qx(l))Jx(u,g);else if(g=wx(l,u,g,x),g!==null){var C=eo();Ko(g,l,x,C),Zx(g,u,x)}}function L8(l,u,g){var x=Qa(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Qx(l))Jx(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 ue=u.interleaved;ue===null?(C.next=C,_g(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=wx(l,u,C,x),g!==null&&(C=eo(),Ko(g,l,x,C),Zx(g,u,x))}}function Qx(l){var u=l.alternate;return l===dr||u!==null&&u===dr}function Jx(l,u){tu=ff=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Zx(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Oe(l,g)}}var mf={readContext:Uo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},z8={readContext:Uo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Uo,useEffect:Hx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,pf(4194308,4,Ux.bind(null,u,l),g)},useLayoutEffect:function(l,u){return pf(4194308,4,l,u)},useInsertionEffect:function(l,u){return pf(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=$8.bind(null,dr,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Bx,useDebugValue:Bg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Bx(!1),u=l[0];return l=N8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=dr,C=Hs();if(er){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||Tx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,Hx($x.bind(null,x,j,l),[l]),x.flags|=2048,ou(9,Nx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(er){var g=Yr,x=To;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=nu++,0i0&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304)}else{if(!x)if(l=uf(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),iu(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>i0&&g!==1073741824&&(u.flags|=128,x=!0,iu(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=ur.current,Wt(ur,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return f0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?$o&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function q8(l,u){switch(vg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return El(),Mt(un),Mt(Gt),Mg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Og(u),null;case 13:if(Mt(ur),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));kl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(ur),null;case 4:return El(),null;case 10:return Cg(u.type._context),null;case 22:case 23:return f0(),null;case 24:return null;default:return null}}var xf=!1,Zr=!1,K8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Rl(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Xg(l,u,g){try{g()}catch(x){tr(l,u,x)}}var b2=!1;function X8(l,u){for($(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:hs(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){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=b2,b2=!1,g}function lu(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&&Xg(u,g,j)}C=C.next}while(C!==x)}}function wf(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 Yg(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 y2(l){var u=l.alternate;u!==null&&(l.alternate=null,y2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ee(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 x2(l){return l.tag===5||l.tag===3||l.tag===4}function w2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||x2(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 Qg(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(Qg(l,u,g),l=l.sibling;l!==null;)Qg(l,u,g),l=l.sibling}function Jg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ge(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(Jg(l,u,g),l=l.sibling;l!==null;)Jg(l,u,g),l=l.sibling}var Gr=null,ms=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Zg(l,u,g),g=g.sibling}function Zg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Rl(g,u);case 6:if(le){var x=Gr,C=ms;Gr=null,Vs(l,u,g),Gr=x,ms=C,Gr!==null&&(ms?Ye(Gr,g.stateNode):Pe(Gr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Gr!==null&&(ms?He(Gr,g.stateNode):xt(Gr,g.stateNode));break;case 4:le?(x=Gr,C=ms,Gr=g.stateNode.containerInfo,ms=!0,Vs(l,u,g),Gr=x,ms=C):(ge&&(x=g.stateNode.containerInfo,C=xr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(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)&&Xg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Rl(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function S2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new K8),u.forEach(function(x){var C=oR.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function gs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case Cf:return":has("+(n0(l)||"")+")";case kf:return'[role="'+l.value+'"]';case Pf:return'"'+l.value+'"';case _f:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function I2(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*Q8(x/1960))-x,10l?16:l,Ya===null)var x=!1;else{if(l=Ya,Ya=null,Rf=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 ue=0;ueVe()-a0?Li(l,0):s0|=g),xo(l,u)}function $2(l,u){u===0&&(l.mode&1?(u=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),xo(l,g))}function rR(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),$2(l,g)}function oR(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),$2(l,g)}var L2;L2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)bo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return bo=!1,U8(l,u,g);bo=!!(l.flags&131072)}else bo=!1,er&&u.flags&1048576&&mx(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;vf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);Pl(u,g),C=Tg(null,u,x,l,C,g);var j=Ng();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,Jn(x)?(j=!0,Zn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,Pg(u),C.updater=lf,u.stateNode=C,C._reactInternals=u,Ig(u,x,l,g),u=Vg(null,u,x,!0,j,g)):(u.tag=0,er&&j&&gg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(vf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=aR(x),l=hs(x,l),C){case 0:u=Wg(null,u,x,l,g);break e;case 1:u=u2(null,u,x,l,g);break e;case 11:u=s2(null,u,x,l,g);break e;case 14:u=a2(null,u,x,hs(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:hs(x,C),Wg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),u2(l,u,x,C,g);case 3:e:{if(d2(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,Sx(l,u),af(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&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=Ol(Error(a(423)),u),u=f2(l,u,x,g,C);break e}else if(x!==C){C=Ol(Error(a(424)),u),u=f2(l,u,x,g,C);break e}else for(ke&&(Vo=ee(u.stateNode.containerInfo),No=u,er=!0,ps=null,Qc=!1),g=Rx(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(kl(),x===C){u=ma(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return Mx(u),l===null&&yg(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),c2(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&yg(u),null;case 13:return p2(l,u,g);case 4:return Eg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=jl(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:hs(x,C),s2(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,xx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ma(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 ue=Z.firstContext;ue!==null;){if(ue.context===x){if(j.tag===1){ue=ha(-1,g&-g),ue.tag=2;var Ne=j.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}j.lanes|=g,ue=j.alternate,ue!==null&&(ue.lanes|=g),kg(j.return,g,u),Z.lanes|=g;break}ue=ue.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),kg(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,Pl(u,g),C=Uo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=hs(x,u.pendingProps),C=hs(x.type,C),a2(l,u,x,C,g);case 15:return i2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),vf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,Pl(u,g),jx(u,x,C),Ig(u,x,C,g),Vg(null,u,x,!0,l,g);case 19:return m2(l,u,g);case 22:return l2(l,u,g)}throw Error(a(156,u.tag))};function z2(l,u){return We(l,u)}function sR(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 Xo(l,u,g,x){return new sR(l,u,g,x)}function h0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function aR(l){if(typeof l=="function")return h0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Za(l,u){var g=l.alternate;return g===null?(g=Xo(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 Tf(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")h0(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=Xo(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Xo(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Xo(19,g,u,C),l.elementType=k,l.lanes=j,l;case I:return Nf(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 P:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Xo(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Xo(7,l,x,u),l.lanes=g,l}function Nf(l,u,g,x){return l=Xo(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function m0(l,u,g){return l=Xo(6,l,null,u),l.lanes=g,l}function g0(l,u,g){return u=Xo(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function iR(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,ke&&(this.mutableSourceEagerHydrationData=null)}function B2(l,u,g,x,C,j,N,Z,ue){return l=new iR(l,u,g,Z,ue),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Xo(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},Pg(j),l}function F2(l){if(!l)return jn;l=l._reactInternals;e:{if(D(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(Jn(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(Jn(g))return Rn(l,g,u)}return u}function H2(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 W2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&j>=Qt&&C<=gt&&N<=at){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||atN){if(!(j!==Qt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtj&&(ue.height+=Qt-j,ue.y=j),atg&&(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:lR,findFiberByHostInstance:l.findFiberByHostInstance||cR,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{Xn=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=r0(l,u);var C=Tt(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=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=eo(),N=Qa(C);return g=F2(g),u.context===null?u.context=g:u.pendingContext=g,u=ha(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ka(C,u,N),l!==null&&(Ko(l,C,N,j),sf(l,C,N)),N},n};m8.exports=cle;var ule=m8.exports;const dle=yd(ule);var g8={exports:{}},Cl={};/** - * @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. - */Cl.ConcurrentRoot=1;Cl.ContinuousEventPriority=4;Cl.DefaultEventPriority=16;Cl.DiscreteEventPriority=1;Cl.IdleEventPriority=536870912;Cl.LegacyRoot=0;g8.exports=Cl;var v8=g8.exports;const h_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let m_=!1,g_=!1;const fx=".react-konva-event",fle=`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 -`,ple=`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 -`,hle={};function mg(e,t,n=hle){if(!m_&&"zIndex"in t&&(console.warn(ple),m_=!0),!g_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(fle),g_=!0)}for(var s in n)if(!h_[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(!h_[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+fx,b[d])}function Di(e){if(!uD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const b8={},mle={};gd.Node.prototype._applyProps=mg;function gle(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 vle(e,t,n){let r=gd[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=gd.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 mg(d,s),d}function ble(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function yle(e,t,n){return!1}function xle(e){return e}function wle(){return null}function Sle(){return null}function Cle(e,t,n,r){return mle}function kle(){}function _le(e){}function Ple(e,t){return!1}function jle(){return b8}function Ile(){return b8}const Ele=setTimeout,Ole=clearTimeout,Rle=-1;function Mle(e,t){return!1}const Dle=!1,Ale=!0,Tle=!0;function Nle(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function $le(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function y8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Lle(e,t,n){y8(e,t,n)}function zle(e,t){t.destroy(),t.off(fx),Di(e)}function Ble(e,t){t.destroy(),t.off(fx),Di(e)}function Fle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function Hle(e,t,n){}function Wle(e,t,n,r,o){mg(e,o,r)}function Vle(e){e.hide(),Di(e)}function Ule(e){}function Gle(e,t){(t.visible==null||t.visible)&&e.show()}function qle(e,t){}function Kle(e){}function Xle(){}const Yle=()=>v8.DefaultEventPriority,Qle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Nle,appendChildToContainer:$le,appendInitialChild:gle,cancelTimeout:Ole,clearContainer:Kle,commitMount:Hle,commitTextUpdate:Fle,commitUpdate:Wle,createInstance:vle,createTextInstance:ble,detachDeletedInstance:Xle,finalizeInitialChildren:yle,getChildHostContext:Ile,getCurrentEventPriority:Yle,getPublicInstance:xle,getRootHostContext:jle,hideInstance:Vle,hideTextInstance:Ule,idlePriority:Ip.unstable_IdlePriority,insertBefore:y8,insertInContainerBefore:Lle,isPrimaryRenderer:Dle,noTimeout:Rle,now:Ip.unstable_now,prepareForCommit:wle,preparePortalMount:Sle,prepareUpdate:Cle,removeChild:zle,removeChildFromContainer:Ble,resetAfterCommit:kle,resetTextContent:_le,run:Ip.unstable_runWithPriority,scheduleTimeout:Ele,shouldDeprioritizeSubtree:Ple,shouldSetTextContent:Mle,supportsMutation:Tle,unhideInstance:Gle,unhideTextInstance:qle,warnsIfNotActing:Ale},Symbol.toStringTag,{value:"Module"}));var Jle=Object.defineProperty,Zle=Object.defineProperties,ece=Object.getOwnPropertyDescriptors,v_=Object.getOwnPropertySymbols,tce=Object.prototype.hasOwnProperty,nce=Object.prototype.propertyIsEnumerable,b_=(e,t,n)=>t in e?Jle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y_=(e,t)=>{for(var n in t||(t={}))tce.call(t,n)&&b_(e,n,t[n]);if(v_)for(var n of v_(t))nce.call(t,n)&&b_(e,n,t[n]);return e},rce=(e,t)=>Zle(e,ece(t));function x8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=x8(r,t,n);if(o)return o;r=t?null:r.sibling}}function w8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const px=w8(f.createContext(null));class S8 extends f.Component{render(){return f.createElement(px.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:x_,ReactCurrentDispatcher:w_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function oce(){const e=f.useContext(px);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[x_==null?void 0:x_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=x8(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 sce(){var e,t;const n=oce(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==px&&!r.has(s)&&r.set(s,(t=w_==null?void 0:w_.current)==null?void 0:t.readContext(w8(s))),o=o.return}return r}function ace(){const e=sce();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,rce(y_({},r),{value:e.get(n)}))),t=>f.createElement(S8,y_({},t))),[e])}function ice(e){const t=H.useRef({});return H.useLayoutEffect(()=>{t.current=e}),H.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const lce=e=>{const t=H.useRef(),n=H.useRef(),r=H.useRef(),o=ice(e),s=ace(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return H.useLayoutEffect(()=>(n.current=new gd.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=$u.createContainer(n.current,v8.LegacyRoot,!1,null),$u.updateContainer(H.createElement(s,{},e.children),r.current),()=>{gd.isBrowser&&(a(null),$u.updateContainer(null,r.current,null),n.current.destroy())}),[]),H.useLayoutEffect(()=>{a(n.current),mg(n.current,e,o),$u.updateContainer(H.createElement(s,{},e.children),r.current,null)}),H.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})},ju="Layer",La="Group",aa="Rect",Hi="Circle",im="Line",C8="Image",cce="Transformer",$u=dle(Qle);$u.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:H.version,rendererPackageName:"react-konva"});const uce=H.forwardRef((e,t)=>H.createElement(S8,{},H.createElement(lce,{...e,forwardedRef:t}))),dce=be([mn,lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),fce=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=B(dce);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Gp(!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(m5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Gp(!1))},[e,r,n,t])}},pce=be([mn,Kn,lr],(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:Zt}}),hce=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=B(pce),c=f.useRef(null),d=g5(),p=()=>e(ub());tt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(kd(!s));tt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),tt(["n"],()=>{e(Ju(!a))},{enabled:!0,preventDefault:!0},[a]),tt("esc",()=>{e(dD())},{enabled:()=>!0,preventDefault:!0}),tt("shift+h",()=>{e(fD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),tt(["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])},hx=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}},k8=()=>{const e=te(),t=Oa(),n=g5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=pD.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;d&&s&&a&&c&&e(hD({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(mD())}}},mce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),gce=e=>{const t=te(),{tool:n,isStaging:r}=B(mce),{commitColorUnderCursor:o}=k8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Gp(!0));return}if(n==="colorPicker"){o();return}const a=hx(e.current);a&&(s.evt.preventDefault(),t(v5(!0)),t(gD([a.x,a.y])))},[e,n,r,t,o])},vce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),bce=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=B(vce),{updateColorUnderCursor:c}=k8();return f.useCallback(()=>{if(!e.current)return;const d=hx(e.current);if(d){if(r(vD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(b5([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},yce=()=>{const e=te();return f.useCallback(()=>{e(bD())},[e])},xce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),wce=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=B(xce);return f.useCallback(()=>{if(r==="move"||s){n(Gp(!1));return}if(!t.current&&o&&e.current){const a=hx(e.current);if(!a)return;n(b5([a.x,a.y]))}else t.current=!1;n(v5(!1))},[t,n,o,s,e,r])},Sce=be([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Cce=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=B(Sce);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*wD**c,xD,yD),p={x:s.x-a.x*d,y:s.y-a.y*d};t(SD(d)),t(m5(p))},[e,n,r,t])},kce=be(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:Zt}}),_ce=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(kce);return i.jsxs(La,{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"})]})},Pce=be([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),jce=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=B(Pce),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=$c("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,P=k.y2-k.y1,I=Math.round(_/64)+1,E=Math.round(P/64)+1,O=Ew(0,I).map(M=>i.jsx(im,{x:k.x1+M*64,y:k.y1,points:[0,0,0,P],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=Ew(0,E).map(M=>i.jsx(im,{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(La,{children:o})},Ice=be([vo,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:Zt}}),Ece=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=B(Ice),[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},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Oce=be(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),S_=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),Rce=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(Oce),[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=S_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=S_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Tl(r.x)||!Tl(r.y)||!Tl(s)||!Tl(o.width)||!Tl(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:Tl(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Mce=be([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),Dce=e=>{const{...t}=e,{objects:n}=B(Mce);return i.jsx(La,{listening:!1,...t,children:n.filter(CD).map((r,o)=>i.jsx(im,{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,Ace=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 Tce=yd(Ace),_8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=Is(s??ro.skipToken),[d]=Tce((a==null?void 0:a.image_url)??"",kD.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})},Nce=be([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),$ce=()=>{const{objects:e}=B(Nce);return e?i.jsx(La,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(B_(t))return i.jsx(_8,{canvasImage:t},n);if(_D(t)){const r=i.jsx(im,{points:t.points,stroke:t.color?rl(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(La,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(PD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(jD(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},Lce=be([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:Zt}}),zce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=B(Lce);return i.jsxs(La,{...t,children:[r&&n&&i.jsx(_8,{canvasImage:n}),o&&i.jsxs(La,{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})]})]})},Bce=be([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:Zt}}),Fce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=B(Bce),{t:a}=ye(),c=f.useCallback(()=>{e(yw(!0))},[e]),d=f.useCallback(()=>{e(yw(!1))},[e]);tt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),tt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),tt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(ID()),[e]),h=f.useCallback(()=>e(ED()),[e]),m=f.useCallback(()=>e(OD(s)),[e,s]),{data:v}=Is((r==null?void 0:r.imageName)??ro.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(rr,{isAttached:!0,children:[i.jsx(ze,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(OY,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(RY,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(AY,{}),onClick:m,colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(HY,{}):i.jsx(FY,{}),onClick:()=>e(RD(!o)),colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(Um,{}),onClick:()=>{v&&e(MD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(DD()),colorScheme:"error",fontSize:20})]})}):null},Hce=()=>{const e=B(c=>c.canvas.layerState),t=B(c=>c.canvas.boundingBoxCoordinates),n=B(c=>c.canvas.boundingBoxDimensions),r=B(c=>c.canvas.isMaskEnabled),o=B(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),Tee(async()=>{const c=await AD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=TD(d,p);a(h)},1e3,[e,t,n,r,o]),s},Wce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},Vce=()=>{const e=Hce();return i.jsxs(Re,{children:["Mode: ",e?Wce[e]:"..."]})},tc=e=>Math.round(e*100)/100,Uce=be([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${tc(n)}, ${tc(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function Gce(){const{cursorCoordinatesString:e}=B(Uce),{t}=ye();return i.jsx(Re,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const K1="var(--invokeai-colors-warning-500)",qce=be([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=K1),{activeLayerColor:b==="mask"?K1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${tc(p)}, ${tc(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${tc(r)}×${tc(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),Kce=()=>{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}=B(qce),{t:b}=ye();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(Vce,{}),i.jsx(Re,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Re,{style:{color:K1},children:"Preserve Masked Area: On"}),m&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Re,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(Gce,{})]})]})},Xce=be([lt],({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:Zt}}),Yce=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}=B(Xce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!w.current||(b.current.nodes([w.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const k=64*d;tt("N",()=>{n(Ju(!p))});const _=f.useCallback(F=>{if(!p){n(w0({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const V=F.target.x(),q=F.target.y(),G=ws(V,64),T=ws(q,64);F.target.x(G),F.target.y(T),n(w0({x:G,y:T}))},[n,p]),P=f.useCallback(()=>{if(!w.current)return;const F=w.current,V=F.scaleX(),q=F.scaleY(),G=Math.round(F.width()*V),T=Math.round(F.height()*q),z=Math.round(F.x()),$=Math.round(F.y());if(v){const Y=ws(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:T}));n(w0({x:p?Iu(z,64):z,y:p?Iu($,64):$})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,V,q)=>{const G=F.x%k,T=F.y%k;return{x:Iu(V.x,k)+G,y:Iu(V.y,k)+T}},[k]),E=()=>{n(S0(!0))},O=()=>{n(S0(!1)),n(C0(!1)),n(Ff(!1)),S(!1)},R=()=>{n(C0(!0))},M=()=>{n(S0(!1)),n(C0(!1)),n(Ff(!1)),S(!1)},D=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},L=()=>{n(Ff(!0))},Q=()=>{n(Ff(!1))};return i.jsxs(La,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:L,onMouseOver:L,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:D,onMouseEnter:D,onMouseUp:M,onTransform:P,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(cce,{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:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Qce=be(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:xw/m,colorPickerInnerRadius:(xw-Tv+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Jce=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}=B(Qce);return d?i.jsxs(La,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Tv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Tv,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},Zce=be([mn,lr],(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}},Je),eue=je(uce,{shouldForwardProp:e=>!["sx"].includes(e)}),C_=()=>{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}=B(Zce);hce();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{$D(A),v.current=A},[]),y=f.useCallback(A=>{ND(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=Cce(v),P=gce(v),I=wce(v,k),E=bce(v,k,S),O=yce(),{handleDragStart:R,handleDragMove:M,handleDragEnd:D}=fce();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Re,{sx:{position:"relative"},children:[i.jsxs(eue,{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:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:D,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(ju,{id:"grid",visible:r,children:i.jsx(jce,{})}),i.jsx(ju,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx($ce,{})}),i.jsxs(ju,{id:"mask",visible:e,listening:!1,children:[i.jsx(Dce,{visible:!0,listening:!1}),i.jsx(Rce,{listening:!1})]}),i.jsx(ju,{children:i.jsx(_ce,{})}),i.jsxs(ju,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(Jce,{visible:d!=="move",listening:!1}),i.jsx(zce,{visible:p}),h&&i.jsx(Ece,{}),i.jsx(Yce,{visible:n&&!p})]})]}),i.jsx(Kce,{}),i.jsx(Fce,{})]})})},tue=be(mn,aY,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),k_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=B(tue),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(LD({width:a,height:c})),e(o?zD():hm()),e(F_(!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(hl,{thickness:"2px",size:"xl"})})};function P8(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 nue=je(c8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),yv={width:6,height:6,borderColor:"base.100"},rue=e=>{const{styleClass:t="",...n}=e;return i.jsx(nue,{sx:{".react-colorful__hue-pointer":yv,".react-colorful__saturation-pointer":yv,".react-colorful__alpha-pointer":yv},className:t,...n})},lm=f.memo(rue),oue=be([mn,lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),sue=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=B(oue);tt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),tt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),tt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(qp(n==="mask"?"base":"mask"))},d=()=>e(ub()),p=()=>e(kd(!o));return i.jsx(xl,{triggerComponent:i.jsx(rr,{children:i.jsx(ze,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(QY,{}),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(y5(h.target.checked))}),i.jsx(lm,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(x5(h))}),i.jsxs(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},aue=be([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function j8(){const e=te(),{canRedo:t,activeTabName:n}=B(aue),{t:r}=ye(),o=()=>{e(BD())};return tt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(ze,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(eQ,{}),onClick:o,isDisabled:!t})}const I8=()=>{const e=B(lr),t=te(),{t:n}=ye();return i.jsxs(lx,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},iue=be([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:Zt}}),lue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=B(iue);tt(["n"],()=>{e(Ju(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Ju(v.target.checked));return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(w5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(S5(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(C5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(k5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(_5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(P5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(j5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(I5(v.target.checked))}),i.jsx(I8,{})]})})},cue=be([mn,lr,vo],(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:Zt}}),uue=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=B(cue),{t:s}=ye();tt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),tt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),tt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),tt(["BracketLeft"],()=>{e(rc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["BracketRight"],()=>{e(rc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["Shift+BracketLeft"],()=>{e(oc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),tt(["Shift+BracketRight"],()=>{e(oc({...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(E5()),h=()=>e(O5());return i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(JI,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:o,onClick:p}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(xl,{triggerComponent:i.jsx(ze,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(wy,{})}),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(rc(m)),sliderNumberInputProps:{max:500}})}),i.jsx(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(oc(m))})]})})]})},due=be([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function E8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=B(due),o=()=>{e(HD())};return tt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Sy,{}),onClick:o,isDisabled:!n})}const fue=be([vo,mn,lr],(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:Zt}}),pue=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=B(fue),a=Oa(),{t:c}=ye(),{isClipboardAPIAvailable:d}=qy(),{getUploadButtonProps:p,getUploadInputProps:h}=rg({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});tt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),tt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),tt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),tt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=P8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Oa();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(R5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(sb()),e(hm())},y=()=>{e(M5())},S=()=>{e(D5())},k=()=>{d&&e(A5())},_=()=>{e(T5())},P=I=>{const E=I;e(qp(E)),E==="mask"&&!r&&e(kd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Re,{w:24,children:i.jsx(Xr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:N5,onChange:P,disabled:n})}),i.jsx(sue,{}),i.jsx(uue,{}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:v})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:y,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Um,{}),onClick:S,isDisabled:n}),d&&i.jsx(ze,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:k,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(xy,{}),onClick:_,isDisabled:n})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Vd,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(Eo,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(rr,{isAttached:!0,children:i.jsx(lue,{})})]})};function hue(){const e=te(),t=B(o=>o.canvas.brushSize),{t:n}=ye(),r=B(lr);return tt(["BracketLeft"],()=>{e(rc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),tt(["BracketRight"],()=>{e(rc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(rc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const mue=be([mn,lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function gue(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=B(mue),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 tt(["shift+BracketLeft"],()=>{e(oc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+BracketRight"],()=>{e(oc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(xl,{triggerComponent:i.jsx(Re,{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(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(oc(a))}),r==="mask"&&i.jsx(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(x5(a))})]})})}function O8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(hue,{}),i.jsx(gue,{})]})}function vue(){const e=te(),t=B(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(P5(r.target.checked))})}function bue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(vue,{})]})}function yue(){const e=te(),{t}=ye(),n=()=>e(ub());return i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function xue(){const e=B(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(kd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function wue(){const e=te(),{t}=ye(),n=B(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(y5(r.target.checked))})}function Sue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(xue,{}),i.jsx(wue,{}),i.jsx(yue,{})]})}function Cue(){const e=B(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(C5(r.target.checked))})}function kue(){const e=B(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(S5(r.target.checked))})}function _ue(){const e=B(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(Ju(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Pue(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(kue,{}),i.jsx(_ue,{}),i.jsx(Cue,{})]})}const jue=be([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function Iue(){const{tool:e,layer:t}=B(jue);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(bue,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Sue,{}),e=="move"&&i.jsx(Pue,{})]})}const Eue=be([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:Zt}}),Oue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=B(Eue);return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(w5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(k5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(_5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(j5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(I5(c.target.checked))}),i.jsx(I8,{})]})})};function Rue(){const e=B(lr),t=Oa(),{isClipboardAPIAvailable:n}=qy(),r=B(c=>c.system.isProcessing),o=te(),{t:s}=ye();tt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(A5())},[o,n]);return n?i.jsx(ze,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:a,isDisabled:e}):null}function Mue(){const e=te(),{t}=ye(),n=Oa(),r=B(lr);tt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(T5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(xy,{}),onClick:o,isDisabled:r})}function Due(){const e=B(lr),{getUploadButtonProps:t,getUploadInputProps:n}=rg({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return i.jsxs(i.Fragment,{children:[i.jsx(ze,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Vd,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Aue=be([mn,lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Tue(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=B(Aue),s=()=>{e(qp(n==="mask"?"base":"mask"))};tt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(qp(d)),d==="mask"&&!r&&e(kd(!0))};return i.jsx(Xr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:N5,onChange:a,disabled:o,w:"full"})}function Nue(){const e=te(),{t}=ye(),n=Oa(),r=B(lr),o=B(a=>a.system.isProcessing);tt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(M5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:s,isDisabled:r})}function $ue(){const e=B(s=>s.canvas.tool),t=B(lr),n=te(),{t:r}=ye();tt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(ze,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:e==="move"||t,onClick:o})}function Lue(){const e=B(s=>s.ui.shouldPinParametersPanel),t=B(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(db(!0)),e&&n(ko())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(ze,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(wy,{})}),i.jsx(W,{children:i.jsx(Zy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(ig,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function zue(){const e=te(),{t}=ye(),n=B(lr),r=()=>{e(sb()),e(hm())};return i.jsx(ze,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(Eo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function Bue(){const e=Oa(),t=te(),{t:n}=ye();tt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=P8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Oa();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(R5({contentRect:c,shouldScaleTo1:s}))};return i.jsx(ze,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:r})}function Fue(){const e=B(lr),t=Oa(),n=B(a=>a.system.isProcessing),r=te(),{t:o}=ye();tt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(D5())};return i.jsx(ze,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Um,{}),onClick:s,isDisabled:e})}const Hue=be([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wue=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=B(Hue);tt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),tt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),tt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(E5()),d=()=>e(O5());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(JI,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:r,onClick:c}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},Vue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Tue,{}),i.jsx(Wue,{}),i.jsxs(W,{gap:2,children:[i.jsx($ue,{}),i.jsx(Bue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Nue,{}),i.jsx(Fue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Rue,{}),i.jsx(Mue,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(Due,{}),i.jsx(zue,{})]}),i.jsx(Oue,{}),i.jsx(Lue,{})]}),Uue=be([mn,Ba],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Je),xv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},Gue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=B(Uue),{isOver:r,setNodeRef:o,active:s}=eb({id:"unifiedCanvas",data:xv});return f.useLayoutEffect(()=>{const a=()=>{e(ko())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Re,{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(Vue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Iue,{}),i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),zp(xv,s)&&i.jsx(Zh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Re,{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(pue,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),zp(xv,s)&&i.jsx(Zh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},que=f.memo(Gue),Kue=be([lt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Je),Xue=()=>{const e=te(),{infillMethod:t}=B(Kue),{data:n,isLoading:r}=Z_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),a=f.useCallback(c=>{e(WD(c))},[e]);return i.jsx(Xr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},Yue=f.memo(Xue),Que=be([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Je),Jue=()=>{const e=te(),{tileSize:t,infillMethod:n}=B(Que),{t:r}=ye(),o=f.useCallback(a=>{e(ww(a))},[e]),s=f.useCallback(()=>{e(ww(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})},Zue=f.memo(Jue),ede=be([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Je),tde=()=>{const e=te(),{boundingBoxScale:t}=B(ede),{t:n}=ye(),r=o=>{e(UD(o))};return i.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:VD,value:t,onChange:r})},nde=f.memo(tde),rde=be([Mi,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Je),ode=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(rde),{t:r}=ye(),o=a=>{e(Kp({...n,height:Math.floor(a)}))},s=()=>{e(Kp({...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})},sde=f.memo(ode),ade=be([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Je),ide=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(ade),{t:r}=ye(),o=a=>{e(Kp({...n,width:Math.floor(a)}))},s=()=>{e(Kp({...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})},lde=f.memo(ide),cde=()=>{const{t:e}=ye();return i.jsx(Mo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Yue,{}),i.jsx(Zue,{}),i.jsx(nde,{}),i.jsx(lde,{}),i.jsx(sde,{})]})})},ude=f.memo(cde);function dde(){const e=te(),t=B(r=>r.generation.seamBlur),{t:n}=ye();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Sw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Sw(16))}})}function fde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Cw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Cw(96))})}function pde(){const{t:e}=ye(),t=B(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(kw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(kw(30))}})}function hde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(_w(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(_w(.7))}})}const mde=()=>{const{t:e}=ye();return i.jsxs(Mo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(fde,{}),i.jsx(dde,{}),i.jsx(hde,{}),i.jsx(pde,{})]})},gde=f.memo(mde),vde=be([lt,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),bde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(vde),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=ws(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=ws(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})},yde=f.memo(bde),xde=be([lt,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),wde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(xde),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=ws(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=ws(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})},Sde=f.memo(wde);function __(){const e=te(),{t}=ye();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(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,onClick:()=>e(GD())})]}),i.jsx(Sde,{}),i.jsx(yde,{})]})}const Cde=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),kde=()=>{const{shouldUseSliders:e,activeLabel:t}=B(Cde);return i.jsx(Mo,{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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(__,{})]}):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(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(__,{})]}),i.jsx(KO,{})]})})},_de=f.memo(kde),R8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(_de,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ax,{}),i.jsx(gde,{}),i.jsx(ude,{}),i.jsx(ox,{})]}),Pde=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:i.jsx(R8,{})}),i.jsx(que,{})]}),jde=f.memo(Pde),Ide=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(fo,{as:WY,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ile,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(fo,{as:Oc,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ase,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(fo,{as:Zee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(jde,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(fo,{as:Jee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(rle,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(fo,{as:$Y,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(aae,{})}],Ede=be([bO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Ide.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),Ode=350,wv=20,M8=["modelManager"],Rde=()=>{const e=B(qD),t=B(Kn),n=B(Ede),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=B(y=>y.ui),{t:a}=ye(),c=te();tt("f",()=>{c(KD()),(r||o)&&c(ko())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(ko())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(vn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(kc,{onClick:p,children:[i.jsx(Z5,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Nm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Ste(Ode,wv,"app"),w=f.useCallback(y=>{const S=XD[y];S&&c(Yl(S))},[c]);return i.jsxs(Ld,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(zd,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(ml,{}),i.jsx(ote,{})]}),i.jsxs(Jy,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"main",children:i.jsx($m,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!M8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(WO,{}),i.jsx(md,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>wv&&b<100?b:wv,minSize:b,maxSize:50,children:i.jsx(hO,{})})]})]})]})},Mde=f.memo(Rde),Dde=be([Kn,Ba],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:M8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ade=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=B(Dde),r=te(),o=()=>{r(Av(!0)),t&&r(ko())};return n?i.jsx(ze,{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(ete,{})}):null},Tde=f.memo(Ade),Sv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Nde=be([Ba,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:Zt}}),$de=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=B(Nde),s=()=>{e(db(!0)),o&&e(ko())};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(ze,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:Sv,children:i.jsx(wy,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(Zy,{iconButton:!0,sx:Sv}),i.jsx(ig,{sx:Sv})]})]}):null},Lde=f.memo($de),zde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Je),Bde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=B(zde),o=()=>{e(db(!1))},s=B(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{}):r==="unifiedCanvas"?i.jsx(R8,{}):null,[r,s]);return t?null:i.jsx(GI,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:tx,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(gO,{}),i.jsx(HO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},Fde=f.memo(Bde),Hde=be([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:Zt}}),Wde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=B(Hde),o=B(Kn);return tt("*",()=>{mP("shift")?!t&&e(jo(!0)):t&&e(jo(!1))},{keyup:!0,keydown:!0},[t]),tt("o",()=>{e(YD()),o==="unifiedCanvas"&&n&&e(ko())}),tt(["shift+o"],()=>{e(QD()),o==="unifiedCanvas"&&e(ko())}),tt("g",()=>{e(JD()),o==="unifiedCanvas"&&r&&e(ko())}),tt(["shift+g"],()=>{e(G_()),o==="unifiedCanvas"&&e(ko())}),tt("1",()=>{e(Yl("txt2img"))}),tt("2",()=>{e(Yl("img2img"))}),tt("3",()=>{e(Yl("unifiedCanvas"))}),tt("4",()=>{e(Yl("nodes"))}),null},Vde=f.memo(Wde),Ude={},Gde=({config:e=Ude,headerComponent:t})=>{const n=B(rP),r=OF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{o5(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ZD(e)))},[o,e,r]),f.useEffect(()=>{o(e9())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(FH,{children:i.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(Yee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Mde,{})})]})}),i.jsx(Iee,{}),i.jsx(Fde,{}),i.jsx(Zu,{children:i.jsx(Lde,{})}),i.jsx(Zu,{children:i.jsx(Tde,{})})]}),i.jsx(sY,{}),i.jsx(eY,{}),i.jsx(RF,{}),i.jsx(Vde,{})]})},Jde=f.memo(Gde);export{Jde as default}; diff --git a/invokeai/frontend/web/dist/assets/App-7d912410.js b/invokeai/frontend/web/dist/assets/App-7d912410.js new file mode 100644 index 0000000000..7a4e478802 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/App-7d912410.js @@ -0,0 +1,169 @@ +import{t as _v,r as fR,i as Pv,a as Nc,b as P_,S as j_,c as I_,d as E_,e as jv,f as O_,g as Iv,h as pR,j as hR,k as mR,l as gR,m as R_,n as vR,o as bR,p as yR,q as M_,s as xR,u as wR,v as SR,w as CR,x as kR,y as _R,z as PR,A as f,B as a,C as fm,D as Bp,E as jR,F as D_,G as A_,H as IR,P as wd,I as J1,J as ER,K as OR,L as RR,M as MR,N as DR,O as AR,Q as TR,R as K2,T as NR,U as Ae,V as je,W as Ct,X as et,Y as Sd,Z as mo,_ as Er,$ as Hr,a0 as qn,a1 as hl,a2 as fa,a3 as Ft,a4 as rs,a5 as rc,a6 as Va,a7 as pm,a8 as Z1,a9 as Cd,aa as sr,ab as $R,ac as W,ad as X2,ae as LR,af as Ev,ag as $c,ah as zR,ai as T_,aj as N_,ak as Lc,al as BR,am as be,an as Ke,ao as Zt,ap as B,aq as FR,ar as Y2,as as HR,at as WR,au as Q2,av as te,aw as VR,ax as On,ay as Mn,az as Oe,aA as H,aB as Ys,aC as at,aD as Kn,aE as $_,aF as UR,aG as GR,aH as qR,aI as KR,aJ as _i,aK as eb,aL as Ds,aM as Io,aN as hm,aO as XR,aP as YR,aQ as J2,aR as tb,aS as Pa,aT as QR,aU as L_,aV as z_,aW as Z2,aX as JR,aY as ZR,aZ as B_,a_ as F_,a$ as nb,b0 as e7,b1 as t7,b2 as n7,b3 as Tl,b4 as r7,b5 as o7,b6 as s7,b7 as a7,b8 as ew,b9 as vi,ba as rb,bb as Fp,bc as mm,bd as H_,be as W_,bf as Is,bg as V_,bh as i7,bi as zc,bj as U_,bk as G_,bl as Es,bm as Mu,bn as Hp,bo as l7,bp as c7,bq as u7,br as d7,bs as Bf,bt as Ff,bu as vu,bv as y0,bw as Hu,bx as Wu,by as Vu,bz as Uu,bA as tw,bB as Wp,bC as x0,bD as Vp,bE as nw,bF as Ov,bG as w0,bH as Rv,bI as S0,bJ as Up,bK as rw,bL as bc,bM as ow,bN as yc,bO as sw,bP as Gp,bQ as ob,bR as f7,bS as q_,bT as Mv,bU as Dv,bV as K_,bW as p7,bX as Av,bY as h7,bZ as Tv,b_ as m7,b$ as Nv,c0 as sb,c1 as ab,c2 as gm,c3 as g7,c4 as vm,c5 as Ql,c6 as X_,c7 as v7,c8 as Ep,c9 as ib,ca as Y_,cb as b7,cc as bu,cd as Q_,ce as J_,cf as aw,cg as Ua,ch as y7,ci as $v,cj as x7,ck as w7,cl as S7,cm as C7,cn as lb,co as cb,cp as k7,cq as Bn,cr as iw,cs as Z_,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as M7,cB as D7,cC as e5,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as H7,cM as W7,cN as V7,cO as U7,cP as bm,cQ as oo,cR as Qn,cS as G7,cT as t5,cU as kd,cV as q7,cW as ub,cX as n5,cY as K7,cZ as X7,c_ as Y7,c$ as ls,d0 as Q7,d1 as J7,d2 as Z7,d3 as eM,d4 as tM,d5 as nM,d6 as rM,d7 as oM,d8 as sM,d9 as aM,da as iM,db as lM,dc as cM,dd as uM,de as lw,df as dM,dg as cw,dh as fM,di as pM,dj as hM,dk as mM,dl as td,dm as _d,dn as Pd,dp as gM,dq as vM,dr as na,ds as db,dt as bM,du as yM,dv as xM,dw as uw,dx as wM,dy as qp,dz as SM,dA as r5,dB as dw,dC as CM,dD as kM,dE as ws,dF as _M,dG as PM,dH as o5,dI as s5,dJ as jM,dK as fw,dL as IM,dM as EM,dN as a5,dO as OM,dP as RM,dQ as pw,dR as MM,dS as hw,dT as DM,dU as mw,dV as Hf,dW as AM,dX as TM,dY as gw,dZ as vw,d_ as NM,d$ as i5,e0 as l5,e1 as jd,e2 as c5,e3 as Gi,e4 as u5,e5 as bw,e6 as $M,e7 as LM,e8 as d5,e9 as zM,ea as BM,eb as FM,ec as HM,ed as WM,ee as fb,ef as yw,eg as f5,eh as VM,ei as xw,ej as p5,ek as As,el as UM,em as h5,en as ww,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as uD,eH as dD,eI as fD,eJ as Sw,eK as pD,eL as hD,eM as Kp,eN as Cw,eO as mD,eP as Js,eQ as gD,eR as kw,eS as Op,eT as vD,eU as Xp,eV as m5,eW as nd,eX as bD,eY as yD,eZ as ea,e_ as g5,e$ as pb,f0 as Id,f1 as xD,f2 as wD,f3 as SD,f4 as Ta,f5 as v5,f6 as CD,f7 as kD,f8 as b5,f9 as _D,fa as PD,fb as jD,fc as ID,fd as ED,fe as OD,ff as RD,fg as MD,fh as DD,fi as AD,fj as _w,fk as TD,fl as ND,fm as $D,fn as LD,fo as zD,fp as BD,fq as FD,fr as HD,fs as C0,ft as k0,fu as _0,fv as Wf,fw as Pw,fx as Lv,fy as WD,fz as VD,fA as UD,fB as GD,fC as Yp,fD as y5,fE as x5,fF as qD,fG as KD,fH as w5,fI as S5,fJ as C5,fK as k5,fL as _5,fM as P5,fN as j5,fO as I5,fP as oc,fQ as sc,fR as E5,fS as O5,fT as XD,fU as R5,fV as M5,fW as D5,fX as A5,fY as T5,fZ as N5,f_ as hb,f$ as YD,g0 as QD,g1 as JD,g2 as ZD,g3 as e9,g4 as t9,g5 as n9,g6 as r9}from"./index-2c171c8f.js";import{u as o9,c as s9,a as Dn,b as or,I as fo,d as Ga,P as rd,C as a9,e as ye,f as $5,g as qa,h as i9,r as Ue,i as l9,j as jw,k as Vt,l as Cr,m as od}from"./menu-971c0572.js";var Iw=1/0,c9=17976931348623157e292;function P0(e){if(!e)return e===0?e:0;if(e=_v(e),e===Iw||e===-Iw){var t=e<0?-1:1;return t*c9}return e===e?e:0}var u9=function(){return fR.Date.now()};const j0=u9;var d9="Expected a function",f9=Math.max,p9=Math.min;function h9(e,t,n){var r,o,s,i,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(d9);t=_v(t)||0,Pv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?f9(_v(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,i=e.apply(M,R),i}function w(O){return p=O,c=setTimeout(k,t),h?b(O):i}function y(O){var R=O-d,M=O-p,D=t-R;return m?p9(D,s-M):D}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=j0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,i)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?i:_(j0())}function E(){var O=j0(),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)),i}return E.cancel=P,E.flush=I,E}var m9=200;function g9(e,t,n,r){var o=-1,s=I_,i=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Nc(t,P_(n))),r?(s=E_,i=!1):t.length>=m9&&(s=jv,i=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(i&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function N9(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}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:i,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=i||b||w;return a.jsx("rect",{className:fm(["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})};L5.displayName="MiniMapNode";var $9=f.memo(L5);const L9=e=>e.nodeOrigin,z9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),I0=e=>e instanceof Function?e:()=>e;function B9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=$9,onClick:i}){const c=Bp(z9,J1),d=Bp(L9),p=I0(t),h=I0(e),m=I0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:c.map(b=>{const{x:w,y}=jR(b,d).positionAbsolute;return a.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:i,id:b.id},b.id)})})}var F9=f.memo(B9);const H9=200,W9=150,V9=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?RR(MR(t,e.nodeOrigin),n):n,rfId:e.rfId}},U9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:i=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 P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Bp(V9,J1),M=(e==null?void 0:e.width)??H9,D=(e==null?void 0:e.height)??W9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${U9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=ER.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=IR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=OR(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return a.jsx(wd,{position:m,style:e,className:fm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&a.jsx("title",{id:Y,children:S}),a.jsx(F9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:i,nodeComponent:c}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+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"})]})})}z5.displayName="MiniMap";var G9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function q9({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 K9({color:e,radius:t}){return a.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const X9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},Y9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},Q9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:i,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Bp(Q9,J1),v=i||X9[t],b=r||Y9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return a.jsxs("svg",{className:fm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[a.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(-${I[0]},-${I[1]})`,children:w?a.jsx(K9,{color:v,radius:_/s}):a.jsx(q9,{dimensions:P,color:v,lineWidth:o})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var J9=f.memo(B5),Gu;(function(e){e.Line="line",e.Handle="handle"})(Gu||(Gu={}));function Z9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const i=e-t,c=n-r,d=[i>0?1:i<0?-1:0,c>0?1:c<0?-1:0];return i&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},eA={...F5,pointerX:0,pointerY:0,aspectRatio:1};function tA({nodeId:e,position:t,variant:n=Gu.Handle,className:r,style:o={},children:s,color:i,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=DR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(eA),E=f.useRef(F5),O=AR(),R=n===Gu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=TR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=K2(se+(q?-Te:Te),c,p),kt=K2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,_t=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&_t||we?kt*le:$e,kt=Me>le&&_t||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,_t=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=_t!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?_t:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Z9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,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(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Gu.Line?"borderColor":"backgroundColor",L=i?{...o,[A]:i}:o;return a.jsx("div",{className:fm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var nA=f.memo(tA);function rA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return rA(e)&&(t=e.ownerDocument)!=null?t:document}function oA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var sA=oA();const W5=1/60*1e3,aA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(aA()),W5);function iA(e){let t=[],n=[],r=0,o=!1,s=!1;const i=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&i.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),i.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]=iA(()=>sd=!0),e),{}),cA=Ed.reduce((e,t)=>{const n=ym[t];return e[t]=(r,o=!1,s=!1)=>(sd||fA(),n.schedule(r,o,s)),e},{}),uA=Ed.reduce((e,t)=>(e[t]=ym[t].cancel,e),{});Ed.reduce((e,t)=>(e[t]=()=>ym[t].process(ac),e),{});const dA=e=>ym[e].process(ac),U5=e=>{sd=!1,ac.delta=zv?W5:Math.max(Math.min(e-ac.timestamp,lA),1),ac.timestamp=e,Bv=!0,Ed.forEach(dA),Bv=!1,sd&&(zv=!1,V5(U5))},fA=()=>{sd=!0,zv=!0,Bv||V5(U5)},Mw=()=>ac;function mb(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function pA(e){const{theme:t}=NR(),n=o9();return f.useMemo(()=>s9(t.direction,{...n,...e}),[e,t.direction,n])}var hA=Object.defineProperty,mA=(e,t,n)=>t in e?hA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(mA(e,typeof t!="symbol"?t+"":t,n),n);function Dw(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 gA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Aw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Tw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Fv=typeof window<"u"?f.useLayoutEffect:f.useEffect,Qp=e=>e,vA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return gA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Dw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Aw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Tw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Tw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Dw(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 bA(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=>{bA(n,t)})}}function yA(...e){return f.useMemo(()=>cn(...e),e)}function xA(){const e=f.useRef(new vA);return Fv(()=>()=>e.current.destroy()),e.current}var[wA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function SA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);Fv(()=>()=>{o.current&&t.unregister(o.current)},[]),Fv(()=>{if(!o.current)return;const i=Number(o.current.dataset.index);n!=i&&!Number.isNaN(i)&&r(i)});const s=Qp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function gb(){return[Qp(wA),()=>Qp(G5()),()=>xA(),o=>SA(o)]}var[CA,xm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[kA,vb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[_A,tfe,PA,jA]=gb(),Du=Ae(function(t,n){const{getButtonProps:r}=vb(),o=r(t,n),i={display:"flex",alignItems:"center",width:"100%",outline:0,...xm().button};return a.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:i})});Du.displayName="AccordionButton";function Bc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),i=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;i(h,w)&&(p||d(w),s(w))},[p,s,h,i]);return[h,m]}function IA(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...i}=e;RA(e),MA(e);const c=PA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=Bc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:i,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[EA,bb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function OA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:i}=bb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;DA(e);const{register:v,index:b,descendants:w}=jA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);AA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),i(b)},[b,i,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{i(b)},[i,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,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 RA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;Sd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function MA(e){Sd({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 DA(e){Sd({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 AA(e){Sd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Au(e){const{isOpen:t,isDisabled:n}=vb(),{reduceMotion:r}=bb(),o=Ct("chakra-accordion__icon",e.className),s=xm(),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(fo,{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"})})}Au.displayName="AccordionIcon";var Tu=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...i}=OA(t),d={...xm().container,overflowAnchor:"none"},p=f.useMemo(()=>i,[i]);return a.jsx(kA,{value:p,children:a.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!i.isOpen,isDisabled:!!i.isDisabled}):r})})});Tu.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},yu={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 Hv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return yu.slideRight;case"left":return yu.slideLeft;case"bottom":return yu.slideDown;case"top":return yu.slideUp;default:return yu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={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})},TA=e=>e!=null&&parseInt(e.toString(),10)>0,Nw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},NA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:TA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Nw.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:Cs.enter(Nw.enter,o)}}},wm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:i="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),Sd({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: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:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return a.jsx(mo,{initial:!1,custom:y,children:S&&a.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:NA,initial:r?"exit":!1,animate:k,exit:"exit"})})});wm.displayName="Collapse";var $A={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.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:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:$A},LA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:i,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:i,transitionEnd:c,delay:d};return a.jsx(mo,{custom:v,children:m&&a.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});LA.displayName="Fade";var zA={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:Cs.exit(Xi.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:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:zA},BA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:i=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:i,reverse:s,transition:d,transitionEnd:p,delay:h};return a.jsx(mo,{custom:w,children:v&&a.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});BA.displayName="ScaleFade";var FA={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:Cs.exit(Xi.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:Cs.enter(Xi.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 c={x:t,y:e};return{opacity:0,transition:(i=n==null?void 0:n.exit)!=null?i:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Wv={initial:"initial",animate:"enter",exit:"exit",variants:FA},HA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:i,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 a.jsx(mo,{custom:y,children:b&&a.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",i),custom:y,...Wv,animate:w,...v})})});HA.displayName="SlideFade";var $w={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},WA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Hv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit($w.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Hv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter($w.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:i,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Hv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?i&&s:!0,S=i||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return a.jsx(mo,{custom:k,children:y&&a.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:WA,style:w,...m})})});X5.displayName="Slide";var Nu=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:i}=bb(),{getPanelProps:c,isOpen:d}=vb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=xm();i||delete p.hidden;const v=a.jsx(je.div,{...p,__css:m.panel,className:h});return i?v:a.jsx(wm,{in:d,...o,children:v})});Nu.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Hr("Accordion",r),i=qn(r),{htmlProps:c,descendants:d,...p}=IA(i),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return a.jsx(_A,{value:d,children:a.jsx(EA,{value:h,children:a.jsx(CA,{value:s,children:a.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function Od(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[VA,UA]=Dn({strict:!1,name:"ButtonGroupContext"}),GA={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}}},qA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:i,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",i),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?GA[h]:qA[h](c)};const y=h==="vertical";return a.jsx(VA,{value:b,children:a.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function KA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Vv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return a.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Vv.displayName="ButtonIcon";function Jp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=a.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:i,...c}=e,d=Ct("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",...i}),[i,t,p,r]);return a.jsx(je.div,{className:d,...c,__css:h,children:o})}Jp.displayName="ButtonSpinner";var xc=Ae((e,t)=>{const n=UA(),r=fa("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:i,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:P,type:I}=KA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return a.jsxs(je.button,{ref:yA(t,P),as:S,type:v??I,"data-active":Ft(i),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&a.jsx(Jp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||a.jsx(je.span,{opacity:0,children:a.jsx(Lw,{...E})}):a.jsx(Lw,{...E}),s&&w==="end"&&a.jsx(Jp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});xc.displayName="Button";function Lw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return a.jsxs(a.Fragment,{children:[t&&a.jsx(Vv,{marginEnd:o,children:t}),r,n&&a.jsx(Vv,{marginStart:o,children:n})]})}var Ea=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...i}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return a.jsx(xc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...i,children:d})});Ea.displayName="IconButton";var[nfe,XA]=Dn({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 QA(e){return a.jsx(je.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 JA(e){return a.jsx(je.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 ZA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?JA:QA;return n||t?a.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:a.jsx(o,{...r})}):null}var[eT,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tT,Rd]=Dn({strict:!1,name:"FormControlContext"});function nT(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...i}=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,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...i,ref:M,role:"group"}),[i]),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:i,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Hr("Form",t),o=qn(t),{getRootProps:s,htmlProps:i,...c}=nT(o),d=Ct("chakra-form-control",t.className);return a.jsx(tT,{value:c,children:a.jsx(eT,{value:r,children:a.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var rT=Ae(function(t,n){const r=Rd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return a.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});rT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=fa("FormLabel",t),s=qn(t),{className:i,children:c,requiredIndicator:d=a.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=Rd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return a.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=Rd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return a.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function yb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=xb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function xb(e){var t,n,r;const o=Rd(),{id:s,disabled:i,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=i??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 wb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:wb});Z5.displayName="VisuallyHidden";var oT=je("input",{baseStyle:wb});oT.displayName="VisuallyHiddenInput";const sT=()=>typeof document<"u";let zw=!1,Md=null,ol=!1,Uv=!1;const Gv=new Set;function Sb(e,t){Gv.forEach(n=>n(e,t))}const aT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function iT(e){return!(e.metaKey||!aT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Bw(e){ol=!0,iT(e)&&(Md="keyboard",Sb("keyboard",e))}function $l(e){if(Md="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;Sb("pointer",e)}}function lT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function cT(e){lT(e)&&(ol=!0,Md="virtual")}function uT(e){e.target===window||e.target===document||(!ol&&!Uv&&(Md="virtual",Sb("virtual",e)),ol=!1,Uv=!1)}function dT(){ol=!1,Uv=!0}function Fw(){return Md!=="pointer"}function fT(){if(!sT()||zw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",Bw,!0),document.addEventListener("keyup",Bw,!0),document.addEventListener("click",cT,!0),window.addEventListener("focus",uT,!0),window.addEventListener("blur",dT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",$l,!0),document.addEventListener("pointermove",$l,!0),document.addEventListener("pointerup",$l,!0)):(document.addEventListener("mousedown",$l,!0),document.addEventListener("mousemove",$l,!0),document.addEventListener("mouseup",$l,!0)),zw=!0}function e3(e){fT(),e(Fw());const t=()=>e(Fw());return Gv.add(t),()=>{Gv.delete(t)}}function pT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=xb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:i,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":P,"aria-invalid":I,...E}=e,O=pT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);rc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Ga(()=>{n&&F(!1)},[n,F]),rc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);rc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:i,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:wb}),[y,S,i,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,hT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(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:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function hT(e){e.preventDefault(),e.stopPropagation()}var mT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},gT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},vT=Va({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),bT=Va({from:{opacity:0},to:{opacity:1}}),yT=Va({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=XA(),o={...r,...t},s=Hr("Checkbox",o),i=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=a.jsx(ZA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=i;let _=b;r!=null&&r.value&&i.value&&(_=r.value.includes(i.value));let P=y;r!=null&&r.onChange&&i.value&&(P=pm(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=YA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${bT} 20ms linear, ${yT} 200ms linear`:`${vT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return a.jsxs(je.label,{__css:{...gT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[a.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),a.jsx(je.span,{__css:{...mT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&a.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function xT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function Cb(e,t){let n=xT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function qv(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 Zp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Kv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=qv(n);return Cb(r,o)}function ic(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=E0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(ci(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ci(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ic(L,i,c)),Cb(L,y)},[y,d,c,i]),_=f.useCallback((A=s)=>{let L;b===""?L=ci(A):L=ci(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=ci(-A):L=ci(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=E0(r,s,n))!=null?A:i,S(L)},[r,n,s,S,i]),E=f.useCallback(A=>{var L;const Q=(L=E0(A,s,y))!=null?L:i;S(Q)},[y,s,S,i]),O=ci(b);return{isOutOfRange:O>c||O" `}),[CT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),i=Ct("chakra-editable__input",t.className);return a.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:i})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),i=Ct("chakra-editable__preview",t.className);return a.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:i})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(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 kT(e){return"current"in e}var u3=()=>typeof window<"u";function _T(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var PT=e=>u3()&&e.test(navigator.vendor),jT=e=>u3()&&e.test(_T()),IT=()=>jT(/mac|iphone|ipad|ipod/i),ET=()=>IT()&&PT(/apple/i);function d3(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};Yi(o,"pointerdown",s=>{if(!ET()||!r)return;const i=s.target,d=(n??[t]).some(p=>{const h=kT(p)?p.current:p;return(h==null?void 0:h.contains(i))||h===i});o().activeElement!==i&&d&&(s.preventDefault(),i.focus())})}function Hw(e,t){return e?e===t||e.contains(t):!1}function OT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:i,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!i),[_,P]=f.useState(k),[I,E]=Bc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!i;rc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ga(()=>{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(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,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]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Hw(L.current,ge),xe=Hw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(i),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[i,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:i,"aria-disabled":rs(i),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[i,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:i,"aria-disabled":rs(i),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[i,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:i}),[V,i]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:i}),[T,i]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:i}),[G,i]);return{isEditing:_,isDisabled:i,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Hr("Editable",t),o=qn(t),{htmlProps:s,...i}=OT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=i,m=Ct("chakra-editable",t.className),v=Z1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return a.jsx(CT,{value:i,children:a.jsx(ST,{value:r,children:a.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},RT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",MT=RT,DT=MT;function h3(){}function m3(){}m3.resetWarningCache=h3;var AT=function(){function e(r,o,s,i,c,d){if(d!==DT){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:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=AT();var TT=p3.exports;const zn=Cd(TT);var Xv="data-focus-lock",g3="data-focus-lock-disabled",NT="data-no-focus-lock",$T="data-autofocus-inside",LT="data-no-autofocus";function zT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function BT(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 v3(e,t){return BT(t||null,function(n){return e.forEach(function(r){return zT(r,n)})})}var O0={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){i={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function Yv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(eN)},tN=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],jb=tN.join(","),nN="".concat(jb,", [data-focus-guard]"),T3=function(e,t){return pa((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?nN:jb)?[r]:[],T3(r))},[])},rN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?Sm([e.contentDocument.body],t):[e]},Sm=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),i=(o=[]).concat.apply(o,s.map(function(c){return rN(c,t)}));return n.concat(i,r.parentNode?pa(r.parentNode.querySelectorAll(jb)).filter(function(c){return c===r}):[])},[])},oN=function(e){var t=e.querySelectorAll("[".concat($T,"]"));return pa(t).map(function(n){return Sm([n])}).reduce(function(n,r){return n.concat(r)},[])},Ib=function(e,t){return pa(e).filter(function(n){return E3(t,n)}).filter(function(n){return QT(n)})},Vw=function(e,t){return t===void 0&&(t=new Map),pa(e).filter(function(n){return O3(t,n)})},Jv=function(e,t,n){return A3(Ib(Sm(e,n),t),!0,n)},Uw=function(e,t){return A3(Ib(Sm(e),t),!1)},sN=function(e,t){return Ib(oN(e),t)},lc=function(e,t){return e.shadowRoot?lc(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:pa(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?lc(o,t):!1}return lc(n,t)})},aN=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,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},Eb=function(e){var t=eh(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Xv);return n.push.apply(n,o?aN(pa(N3(r).querySelectorAll("[".concat(Xv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},iN=function(e){try{return e()}catch{return}},ad=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?ad(t.shadowRoot):t instanceof HTMLIFrameElement&&iN(function(){return t.contentWindow.document})?ad(t.contentWindow.document):t}},lN=function(e,t){return e===t},cN=function(e,t){return!!pa(e.querySelectorAll("iframe")).some(function(n){return lN(n,t)})},$3=function(e,t){return t===void 0&&(t=ad(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Eb(e).some(function(n){return lc(n,t)||cN(n,t)})},uN=function(e){e===void 0&&(e=document);var t=ad(e);return t?pa(e.querySelectorAll("[".concat(NT,"]"))).some(function(n){return lc(n,t)}):!1},dN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Ob=function(e,t){return D3(e)&&e.name?dN(e,t):e},fN=function(e){var t=new Set;return e.forEach(function(n){return t.add(Ob(n,e))}),e.filter(function(n){return t.has(n)})},Gw=function(e){return e[0]&&e.length>1?Ob(e[0],e):e[0]},qw=function(e,t){return e.length>1?e.indexOf(Ob(e[t],e)):t},L3="NEW_FOCUS",pN=function(e,t,n,r){var o=e.length,s=e[0],i=e[o-1],c=Pb(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(i),w=fN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=qw(e,0),_=qw(e,o-1);if(d===-1||h===-1)return L3;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}},hN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},mN=function(e,t,n){var r=e.map(function(s){var i=s.node;return i}),o=Vw(r.filter(hN(n)));return o&&o.length?Gw(o):Gw(Vw(t))},Zv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Zv(e.parentNode.host||e.parentNode,t),t},R0=function(e,t){for(var n=Zv(e),r=Zv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=eh(e),o=eh(t),s=r[0],i=!1;return o.filter(Boolean).forEach(function(c){i=R0(i||c,c)||i,n.filter(Boolean).forEach(function(d){var p=R0(s,d);p&&(!i||lc(p,i)?i=p:i=R0(p,i))})}),i},gN=function(e,t){return e.reduce(function(n,r){return n.concat(sN(r,t))},[])},vN=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(ZT)},bN=function(e,t){var n=ad(eh(e).length>0?document:P3(e).ownerDocument),r=Eb(e).filter(th),o=z3(n||e,e,r),s=new Map,i=Uw(r,s),c=Jv(r,s).filter(function(b){var w=b.node;return th(w)});if(!(!c[0]&&(c=i,!c[0]))){var d=Uw([o],s).map(function(b){var w=b.node;return w}),p=vN(d,c),h=p.map(function(b){var w=b.node;return w}),m=pN(h,d,n,t);if(m===L3){var v=mN(i,h,gN(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]}},yN=function(e){var t=Eb(e).filter(th),n=z3(e,e,t),r=new Map,o=Jv([n],r,!0),s=Jv(t,r).filter(function(i){var c=i.node;return th(c)}).map(function(i){var c=i.node;return c});return o.map(function(i){var c=i.node,d=i.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Pb(c)}})},xN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},M0=0,D0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=bN(e,t);if(!D0&&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"),D0=!0,setTimeout(function(){D0=!1},1);return}M0++,xN(r.node,n.focusOptions),M0--}};function Rb(e){setTimeout(e,1)}var wN=function(){return document&&document.activeElement===document.body},SN=function(){return wN()||uN()},cc=null,Jl=null,uc=null,id=!1,CN=function(){return!0},kN=function(t){return(cc.whiteList||CN)(t)},_N=function(t,n){uc={observerNode:t,portaledElement:n}},PN=function(t){return uc&&uc.portaledElement===t};function Kw(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 jN=function(t){return t&&"current"in t?t.current:t},IN=function(t){return t?!!id:id==="meanwhile"},EN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},ON=function(t,n){return n.some(function(r){return EN(t,r,r)})},nh=function(){var t=!1;if(cc){var n=cc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,i=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||uc&&uc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(i.map(jN).filter(Boolean));if((!h||kN(h))&&(o||IN(c)||!SN()||!Jl&&s)&&(p&&!($3(m)||h&&ON(h,m)||PN(h))&&(document&&!Jl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Jl,{focusOptions:d}),uc={})),id=!1,Jl=document&&document.activeElement),document){var v=document&&document.activeElement,b=yN(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")}),Kw(w,b.length,1,b),Kw(w,-1,-1,b))}}}return t},F3=function(t){nh()&&t&&(t.stopPropagation(),t.preventDefault())},Mb=function(){return Rb(nh)},RN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||_N(r,n)},MN=function(){return null},H3=function(){id="just",Rb(function(){id="meanwhile"})},DN=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Mb),window.addEventListener("blur",H3)},AN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Mb),window.removeEventListener("blur",H3)};function TN(e){return e.filter(function(t){var n=t.disabled;return!n})}function NN(e){var t=e.slice(-1)[0];t&&!cc&&DN();var n=cc,r=n&&t&&t.id===n.id;cc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Jl=null,(!r||n.observed!==t.observed)&&t.onActivation(),nh(),Rb(nh)):(AN(),Jl=null)}C3.assignSyncMedium(RN);k3.assignMedium(Mb);HT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const $N=GT(TN,NN)(MN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:$N,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;N9(V3,["sideCar"]);W3.propTypes={};const Xw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Db(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function LN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function zN(e){return G3(e).activeElement}function BN(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 FN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Db(e)&&BN(e)?e:q3(FN(e))}var K3=e=>e.hasAttribute("tabindex"),HN=e=>K3(e)&&e.tabIndex===-1;function WN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function VN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Db(e)||X3(e)||WN(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]():VN(e)?!0:K3(e)}function UN(e){return e?Db(e)&&Y3(e)&&!HN(e):!1}var GN=["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]"],qN=GN.join(),KN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(qN));return t.unshift(e),t.filter(n=>Y3(n)&&KN(n))}var Yw,XN=(Yw=Xw.default)!=null?Yw:Xw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:i,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(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 a.jsx(XN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:i,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var YN=sA?f.useLayoutEffect:f.useEffect;function rh(e,t=[]){const n=f.useRef(e);return YN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function QN(e,t,n,r){const o=rh(t);return f.useEffect(()=>{var s;const i=(s=X2(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=X2(n))!=null?s:document).removeEventListener(e,o,r)}}function JN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=rh(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{A0(m,t)&&(i.isPointerDown=!0)},d=m=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&A0(m,t)&&(i.isPointerDown=!1,o(m))},p=m=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&A0(m,t)&&(i.isPointerDown=!1,o(m))},h=H5(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,i,r])}function A0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function ZN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function e$(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=rh(n),i=rh(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=e$(r,c),m=ZN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),i==null||i()},[p,i]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:LR(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[t$,n$]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Hr("Input",t),{children:o,className:s,...i}=qn(t),c=Ct("chakra-input__group",s),d={},p=Od(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=mb({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 a.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...i,children:a.jsx(t$,{value:r,children:m})})});Z3.displayName="InputGroup";var r$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),Cm=Ae(function(t,n){var r,o;const{placement:s="left",...i}=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 a.jsx(r$,{ref:n,__css:h,...i})});Cm.id="InputElement";Cm.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return a.jsx(Cm,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Ab=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return a.jsx(Cm,{ref:n,placement:"right",className:s,...o})});Ab.id="InputRightElement";Ab.displayName="InputRightElement";var Dd=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Hr("Input",o),i=qn(o),c=yb(i),d=Ct("chakra-input",t.className);return a.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Dd.displayName="Input";Dd.id="Input";var Tb=Ae(function(t,n){const r=fa("Link",t),{className:o,isExternal:s,...i}=qn(t);return a.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...i,__css:r})});Tb.displayName="Link";var[o$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Nb=Ae(function(t,n){const r=Hr("List",t),{children:o,styleType:s="none",stylePosition:i,spacing:c,...d}=qn(t),p=Od(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return a.jsx(o$,{value:r,children:a.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:i,role:"list",__css:{...r.container,...m},...d,children:p})})});Nb.displayName="List";var s$=Ae((e,t)=>{const{as:n,...r}=e;return a.jsx(Nb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});s$.displayName="OrderedList";var $b=Ae(function(t,n){const{as:r,...o}=t;return a.jsx(Nb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});$b.displayName="UnorderedList";var ja=Ae(function(t,n){const r=t6();return a.jsx(je.li,{ref:n,...t,__css:r.item})});ja.displayName="ListItem";var a$=Ae(function(t,n){const r=t6();return a.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});a$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:i,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:i,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return a.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Ev(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Je=Ae(function(t,n){const r=fa("Text",t),{className:o,align:s,decoration:i,casing:c,...d}=qn(t),p=mb({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return a.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Je.displayName="Text";var r6=e=>a.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function i$(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{"&":n6(n,o=>r[o])}}var Lb=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:i="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>i$({spacing:i,direction:b}),[i,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=Od(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?a.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return a.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return a.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:i,className:_,...v,children:k})});Lb.displayName="Stack";var o6=Ae((e,t)=>a.jsx(Lb,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var bi=Ae((e,t)=>a.jsx(Lb,{align:"center",...e,direction:"row",ref:t}));bi.displayName="HStack";function Qw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var e1=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:i,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=mb({gridArea:r,gridColumn:Qw(o),gridRow:Qw(d),gridColumnStart:s,gridColumnEnd:i,gridRowStart:p,gridRowEnd:c});return a.jsx(je.div,{ref:n,__css:m,...h})});e1.displayName="GridItem";var gl=Ae(function(t,n){const r=fa("Badge",t),{className:o,...s}=qn(t);return a.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var Ka=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:i,borderWidth:c,borderStyle:d,borderColor:p,...h}=fa("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||i||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return a.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Ka.displayName="Divider";function l$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function c$(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)},c=()=>{i(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>i,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(l$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function u$(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 d$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,i,c)=>{e.current.set(i,{type:s,el:o,options:c}),o.addEventListener(s,i,c)},[]),r=f.useCallback((o,s,i,c)=>{o.removeEventListener(s,i,c),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 T0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:i,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),P=d$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&T0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!T0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!T0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),i==null||i(T)},[n,y,i,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:i,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function f$(e){const t=e.current;if(!t)return!1;const n=zN(t);return!n||t.contains(n)?!1:!!UN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ga(()=>{if(!s||f$(e))return;const i=(o==null?void 0:o.current)||e.current;let c;if(i)return c=requestAnimationFrame(()=>{i.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var p$={preventScroll:!0,shouldFocus:!1};function h$(e,t=p$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,i=m$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);rc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!i||!d.current)&&(d.current=!1,!i.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(i);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,i,n]);Ga(()=>{h()},[h]),Yi(i,"transitionend",h)}function m$(e){return"current"in e}var Ll=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:Ll("--popper-arrow-shadow-color"),arrowSize:Ll("--popper-arrow-size","8px"),arrowSizeHalf:Ll("--popper-arrow-size-half"),arrowBg:Ll("--popper-arrow-bg"),transformOrigin:Ll("--popper-transform-origin"),arrowOffset:Ll("--popper-arrow-offset")};function g$(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 v$={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"},b$=e=>v$[e],Jw={scroll:!0,resize:!0};function y$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Jw,...e}}:t={enabled:e,options:Jw},t}var x$={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`}},w$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,b$(e.placement))},S$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{C$(e)}},C$=e=>{var t;if(!e.placement)return;const n=k$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},k$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},_$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{eS(e)},effect:({state:e})=>()=>{eS(e)}},eS=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=g$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},P$={"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"}},j$={"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 I$(e,t="ltr"){var n,r;const o=((n=P$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=j$[e])!=null?r:o}var Po="top",as="bottom",is="right",jo="left",zb="auto",Ad=[Po,as,is,jo],wc="start",ld="end",E$="clippingParents",i6="viewport",xu="popper",O$="reference",tS=Ad.reduce(function(e,t){return e.concat([t+"-"+wc,t+"-"+ld])},[]),l6=[].concat(Ad,[zb]).reduce(function(e,t){return e.concat([t,t+"-"+wc,t+"-"+ld])},[]),R$="beforeRead",M$="read",D$="afterRead",A$="beforeMain",T$="main",N$="afterMain",$$="beforeWrite",L$="write",z$="afterWrite",B$=[R$,M$,D$,A$,T$,N$,$$,L$,z$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Bb(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function F$(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];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(i){var c=o[i];c===!1?s.removeAttribute(i):s.setAttribute(i,c===!0?"":c)}))})}function H$(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]||{},i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=i.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const W$={name:"applyStyles",enabled:!0,phase:"write",fn:F$,effect:H$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,oh=Math.min,Sc=Math.round;function t1(){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 c6(){return!/^((?!chrome|android).)*safari/i.test(t1())}function Cc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&Sc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&Sc(r.height)/e.offsetHeight||1);var i=al(e)?Fo(e):window,c=i.visualViewport,d=!c6()&&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 Fb(e){var t=Cc(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 u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Bb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Na(e){return Fo(e).getComputedStyle(e)}function V$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function km(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(Bb(e)?e.host:null)||Pi(e)}function nS(e){return!os(e)||Na(e).position==="fixed"?null:e.offsetParent}function U$(e){var t=/firefox/i.test(t1()),n=/Trident/i.test(t1());if(n&&os(e)){var r=Na(e);if(r.position==="fixed")return null}var o=km(e);for(Bb(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Na(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 Td(e){for(var t=Fo(e),n=nS(e);n&&V$(n)&&Na(n).position==="static";)n=nS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Na(n).position==="static")?t:n||U$(e)||t}function Hb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function qu(e,t,n){return Qi(e,oh(t,n))}function G$(e,t,n){var r=qu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var q$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Ad))};function K$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,i=n.modifiersData.popperOffsets,c=ta(n.placement),d=Hb(c),p=[jo,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!i)){var m=q$(o.padding,n),v=Fb(s),b=d==="y"?Po:jo,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-i[d]-n.rects.popper[h],S=i[d]-n.rects.reference[d],k=Td(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=qu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function X$(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)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const Y$={name:"arrow",enabled:!0,phase:"main",fn:K$,effect:X$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function kc(e){return e.split("-")[1]}var Q$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function J$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:Sc(n*o)/o||0,y:Sc(r*o)/o||0}}function rS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,i=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=i.x,b=v===void 0?0:v,w=i.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=i.hasOwnProperty("x"),_=i.hasOwnProperty("y"),P=jo,I=Po,E=window;if(p){var O=Td(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Na(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===Po||(o===jo||o===is)&&s===ld){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===jo||(o===Po||o===as)&&s===ld){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&Q$),Q=h===!0?J$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Z$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,i=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:kc(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,rS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,rS(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 eL={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Z$,data:{}};var Vf={passive:!0};function tL(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,i=r.resize,c=i===void 0?!0:i,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Vf)}),c&&d.addEventListener("resize",n.update,Vf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Vf)}),c&&d.removeEventListener("resize",n.update,Vf)}}const nL={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:tL,data:{}};var rL={left:"right",right:"left",bottom:"top",top:"bottom"};function Rp(e){return e.replace(/left|right|bottom|top/g,function(t){return rL[t]})}var oL={start:"end",end:"start"};function oS(e){return e.replace(/start|end/g,function(t){return oL[t]})}function Wb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Vb(e){return Cc(Pi(e)).left+Wb(e).scrollLeft}function sL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,i=r.clientHeight,c=0,d=0;if(o){s=o.width,i=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:i,x:c+Vb(e),y:d}}function aL(e){var t,n=Pi(e),r=Wb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Vb(e),d=-r.scrollTop;return Na(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:i,x:c,y:d}}function Ub(e){var t=Na(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Ub(e)?e:h6(km(e))}function Ku(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),i=o?[s].concat(s.visualViewport||[],Ub(r)?r:[]):r,c=t.concat(i);return o?c:c.concat(Ku(km(i)))}function n1(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function iL(e,t){var n=Cc(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 sS(e,t,n){return t===i6?n1(sL(e,n)):al(t)?iL(t,n):n1(aL(Pi(e)))}function lL(e){var t=Ku(km(e)),n=["absolute","fixed"].indexOf(Na(e).position)>=0,r=n&&os(e)?Td(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function cL(e,t,n,r){var o=t==="clippingParents"?lL(e):[].concat(t),s=[].concat(o,[n]),i=s[0],c=s.reduce(function(d,p){var h=sS(e,p,r);return d.top=Qi(h.top,d.top),d.right=oh(h.right,d.right),d.bottom=oh(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},sS(e,i,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?kc(r):null,i=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case Po:d={x:i,y:t.y-n.height};break;case as:d={x:i,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case jo:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Hb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case wc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case ld:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function cd(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,i=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?E$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?xu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Ad)),_=v===xu?O$:xu,P=e.rects.popper,I=e.elements[w?_:v],E=cL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,i),O=Cc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=n1(Object.assign({},P,R)),D=v===xu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===xu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[Po,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function uL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,i=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=kc(r),m=h?c?tS:tS.filter(function(w){return kc(w)===h}):Ad,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]=cd(e,{placement:y,boundary:o,rootBoundary:s,padding:i})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function dL(e){if(ta(e)===zb)return[];var t=Rp(e);return[oS(e),t,oS(t)]}function fL(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,i=n.altAxis,c=i===void 0?!0:i,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,P=d||(_||!w?[Rp(S)]:dL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===zb?uL(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,D=I[0],A=0;A=0,q=V?"width":"height",G=cd(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:jo:F?as:Po;E[q]>O[q]&&(T=Rp(T));var z=Rp(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const pL={name:"flip",enabled:!0,phase:"main",fn:fL,requiresIfExists:["offset"],data:{_skip:!1}};function aS(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 iS(e){return[Po,is,as,jo].some(function(t){return e[t]>=0})}function hL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,i=cd(t,{elementContext:"reference"}),c=cd(t,{altBoundary:!0}),d=aS(i,r),p=aS(c,o,s),h=iS(d),m=iS(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 mL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hL};function gL(e,t,n){var r=ta(e),o=[jo,Po].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,i=s[0],c=s[1];return i=i||0,c=(c||0)*o,[jo,is].indexOf(r)>=0?{x:c,y:i}:{x:i,y:c}}function vL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,i=l6.reduce(function(h,m){return h[m]=gL(m,t.rects,s),h},{}),c=i[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]=i}const bL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:vL};function yL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const xL={name:"popperOffsets",enabled:!0,phase:"read",fn:yL,data:{}};function wL(e){return e==="x"?"y":"x"}function SL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,i=n.altAxis,c=i===void 0?!1:i,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=cd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=kc(t.placement),P=!_,I=Hb(k),E=wL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?Po:jo,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===wc?R[G]:M[G],fe=_===wc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Fb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=qu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Td(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=qu(b?oh(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?Po:jo,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[Po,jo].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,_t=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?G$(_t,ct,Tt):qu(b?_t:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const CL={name:"preventOverflow",enabled:!0,phase:"main",fn:SL,requiresIfExists:["offset"]};function kL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function _L(e){return e===Fo(e)||!os(e)?Wb(e):kL(e)}function PL(e){var t=e.getBoundingClientRect(),n=Sc(t.width)/e.offsetWidth||1,r=Sc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function jL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&PL(t),s=Pi(t),i=Cc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Ub(s))&&(c=_L(t)),os(t)?(d=Cc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Vb(s))),{x:i.left+c.scrollLeft-d.x,y:i.top+c.scrollTop-d.y,width:i.width,height:i.height}}function IL(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 i=[].concat(s.requires||[],s.requiresIfExists||[]);i.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 EL(e){var t=IL(e);return B$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function OL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function RL(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 lS={placement:"bottom",modifiers:[],strategy:"absolute"};function cS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=AL(w.current,y.current,{placement:k,modifiers:[_$,S$,w$,{...x$,enabled:!!v},{name:"eventListeners",...y$(i)},{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,i,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 I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:TL(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function TL(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 qb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),i=or(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),i==null||i()},[h,i]),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(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function NL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),i=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{N0(m,t)&&(i.isPointerDown=!0)},d=m=>{if(i.ignoreEmulatedMouseEvents){i.ignoreEmulatedMouseEvents=!1;return}i.isPointerDown&&n&&N0(m,t)&&(i.isPointerDown=!1,o(m))},p=m=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&N0(m,t)&&(i.isPointerDown=!1,o(m))},h=g6(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,i,r])}function N0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(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]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=LN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Kb(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[$L,LL,zL,BL]=gb(),[FL,Nd]=Dn({strict:!1,name:"MenuContext"});function HL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function uS(e){return b6(e).activeElement===e}function WL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:i,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),_=zL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=qb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});NL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Gb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Ga(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=HL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));QL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:i,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function VL(e={},t=null){const n=Nd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:i}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:i}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,i]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function r1(e){var t;return XL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function UL(e={},t=null){const n=Nd();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:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=LL(),b=c$({preventDefault:k=>k.key!==" "&&r1(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={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(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=u$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});r1(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);i&&(y.current=!0);const S=Kb({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 GL(e={}){const{popper:t,isOpen:n}=Nd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:i,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Nd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=BL({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!uS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),r1(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{i==null||i(T),b(R)},[b,i,R]),V=R===w,q=c&&!d;Ga(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!uS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,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 qL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function KL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...i}=e,d=n==="radio"?"":[],[p,h]=Bc({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=Od(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.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{...i,children:b}}function XL(e){var t;if(!YL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function YL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function QL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[JL,Wc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),$d=e=>{const{children:t}=e,n=Hr("Menu",e),r=qn(e),{direction:o}=$c(),{descendants:s,...i}=WL({...r,direction:o}),c=f.useMemo(()=>i,[i]),{isOpen:d,onClose:p,forceUpdate:h}=c;return a.jsx($L,{value:s,children:a.jsx(FL,{value:c,children:a.jsx(JL,{value:n,children:Z1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};$d.displayName="Menu";var x6=Ae((e,t)=>{const n=Wc();return a.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Wc(),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(je.button,{ref:t,type:s,...r,__css:i})}),Xb=e=>{const{className:t,children:n,...r}=e,o=Wc(),s=f.Children.only(n),i=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return a.jsx(je.span,{className:c,...r,__css:o.icon,children:i})};Xb.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:i,...c}=e,d=y6(c,t),h=n||o?a.jsx("span",{style:{pointerEvents:"none",flex:1},children:i}):i;return a.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&a.jsx(Xb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&a.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var ZL={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"}}},ez=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:i,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Nd(),m=UL(c,n),v=GL(s),b=Wc();return a.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:a.jsx(ez,{variants:ZL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...i,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:pm(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var ud=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,i=Ct("chakra-menu__group__title",o),c=Wc();return a.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&a.jsx(je.p,{className:i,...s,__css:c.groupTitle,children:n}),r]})});ud.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=KL(r);return a.jsx(ud,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var tz=Ae((e,t)=>{const n=Wc();return a.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ld=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=VL(o,t),i=r||tz;return a.jsx(i,{...s,className:Ct("chakra-menu__menu-button",e.className),children:a.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ld.displayName="MenuButton";var nz=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"})}),sh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=qL(o,t);return a.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&a.jsx(Xb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||a.jsx(nz,{})}),a.jsx("span",{style:{flex:1},children:s.children})]})});sh.id="MenuItemOption";sh.displayName="MenuItemOption";var rz={slideInBottom:{...Wv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Wv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},oz=je(Er.section),sz=e=>rz[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=sz(n),...o}=e;return a.jsx(oz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var az=Object.defineProperty,iz=(e,t,n)=>t in e?az(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lz=(e,t,n)=>(iz(e,typeof t!="symbol"?t+"":t,n),n),cz=class{constructor(){lz(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}},o1=new cz;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=o1.add(o);r(s)}return()=>{o1.remove(o),r(0)}}},[t,e]),n}var uz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},zl=new WeakMap,Uf=new WeakMap,Gf={},$0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},dz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(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})},fz=function(e,t,n,r){var o=dz(t,Array.isArray(e)?e:[e]);Gf[n]||(Gf[n]=new WeakMap);var s=Gf[n],i=[],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=(zl.get(v)||0)+1,S=(s.get(v)||0)+1;zl.set(v,y),s.set(v,S),i.push(v),y===1&&w&&Uf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),$0++,function(){i.forEach(function(m){var v=zl.get(m)-1,b=s.get(m)-1;zl.set(m,v),s.set(m,b),v||(Uf.has(m)||m.removeAttribute(r),Uf.delete(m)),b||m.removeAttribute(n)}),$0--,$0||(zl=new WeakMap,zl=new WeakMap,Uf=new WeakMap,Gf={})}},pz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||uz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),fz(r,o,n,"aria-hidden")):function(){return null}};function hz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:i=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=gz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");mz(p,t&&i);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&o1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function mz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return pz(e.current)},[t,e,n])}function gz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[vz,Vc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[bz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),dd=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:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Hr("Modal",t),k={...hz(t),autoFocus:o,trapFocus:s,initialFocusRef:i,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return a.jsx(bz,{value:k,children:a.jsx(vz,{value:y,children:a.jsx(mo,{onExitComplete:w,children:k.isOpen&&a.jsx(rd,{...n,children:r})})})})};dd.displayName="Modal";var Mp="right-scroll-bar-position",Dp="width-before-scroll-bar",yz="with-scroll-bars-hidden",xz="--removed-body-scroll-bar-size",P6=w3(),L0=function(){},_m=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:L0,onWheelCapture:L0,onTouchMoveCapture:L0}),o=r[0],s=r[1],i=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,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),i?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});_m.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};_m.classNames={fullWidth:Dp,zeroRight:Mp};var dS,wz=function(){if(dS)return dS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Sz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=wz();return t&&e.setAttribute("nonce",t),e}function Cz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function kz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var _z=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Sz())&&(Cz(t,n),kz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Pz=function(){var e=_z();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Pz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},jz={left:0,top:0,right:0,gap:0},z0=function(e){return parseInt(e||"",10)||0},Iz=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[z0(n),z0(r),z0(o)]},Ez=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return jz;var t=Iz(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])}},Oz=j6(),Rz=function(e,t,n,r){var o=e.left,s=e.top,i=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(yz,` { + 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(i,`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(Mp,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(Dp,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(Mp," .").concat(Mp,` { + right: 0 `).concat(r,`; + } + + .`).concat(Dp," .").concat(Dp,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(xz,": ").concat(c,`px; + } +`)},Mz=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Ez(o)},[o]);return f.createElement(Oz,{styles:Rz(s,!t,o,n?"":"!important")})},s1=!1;if(typeof window<"u")try{var qf=Object.defineProperty({},"passive",{get:function(){return s1=!0,!0}});window.addEventListener("test",qf,qf),window.removeEventListener("test",qf,qf)}catch{s1=!1}var Bl=s1?{passive:!1}:!1,Dz=function(e){return e.tagName==="TEXTAREA"},I6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Dz(e)&&n[t]==="visible")},Az=function(e){return I6(e,"overflowY")},Tz=function(e){return I6(e,"overflowX")},fS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=E6(e,r);if(o){var s=O6(e,r),i=s[1],c=s[2];if(i>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Nz=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},$z=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},E6=function(e,t){return e==="v"?Az(t):Tz(t)},O6=function(e,t){return e==="v"?Nz(t):$z(t)},Lz=function(e,t){return e==="h"&&t==="rtl"?-1:1},zz=function(e,t,n,r,o){var s=Lz(e,window.getComputedStyle(t).direction),i=s*r,c=n.target,d=t.contains(c),p=!1,h=i>0,m=0,v=0;do{var b=O6(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&E6(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&&i>m)||!h&&(o&&v===0||!o&&-i>v))&&(p=!0),p},Kf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pS=function(e){return[e.deltaX,e.deltaY]},hS=function(e){return e&&"current"in e?e.current:e},Bz=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Fz=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},Hz=0,Fl=[];function Wz(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(Hz++)[0],s=f.useState(j6)[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 y=Yv([e.lockRef.current],(e.shards||[]).map(hS),!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!i.current.allowPinchZoom;var k=Kf(y),_=n.current,P="deltaX"in y?y.deltaX:_[0]-k[0],I="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=fS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=fS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(P||I)&&(r.current=E),!E)return!0;var D=r.current||E;return zz(D,S,y,D==="h"?P:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Fl.length||Fl[Fl.length-1]!==s)){var k="deltaY"in S?pS(S):Kf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&Bz(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var P=(i.current.shards||[]).map(hS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=P.length>0?c(S,P[0]):!i.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var P={name:y,delta:S,target:k,should:_};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(y){n.current=Kf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,pS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Kf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Fl.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,Bl),document.addEventListener("touchmove",d,Bl),document.addEventListener("touchstart",h,Bl),function(){Fl=Fl.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,Bl),document.removeEventListener("touchmove",d,Bl),document.removeEventListener("touchstart",h,Bl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:Fz(o)}):null,b?f.createElement(Mz,{gapMode:e.gapMode}):null)}const Vz=FT(P6,Wz);var R6=f.forwardRef(function(e,t){return f.createElement(_m,Qs({},e,{ref:t,sideCar:Vz}))});R6.classNames=_m.classNames;const Uz=R6;function Gz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:i,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=ll(),[v,b]=zR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=k6(r,m);return a.jsx(J3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:a.jsx(Uz,{removeScrollBar:!p,allowPinchZoom:i,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var fd=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...i}=e,{getDialogProps:c,getDialogContainerProps:d}=ll(),p=c(i,t),h=d(o),m=Ct("chakra-modal__content",n),v=Vc(),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}=ll();return a.jsx(Gz,{children:a.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:a.jsx(C6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});fd.displayName="ModalContent";function zd(e){const{leastDestructiveRef:t,...n}=e;return a.jsx(dd,{...n,initialFocusRef:t})}var Bd=Ae((e,t)=>a.jsx(fd,{ref:t,role:"alertdialog",...e})),$a=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),i={display:"flex",alignItems:"center",justifyContent:"flex-end",...Vc().footer};return a.jsx(je.footer,{ref:t,...r,__css:i,className:o})});$a.displayName="ModalFooter";var La=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Ct("chakra-modal__header",n),d={flex:0,...Vc().header};return a.jsx(je.header,{ref:t,className:i,id:o,...r,__css:d})});La.displayName="ModalHeader";var qz=je(Er.div),za=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,i=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Vc().overlay},{motionPreset:p}=ll(),m=o||(p==="none"?{}:q5);return a.jsx(qz,{...m,__css:d,ref:t,className:i,...s})});za.displayName="ModalOverlay";var Ba=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const i=Ct("chakra-modal__body",n),c=Vc();return a.jsx(je.div,{ref:t,className:i,id:o,...r,__css:c.body})});Ba.displayName="ModalBody";var Yb=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=ll(),i=Ct("chakra-modal__close-btn",r),c=Vc();return a.jsx(a9,{ref:t,__css:c.closeButton,className:i,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Yb.displayName="ModalCloseButton";var Kz=e=>a.jsx(fo,{viewBox:"0 0 24 24",...e,children:a.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"})}),Xz=e=>a.jsx(fo,{viewBox:"0 0 24 24",...e,children:a.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 mS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,i=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&i.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:i}),()=>c.disconnect()})}function Yz(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Qz=50,gS=300;function Jz(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[i,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);Yz(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?Qz:null);const h=f.useCallback(()=>{i&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},gS)},[e,i]),m=f.useCallback(()=>{i&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},gS)},[t,i]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var Zz=/^[Ee0-9+\-.]$/;function eB(e){return Zz.test(e)}function tB(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 nB(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:i=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":P,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:D,format:A,parse:L,...Q}=e,F=or(E),V=or(O),q=or(R),G=or(D??eB),T=or(M),z=wT(e),{update:$,increment:Y,decrement:ae}=z,[fe,ie]=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(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=L==null?void 0:L(we))!=null?ht:we},[L]),le=f.useCallback(we=>{var ht;return((ht=A==null?void 0:A(we))!=null?ht:we).toString()},[A]);Ga(()=>{(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((we=i)=>{X&&Y(we)},[Y,X,i]),ke=f.useCallback((we=i)=>{X&&ae(we)},[ae,X,i]),xe=Jz(ge,ke);mS(se,"disabled",xe.stop,xe.isSpinning),mS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);$(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[$,oe,pe]),Te=f.useCallback(we=>{var ht,$t,Lt;F==null||F(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(Lt=U.current.end)!=null?Lt:we.currentTarget.selectionStart)},[F]),Ee=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;tB(we,G)||we.preventDefault();const ht=$e(we)*i,$t=we.key,Le={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>$(o),End:()=>$(s)}[$t];Le&&(we.preventDefault(),Le(we))},[G,i,ge,ke,$,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=T==null?void 0:T(z.value);if(we!=null)return we;const ht=z.value.toString();return ht||void 0},[z.value,T]),ct=f.useCallback(()=>{let we=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(we=s),z.cast(we))},[z,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Yi(()=>K.current,"wheel",we=>{var ht,$t;const Le=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Le)return;we.preventDefault();const Ge=$e(we)*i,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ge):Pn===1&&ke(Ge)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||bt(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMax,r,bt,xe.stop,d]),_t=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||Se(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,Lt,Le,Ge;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":P,"aria-describedby":_,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(Lt=we.readOnly)!=null?Lt:c,"aria-required":(Le=we.required)!=null?Le:p,required:(Ge=we.required)!=null?Ge:p,ref:cn(K,ht),value:le(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":rs(h??z.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:et(we.onChange,de),onKeyDown:et(we.onKeyDown,Ee),onFocus:et(we.onFocus,Te,()=>ie(!0)),onBlur:et(we.onBlur,V,on)}},[k,v,m,I,P,le,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,kt,de,Ee,Te,V,on]);return{value:le(z.value),valueAsNumber:z.valueAsNumber,isFocused:fe,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:_t,getInputProps:Tt,htmlProps:Q}}var[rB,Pm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[oB,Qb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),jm=Ae(function(t,n){const r=Hr("NumberInput",t),o=qn(t),s=xb(o),{htmlProps:i,...c}=nB(s),d=f.useMemo(()=>c,[c]);return a.jsx(oB,{value:d,children:a.jsx(rB,{value:r,children:a.jsx(je.div,{...i,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});jm.displayName="NumberInput";var Im=Ae(function(t,n){const r=Pm();return a.jsx(je.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}})});Im.displayName="NumberInputStepper";var Em=Ae(function(t,n){const{getInputProps:r}=Qb(),o=r(t,n),s=Pm();return a.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});Em.displayName="NumberInputField";var M6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),Om=Ae(function(t,n){var r;const o=Pm(),{getDecrementButtonProps:s}=Qb(),i=s(t,n);return a.jsx(M6,{...i,__css:o.stepper,children:(r=t.children)!=null?r:a.jsx(Kz,{})})});Om.displayName="NumberDecrementStepper";var Rm=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=Qb(),s=o(t,n),i=Pm();return a.jsx(M6,{...s,__css:i.stepper,children:(r=t.children)!=null?r:a.jsx(Xz,{})})});Rm.displayName="NumberIncrementStepper";var[sB,Fd]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[aB,Jb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Zb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Fd();return f.cloneElement(t,n(t.props,t.ref))}Zb.displayName="PopoverTrigger";var Hl={click:"click",hover:"hover"};function iB(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:i=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Hl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:P}=qb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[D,A]=f.useState(!1),[L,Q]=f.useState(!1),F=f.useId(),V=o??F,[q,G,T,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:$,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:fe,forceUpdate:ie}=Gb({...y,enabled:S||!!w}),X=v6({isOpen:S,ref:O});d3({enabled:S,ref:E}),a6(O,{focusRef:E,visible:S,shouldFocus:s&&p===Hl.click}),h$(O,{focusRef:r,visible:S,shouldFocus:i&&p===Hl.click});const K=Kb({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Ee={...de,style:{...de.style,transformOrigin:Ir.transformOrigin.varRef,[Ir.arrowSize.var]:c?`${c}px`:void 0,[Ir.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&k()}),onBlur:et(de.onBlur,$e=>{const kt=vS($e),ct=B0(O.current,kt),on=B0(E.current,kt);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":D?T:void 0,"aria-describedby":L?z:void 0};return p===Hl.hover&&(Ee.role="tooltip",Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0}),Ee.onMouseLeave=et(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ee},[K,G,D,T,L,z,p,n,k,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,$)}),[I,$]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&$(de)},[$]),ge=f.useCallback((de={},Te=null)=>{const Ee={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Hl.click&&(Ee.onClick=et(de.onClick,P)),p===Hl.hover&&(Ee.onFocus=et(de.onFocus,()=>{oe.current===void 0&&_()}),Ee.onBlur=et(de.onBlur,$e=>{const kt=vS($e),ct=!B0(O.current,kt);S&&t&&ct&&k()}),Ee.onKeyDown=et(de.onKeyDown,$e=>{$e.key==="Escape"&&k()}),Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ee.onMouseLeave=et(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ee},[q,S,G,p,le,P,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:T,ref:cn(Te,Ee=>{A(!!Ee)})}),[T]),xe=f.useCallback((de={},Te=null)=>({...de,id:z,ref:cn(Te,Ee=>{Q(!!Ee)})}),[z]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:fe,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function B0(e,t){return e===t||(e==null?void 0:e.contains(t))}function vS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function ey(e){const t=Hr("Popover",e),{children:n,...r}=qn(e),o=$c(),s=iB({...r,direction:o.direction});return a.jsx(sB,{value:s,children:a.jsx(aB,{value:t,children:Z1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}ey.displayName="Popover";var F0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function D6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:i,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Fd(),h=Jb(),m=(t=n??r)!=null?t:o,v=s??i;return a.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:a.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":F0("colors",c),"--popper-arrow-bg":F0("colors",m),"--popper-arrow-shadow":F0("shadows",v),...h.arrow}})})}D6.displayName="PopoverArrow";var A6=Ae(function(t,n){const{getBodyProps:r}=Fd(),o=Jb();return a.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});A6.displayName="PopoverBody";function lB(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var cB={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]}}},uB=je(Er.section),T6=Ae(function(t,n){const{variants:r=cB,...o}=t,{isOpen:s}=Fd();return a.jsx(uB,{ref:n,variants:lB(r),initial:!1,animate:s?"enter":"exit",...o})});T6.displayName="PopoverTransition";var ty=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:i,getPopoverPositionerProps:c,onAnimationComplete:d}=Fd(),p=Jb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return a.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:a.jsx(T6,{...o,...i(s,n),onAnimationComplete:pm(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});ty.displayName="PopoverContent";function dB(e,t,n){return(e-t)*100/(n-t)}Va({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});Va({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var fB=Va({"0%":{left:"-40%"},"100%":{left:"100%"}}),pB=Va({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function hB(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:i,role:c="progressbar"}=e,d=dB(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:c},percent:d,value:t}}var[mB,gB]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),vB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:i,...c}=e,d=hB({value:o,min:n,max:r,isIndeterminate:s,role:i}),h={height:"100%",...gB().filledTrack};return a.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),N6=Ae((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:i,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=Hr("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),P={animation:`${pB} 1s linear infinite`},O={...!h&&i&&c&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${fB} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return a.jsx(je.div,{ref:t,borderRadius:_,__css:R,...S,children:a.jsxs(mB,{value:k,children:[a.jsx(vB,{"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]})})});N6.displayName="Progress";function bB(e){return e&&Ev(e)&&Ev(e.target)}function yB(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:i,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=bB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),P=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=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:P,getRadioProps:I,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:i,htmlProps:d}}var[xB,$6]=Dn({name:"RadioGroupContext",strict:!1}),ah=Ae((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:i,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=yB(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 a.jsx(xB,{value:y,children:a.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",i),children:s})})});ah.displayName="RadioGroup";var wB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function SB(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:i,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=Rd(),_=!!$6()||!!v;let I=!!S&&!_?S.id:y;I=m??I;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=i??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[D,A]=f.useState(!1),[L,Q]=f.useState(!1),[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(!!t),$=typeof n<"u",Y=$?n:T;f.useEffect(()=>e3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}$||z(le.target.checked),c==null||c(le)},[$,E,O,c]),fe=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(F),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft(L),"data-focus-visible":Ft(L&&D),"data-readonly":Ft(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,F,E,M,Y,L,O,D]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,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,fe),onKeyUp:et(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":rs(M),"aria-disabled":rs(ke),"aria-required":rs(R),"data-readonly":Ft(O),"aria-describedby":b,style:wB}},[E,r,I,p,h,ae,U,K,fe,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:L,isChecked:Y,isActive:q,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,CB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function CB(e){e.preventDefault(),e.stopPropagation()}function kB(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 ka=Ae((e,t)=>{var n;const r=$6(),{onChange:o,value:s}=e,i=Hr("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=pm(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:P,getRootProps:I,htmlProps:E}=SB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=kB(E,T_),M=_(R),D=k(v,t),A=P(),L=Object.assign({},O,I()),Q={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},V={userSelect:"none",marginStart:d,...i.label};return a.jsxs(je.label,{className:"chakra-radio",...L,__css:Q,children:[a.jsx("input",{className:"chakra-radio__input",...D}),a.jsx(je.span,{className:"chakra-radio__control",...M,__css:F}),p&&a.jsx(je.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ka.displayName="Radio";var L6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...i}=t;return a.jsxs(je.select,{...i,ref:n,className:Ct("chakra-select",s),children:[o&&a.jsx("option",{value:"",children:o}),r]})});L6.displayName="SelectField";function _B(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 z6=Ae((e,t)=>{var n;const r=Hr("Select",e),{rootProps:o,placeholder:s,icon:i,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=_B(w,T_),k=yb(S),_={width:"100%",height:"fit-content",position:"relative",color:c},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return a.jsxs(je.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[a.jsx(L6,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:P,children:e.children}),a.jsx(B6,{"data-disabled":Ft(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:i})]})});z6.displayName="Select";var PB=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"})}),jB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),B6=e=>{const{children:t=a.jsx(PB,{}),...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(jB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};B6.displayName="SelectIcon";function IB(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function EB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var OB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),a1=N_("skeleton-start-color"),i1=N_("skeleton-end-color"),RB=Va({from:{opacity:0},to:{opacity:1}}),MB=Va({from:{borderColor:a1.reference,background:a1.reference},to:{borderColor:i1.reference,background:i1.reference}}),Mm=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=fa("Skeleton",n),o=IB(),{startColor:s="",endColor:i="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Lc("colors",[s,i]),y=EB(c),S=Ct("chakra-skeleton",h),k={...b&&{[a1.variable]:b},...w&&{[i1.variable]:w}};if(c){const _=o||y?"none":`${RB} ${d}s`;return a.jsx(je.div,{ref:t,className:S,__css:{animation:_},...v})}return a.jsx(OB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${MB}`}})});Mm.displayName="Skeleton";var Zo=e=>e?"":void 0,dc=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function fc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function DB(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 $u(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Ap={width:0,height:0},Xf=e=>e||Ap;function F6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Ap;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...$u({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},i=t==="vertical"?r.reduce((y,S)=>Xf(y).height>Xf(S).height?y:S,Ap):r.reduce((y,S)=>Xf(y).width>Xf(S).width?y:S,Ap),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...$u({orientation:t,vertical:i?{paddingLeft:i.width/2,paddingRight:i.width/2}:{},horizontal:i?{paddingTop:i.height/2,paddingBottom:i.height/2}:{}})},d={position:"absolute",...$u({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,...$u({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 H6(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function AB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function TB(e){const t=$B(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function W6(e){return!!e.touches}function NB(e){return W6(e)&&e.touches.length>1}function $B(e){var t;return(t=e.view)!=null?t:window}function LB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function zB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function V6(e,t="page"){return W6(e)?LB(e,t):zB(e,t)}function BB(e){return t=>{const n=TB(t);(!n||n&&t.button===0)&&e(t)}}function FB(e,t=!1){function n(o){e(o,{point:V6(o)})}return t?BB(n):n}function Tp(e,t,n,r){return AB(e,t,FB(n,t==="pointerdown"),r)}var HB=Object.defineProperty,WB=(e,t,n)=>t in e?HB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vs=(e,t,n)=>(WB(e,typeof t!="symbol"?t+"":t,n),n),VB=class{constructor(e,t,n){vs(this,"history",[]),vs(this,"startEvent",null),vs(this,"lastEvent",null),vs(this,"lastEventInfo",null),vs(this,"handlers",{}),vs(this,"removeListeners",()=>{}),vs(this,"threshold",3),vs(this,"win"),vs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=H0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=KB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=Mw();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)}),vs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,cA.update(this.updatePoint,!0)}),vs(this,"onPointerUp",(c,d)=>{const p=H0(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,NB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:V6(e)},{timestamp:s}=Mw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:i}=t;i==null||i(e,H0(o,this.history)),this.removeListeners=qB(Tp(this.win,"pointermove",this.onPointerMove),Tp(this.win,"pointerup",this.onPointerUp),Tp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),uA.update(this.updatePoint)}};function bS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function H0(e,t){return{point:e.point,delta:bS(e.point,t[t.length-1]),offset:bS(e.point,t[0]),velocity:GB(t,.1)}}var UB=e=>e*1e3;function GB(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 i={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function qB(...e){return t=>e.reduce((n,r)=>r(n),t)}function W0(e,t){return Math.abs(e-t)}function yS(e){return"x"in e&&"y"in e}function KB(e,t){if(typeof e=="number"&&typeof t=="number")return W0(e,t);if(yS(e)&&yS(t)){const n=W0(e.x,t.x),r=W0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function U6(e){const t=f.useRef(null);return t.current=e,t}function G6(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:i,threshold:c}=t,d=!!(n||r||o||s||i),p=f.useRef(null),h=U6({onSessionStart:s,onSessionEnd:i,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 VB(b,h.current,c)}return Tp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function XB(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 i,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;i=p.inlineSize,c=p.blockSize}else i=e.offsetWidth,c=e.offsetHeight;t({width:i,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var YB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function QB(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 q6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return YB(()=>{const i=e(),c=i.map((d,p)=>XB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=i[0];c.push(QB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function JB(e){return typeof e=="object"&&e!==null&&"current"in e}function ZB(e){const[t]=q6({observeMutation:!1,getNodes(){return[JB(e)?e.current:e]}});return t}function eF(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:i,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:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),D=or(y),A=H6({isReversed:i,direction:c,orientation:d}),[L,Q]=Bc({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(L))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof L}\``);const[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(-1),$=!(h||m),Y=f.useRef(L),ae=L.map(Pe=>ic(Pe,t,n)),fe=E*w,ie=tF(ae,t,n,fe),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Zp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=q6({getNodes(){const Pe=pe.current,Qe=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Qe?Array.from(Qe):[]}}),ge=f.useId(),xe=DB(p??ge),de=f.useCallback(Pe=>{var Qe,Xe;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:zt,clientY:cr}=(Xe=(Qe=Pe.touches)==null?void 0:Qe[0])!=null?Xe:Pe,pn=re?dt.bottom-cr:zt-dt.left,ln=re?dt.height:dt.width;let Wr=pn/ln;return A&&(Wr=1-Wr),r3(Wr,t,n)},[re,A,n,t]),Te=(n-t)/10,Ee=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Qe){if(!$)return;const Xe=X.current.valueBounds[Pe];Qe=parseFloat(Kv(Qe,Xe.min,Ee)),Qe=ic(Qe,Xe.min,Xe.max);const dt=[...X.current.value];dt[Pe]=Qe,Q(dt)},setActiveIndex:z,stepUp(Pe,Qe=Ee){const Xe=X.current.value[Pe],dt=A?Xe-Qe:Xe+Qe;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Qe=Ee){const Xe=X.current.value[Pe],dt=A?Xe+Qe:Xe-Qe;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ee,A,Q,$]),kt=f.useCallback(Pe=>{const Qe=Pe.key,dt={ArrowRight:()=>$e.stepUp(T),ArrowUp:()=>$e.stepUp(T),ArrowLeft:()=>$e.stepDown(T),ArrowDown:()=>$e.stepDown(T),PageUp:()=>$e.stepUp(T,Te),PageDown:()=>$e.stepDown(T,Te),Home:()=>{const{min:zt}=ie[T];$e.setValueAtIndex(T,zt)},End:()=>{const{max:zt}=ie[T];$e.setValueAtIndex(T,zt)}}[Qe];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,T,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>F6({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),Se=f.useCallback(Pe=>{var Qe;const Xe=Pe??T;if(Xe!==-1&&I){const dt=xe.getThumb(Xe),zt=(Qe=pe.current)==null?void 0:Qe.ownerDocument.getElementById(dt);zt&&setTimeout(()=>zt.focus())}},[I,T,xe]);Ga(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Qe=de(Pe)||0,Xe=X.current.value.map(ln=>Math.abs(ln-Qe)),dt=Math.min(...Xe);let zt=Xe.indexOf(dt);const cr=Xe.filter(ln=>ln===dt);cr.length>1&&Qe>X.current.value[zt]&&(zt=zt+cr.length-1),z(zt),$e.setValueAtIndex(zt,Qe),Se(zt)},_t=Pe=>{if(T==-1)return;const Qe=de(Pe)||0;z(T),$e.setValueAtIndex(T,Qe),Se(T)};G6(pe,{onPanSessionStart(Pe){$&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){$&&(V(!1),M==null||M(X.current.value))},onPan(Pe){$&&_t(Pe)}});const Tt=f.useCallback((Pe={},Qe=null)=>({...Pe,...O,id:xe.root,ref:cn(Qe,pe),tabIndex:-1,"aria-disabled":dc(h),"data-focused":Zo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Qe=null)=>({...Pe,ref:cn(Qe,oe),id:xe.track,"data-disabled":Zo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Qe=null)=>({...Pe,ref:Qe,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Qe=null)=>{var Xe;const{index:dt,...zt}=Pe,cr=ae[dt];if(cr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...zt,ref:Qe,role:"slider",tabIndex:$?0:void 0,id:xe.getThumb(dt),"data-active":Zo(F&&T===dt),"aria-valuetext":(Xe=D==null?void 0:D(cr))!=null?Xe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":cr,"aria-orientation":d,"aria-disabled":dc(h),"aria-readonly":dc(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:fc(Pe.onKeyDown,kt),onFocus:fc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:fc(Pe.onBlur,()=>{G(!1),z(-1)})}},[xe,ae,ie,$,F,T,D,S,d,h,m,k,_,ct,kt,G]),Lt=f.useCallback((Pe={},Qe=null)=>({...Pe,ref:Qe,id:xe.output,htmlFor:ae.map((Xe,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),Le=f.useCallback((Pe,Qe=null)=>{const{value:Xe,...dt}=Pe,zt=!(Xen),cr=Xe>=ae[0]&&Xe<=ae[ae.length-1];let pn=Zp(Xe,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...$u({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Qe,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Zo(h),"data-invalid":Zo(!zt),"data-highlighted":Zo(cr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,xe]),Ge=f.useCallback((Pe,Qe=null)=>{const{index:Xe,...dt}=Pe;return{...dt,ref:Qe,id:xe.getInput(Xe),type:"hidden",value:ae[Xe],name:Array.isArray(P)?P[Xe]:`${P}-${Xe}`}},[P,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:F,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Le,getInputProps:Ge,getOutputProps:Lt}}function tF(e,t,n,r){return e.map((o,s)=>{const i=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:i,max:c}})}var[nF,Dm]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[rF,Am]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),K6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Hr("Slider",r),s=qn(r),{direction:i}=$c();s.direction=i;const{getRootProps:c,...d}=eF(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return a.jsx(nF,{value:p,children:a.jsx(rF,{value:o,children:a.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});K6.displayName="RangeSlider";var l1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=Dm(),i=Am(),c=r(t,n);return a.jsxs(je.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:i.thumb,children:[c.children,s&&a.jsx("input",{...o({index:t.index})})]})});l1.displayName="RangeSliderThumb";var X6=Ae(function(t,n){const{getTrackProps:r}=Dm(),o=Am(),s=r(t,n);return a.jsx(je.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});X6.displayName="RangeSliderTrack";var Y6=Ae(function(t,n){const{getInnerTrackProps:r}=Dm(),o=Am(),s=r(t,n);return a.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});Y6.displayName="RangeSliderFilledTrack";var Np=Ae(function(t,n){const{getMarkerProps:r}=Dm(),o=Am(),s=r(t,n);return a.jsx(je.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});Np.displayName="RangeSliderMark";function oF(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:i,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":P,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),D=or(S),A=H6({isReversed:c,direction:d,orientation:p}),[L,Q]=Bc({value:s,defaultValue:i??aF(n,r),onChange:o}),[F,V]=f.useState(!1),[q,G]=f.useState(!1),T=!(m||v),z=(r-n)/10,$=y||(r-n)/100,Y=ic(L,n,r),ae=r-Y+n,ie=Zp(A?ae:Y,n,r),X=p==="vertical",K=U6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:T,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}`],ke=f.useCallback(Le=>{var Ge,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Qe=U.current.getBoundingClientRect(),{clientX:Xe,clientY:dt}=(Pn=(Ge=Le.touches)==null?void 0:Ge[0])!=null?Pn:Le,zt=X?Qe.bottom-dt:Xe-Qe.left,cr=X?Qe.height:Qe.width;let pn=zt/cr;A&&(pn=1-pn);let ln=r3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Kv(ln,Pe.min,Pe.step))),ln=ic(ln,Pe.min,Pe.max),ln},[X,A,K]),xe=f.useCallback(Le=>{const Ge=K.current;Ge.isInteractive&&(Le=parseFloat(Kv(Le,Ge.min,$)),Le=ic(Le,Ge.min,Ge.max),Q(Le))},[$,Q,K]),de=f.useMemo(()=>({stepUp(Le=$){const Ge=A?Y-Le:Y+Le;xe(Ge)},stepDown(Le=$){const Ge=A?Y+Le:Y-Le;xe(Ge)},reset(){xe(i||0)},stepTo(Le){xe(Le)}}),[xe,A,Y,$,i]),Te=f.useCallback(Le=>{const Ge=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(z),PageDown:()=>de.stepDown(z),Home:()=>xe(Ge.min),End:()=>xe(Ge.max)}[Le.key];Pe&&(Le.preventDefault(),Le.stopPropagation(),Pe(Le),Ge.eventSource="keyboard")},[de,xe,z,K]),Ee=(t=D==null?void 0:D(Y))!=null?t:k,$e=ZB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Le=K.current,Ge=$e??{width:0,height:0};return F6({isReversed:A,orientation:Le.orientation,thumbRects:[Ge],thumbPercents:[ie]})},[A,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ge;return(Ge=se.current)==null?void 0:Ge.focus()})},[K]);Ga(()=>{const Le=K.current;bt(),Le.eventSource==="keyboard"&&(M==null||M(Le.value))},[Y,M]);function Se(Le){const Ge=ke(Le);Ge!=null&&Ge!==K.current.value&&Q(Ge)}G6(re,{onPanSessionStart(Le){const Ge=K.current;Ge.isInteractive&&(V(!0),bt(),Se(Le),R==null||R(Ge.value))},onPanSessionEnd(){const Le=K.current;Le.isInteractive&&(V(!1),M==null||M(Le.value))},onPan(Le){K.current.isInteractive&&Se(Le)}});const Me=f.useCallback((Le={},Ge=null)=>({...Le,...O,ref:cn(Ge,re),tabIndex:-1,"aria-disabled":dc(m),"data-focused":Zo(q),style:{...Le.style,...ct}}),[O,m,q,ct]),_t=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,U),id:ge,"data-disabled":Zo(m),style:{...Le.style,...on}}),[m,ge,on]),Tt=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,style:{...Le.style,...vt}}),[vt]),we=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,se),role:"slider",tabIndex:T?0:void 0,id:le,"data-active":Zo(F),"aria-valuetext":Ee,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":dc(m),"aria-readonly":dc(v),"aria-label":_,"aria-labelledby":_?void 0:P,style:{...Le.style,...kt(0)},onKeyDown:fc(Le.onKeyDown,Te),onFocus:fc(Le.onFocus,()=>G(!0)),onBlur:fc(Le.onBlur,()=>G(!1))}),[T,le,F,Ee,n,r,Y,p,m,v,_,P,kt,Te]),ht=f.useCallback((Le,Ge=null)=>{const Pn=!(Le.valuer),Pe=Y>=Le.value,Qe=Zp(Le.value,n,r),Xe={position:"absolute",pointerEvents:"none",...sF({orientation:p,vertical:{bottom:A?`${100-Qe}%`:`${Qe}%`},horizontal:{left:A?`${100-Qe}%`:`${Qe}%`}})};return{...Le,ref:Ge,role:"presentation","aria-hidden":!0,"data-disabled":Zo(m),"data-invalid":Zo(!Pn),"data-highlighted":Zo(Pe),style:{...Le.style,...Xe}}},[m,A,r,n,p,Y]),$t=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:F},actions:de,getRootProps:Me,getTrackProps:_t,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function sF(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function aF(e,t){return t"}),[lF,Nm]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),Q6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Hr("Slider",r),s=qn(r),{direction:i}=$c();s.direction=i;const{getInputProps:c,getRootProps:d,...p}=oF(s),h=d(),m=c({},t);return a.jsx(iF,{value:p,children:a.jsx(lF,{value:o,children:a.jsxs(je.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,a.jsx("input",{...m})]})})})});Q6.displayName="Slider";var J6=Ae((e,t)=>{const{getThumbProps:n}=Tm(),r=Nm(),o=n(e,t);return a.jsx(je.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});J6.displayName="SliderThumb";var Z6=Ae((e,t)=>{const{getTrackProps:n}=Tm(),r=Nm(),o=n(e,t);return a.jsx(je.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});Z6.displayName="SliderTrack";var eP=Ae((e,t)=>{const{getInnerTrackProps:n}=Tm(),r=Nm(),o=n(e,t);return a.jsx(je.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});eP.displayName="SliderFilledTrack";var Kl=Ae((e,t)=>{const{getMarkerProps:n}=Tm(),r=Nm(),o=n(e,t);return a.jsx(je.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});Kl.displayName="SliderMark";var ny=Ae(function(t,n){const r=Hr("Switch",t),{spacing:o="0.5rem",children:s,...i}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=t3(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]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return a.jsxs(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[a.jsx("input",{className:"chakra-switch__input",...d({},n)}),a.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:a.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&a.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});ny.displayName="Switch";var[cF,uF,dF,fF]=gb();function pF(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:i,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=Bc({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=dF(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:i,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[hF,$m]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function mF(e){const{focusedIndex:t,orientation:n,direction:r}=$m(),o=uF(),s=f.useCallback(i=>{const c=()=>{var _;const P=o.nextEnabled(t);P&&((_=P.node)==null||_.focus())},d=()=>{var _;const P=o.prevEnabled(t);P&&((_=P.node)==null||_.focus())},p=()=>{var _;const P=o.firstEnabled();P&&((_=P.node)==null||_.focus())},h=()=>{var _;const P=o.lastEnabled();P&&((_=P.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=i.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&&(i.preventDefault(),k(i))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function gF(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:i,setFocusedIndex:c,selectedIndex:d}=$m(),{index:p,register:h}=fF({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=s6({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:tP(i,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":nP(i,p),onFocus:t?void 0:et(e.onFocus,b)}}var[vF,bF]=Dn({});function yF(e){const t=$m(),{id:n,selectedIndex:r}=t,s=Od(e.children).map((i,c)=>f.createElement(vF,{key:c,value:{isSelected:c===r,id:nP(n,c),tabId:tP(n,c),selectedIndex:r}},i));return{...e,children:s}}function xF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=$m(),{isSelected:s,id:i,tabId:c}=bF(),d=f.useRef(!1);s&&(d.current=!0);const p=Kb({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:i}}function tP(e,t){return`${e}--tab-${t}`}function nP(e,t){return`${e}--tabpanel-${t}`}var[wF,Lm]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Hd=Ae(function(t,n){const r=Hr("Tabs",t),{children:o,className:s,...i}=qn(t),{htmlProps:c,descendants:d,...p}=pF(i),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return a.jsx(cF,{value:d,children:a.jsx(hF,{value:h,children:a.jsx(wF,{value:r,children:a.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Hd.displayName="Tabs";var Wd=Ae(function(t,n){const r=mF({...t,ref:n}),s={display:"flex",...Lm().tablist};return a.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});Wd.displayName="TabList";var zm=Ae(function(t,n){const r=xF({...t,ref:n}),o=Lm();return a.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});zm.displayName="TabPanel";var Bm=Ae(function(t,n){const r=yF(t),o=Lm();return a.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});Bm.displayName="TabPanels";var _c=Ae(function(t,n){const r=Lm(),o=gF({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return a.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});_c.displayName="Tab";function SF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var CF=["h","minH","height","minHeight"],ry=Ae((e,t)=>{const n=fa("Textarea",e),{className:r,rows:o,...s}=qn(e),i=yb(s),c=o?SF(n,CF):n;return a.jsx(je.textarea,{ref:t,rows:o,...i,className:Ct("chakra-textarea",r),__css:c})});ry.displayName="Textarea";var kF={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]}}}},c1=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 _F(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:i=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:P,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:D}=qb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:L,getArrowInnerProps:Q,getArrowProps:F}=Gb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:P,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,T=f.useRef(null),z=f.useRef(),$=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),fe=f.useCallback(()=>{ae(),D()},[D,ae]),ie=PF(T,fe),X=f.useCallback(()=>{if(!_&&!z.current){R&&ie();const ge=$p(T);z.current=ge.setTimeout(M,t)}},[ie,_,R,M,t]),K=f.useCallback(()=>{$();const ge=$p(T);Y.current=ge.setTimeout(fe,n)},[n,fe,$]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&i&&K()},[i,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>c1(T),"keydown",c?re:void 0),Yi(()=>{const ge=T.current;if(!ge)return null;const ke=q3(ge);return ke.localName==="body"?$p(T):ke},"scroll",()=>{R&&s&&fe()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&($(),R&&D())},[_,R,D,$]),f.useEffect(()=>()=>{$(),ae()},[$,ae]),Yi(()=>T.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(T,ke,A),onPointerEnter:et(ge.onPointerEnter,de=>{de.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={},ke=null)=>L({...ge,style:{...ge.style,[Ir.arrowSize.var]:w?`${w}px`:void 0,[Ir.arrowShadowColor.var]:y}},ke),[L,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:Ir.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:F,getArrowInnerProps:Q}}var V0="chakra-ui:close-tooltip";function PF(e,t){return f.useEffect(()=>{const n=c1(e);return n.addEventListener(V0,t),()=>n.removeEventListener(V0,t)},[t,e]),()=>{const n=c1(e),r=$p(e);n.dispatchEvent(new r.CustomEvent(V0))}}function jF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function IF(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var EF=je(Er.div),vn=Ae((e,t)=>{var n,r;const o=fa("Tooltip",e),s=qn(e),i=$c(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,P=(r=(n=w??y)!=null?n:v)!=null?r:S;if(P){o.bg=P;const L=BR(i,"colors",P);o[Ir.arrowBg.var]=L}const I=_F({..._,direction:i.direction}),E=typeof c=="string"||p;let O;if(E)O=a.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const L=f.Children.only(c);O=f.cloneElement(L,I.getTriggerProps(L.props,L.ref))}const R=!!h,M=I.getTooltipProps({},t),D=R?jF(M,["role","id"]):M,A=IF(M,["role","id"]);return d?a.jsxs(a.Fragment,{children:[O,a.jsx(mo,{children:I.isOpen&&a.jsx(rd,{...b,children:a.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:a.jsxs(EF,{variants:kF,initial:"exit",animate:"enter",exit:"exit",...k,...D,__css:o,children:[d,R&&a.jsx(je.span,{srOnly:!0,...A,children:h}),m&&a.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:a.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):a.jsx(a.Fragment,{children:c})});vn.displayName="Tooltip";function OF(e,t={}){let n=f.useCallback(o=>t.keys?T9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,RF=e=>e.system.toastQueue,rP=be(vo,e=>e.language,Ke),kr=be(e=>e,e=>e.system.isProcessing||!e.system.isConnected),MF=be(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),DF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=B(MF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${FR[e]}`)):localStorage.setItem("ROARR_LOG","false"),Y2.ROARR.write=HR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...WR};Q2.set(Y2.Roarr.child(r))},[]),OF(Q2)},AF=()=>{const e=te(),t=B(RF),n=pA();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(VR())},[e,n,t]),null},Uc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var TF=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 Vd(e,t){var n=NF(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 NF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=TF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var $F=[".DS_Store","Thumbs.db"];function LF(e){return Fc(this,void 0,void 0,function(){return Hc(this,function(t){return ih(e)&&zF(e.dataTransfer)?[2,WF(e.dataTransfer,e.type)]:BF(e)?[2,FF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,HF(e)]:[2,[]]})})}function zF(e){return ih(e)}function BF(e){return ih(e)&&ih(e.target)}function ih(e){return typeof e=="object"&&e!==null}function FF(e){return u1(e.target.files).map(function(t){return Vd(t)})}function HF(e){return Fc(this,void 0,void 0,function(){var t;return Hc(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 Vd(r)})]}})})}function WF(e,t){return Fc(this,void 0,void 0,function(){var n,r;return Hc(this,function(o){switch(o.label){case 0:return e.items?(n=u1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(VF))]):[3,2];case 1:return r=o.sent(),[2,xS(oP(r))];case 2:return[2,xS(u1(e.files).map(function(s){return Vd(s)}))]}})})}function xS(e){return e.filter(function(t){return $F.indexOf(t.name)===-1})}function u1(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,_S(n)];if(e.sizen)return[!1,_S(n)]}return[!0,null]}function Vi(e){return e!=null}function aH(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,i=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&i>=1&&t.length>i?!1:t.every(function(d){var p=lP(d,n),h=pd(p,1),m=h[0],v=cP(d,r,o),b=pd(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function lh(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Yf(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 jS(e){e.preventDefault()}function iH(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function lH(e){return e.indexOf("Edge/")!==-1}function cH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return iH(e)||lH(e)}function Gs(){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 PH(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 oy=f.forwardRef(function(e,t){var n=e.children,r=ch(e,mH),o=sy(r),s=o.open,i=ch(o,gH);return f.useImperativeHandle(t,function(){return{open:s}},[s]),W.createElement(f.Fragment,null,n(fr(fr({},i),{},{open:s})))});oy.displayName="Dropzone";var pP={disabled:!1,getFilesFromEvent:LF,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};oy.defaultProps=pP;oy.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 h1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function sy(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=fr(fr({},pP),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,i=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,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,D=t.validator,A=f.useMemo(function(){return fH(n)},[n]),L=f.useMemo(function(){return dH(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:ES},[S]),F=f.useMemo(function(){return typeof y=="function"?y:ES},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(jH,h1),T=U0(G,2),z=T[0],$=T[1],Y=z.isFocused,ae=z.isFileDialogActive,fe=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&uH()),ie=function(){!fe.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||($({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,F,fe]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",jS,!1),document.addEventListener("drop",K,!1)),function(){P&&(document.removeEventListener("dragover",jS),document.removeEventListener("drop",K))}},[V,P]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(yH(X.current),[Se.target]),Yf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(lh(Se)&&!R)){var _t=Me.length,Tt=_t>0&&aH({files:Me,accept:A,minSize:i,maxSize:s,multiple:c,maxFiles:d,validator:D}),we=_t>0&&!Tt;$({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,A,i,s,c,d,D]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=Yf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),_t=Me.indexOf(Se.target);_t!==-1&&Me.splice(_t,1),X.current=Me,!(Me.length>0)&&($({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Yf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var _t=[],Tt=[];Se.forEach(function(we){var ht=lP(we,A),$t=U0(ht,2),Lt=$t[0],Le=$t[1],Ge=cP(we,i,s),Pn=U0(Ge,2),Pe=Pn[0],Qe=Pn[1],Xe=D?D(we):null;if(Lt&&Pe&&!Xe)_t.push(we);else{var dt=[Le,Qe];Xe&&(dt=dt.concat(Xe)),Tt.push({file:we,errors:dt.filter(function(zt){return zt})})}}),(!c&&_t.length>1||c&&d>=1&&_t.length>d)&&(_t.forEach(function(we){Tt.push({file:we,errors:[sH]})}),_t.splice(0)),$({acceptedFiles:_t,fileRejections:Tt,type:"setFiles"}),v&&v(_t,Tt,Me),Tt.length>0&&w&&w(Tt,Me),_t.length>0&&b&&b(_t,Me)},[$,c,A,i,s,d,v,b,w,D]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],Yf(Se)&&Promise.resolve(o(Se)).then(function(Me){lh(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),$({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(fe.current){$({type:"openDialog"}),Q();var Se={multiple:c,types:L};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),$({type:"closeDialog"})}).catch(function(Me){pH(Me)?(F(Me),$({type:"closeDialog"})):hH(Me)?(fe.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(Me)});return}q.current&&($({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[$,Q,F,k,pe,U,L,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){$({type:"focus"})},[]),de=f.useCallback(function(){$({type:"blur"})},[]),Te=f.useCallback(function(){I||(cH()?setTimeout(ge,0):ge())},[I,ge]),Ee=function(Me){return r?null:Me},$e=function(Me){return E?null:Ee(Me)},kt=function(Me){return O?null:Ee(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,_t=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,Lt=Se.onClick,Le=Se.onDragEnter,Ge=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Qe=ch(Se,vH);return fr(fr(p1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Ee(Gs(Lt,Te)),onDragEnter:kt(Gs(Le,se)),onDragOver:kt(Gs(Ge,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},_t,V),!r&&!E?{tabIndex:0}:{}),Qe)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,_t=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=ch(Se,bH),$t=p1({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ee(Gs(Tt,le)),onClick:Ee(Gs(we,vt)),tabIndex:-1},_t,q);return fr(fr({},$t),ht)}},[q,n,c,le,r]);return fr(fr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ee(ge)})}function jH(e,t){switch(t.type){case"focus":return fr(fr({},e),{},{isFocused:!0});case"blur":return fr(fr({},e),{},{isFocused:!1});case"openDialog":return fr(fr({},h1),{},{isFileDialogActive:!0});case"closeDialog":return fr(fr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return fr(fr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return fr(fr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return fr({},h1);default:return e}}function ES(){}function m1(){return m1=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 AH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,i=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=hi(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(i){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?mP(p):!p},TH=f.createContext(void 0),NH=function(){return f.useContext(TH)};function yP(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&&yP(e[r],t[r])},!0):e===t}var $H=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),LH=function(){return f.useContext($H)};function zH(e){var t=f.useRef(void 0);return yP(t.current,e)||(t.current=e),t.current}var OS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},BH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function tt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),i=n instanceof Array?r instanceof Array?void 0:r:n,c=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 m=zH(i),v=LH(),b=v.enabledScopes,w=NH();return BH(function(){if(!((m==null?void 0:m.enabled)===!1||!DH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(MH(I)&&!bP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){OS(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||G0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,D=q0(R,m==null?void 0:m.combinationKey);if(AH(I,D,m==null?void 0:m.ignoreModifiers)||(M=D.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(OH(I,D,m==null?void 0:m.preventDefault),!RH(I,D,m==null?void 0:m.enabled)){OS(I);return}h.current(I,D),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(gP(hi(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},k=function(I){I.key!==void 0&&(vP(hi(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},_=o.current||(i==null?void 0:i.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&G0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.addHotkey(q0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&G0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.removeHotkey(q0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const FH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return tt("esc",()=>{r(!1)}),a.jsxs(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[a.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"}}),a.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:a.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?a.jsx(Ys,{size:"lg",children:"Drop to Upload"}):a.jsxs(a.Fragment,{children:[a.jsx(Ys,{size:"lg",children:"Invalid Upload"}),a.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},HH=be([at,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}},Ke),WH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=B(HH),o=B(kr),s=Uc(),{t:i}=ye(),[c,d]=f.useState(!1),[p]=$_(),h=f.useCallback(P=>{d(!0),s({title:i("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` +`),status:"error"})},[i,s]),m=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n==="none"?void 0: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=>{m(E)})},[i,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=sy({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;_.current&&(E=I.clipboardData)!=null&&E.files&&(_.current.files=I.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[_]),a.jsxs(Oe,{...b({style:{}}),onKeyDown:P=>{P.key},children:[a.jsx("input",{...w()}),t,a.jsx(mo,{children:k&&c&&a.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(FH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},VH=f.memo(WH),UH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...i}={},isChecked:c,...d}=e;return a.jsx(vn,{label:r,placement:o,hasArrow:s,...i,children:a.jsx(xc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Yt=f.memo(UH);function GH(e){const t=f.createContext(null);return[({children:o,value:s})=>W.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function xP(e){return Array.isArray(e)?e:[e]}const qH=()=>{};function KH(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||qH:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function wP({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 SP(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==W.Fragment:!1}function CP(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 QH=UR({key:"mantine",prepend:!0});function JH(){return $5()||QH}var ZH=Object.defineProperty,RS=Object.getOwnPropertySymbols,eW=Object.prototype.hasOwnProperty,tW=Object.prototype.propertyIsEnumerable,MS=(e,t,n)=>t in e?ZH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nW=(e,t)=>{for(var n in t||(t={}))eW.call(t,n)&&MS(e,n,t[n]);if(RS)for(var n of RS(t))tW.call(t,n)&&MS(e,n,t[n]);return e};const K0="ref";function rW(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(!(K0 in n))return{args:e,ref:t};t=n[K0];const r=nW({},n);return delete r[K0],{args:[r],ref:t}}const{cssFactory:oW}=(()=>{function e(n,r,o){const s=[],i=KR(n,s,o);return s.length<2?o:i+r(s)}function t(n){const{cache:r}=n,o=(...i)=>{const{ref:c,args:d}=rW(i),p=GR(d,r.registered);return qR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...i)=>e(r.registered,o,kP(i))}}return{cssFactory:t}})();function _P(){const e=JH();return YH(()=>oW({cache:e}),[e])}function sW({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const i=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],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),c),{})}var aW=Object.defineProperty,DS=Object.getOwnPropertySymbols,iW=Object.prototype.hasOwnProperty,lW=Object.prototype.propertyIsEnumerable,AS=(e,t,n)=>t in e?aW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,X0=(e,t)=>{for(var n in t||(t={}))iW.call(t,n)&&AS(e,n,t[n]);if(DS)for(var n of DS(t))lW.call(t,n)&&AS(e,n,t[n]);return e};function g1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=X0(X0({},e[n]),t[n]):e[n]=X0({},t[n])}),e}function TS(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)=>g1(s,i),{}):o(e)}function cW({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,i)=>(i.variants&&r in i.variants&&g1(s,i.variants[r](t,n,{variant:r,size:o})),i.sizes&&o in i.sizes&&g1(s,i.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=qa(),i=i9(o==null?void 0:o.name),c=$5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=_P(),m=t(s,r,d),v=TS(o==null?void 0:o.styles,s,r,d),b=TS(i,s,r,d),w=cW({ctx:i,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:sW({cx:h,classes:y,context:i,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function NS(e){return`___ref-${e||""}`}var uW=Object.defineProperty,dW=Object.defineProperties,fW=Object.getOwnPropertyDescriptors,$S=Object.getOwnPropertySymbols,pW=Object.prototype.hasOwnProperty,hW=Object.prototype.propertyIsEnumerable,LS=(e,t,n)=>t in e?uW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wu=(e,t)=>{for(var n in t||(t={}))pW.call(t,n)&&LS(e,n,t[n]);if($S)for(var n of $S(t))hW.call(t,n)&&LS(e,n,t[n]);return e},Su=(e,t)=>dW(e,fW(t));const Cu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Qf={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:Su(wu({},Cu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":Su(wu({},Cu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":Su(wu({},Cu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":Su(wu({},Cu),{common:{transformOrigin:"top left"}}),"pop-top-right":Su(wu({},Cu),{common:{transformOrigin:"top right"}})},zS=["mousedown","touchstart"];function mW(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:i}=s??{};if(Array.isArray(n)){const c=(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))&&!c&&e()}else r.current&&!r.current.contains(i)&&e()};return(t||zS).forEach(s=>document.addEventListener(s,o)),()=>{(t||zS).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function gW(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function vW(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function bW(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:vW(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),gW(s.current,i=>o(i.matches))},[e]),r}const PP=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ks(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function yW({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 ks(()=>{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 xW=/input|select|textarea|button|object/,jP="a, input, select, textarea, button, object, [tabindex]";function wW(e){return e.style.display==="none"}function SW(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(wW(n))return!1;n=n.parentNode}return!0}function IP(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function v1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(IP(e));return(xW.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&SW(e)}function EP(e){const t=IP(e);return(Number.isNaN(t)||t>=0)&&v1(e)}function CW(e){return Array.from(e.querySelectorAll(jP)).filter(EP)}function kW(e,t){const n=CW(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 iy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function _W(e,t="body > :not(script)"){const n=iy(),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"),c=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"):!c&&!d&&o.setAttribute("data-hidden",i),{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 PW(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let i=s.querySelector("[data-autofocus]");if(!i){const c=Array.from(s.querySelectorAll(jP));i=c.find(EP)||c.find(v1)||null,!i&&v1(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=_W(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&&kW(t.current,i)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const jW=W["useId".toString()]||(()=>{});function IW(){const e=jW();return e?`mantine-${e.replace(/:/g,"")}`:""}function ly(e){const t=IW(),[n,r]=f.useState(t);return PP(()=>{r(iy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function BS(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function OP(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function EW(...e){return t=>{e.forEach(n=>OP(n,t))}}function Ud(...e){return f.useCallback(EW(...e),e)}function hd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),i=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,i,!1]}function RP(e,t){return bW("(prefers-reduced-motion: reduce)",e,t)}const OW=e=>e<.5?2*e*e:-1+(4-2*e)*e,RW=({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=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=i?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=i?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},MW=({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]},DW=({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 MP({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=OW,offset:o=0,cancelable:s=!0,isList:i=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=RP(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=MW({parent:h.current,axis:t}))!=null?k:0,P=RW({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:i})-(h.current?0:_);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+P*r(R);DW({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,i,o,n,v]),y=()=>{s&&(p.current=!0)};return BS("wheel",y,{passive:!0}),BS("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var FS=Object.getOwnPropertySymbols,AW=Object.prototype.hasOwnProperty,TW=Object.prototype.propertyIsEnumerable,NW=(e,t)=>{var n={};for(var r in e)AW.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&FS)for(var r of FS(e))t.indexOf(r)<0&&TW.call(e,r)&&(n[r]=e[r]);return n};function Fm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:i,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=NW(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:l9({m:n,mx:r,my:o,mt:s,mb:i,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function $W(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>jw(Vt({size:r,sizes:t.breakpoints}))-jw(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function LW({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return $W(e,t).reduce((i,c)=>{if(c==="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[c],t);return Array.isArray(r)?(i[t.fn.largerThan(c)]={},r.forEach(p=>{i[t.fn.largerThan(c)][p]=d}),i):(i[t.fn.largerThan(c)]={[r]:d},i)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,i)=>(s[i]=o,s),{}):{[r]:o}}function zW(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 BW(e){return Ue(e)}function FW(e){return e}function HW(e,t){return Vt({size:e,sizes:t.fontSizes})}const WW=["-xs","-sm","-md","-lg","-xl"];function VW(e,t){return WW.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const UW={identity:FW,color:zW,size:BW,fontSize:HW,spacing:VW},GW={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 qW=Object.defineProperty,HS=Object.getOwnPropertySymbols,KW=Object.prototype.hasOwnProperty,XW=Object.prototype.propertyIsEnumerable,WS=(e,t,n)=>t in e?qW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VS=(e,t)=>{for(var n in t||(t={}))KW.call(t,n)&&WS(e,n,t[n]);if(HS)for(var n of HS(t))XW.call(t,n)&&WS(e,n,t[n]);return e};function US(e,t,n=GW){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(LW({value:e[s],getValue:UW[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]=VS(VS({},o[i]),s[i]):o[i]=s[i]}),o),{})}function GS(e,t){return typeof e=="function"?e(t):e}function YW(e,t,n){const r=qa(),{css:o,cx:s}=_P();return Array.isArray(e)?s(n,o(US(t,r)),e.map(i=>o(GS(i,r)))):s(n,o(GS(e,r)),o(US(t,r)))}var QW=Object.defineProperty,uh=Object.getOwnPropertySymbols,DP=Object.prototype.hasOwnProperty,AP=Object.prototype.propertyIsEnumerable,qS=(e,t,n)=>t in e?QW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JW=(e,t)=>{for(var n in t||(t={}))DP.call(t,n)&&qS(e,n,t[n]);if(uh)for(var n of uh(t))AP.call(t,n)&&qS(e,n,t[n]);return e},ZW=(e,t)=>{var n={};for(var r in e)DP.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&&AP.call(e,r)&&(n[r]=e[r]);return n};const TP=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:i}=n,c=ZW(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Fm(c),h=o||"div";return W.createElement(h,JW({ref:t,className:YW(i,d,r),style:s},p))});TP.displayName="@mantine/core/Box";const Eo=TP;var eV=Object.defineProperty,tV=Object.defineProperties,nV=Object.getOwnPropertyDescriptors,KS=Object.getOwnPropertySymbols,rV=Object.prototype.hasOwnProperty,oV=Object.prototype.propertyIsEnumerable,XS=(e,t,n)=>t in e?eV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,YS=(e,t)=>{for(var n in t||(t={}))rV.call(t,n)&&XS(e,n,t[n]);if(KS)for(var n of KS(t))oV.call(t,n)&&XS(e,n,t[n]);return e},sV=(e,t)=>tV(e,nV(t)),aV=so(e=>({root:sV(YS(YS({},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 iV=aV;var lV=Object.defineProperty,dh=Object.getOwnPropertySymbols,NP=Object.prototype.hasOwnProperty,$P=Object.prototype.propertyIsEnumerable,QS=(e,t,n)=>t in e?lV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cV=(e,t)=>{for(var n in t||(t={}))NP.call(t,n)&&QS(e,n,t[n]);if(dh)for(var n of dh(t))$P.call(t,n)&&QS(e,n,t[n]);return e},uV=(e,t)=>{var n={};for(var r in e)NP.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&&$P.call(e,r)&&(n[r]=e[r]);return n};const LP=f.forwardRef((e,t)=>{const n=Cr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:i}=n,c=uV(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=iV(null,{name:"UnstyledButton",unstyled:s,variant:i});return W.createElement(Eo,cV({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});LP.displayName="@mantine/core/UnstyledButton";const dV=LP;var fV=Object.defineProperty,pV=Object.defineProperties,hV=Object.getOwnPropertyDescriptors,JS=Object.getOwnPropertySymbols,mV=Object.prototype.hasOwnProperty,gV=Object.prototype.propertyIsEnumerable,ZS=(e,t,n)=>t in e?fV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b1=(e,t)=>{for(var n in t||(t={}))mV.call(t,n)&&ZS(e,n,t[n]);if(JS)for(var n of JS(t))gV.call(t,n)&&ZS(e,n,t[n]);return e},eC=(e,t)=>pV(e,hV(t));const vV=["subtle","filled","outline","light","default","transparent","gradient"],Jf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function bV({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%"})}:vV.includes(e)?b1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var yV=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:eC(b1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:Jf}),minHeight:Vt({size:s,sizes:Jf}),width:Vt({size:s,sizes:Jf}),minWidth:Vt({size:s,sizes:Jf})},bV({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":eC(b1({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 xV=yV;var wV=Object.defineProperty,fh=Object.getOwnPropertySymbols,zP=Object.prototype.hasOwnProperty,BP=Object.prototype.propertyIsEnumerable,tC=(e,t,n)=>t in e?wV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nC=(e,t)=>{for(var n in t||(t={}))zP.call(t,n)&&tC(e,n,t[n]);if(fh)for(var n of fh(t))BP.call(t,n)&&tC(e,n,t[n]);return e},rC=(e,t)=>{var n={};for(var r in e)zP.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&&BP.call(e,r)&&(n[r]=e[r]);return n};function SV(e){var t=e,{size:n,color:r}=t,o=rC(t,["size","color"]);const s=o,{style:i}=s,c=rC(s,["style"]);return W.createElement("svg",nC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:nC({width:n},i)},c),W.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},W.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"}),W.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"})),W.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},W.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"}),W.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"})),W.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},W.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),W.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),W.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},W.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"}),W.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"})),W.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},W.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"}),W.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 CV=Object.defineProperty,ph=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,oC=(e,t,n)=>t in e?CV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sC=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&oC(e,n,t[n]);if(ph)for(var n of ph(t))HP.call(t,n)&&oC(e,n,t[n]);return e},aC=(e,t)=>{var n={};for(var r in e)FP.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&&HP.call(e,r)&&(n[r]=e[r]);return n};function kV(e){var t=e,{size:n,color:r}=t,o=aC(t,["size","color"]);const s=o,{style:i}=s,c=aC(s,["style"]);return W.createElement("svg",sC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:sC({width:n,height:n},i)},c),W.createElement("g",{fill:"none",fillRule:"evenodd"},W.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},W.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),W.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},W.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var _V=Object.defineProperty,hh=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,iC=(e,t,n)=>t in e?_V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lC=(e,t)=>{for(var n in t||(t={}))WP.call(t,n)&&iC(e,n,t[n]);if(hh)for(var n of hh(t))VP.call(t,n)&&iC(e,n,t[n]);return e},cC=(e,t)=>{var n={};for(var r in e)WP.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&&VP.call(e,r)&&(n[r]=e[r]);return n};function PV(e){var t=e,{size:n,color:r}=t,o=cC(t,["size","color"]);const s=o,{style:i}=s,c=cC(s,["style"]);return W.createElement("svg",lC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:lC({width:n},i)},c),W.createElement("circle",{cx:"15",cy:"15",r:"15"},W.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),W.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),W.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},W.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),W.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),W.createElement("circle",{cx:"105",cy:"15",r:"15"},W.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),W.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var jV=Object.defineProperty,mh=Object.getOwnPropertySymbols,UP=Object.prototype.hasOwnProperty,GP=Object.prototype.propertyIsEnumerable,uC=(e,t,n)=>t in e?jV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IV=(e,t)=>{for(var n in t||(t={}))UP.call(t,n)&&uC(e,n,t[n]);if(mh)for(var n of mh(t))GP.call(t,n)&&uC(e,n,t[n]);return e},EV=(e,t)=>{var n={};for(var r in e)UP.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&&GP.call(e,r)&&(n[r]=e[r]);return n};const Y0={bars:SV,oval:kV,dots:PV},OV={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},RV={size:"md"};function qP(e){const t=Cr("Loader",RV,e),{size:n,color:r,variant:o}=t,s=EV(t,["size","color","variant"]),i=qa(),c=o in Y0?o:i.loader;return W.createElement(Eo,IV({role:"presentation",component:Y0[c]||Y0.bars,size:Vt({size:n,sizes:OV}),color:i.fn.variant({variant:"filled",primaryFallback:!1,color:r||i.primaryColor}).background},s))}qP.displayName="@mantine/core/Loader";var MV=Object.defineProperty,gh=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,XP=Object.prototype.propertyIsEnumerable,dC=(e,t,n)=>t in e?MV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fC=(e,t)=>{for(var n in t||(t={}))KP.call(t,n)&&dC(e,n,t[n]);if(gh)for(var n of gh(t))XP.call(t,n)&&dC(e,n,t[n]);return e},DV=(e,t)=>{var n={};for(var r in e)KP.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&&XP.call(e,r)&&(n[r]=e[r]);return n};const AV={color:"gray",size:"md",variant:"subtle"},YP=f.forwardRef((e,t)=>{const n=Cr("ActionIcon",AV,e),{className:r,color:o,children:s,radius:i,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=DV(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=xV({radius:i,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),P=W.createElement(qP,fC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return W.createElement(dV,fC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?P:s)});YP.displayName="@mantine/core/ActionIcon";const TV=YP;var NV=Object.defineProperty,$V=Object.defineProperties,LV=Object.getOwnPropertyDescriptors,vh=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,JP=Object.prototype.propertyIsEnumerable,pC=(e,t,n)=>t in e?NV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zV=(e,t)=>{for(var n in t||(t={}))QP.call(t,n)&&pC(e,n,t[n]);if(vh)for(var n of vh(t))JP.call(t,n)&&pC(e,n,t[n]);return e},BV=(e,t)=>$V(e,LV(t)),FV=(e,t)=>{var n={};for(var r in e)QP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&JP.call(e,r)&&(n[r]=e[r]);return n};function ZP(e){const t=Cr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,i=FV(t,["children","target","className","innerRef"]),c=qa(),[d,p]=f.useState(!1),h=f.useRef();return PP(()=>(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(W.createElement("div",BV(zV({className:o,dir:c.dir},i),{ref:s}),n),h.current):null}ZP.displayName="@mantine/core/Portal";var HV=Object.defineProperty,bh=Object.getOwnPropertySymbols,ej=Object.prototype.hasOwnProperty,tj=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WV=(e,t)=>{for(var n in t||(t={}))ej.call(t,n)&&hC(e,n,t[n]);if(bh)for(var n of bh(t))tj.call(t,n)&&hC(e,n,t[n]);return e},VV=(e,t)=>{var n={};for(var r in e)ej.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&&tj.call(e,r)&&(n[r]=e[r]);return n};function nj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=VV(t,["withinPortal","children"]);return n?W.createElement(ZP,WV({},o),r):W.createElement(W.Fragment,null,r)}nj.displayName="@mantine/core/OptionalPortal";var UV=Object.defineProperty,yh=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,mC=(e,t,n)=>t in e?UV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gC=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&mC(e,n,t[n]);if(yh)for(var n of yh(t))oj.call(t,n)&&mC(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)rj.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&&oj.call(e,r)&&(n[r]=e[r]);return n};function sj(e){const t=e,{width:n,height:r,style:o}=t,s=GV(t,["width","height","style"]);return W.createElement("svg",gC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:gC({width:n,height:r},o)},s),W.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"}))}sj.displayName="@mantine/core/CloseIcon";var qV=Object.defineProperty,xh=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,ij=Object.prototype.propertyIsEnumerable,vC=(e,t,n)=>t in e?qV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,KV=(e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&vC(e,n,t[n]);if(xh)for(var n of xh(t))ij.call(t,n)&&vC(e,n,t[n]);return e},XV=(e,t)=>{var n={};for(var r in e)aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&ij.call(e,r)&&(n[r]=e[r]);return n};const YV={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},QV={size:"sm"},lj=f.forwardRef((e,t)=>{const n=Cr("CloseButton",QV,e),{iconSize:r,size:o,children:s}=n,i=XV(n,["iconSize","size","children"]),c=Ue(r||YV[o]);return W.createElement(TV,KV({ref:t,__staticSelector:"CloseButton",size:o},i),s||W.createElement(sj,{width:c,height:c}))});lj.displayName="@mantine/core/CloseButton";const cj=lj;var JV=Object.defineProperty,ZV=Object.defineProperties,eU=Object.getOwnPropertyDescriptors,bC=Object.getOwnPropertySymbols,tU=Object.prototype.hasOwnProperty,nU=Object.prototype.propertyIsEnumerable,yC=(e,t,n)=>t in e?JV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zf=(e,t)=>{for(var n in t||(t={}))tU.call(t,n)&&yC(e,n,t[n]);if(bC)for(var n of bC(t))nU.call(t,n)&&yC(e,n,t[n]);return e},rU=(e,t)=>ZV(e,eU(t));function oU({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function sU({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 aU(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function iU({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 lU=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:i,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:rU(Zf(Zf(Zf(Zf({},e.fn.fontStyles()),e.fn.focusStyles()),aU(n)),iU({theme:e,truncate:r})),{color:sU({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:oU({underline:i,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 cU=lU;var uU=Object.defineProperty,wh=Object.getOwnPropertySymbols,uj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?uU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dU=(e,t)=>{for(var n in t||(t={}))uj.call(t,n)&&xC(e,n,t[n]);if(wh)for(var n of wh(t))dj.call(t,n)&&xC(e,n,t[n]);return e},fU=(e,t)=>{var n={};for(var r in e)uj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wh)for(var r of wh(e))t.indexOf(r)<0&&dj.call(e,r)&&(n[r]=e[r]);return n};const pU={variant:"text"},fj=f.forwardRef((e,t)=>{const n=Cr("Text",pU,e),{className:r,size:o,weight:s,transform:i,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=fU(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:D}=cU({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:i,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return W.createElement(Eo,dU({ref:t,className:D(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});fj.displayName="@mantine/core/Text";const Pc=fj,ep={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function tp(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 hU=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:`${Vt({size:n,sizes:ep})} ${r} ${tp(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:ep})} ${r} ${tp(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(Vt({size:n,sizes:ep})),borderTopColor:tp(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:ep})),borderLeftColor:tp(e,t),borderLeftStyle:r}}));const mU=hU;var gU=Object.defineProperty,vU=Object.defineProperties,bU=Object.getOwnPropertyDescriptors,Sh=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,hj=Object.prototype.propertyIsEnumerable,wC=(e,t,n)=>t in e?gU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,SC=(e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&wC(e,n,t[n]);if(Sh)for(var n of Sh(t))hj.call(t,n)&&wC(e,n,t[n]);return e},yU=(e,t)=>vU(e,bU(t)),xU=(e,t)=>{var n={};for(var r in e)pj.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&&hj.call(e,r)&&(n[r]=e[r]);return n};const wU={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},y1=f.forwardRef((e,t)=>{const n=Cr("Divider",wU,e),{className:r,color:o,orientation:s,size:i,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=xU(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=mU({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:i}),k=s==="vertical",_=s==="horizontal",P=!!c&&_,I=!(p!=null&&p.color);return W.createElement(Eo,SC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:P},r),role:"separator"},w),P&&W.createElement(Pc,yU(SC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});y1.displayName="@mantine/core/Divider";var SU=Object.defineProperty,CU=Object.defineProperties,kU=Object.getOwnPropertyDescriptors,CC=Object.getOwnPropertySymbols,_U=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,kC=(e,t,n)=>t in e?SU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_C=(e,t)=>{for(var n in t||(t={}))_U.call(t,n)&&kC(e,n,t[n]);if(CC)for(var n of CC(t))PU.call(t,n)&&kC(e,n,t[n]);return e},jU=(e,t)=>CU(e,kU(t)),IU=so((e,t,{size:n})=>({item:jU(_C({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({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]":_C({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(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const EU=IU;var OU=Object.defineProperty,PC=Object.getOwnPropertySymbols,RU=Object.prototype.hasOwnProperty,MU=Object.prototype.propertyIsEnumerable,jC=(e,t,n)=>t in e?OU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DU=(e,t)=>{for(var n in t||(t={}))RU.call(t,n)&&jC(e,n,t[n]);if(PC)for(var n of PC(t))MU.call(t,n)&&jC(e,n,t[n]);return e};function cy({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:i,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=EU(null,{classNames:n,styles:r,unstyled:y,name:i,variant:S,size:m}),_=[],P=[];let I=null;const E=(R,M)=>{const D=typeof o=="function"?o(R.value):!1;return W.createElement(h,DU({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&D||void 0,selected:D,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?I=M:R.group?(O!==R.group&&(O=R.group,P.push(W.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},W.createElement(y1,{classNames:{label:k.separatorLabel},label:R.group})))),P.push(E(R,M))):_.push(E(R,M))}),b){const R=e[I];_.push(W.createElement("div",{key:iy(),className:k.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return P.length>0&&_.length>0&&_.unshift(W.createElement("div",{className:k.separator,key:"empty-group-separator"},W.createElement(y1,null))),P.length>0||_.length>0?W.createElement(W.Fragment,null,P,_):W.createElement(Pc,{size:m,unstyled:y,className:k.nothingFound},v)}cy.displayName="@mantine/core/SelectItems";var AU=Object.defineProperty,Ch=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable,IC=(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={}))mj.call(t,n)&&IC(e,n,t[n]);if(Ch)for(var n of Ch(t))gj.call(t,n)&&IC(e,n,t[n]);return e},NU=(e,t)=>{var n={};for(var r in e)mj.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&&gj.call(e,r)&&(n[r]=e[r]);return n};const uy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=NU(n,["label","value"]);return W.createElement("div",TU({ref:t},s),r||o)});uy.displayName="@mantine/core/DefaultItem";function $U(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function vj(...e){return t=>e.forEach(n=>$U(n,t))}function vl(...e){return f.useCallback(vj(...e),e)}const bj=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(zU);if(s){const i=s.props.children,c=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(x1,sr({},r,{ref:t}),f.isValidElement(i)?f.cloneElement(i,void 0,c):null)}return f.createElement(x1,sr({},r,{ref:t}),n)});bj.displayName="Slot";const x1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...BU(r,n.props),ref:vj(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});x1.displayName="SlotClone";const LU=({children:e})=>f.createElement(f.Fragment,null,e);function zU(e){return f.isValidElement(e)&&e.type===LU}function BU(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 FU=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Gd=FU.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...i}=r,c=s?bj:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},i,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),w1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function HU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const qd=e=>{const{present:t,children:n}=e,r=WU(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};qd.displayName="Presence";function WU(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),i=e?"mounted":"unmounted",[c,d]=HU(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=np(r.current);s.current=c==="mounted"?p:"none"},[c]),w1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=np(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]),w1(()=>{if(t){const p=m=>{const b=np(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=np(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 np(e){return(e==null?void 0:e.animationName)||"none"}function VU(e,t=[]){let n=[];function r(s,i){const c=f.createContext(i),d=n.length;n=[...n,i];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(i!==void 0)return i;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(i=>f.createContext(i));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,UU(o,...t)]}function UU(...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((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};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 GU=f.createContext(void 0);function qU(e){const t=f.useContext(GU);return e||t||"ltr"}function KU(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 XU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const yj="ScrollArea",[xj,rfe]=VU(yj),[YU,us]=xj(yj),QU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...i}=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),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),D=vl(t,L=>d(L)),A=qU(o);return f.createElement(YU,{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:I},f.createElement(Gd.div,sr({dir:A},i,{ref:D,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),JU="ScrollAreaViewport",ZU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=us(JU,n),i=f.useRef(null),c=vl(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(Gd.div,sr({"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)))}),Xa="ScrollAreaScrollbar",eG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Xa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:i}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):i(!0),()=>{c?s(!1):i(!1)}),[c,s,i]),o.type==="hover"?f.createElement(tG,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(nG,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(wj,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(dy,sr({},r,{ref:t})):null}),tG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Xa,e.__scopeScrollArea),[s,i]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),i(!0)},h=()=>{d=window.setTimeout(()=>i(!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(qd,{present:n||s},f.createElement(wj,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),nG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Xa,e.__scopeScrollArea),s=e.orientation==="horizontal",i=Wm(()=>d("SCROLL_END"),100),[c,d]=XU("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"),i()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,i]),f.createElement(qd,{present:n||c!=="hidden"},f.createElement(dy,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),wj=f.forwardRef((e,t)=>{const n=us(Xa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,i]=f.useState(!1),c=e.orientation==="horizontal",d=Wm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=us(Xa,e.__scopeScrollArea),s=f.useRef(null),i=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=_j(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:v=>i.current=v};function m(v,b){return uG(v,i.current,c,b)}return n==="horizontal"?f.createElement(rG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=EC(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(oG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=EC(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}),rG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Xa,e.__scopeScrollArea),[i,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(Cj,sr({"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":Hm(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),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:kh(i.paddingLeft),paddingEnd:kh(i.paddingRight)}})}}))}),oG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Xa,e.__scopeScrollArea),[i,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(Cj,sr({"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":Hm(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),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&i&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:kh(i.paddingTop),paddingEnd:kh(i.paddingBottom)}})}}))}),[sG,Sj]=xj(Xa),Cj=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=us(Xa,n),[w,y]=f.useState(null),S=vl(t,D=>y(D)),k=f.useRef(null),_=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Wm(m,10);function M(D){if(k.current){const A=D.clientX-k.current.left,L=D.clientY-k.current.top;p({x:A,y:L})}}return f.useEffect(()=>{const D=A=>{const L=A.target;(w==null?void 0:w.contains(L))&&E(A,I)};return document.addEventListener("wheel",D,{passive:!1}),()=>document.removeEventListener("wheel",D,{passive:!1})},[P,w,I,E]),f.useEffect(O,[r,O]),jc(w,R),jc(b.content,R),f.createElement(sG,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(i),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Gd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Ji(e.onPointerDown,D=>{D.button===0&&(D.target.setPointerCapture(D.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(D))}),onPointerMove:Ji(e.onPointerMove,M),onPointerUp:Ji(e.onPointerUp,D=>{const A=D.target;A.hasPointerCapture(D.pointerId)&&A.releasePointerCapture(D.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),S1="ScrollAreaThumb",aG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Sj(S1,e.__scopeScrollArea);return f.createElement(qd,{present:n||o.hasThumb},f.createElement(iG,sr({ref:t},r)))}),iG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=us(S1,n),i=Sj(S1,n),{onThumbPositionChange:c}=i,d=vl(t,m=>i.onThumbChange(m)),p=f.useRef(),h=Wm(()=>{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=dG(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Gd.div,sr({"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,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;i.onThumbPointerDown({x:w,y})}),onPointerUp:Ji(e.onPointerUp,i.onThumbPointerUp)}))}),kj="ScrollAreaCorner",lG=f.forwardRef((e,t)=>{const n=us(kj,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(cG,sr({},e,{ref:t})):null}),cG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=us(kj,n),[s,i]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return jc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),jc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),i(m)}),p?f.createElement(Gd.div,sr({},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 kh(e){return e?parseInt(e,10):0}function _j(e,t){const n=e/t;return isNaN(n)?0:n}function Hm(e){const t=_j(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function uG(e,t,n,r="ltr"){const o=Hm(n),s=o/2,i=t||s,c=o-i,d=n.scrollbar.paddingStart+i,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return Pj([d,p],m)(e)}function EC(e,t,n="ltr"){const r=Hm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,i=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,i]:[i*-1,0],p=KU(e,d);return Pj([0,i],[0,c])(p)}function Pj(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 jj(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,c=n.top!==s.top;(i||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Wm(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 jc(e,t){const n=Ui(t);w1(()=>{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 fG=QU,pG=ZU,OC=eG,RC=aG,hG=lG;var mG=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],[`& .${NS("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:NS("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 gG=mG;var vG=Object.defineProperty,bG=Object.defineProperties,yG=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?vG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,C1=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&MC(e,n,t[n]);if(_h)for(var n of _h(t))Ej.call(t,n)&&MC(e,n,t[n]);return e},Oj=(e,t)=>bG(e,yG(t)),Rj=(e,t)=>{var n={};for(var r in e)Ij.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&&Ej.call(e,r)&&(n[r]=e[r]);return n};const Mj={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Vm=f.forwardRef((e,t)=>{const n=Cr("ScrollArea",Mj,e),{children:r,className:o,classNames:s,styles:i,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,P]=f.useState(!1),I=qa(),{classes:E,cx:O}=gG({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:i,unstyled:w,variant:y});return W.createElement(fG,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},W.createElement(Eo,C1({className:O(E.root,o)},k),W.createElement(pG,Oj(C1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),W.createElement(OC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},W.createElement(RC,{className:E.thumb})),W.createElement(OC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},W.createElement(RC,{className:E.thumb})),W.createElement(hG,{className:E.corner})))}),Dj=f.forwardRef((e,t)=>{const n=Cr("ScrollAreaAutosize",Mj,e),{children:r,classNames:o,styles:s,scrollbarSize:i,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return W.createElement(Eo,Oj(C1({},k),{ref:t,sx:[{display:"flex"},...xP(w)]}),W.createElement(Eo,{sx:{display:"flex",flexDirection:"column",flex:1}},W.createElement(Vm,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:i,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});Dj.displayName="@mantine/core/ScrollAreaAutosize";Vm.displayName="@mantine/core/ScrollArea";Vm.Autosize=Dj;const Aj=Vm;var xG=Object.defineProperty,wG=Object.defineProperties,SG=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Nj=Object.prototype.propertyIsEnumerable,DC=(e,t,n)=>t in e?xG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AC=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&DC(e,n,t[n]);if(Ph)for(var n of Ph(t))Nj.call(t,n)&&DC(e,n,t[n]);return e},CG=(e,t)=>wG(e,SG(t)),kG=(e,t)=>{var n={};for(var r in e)Tj.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&&Nj.call(e,r)&&(n[r]=e[r]);return n};const Um=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=kG(n,["style"]);return W.createElement(Aj,CG(AC({},o),{style:AC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Um.displayName="@mantine/core/SelectScrollArea";var _G=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const PG=_G;function Gc(e){return e.split("-")[1]}function fy(e){return e==="y"?"height":"width"}function _s(e){return e.split("-")[0]}function Ii(e){return["top","bottom"].includes(_s(e))?"x":"y"}function TC(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,c=Ii(t),d=fy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(_s(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:i};break;case"left":m={x:r.x-o.width,y:i};break;default:m={x:r.x,y:r.y}}switch(Gc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const jG=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:i}=n,c=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:m}=TC(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:i,elements:c}=t,{element:d,padding:p=0}=Fa(e,t)||{};if(d==null)return{};const h=py(p),m={x:n,y:r},v=Ii(o),b=fy(v),w=await i.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=m[v]-s.reference[v],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let O=E?E[_]:0;O&&await(i.isElement==null?void 0:i.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=P/2-I/2,M=O/2-w[b]/2-1,D=Si(h[S],M),A=Si(h[k],M),L=D,Q=O-w[b]-A,F=O/2-w[b]/2+R,V=k1(L,F,Q),q=Gc(o)!=null&&F!=V&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const EG={left:"right",right:"left",bottom:"top",top:"bottom"};function jh(e){return e.replace(/left|right|bottom|top/g,t=>EG[t])}function OG(e,t,n){n===void 0&&(n=!1);const r=Gc(e),o=Ii(e),s=fy(o);let i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=jh(i)),{main:i,cross:jh(i)}}const RG={start:"end",end:"start"};function Q0(e){return e.replace(/start|end/g,t=>RG[t])}const MG=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:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Fa(e,t),S=_s(r),k=_s(i)===i,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),P=m||(k||!w?[jh(i)]:function(L){const Q=jh(L);return[Q0(L),Q,Q0(Q)]}(i));m||b==="none"||P.push(...function(L,Q,F,V){const q=Gc(L);let G=function(T,z,$){const Y=["left","right"],ae=["right","left"],fe=["top","bottom"],ie=["bottom","top"];switch(T){case"top":case"bottom":return $?z?ae:Y:z?Y:ae;case"left":case"right":return z?fe:ie;default:return[]}}(_s(L),F==="start",V);return q&&(G=G.map(T=>T+"-"+q),Q&&(G=G.concat(G.map(Q0)))),G}(i,w,b,_));const I=[i,...P],E=await hy(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:L,cross:Q}=OG(r,s,_);O.push(E[L],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every(L=>L<=0)){var M,D;const L=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[L];if(Q)return{data:{index:L,overflows:R},reset:{placement:Q}};let F=(D=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:D.placement;if(!F)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,T)=>G+T,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(F=V);break}case"initialPlacement":F=i}if(r!==F)return{reset:{placement:F}}}return{}}}};function $C(e){const t=Si(...e.map(r=>r.left)),n=Si(...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 DG=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:c=2,x:d,y:p}=Fa(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((P,I)=>P.y-I.y),k=[];let _=null;for(let P=0;P_.height/2?k.push([I]):k[k.length-1].push(I),_=I}return k.map(P=>Ic($C(P)))}(h),v=Ic($C(h)),b=py(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(Ii(n)==="x"){const E=m[0],O=m[m.length-1],R=_s(n)==="top",M=E.top,D=O.bottom,A=R?E.left:O.left,L=R?E.right:O.right;return{top:M,bottom:D,left:A,right:L,width:L-A,height:D-M,x:A,y:M}}const y=_s(n)==="left",S=Ks(...m.map(E=>E.right)),k=Si(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),P=_[0].top,I=_[_.length-1].bottom;return{top:P,bottom:I,left:k,right:S,width:S-k,height:I-P,x:k,y:P}}return v}},floating:r.floating,strategy:i});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}}:{}}}},AG=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:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=_s(c),v=Gc(c),b=Ii(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Fa(i,s);let{mainAxis:k,crossAxis:_,alignmentAxis:P}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof P=="number"&&(_=v==="end"?-1*P:P),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 $j(e){return e==="x"?"y":"x"}const TG=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:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Fa(e,t),p={x:n,y:r},h=await hy(t,d),m=Ii(_s(o)),v=$j(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=k1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(i){const S=v==="y"?"bottom":"right";w=k1(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}}}}},NG=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Fa(e,t),h={x:n,y:r},m=Ii(o),v=$j(m);let b=h[m],w=h[v];const y=Fa(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const P=m==="y"?"height":"width",I=s.reference[m]-s.floating[P]+S.mainAxis,E=s.reference[m]+s.reference[P]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const P=m==="y"?"width":"height",I=["top","left"].includes(_s(o)),E=s.reference[v]-s.floating[P]+(I&&((k=i.offset)==null?void 0:k[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((_=i.offset)==null?void 0:_[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},$G=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=()=>{},...c}=Fa(e,t),d=await hy(t,c),p=_s(n),h=Gc(n),m=Ii(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 P=S,I=k;if(m){const O=v-d.left-d.right;I=h||_?Si(k,O):O}else{const O=b-d.top-d.bottom;P=h||_?Si(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),D=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):P=b-2*(M!==0||D!==0?M+D:Ks(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 zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oa(e){return zo(e).getComputedStyle(e)}function Lj(e){return e instanceof zo(e).Node}function Ci(e){return Lj(e)?(e.nodeName||"").toLowerCase():"#document"}function Os(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function LC(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function md(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=oa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function LG(e){return["table","td","th"].includes(Ci(e))}function _1(e){const t=my(),n=oa(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 my(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Gm(e){return["html","body","#document"].includes(Ci(e))}const P1=Math.min,pc=Math.max,Ih=Math.round,rp=Math.floor,ki=e=>({x:e,y:e});function zj(e){const t=oa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Os(e),s=o?e.offsetWidth:n,i=o?e.offsetHeight:r,c=Ih(n)!==s||Ih(r)!==i;return c&&(n=s,r=i),{width:n,height:r,$:c}}function Oa(e){return e instanceof Element||e instanceof zo(e).Element}function gy(e){return Oa(e)?e:e.contextElement}function hc(e){const t=gy(e);if(!Os(t))return ki(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=zj(t);let i=(s?Ih(n.width):n.width)/r,c=(s?Ih(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),c&&Number.isFinite(c)||(c=1),{x:i,y:c}}const zG=ki(0);function Bj(e){const t=zo(e);return my()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:zG}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=gy(e);let i=ki(1);t&&(r?Oa(r)&&(i=hc(r)):i=hc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?Bj(s):ki(0);let d=(o.left+c.x)/i.x,p=(o.top+c.y)/i.y,h=o.width/i.x,m=o.height/i.y;if(s){const v=zo(s),b=r&&Oa(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=hc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,P=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=P,w=zo(w).frameElement}}return Ic({width:h,height:m,x:d,y:p})}function qm(e){return Oa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ra(e){var t;return(t=(Lj(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Fj(e){return cl(Ra(e)).left+qm(e).scrollLeft}function Ec(e){if(Ci(e)==="html")return e;const t=e.assignedSlot||e.parentNode||LC(e)&&e.host||Ra(e);return LC(t)?t.host:t}function Hj(e){const t=Ec(e);return Gm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Os(t)&&md(t)?t:Hj(t)}function Eh(e,t){var n;t===void 0&&(t=[]);const r=Hj(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],md(r)?r:[]):t.concat(r,Eh(r))}function zC(e,t,n){let r;if(t==="viewport")r=function(o,s){const i=zo(o),c=Ra(o),d=i.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=my();(!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=Ra(o),i=qm(o),c=o.ownerDocument.body,d=pc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=pc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-i.scrollLeft+Fj(o);const m=-i.scrollTop;return oa(c).direction==="rtl"&&(h+=pc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Ra(e));else if(Oa(t))r=function(o,s){const i=cl(o,!0,s==="fixed"),c=i.top+o.clientTop,d=i.left+o.clientLeft,p=Os(o)?hc(o):ki(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=Bj(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return Ic(r)}function Wj(e,t){const n=Ec(e);return!(n===t||!Oa(n)||Gm(n))&&(oa(n).position==="fixed"||Wj(n,t))}function BG(e,t,n){const r=Os(t),o=Ra(t),s=n==="fixed",i=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=ki(0);if(r||!r&&!s)if((Ci(t)!=="body"||md(o))&&(c=qm(t)),Os(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Fj(o));return{x:i.left+c.scrollLeft-d.x,y:i.top+c.scrollTop-d.y,width:i.width,height:i.height}}function BC(e,t){return Os(e)&&oa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function FC(e,t){const n=zo(e);if(!Os(e))return n;let r=BC(e,t);for(;r&&LG(r)&&oa(r).position==="static";)r=BC(r,t);return r&&(Ci(r)==="html"||Ci(r)==="body"&&oa(r).position==="static"&&!_1(r))?n:r||function(o){let s=Ec(o);for(;Os(s)&&!Gm(s);){if(_1(s))return s;s=Ec(s)}return null}(e)||n}const FG={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Os(n),s=Ra(n);if(n===s)return t;let i={scrollLeft:0,scrollTop:0},c=ki(1);const d=ki(0);if((o||!o&&r!=="fixed")&&((Ci(n)!=="body"||md(s))&&(i=qm(n)),Os(n))){const p=cl(n);c=hc(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-i.scrollLeft*c.x+d.x,y:t.y*c.y-i.scrollTop*c.y+d.y}},getDocumentElement:Ra,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=Eh(d).filter(y=>Oa(y)&&Ci(y)!=="body"),v=null;const b=oa(d).position==="fixed";let w=b?Ec(d):d;for(;Oa(w)&&!Gm(w);){const y=oa(w),S=_1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||md(w)&&!S&&Wj(d,w))?m=m.filter(k=>k!==w):v=y,w=Ec(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],i=s[0],c=s.reduce((d,p)=>{const h=zC(t,p,o);return d.top=pc(h.top,d.top),d.right=P1(h.right,d.right),d.bottom=P1(h.bottom,d.bottom),d.left=pc(h.left,d.left),d},zC(t,i,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:FC,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||FC,s=this.getDimensions;return{reference:BG(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 zj(e)},getScale:hc,isElement:Oa,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function HG(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=gy(e),h=o||s?[...p?Eh(p):[],...Eh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,P=null;const I=Ra(S);function E(){clearTimeout(_),P&&P.disconnect(),P=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:D,top:A,width:L,height:Q}=S.getBoundingClientRect();if(R||k(),!L||!Q)return;const F={rootMargin:-rp(A)+"px "+-rp(I.clientWidth-(D+L))+"px "+-rp(I.clientHeight-(A+Q))+"px "+-rp(D)+"px",threshold:pc(0,P1(1,M))||1};let V=!0;function q(G){const T=G[0].intersectionRatio;if(T!==M){if(!V)return O();T?O(!1,T):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{P=new IntersectionObserver(q,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(q,F)}P.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;i&&(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 WG=(e,t,n)=>{const r=new Map,o={platform:FG,...n},s={...o.platform,_c:r};return jG(e,t,{...o,platform:s})},VG=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?NC({element:t.current,padding:n}).fn(o):{}:t?NC({element:t,padding:n}).fn(o):{}}}};var Lp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Oh(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(!Oh(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)&&!Oh(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function HC(e){const t=f.useRef(e);return Lp(()=>{t.current=e}),t}function UG(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:i}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Oh(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=HC(s),y=HC(o),[S,k]=f.useState(null),[_,P]=f.useState(null),I=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,P(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),WG(m.current,v.current,A).then(L=>{const Q={...L,isPositioned:!0};R.current&&!Oh(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Lp(()=>{i===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[i]);const R=f.useRef(!1);Lp(()=>(R.current=!0,()=>{R.current=!1}),[]),Lp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),D=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:D,reference:I,floating:E}),[c,O,M,D,I,E])}var GG=typeof document<"u"?f.useLayoutEffect:f.useEffect;function qG(){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 KG=f.createContext(null),XG=()=>f.useContext(KG);function YG(e){return(e==null?void 0:e.ownerDocument)||document}function QG(e){return YG(e).defaultView||window}function op(e){return e?e instanceof QG(e).Element:!1}const JG=eb["useInsertionEffect".toString()],ZG=JG||(e=>e());function eq(e){const t=f.useRef(()=>{});return ZG(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oqG())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=op(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(op(k)||k===null)&&(i.current=k,h(k)),(op(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!op(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:i}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=eq(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 GG(()=>{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 nq({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 HG(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ks(()=>{t.update()},r),ks(()=>{s(i=>i+1)},[e])}function rq(e){const t=[AG(e.offset)];return e.middlewares.shift&&t.push(TG({limiter:NG()})),e.middlewares.flip&&t.push(MG()),e.middlewares.inline&&t.push(DG()),t.push(VG({element:e.arrowRef,padding:e.arrowOffset})),t}function oq(e){const[t,n]=hd({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,c;t?((i=e.onClose)==null||i.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=tq({placement:e.position,middleware:[...rq(e),...e.width==="target"?[$G({apply({rects:i}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${i.reference.width}px`})}})]:[]]});return nq({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ks(()=>{var i;(i=e.onPositionChange)==null||i.call(e,s.placement)},[s.placement]),ks(()=>{var i,c;e.opened?(c=e.onOpen)==null||c.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 Vj={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"},[sq,Uj]=GH(Vj.context);var aq=Object.defineProperty,iq=Object.defineProperties,lq=Object.getOwnPropertyDescriptors,Rh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,WC=(e,t,n)=>t in e?aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sp=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&WC(e,n,t[n]);if(Rh)for(var n of Rh(t))qj.call(t,n)&&WC(e,n,t[n]);return e},cq=(e,t)=>iq(e,lq(t)),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&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};const dq={refProp:"ref",popupType:"dialog"},Kj=f.forwardRef((e,t)=>{const n=Cr("PopoverTarget",dq,e),{children:r,refProp:o,popupType:s}=n,i=uq(n,["children","refProp","popupType"]);if(!SP(r))throw new Error(Vj.children);const c=i,d=Uj(),p=Ud(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,sp(cq(sp(sp(sp({},c),h),d.targetProps),{className:kP(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});Kj.displayName="@mantine/core/PopoverTarget";var fq=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 pq=fq;var hq=Object.defineProperty,VC=Object.getOwnPropertySymbols,mq=Object.prototype.hasOwnProperty,gq=Object.prototype.propertyIsEnumerable,UC=(e,t,n)=>t in e?hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))mq.call(t,n)&&UC(e,n,t[n]);if(VC)for(var n of VC(t))gq.call(t,n)&&UC(e,n,t[n]);return e};const GC={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function vq({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Qf?Wl(Wl(Wl({transitionProperty:Qf[e].transitionProperty},o),Qf[e].common),Qf[e][GC[t]]):null:Wl(Wl(Wl({transitionProperty:e.transitionProperty},o),e.common),e[GC[t]])}function bq({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:i,onExited:c}){const d=qa(),p=RP(),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,P=k?i:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:k?e:t;if(v(I),I===0)typeof _=="function"&&_(),typeof P=="function"&&P(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),w(k?"entered":"exited")},I)}};return ks(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function Xj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:i,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=bq({mounted:o,exitDuration:r,duration:n,timingFunction:i,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?W.createElement(W.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:W.createElement(W.Fragment,null,s(vq({transition:t,duration:m,state:v,timingFunction:b})))}Xj.displayName="@mantine/core/Transition";function Yj({children:e,active:t=!0,refProp:n="ref"}){const r=PW(t),o=Ud(r,e==null?void 0:e.ref);return SP(e)?f.cloneElement(e,{[n]:o}):e}Yj.displayName="@mantine/core/FocusTrap";var yq=Object.defineProperty,xq=Object.defineProperties,wq=Object.getOwnPropertyDescriptors,qC=Object.getOwnPropertySymbols,Sq=Object.prototype.hasOwnProperty,Cq=Object.prototype.propertyIsEnumerable,KC=(e,t,n)=>t in e?yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ai=(e,t)=>{for(var n in t||(t={}))Sq.call(t,n)&&KC(e,n,t[n]);if(qC)for(var n of qC(t))Cq.call(t,n)&&KC(e,n,t[n]);return e},ap=(e,t)=>xq(e,wq(t));function XC(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function YC(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 kq={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function _q({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:i,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[kq[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?ap(ai(ai({},h),XC(p,i,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?ap(ai(ai({},h),XC(p,i,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?ap(ai(ai({},h),YC(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?ap(ai(ai({},h),YC(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var Pq=Object.defineProperty,jq=Object.defineProperties,Iq=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?Pq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&QC(e,n,t[n]);if(Mh)for(var n of Mh(t))Jj.call(t,n)&&QC(e,n,t[n]);return e},Oq=(e,t)=>jq(e,Iq(t)),Rq=(e,t)=>{var n={};for(var r in e)Qj.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&&Jj.call(e,r)&&(n[r]=e[r]);return n};const Zj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=Rq(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=qa();return d?W.createElement("div",Oq(Eq({},m),{ref:t,style:_q({position:r,arrowSize:o,arrowOffset:s,arrowRadius:i,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});Zj.displayName="@mantine/core/FloatingArrow";var Mq=Object.defineProperty,Dq=Object.defineProperties,Aq=Object.getOwnPropertyDescriptors,Dh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,JC=(e,t,n)=>t in e?Mq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&JC(e,n,t[n]);if(Dh)for(var n of Dh(t))tI.call(t,n)&&JC(e,n,t[n]);return e},ip=(e,t)=>Dq(e,Aq(t)),Tq=(e,t)=>{var n={};for(var r in e)eI.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&&tI.call(e,r)&&(n[r]=e[r]);return n};const Nq={};function nI(e){var t;const n=Cr("PopoverDropdown",Nq,e),{style:r,className:o,children:s,onKeyDownCapture:i}=n,c=Tq(n,["style","className","children","onKeyDownCapture"]),d=Uj(),{classes:p,cx:h}=pq({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=yW({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:W.createElement(nj,ip(Vl({},d.portalProps),{withinPortal:d.withinPortal}),W.createElement(Xj,ip(Vl({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 W.createElement(Yj,{active:d.trapFocus},W.createElement(Eo,Vl(ip(Vl({},v),{tabIndex:-1,ref:d.floating,style:ip(Vl(Vl({},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:KH(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:i}),"data-position":d.placement}),c),s,W.createElement(Zj,{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})))}))}nI.displayName="@mantine/core/PopoverDropdown";function $q(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 ZC=Object.getOwnPropertySymbols,Lq=Object.prototype.hasOwnProperty,zq=Object.prototype.propertyIsEnumerable,Bq=(e,t)=>{var n={};for(var r in e)Lq.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ZC)for(var r of ZC(e))t.indexOf(r)<0&&zq.call(e,r)&&(n[r]=e[r]);return n};const Fq={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:ay("popover"),__staticSelector:"Popover",width:"max-content"};function qc(e){var t,n,r,o,s,i;const c=f.useRef(null),d=Cr("Popover",Fq,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:D,closeOnClickOutside:A,withinPortal:L,portalProps:Q,closeOnEscape:F,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:T,onChange:z,zIndex:$,radius:Y,shadow:ae,id:fe,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=Bq(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),[ke,xe]=f.useState(null),de=ly(fe),Te=qa(),Ee=oq({middlewares:k,width:S,position:$q(Te.dir,h),offset:typeof m=="number"?m+(_?P/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:z,onOpen:T,onClose:G});mW(()=>Ee.opened&&A&&Ee.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Ee.floating.reference(ct)},[Ee.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Ee.floating.floating(ct)},[Ee.floating.floating]);return W.createElement(sq,{value:{returnFocus:se,disabled:U,controlled:Ee.controlled,reference:$e,floating:kt,x:Ee.floating.x,y:Ee.floating.y,arrowX:(r=(n=(t=Ee.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(i=(s=(o=Ee.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:i.y,opened:Ee.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Ee.floating.placement,trapFocus:q,withinPortal:L,portalProps:Q,zIndex:$,radius:Y,shadow:ae,closeOnEscape:F,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:D,unstyled:R,variant:re,keepMounted:oe}},p)}qc.Target=Kj;qc.Dropdown=nI;qc.displayName="@mantine/core/Popover";var Hq=Object.defineProperty,Ah=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?Hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&e4(e,n,t[n]);if(Ah)for(var n of Ah(t))oI.call(t,n)&&e4(e,n,t[n]);return e},Vq=(e,t)=>{var n={};for(var r in e)rI.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&&oI.call(e,r)&&(n[r]=e[r]);return n};function Uq(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:i,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=Vq(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=PG(null,{name:d,styles:p,classNames:h,unstyled:m});return W.createElement(qc.Dropdown,Wq({p:0,onMouseDown:w=>w.preventDefault()},v),W.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},W.createElement(Eo,{component:r||"div",id:`${i}-items`,"aria-labelledby":`${i}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Um?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},W.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function yi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:i,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return W.createElement(qc,{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:i,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)}yi.Target=qc.Target;yi.Dropdown=Uq;var Gq=Object.defineProperty,qq=Object.defineProperties,Kq=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,sI=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?Gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lp=(e,t)=>{for(var n in t||(t={}))sI.call(t,n)&&t4(e,n,t[n]);if(Th)for(var n of Th(t))aI.call(t,n)&&t4(e,n,t[n]);return e},Xq=(e,t)=>qq(e,Kq(t)),Yq=(e,t)=>{var n={};for(var r in e)sI.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&&aI.call(e,r)&&(n[r]=e[r]);return n};function iI(e,t,n){const r=Cr(e,t,n),{label:o,description:s,error:i,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,D=Yq(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=ly(_),{systemStyles:L,rest:Q}=Fm(D),F=lp({label:o,description:s,error:i,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return Xq(lp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:lp(lp({},F),L),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:P,__staticSelector:v,error:i,variant:M}})}var Qq=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({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 Jq=Qq;var Zq=Object.defineProperty,Nh=Object.getOwnPropertySymbols,lI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,n4=(e,t,n)=>t in e?Zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eK=(e,t)=>{for(var n in t||(t={}))lI.call(t,n)&&n4(e,n,t[n]);if(Nh)for(var n of Nh(t))cI.call(t,n)&&n4(e,n,t[n]);return e},tK=(e,t)=>{var n={};for(var r in e)lI.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&&cI.call(e,r)&&(n[r]=e[r]);return n};const nK={labelElement:"label",size:"sm"},vy=f.forwardRef((e,t)=>{const n=Cr("InputLabel",nK,e),{labelElement:r,children:o,required:s,size:i,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=tK(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=Jq(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:i});return W.createElement(Eo,eK({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&&W.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});vy.displayName="@mantine/core/InputLabel";var rK=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const oK=rK;var sK=Object.defineProperty,$h=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,r4=(e,t,n)=>t in e?sK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aK=(e,t)=>{for(var n in t||(t={}))uI.call(t,n)&&r4(e,n,t[n]);if($h)for(var n of $h(t))dI.call(t,n)&&r4(e,n,t[n]);return e},iK=(e,t)=>{var n={};for(var r in e)uI.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&&dI.call(e,r)&&(n[r]=e[r]);return n};const lK={size:"sm"},by=f.forwardRef((e,t)=>{const n=Cr("InputError",lK,e),{children:r,className:o,classNames:s,styles:i,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=iK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=oK(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:c,variant:h,size:d});return W.createElement(Pc,aK({className:b(v.error,o),ref:t},m),r)});by.displayName="@mantine/core/InputError";var cK=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const uK=cK;var dK=Object.defineProperty,Lh=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,o4=(e,t,n)=>t in e?dK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&o4(e,n,t[n]);if(Lh)for(var n of Lh(t))pI.call(t,n)&&o4(e,n,t[n]);return e},pK=(e,t)=>{var n={};for(var r in e)fI.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&&pI.call(e,r)&&(n[r]=e[r]);return n};const hK={size:"sm"},yy=f.forwardRef((e,t)=>{const n=Cr("InputDescription",hK,e),{children:r,className:o,classNames:s,styles:i,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=pK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=uK(null,{name:["InputWrapper",p],classNames:s,styles:i,unstyled:c,variant:h,size:d});return W.createElement(Pc,fK({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});yy.displayName="@mantine/core/InputDescription";const hI=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),mK=hI.Provider,gK=()=>f.useContext(hI);function vK(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 bK=Object.defineProperty,yK=Object.defineProperties,xK=Object.getOwnPropertyDescriptors,s4=Object.getOwnPropertySymbols,wK=Object.prototype.hasOwnProperty,SK=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?bK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CK=(e,t)=>{for(var n in t||(t={}))wK.call(t,n)&&a4(e,n,t[n]);if(s4)for(var n of s4(t))SK.call(t,n)&&a4(e,n,t[n]);return e},kK=(e,t)=>yK(e,xK(t)),_K=so(e=>({root:kK(CK({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const PK=_K;var jK=Object.defineProperty,IK=Object.defineProperties,EK=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,mI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,i4=(e,t,n)=>t in e?jK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ii=(e,t)=>{for(var n in t||(t={}))mI.call(t,n)&&i4(e,n,t[n]);if(zh)for(var n of zh(t))gI.call(t,n)&&i4(e,n,t[n]);return e},l4=(e,t)=>IK(e,EK(t)),OK=(e,t)=>{var n={};for(var r in e)mI.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&&gI.call(e,r)&&(n[r]=e[r]);return n};const RK={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},vI=f.forwardRef((e,t)=>{const n=Cr("InputWrapper",RK,e),{className:r,label:o,children:s,required:i,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=OK(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:D}=PK(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:P,variant:O,size:S}),A={classNames:w,styles:y,unstyled:P,size:S,variant:O,__staticSelector:_},L=typeof E=="boolean"?E:i,Q=c?`${c}-error`:b==null?void 0:b.id,F=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?F:""}`,G=q.trim().length>0?q.trim():void 0,T=o&&W.createElement(vy,ii(ii({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:L},A),m),o),z=p&&W.createElement(yy,l4(ii(ii({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||F}),p),$=W.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&W.createElement(by,l4(ii(ii({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(fe=>{switch(fe){case"label":return T;case"input":return $;case"description":return z;case"error":return Y;default:return null}});return W.createElement(mK,{value:ii({describedBy:G},vK(I,{hasDescription:!!z,hasError:!!Y}))},W.createElement(Eo,ii({className:D(M.root,r),ref:t},R),ae))});vI.displayName="@mantine/core/InputWrapper";var MK=Object.defineProperty,Bh=Object.getOwnPropertySymbols,bI=Object.prototype.hasOwnProperty,yI=Object.prototype.propertyIsEnumerable,c4=(e,t,n)=>t in e?MK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DK=(e,t)=>{for(var n in t||(t={}))bI.call(t,n)&&c4(e,n,t[n]);if(Bh)for(var n of Bh(t))yI.call(t,n)&&c4(e,n,t[n]);return e},AK=(e,t)=>{var n={};for(var r in e)bI.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&&yI.call(e,r)&&(n[r]=e[r]);return n};const TK={},xI=f.forwardRef((e,t)=>{const n=Cr("InputPlaceholder",TK,e),{sx:r}=n,o=AK(n,["sx"]);return W.createElement(Eo,DK({component:"span",sx:[s=>s.fn.placeholderStyles(),...xP(r)],ref:t},o))});xI.displayName="@mantine/core/InputPlaceholder";var NK=Object.defineProperty,$K=Object.defineProperties,LK=Object.getOwnPropertyDescriptors,u4=Object.getOwnPropertySymbols,zK=Object.prototype.hasOwnProperty,BK=Object.prototype.propertyIsEnumerable,d4=(e,t,n)=>t in e?NK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cp=(e,t)=>{for(var n in t||(t={}))zK.call(t,n)&&d4(e,n,t[n]);if(u4)for(var n of u4(t))BK.call(t,n)&&d4(e,n,t[n]);return e},J0=(e,t)=>$K(e,LK(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},FK=["default","filled","unstyled"];function HK({theme:e,variant:t}){return FK.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 WK=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:i,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:Vt({size:m,sizes:Qo}),paddingLeft:`calc(${Vt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Qo}):`calc(${Vt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({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:J0(cp(cp(J0(cp({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({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}),HK({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"?Ue(i):Vt({size:m,sizes:Qo})},"&::placeholder":J0(cp({},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?Ue(i):Vt({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||Vt({size:m,sizes:Qo})}}});const VK=WK;var UK=Object.defineProperty,GK=Object.defineProperties,qK=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,wI=Object.prototype.hasOwnProperty,SI=Object.prototype.propertyIsEnumerable,f4=(e,t,n)=>t in e?UK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,up=(e,t)=>{for(var n in t||(t={}))wI.call(t,n)&&f4(e,n,t[n]);if(Fh)for(var n of Fh(t))SI.call(t,n)&&f4(e,n,t[n]);return e},p4=(e,t)=>GK(e,qK(t)),KK=(e,t)=>{var n={};for(var r in e)wI.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&&SI.call(e,r)&&(n[r]=e[r]);return n};const XK={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Cr("Input",XK,e),{className:r,error:o,required:s,disabled:i,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=KK(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:D,offsetTop:A,describedBy:L}=gK(),{classes:Q,cx:F}=VK({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:D,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",P],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Fm(M);return W.createElement(Eo,up(up({className:F(Q.wrapper,r),sx:E,style:p},V),S),d&&W.createElement("div",{className:Q.icon},d),W.createElement(Eo,p4(up({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":L,disabled:i,"data-disabled":i||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&W.createElement("div",p4(up({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=vI;bl.Label=vy;bl.Description=yy;bl.Error=by;bl.Placeholder=xI;const Oc=bl;var YK=Object.defineProperty,Hh=Object.getOwnPropertySymbols,CI=Object.prototype.hasOwnProperty,kI=Object.prototype.propertyIsEnumerable,h4=(e,t,n)=>t in e?YK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m4=(e,t)=>{for(var n in t||(t={}))CI.call(t,n)&&h4(e,n,t[n]);if(Hh)for(var n of Hh(t))kI.call(t,n)&&h4(e,n,t[n]);return e},QK=(e,t)=>{var n={};for(var r in e)CI.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&&kI.call(e,r)&&(n[r]=e[r]);return n};const JK={multiple:!1},_I=f.forwardRef((e,t)=>{const n=Cr("FileButton",JK,e),{onChange:r,children:o,multiple:s,accept:i,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=QK(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 OP(p,()=>{w.current.value=""}),W.createElement(W.Fragment,null,o(m4({onClick:y},b)),W.createElement("input",m4({style:{display:"none"},type:"file",accept:i,multiple:s,onChange:S,ref:Ud(t,w),name:c,form:d,capture:m},v)))});_I.displayName="@mantine/core/FileButton";const PI={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},ZK={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var eX=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:Vt({size:o,sizes:PI}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:ZK}),borderRadius:Vt({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(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const tX=eX;var nX=Object.defineProperty,Wh=Object.getOwnPropertySymbols,jI=Object.prototype.hasOwnProperty,II=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?nX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rX=(e,t)=>{for(var n in t||(t={}))jI.call(t,n)&&g4(e,n,t[n]);if(Wh)for(var n of Wh(t))II.call(t,n)&&g4(e,n,t[n]);return e},oX=(e,t)=>{var n={};for(var r in e)jI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&II.call(e,r)&&(n[r]=e[r]);return n};const sX={xs:16,sm:22,md:24,lg:26,xl:30};function EI(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:i,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=oX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=tX({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return W.createElement("div",rX({className:y(w.defaultValue,s)},b),W.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&W.createElement(cj,{"aria-hidden":!0,onMouseDown:i,size:sX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}EI.displayName="@mantine/core/MultiSelect/DefaultValue";function aX({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 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 iX=Object.defineProperty,Vh=Object.getOwnPropertySymbols,OI=Object.prototype.hasOwnProperty,RI=Object.prototype.propertyIsEnumerable,v4=(e,t,n)=>t in e?iX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,b4=(e,t)=>{for(var n in t||(t={}))OI.call(t,n)&&v4(e,n,t[n]);if(Vh)for(var n of Vh(t))RI.call(t,n)&&v4(e,n,t[n]);return e},lX=(e,t)=>{var n={};for(var r in e)OI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&RI.call(e,r)&&(n[r]=e[r]);return n};const cX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function uX(e){var t=e,{size:n,error:r,style:o}=t,s=lX(t,["size","error","style"]);const i=qa(),c=Vt({size:n,sizes:cX});return W.createElement("svg",b4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:b4({color:r?i.colors.red[6]:i.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),W.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 dX=Object.defineProperty,fX=Object.defineProperties,pX=Object.getOwnPropertyDescriptors,y4=Object.getOwnPropertySymbols,hX=Object.prototype.hasOwnProperty,mX=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?dX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gX=(e,t)=>{for(var n in t||(t={}))hX.call(t,n)&&x4(e,n,t[n]);if(y4)for(var n of y4(t))mX.call(t,n)&&x4(e,n,t[n]);return e},vX=(e,t)=>fX(e,pX(t));function MI({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?W.createElement(cj,vX(gX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):W.createElement(uX,{error:o,size:r})}MI.displayName="@mantine/core/SelectRightSection";var bX=Object.defineProperty,yX=Object.defineProperties,xX=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,DI=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?bX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Z0=(e,t)=>{for(var n in t||(t={}))DI.call(t,n)&&w4(e,n,t[n]);if(Uh)for(var n of Uh(t))AI.call(t,n)&&w4(e,n,t[n]);return e},S4=(e,t)=>yX(e,xX(t)),wX=(e,t)=>{var n={};for(var r in e)DI.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&&AI.call(e,r)&&(n[r]=e[r]);return n};function TI(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,i=wX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!i.readOnly&&!(i.disabled&&i.shouldClear)&&W.createElement(MI,Z0({},i)),styles:S4(Z0({},c),{rightSection:S4(Z0({},c==null?void 0:c.rightSection),{pointerEvents:i.shouldClear?void 0:"none"})})}}var SX=Object.defineProperty,CX=Object.defineProperties,kX=Object.getOwnPropertyDescriptors,C4=Object.getOwnPropertySymbols,_X=Object.prototype.hasOwnProperty,PX=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?SX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,jX=(e,t)=>{for(var n in t||(t={}))_X.call(t,n)&&k4(e,n,t[n]);if(C4)for(var n of C4(t))PX.call(t,n)&&k4(e,n,t[n]);return e},IX=(e,t)=>CX(e,kX(t)),EX=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(${Vt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:IX(jX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:PI}),"&::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 OX=EX;var RX=Object.defineProperty,MX=Object.defineProperties,DX=Object.getOwnPropertyDescriptors,Gh=Object.getOwnPropertySymbols,NI=Object.prototype.hasOwnProperty,$I=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?RX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ul=(e,t)=>{for(var n in t||(t={}))NI.call(t,n)&&_4(e,n,t[n]);if(Gh)for(var n of Gh(t))$I.call(t,n)&&_4(e,n,t[n]);return e},P4=(e,t)=>MX(e,DX(t)),AX=(e,t)=>{var n={};for(var r in e)NI.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&&$I.call(e,r)&&(n[r]=e[r]);return n};function TX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function NX(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function j4(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 $X={size:"sm",valueComponent:EI,itemComponent:uy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:TX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:NX,switchDirectionOnFlip:!1,zIndex:ay("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},LI=f.forwardRef((e,t)=>{const n=Cr("MultiSelect",$X,e),{className:r,style:o,required:s,label:i,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:D,searchable:A,placeholder:L,filter:Q,limit:F,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:T,onSearchChange:z,searchValue:$,disabled:Y,initiallyOpened:ae,radius:fe,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Ee,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:_t,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:Lt,withAsterisk:Le,clearButtonProps:Ge,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Qe=AX(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:zt}=OX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:T}),{systemStyles:cr,rest:pn}=Fm(Qe),ln=f.useRef(),Wr=f.useRef({}),xr=ly(P),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Do,Vr]=f.useState("column"),[Ur,ds]=hd({value:$,defaultValue:"",finalValue:void 0,onChange:z}),[$r,$s]=f.useState(!1),{scrollIntoView:fs,targetRef:ga,scrollableRef:Ls}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=wP({data:he}),[me,ut]=hd({value:j4(b,y),defaultValue:j4(w,y),finalValue:[],onChange:S}),ot=f.useRef(!!xe&&xe{if(!Lt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{ds(Be.currentTarget.value),!Y&&!ot.current&&A&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!ot.current&&A&&Hn(!0)},He=aX({data:_e,searchable:A,searchValue:Ur,limit:F,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Ur,_e)&&(ee=se(Ur),He.push({label:Ur,value:Ur,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Ye=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};ks(()=>{Nr(Pn&&Ur?0:-1)},[Ur,Pn]),ks(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(ot.current=!0,Hn(!1))},[me]);const Pt=Be=>{if(!Lt)if(V&&ds(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(ot.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof D=="function"&&D(Be),kt&&He[Ce]&&Fn&&Pt(He[Ce]),G&&ds(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),Lt)||Be.key!=="Backspace"&&xe&&ot.current)return;const yt=Do==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Ye(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Ye(jn,sn=>sn-1,sn=>sn>0);return Fn&&(ga.current=Wr.current[(Gt=He[un])==null?void 0:Gt.value],fs({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?Pt(He[Ce]):Hn(!0);break}case" ":{A||(Be.preventDefault(),He[Ce]&&Fn?Pt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Ur.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(ot.current=!1));break}case"Home":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"End":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>W.createElement(k,P4(Ul({},Be),{variant:T,disabled:Y,className:Xe.value,readOnly:Lt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:fe,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;ds(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(ot.current=!1)},Ut=!Lt&&(He.length>0?Fn:Fn&&!!R);return ks(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),W.createElement(Oc.Wrapper,Ul(Ul({required:s,id:xr,label:i,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:Le,variant:T},cr),v),W.createElement(yi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Vr,switchDirectionOnFlip:Ee,zIndex:$e,dropdownPosition:on,positionDependencies:[..._t,Ur],classNames:h,styles:m,unstyled:we,variant:T},W.createElement(yi.Target,null,W.createElement("div",{className:Xe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${xr}-items`:null,"aria-controls":xr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},W.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),W.createElement(Oc,Ul({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:T,disabled:Y,error:p,required:s,radius:fe,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!ot.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:P4(Ul({},h),{input:dt({[Xe.input]:!A},h==null?void 0:h.input)})},TI({theme:zt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ge,readOnly:Lt})),W.createElement("div",{className:Xe.values,"data-clearable":q||void 0},qt,W.createElement("input",Ul({ref:Ud(t,ln),type:"search",id:xr,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:Ur,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||ot.current||Lt,placeholder:me.length===0?L:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),W.createElement(yi.Dropdown,{component:le||Um,maxHeight:E,direction:Do,id:xr,innerRef:Ls,__staticSelector:"MultiSelect",classNames:h,styles:m},W.createElement(cy,{data:He,hovered:Ce,classNames:h,styles:m,uuid:xr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:Pt,itemsRefs:Wr,itemComponent:_,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:T}))))});LI.displayName="@mantine/core/MultiSelect";var LX=Object.defineProperty,zX=Object.defineProperties,BX=Object.getOwnPropertyDescriptors,qh=Object.getOwnPropertySymbols,zI=Object.prototype.hasOwnProperty,BI=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?LX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ev=(e,t)=>{for(var n in t||(t={}))zI.call(t,n)&&I4(e,n,t[n]);if(qh)for(var n of qh(t))BI.call(t,n)&&I4(e,n,t[n]);return e},FX=(e,t)=>zX(e,BX(t)),HX=(e,t)=>{var n={};for(var r in e)zI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&qh)for(var r of qh(e))t.indexOf(r)<0&&BI.call(e,r)&&(n[r]=e[r]);return n};const WX={type:"text",size:"sm",__staticSelector:"TextInput"},FI=f.forwardRef((e,t)=>{const n=iI("TextInput",WX,e),{inputProps:r,wrapperProps:o}=n,s=HX(n,["inputProps","wrapperProps"]);return W.createElement(Oc.Wrapper,ev({},o),W.createElement(Oc,FX(ev(ev({},r),s),{ref:t})))});FI.displayName="@mantine/core/TextInput";function VX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:i}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!i&&(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 UX=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const GX=UX;var qX=Object.defineProperty,KX=Object.defineProperties,XX=Object.getOwnPropertyDescriptors,Kh=Object.getOwnPropertySymbols,HI=Object.prototype.hasOwnProperty,WI=Object.prototype.propertyIsEnumerable,E4=(e,t,n)=>t in e?qX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ku=(e,t)=>{for(var n in t||(t={}))HI.call(t,n)&&E4(e,n,t[n]);if(Kh)for(var n of Kh(t))WI.call(t,n)&&E4(e,n,t[n]);return e},tv=(e,t)=>KX(e,XX(t)),YX=(e,t)=>{var n={};for(var r in e)HI.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&&WI.call(e,r)&&(n[r]=e[r]);return n};function QX(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function JX(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const ZX={required:!1,size:"sm",shadow:"sm",itemComponent:uy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:QX,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:JX,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:ay("popover"),positionDependencies:[],dropdownPosition:"flip"},xy=f.forwardRef((e,t)=>{const n=iI("Select",ZX,e),{inputProps:r,wrapperProps:o,shadow:s,data:i,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:D,onSearchChange:A,searchValue:L,rightSection:Q,rightSectionWidth:F,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:T,onCreate:z,dropdownComponent:$,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:fe,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=YX(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:Ee,cx:$e,theme:kt}=GX(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[_t,Tt]=f.useState("column"),we=_t==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:Lt}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),Le=re===void 0?O:re,Ge=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Qe=i.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Xe=wP({data:Qe}),[dt,zt,cr]=hd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Xe.find(ee=>ee.value===dt),[ln,Wr]=hd({value:L,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),xr=ee=>{Wr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;ke||(zt(null),cr||xr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Xe.find(he=>he.value===dt);ee?xr(ee.label):(!Pn||!dt)&&xr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&xr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(Le&&(pn==null?void 0:pn.value)===ee.value)zt(null),Ge(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&zt(typeof he=="string"?he:he.value)}else zt(ee.value);cr||xr(ee.label),bt(-1),Ge(!1),Se.current.focus()}},Wn=VX({data:Xe,searchable:E,limit:M,searchValue:ln,filter:P,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};ks(()=>{bt(de&&ln?0:-1)},[ln,de]);const Do=dt?Wn.findIndex(ee=>ee.value===dt):0,Vr=!ke&&(Wn.length>0?ct:ct&&!!R),Ur=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Vr&&ht({alignment:we?"start":"end"}),_e})},ds=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Do])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);ks(()=>{Vr&&$r()},[Vr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Ur():ds():(bt(Do),Ge(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?ds():Ur():(bt(Do),Ge(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Vr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Vr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ge(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ge(!0),bt(Do),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},fs=ee=>{typeof v=="function"&&v(ee);const he=Xe.find(_e=>_e.value===dt);T&&Wn[vt]&&ct&&Hn(Wn[vt]),xr((he==null?void 0:he.label)||""),Ge(!1)},ga=ee=>{typeof b=="function"&&b(ee),E&&Ge(!0)},Ls=ee=>{ke||(xr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&zt(null),bt(-1),Ge(!0))},J=()=>{ke||(Ge(!ct),dt&&!ct&&bt(Do))};return W.createElement(Oc.Wrapper,tv(ku({},o),{__staticSelector:"Select"}),W.createElement(yi,{opened:Vr,transitionProps:w,shadow:s,withinPortal:fe,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},W.createElement(yi.Target,null,W.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Vr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Vr,onMouseLeave:()=>bt(-1),tabIndex:-1},W.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:D}),W.createElement(Oc,ku(tv(ku(ku({autoComplete:"off",type:"search"},r),Te),{ref:Ud(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:Ls,"aria-autocomplete":"list","aria-controls":Vr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:fs,onFocus:ga,readOnly:!E||ke,disabled:D,"data-mantine-stop-propagation":Vr,name:null,classNames:tv(ku({},k),{input:$e({[Ee.input]:!E},k==null?void 0:k.input)})}),TI({theme:kt,rightSection:Q,rightSectionWidth:F,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:D,readOnly:ke}))))),W.createElement(yi.Dropdown,{component:$||Um,maxHeight:I,direction:_t,id:r.id,innerRef:Lt,__staticSelector:"Select",classNames:k,styles:_},W.createElement(cy,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});xy.displayName="@mantine/core/Select";const wy=()=>{const[e,t,n,r,o,s,i,c,d,p,h,m,v,b,w,y,S,k,_,P,I,E,O,R,M,D,A,L,Q,F,V,q,G,T,z,$,Y,ae]=Lc("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:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:D,accent400:A,accent450:L,accent500:Q,accent550:F,accent600:V,accent650:q,accent700:G,accent750:T,accent800:z,accent850:$,accent900:Y,accent950:ae}},Fe=(e,t)=>n=>n==="light"?e:t,VI=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=wy(),{colorMode:y}=Ds(),[S]=Lc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,i)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(i,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,i)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,i,c,d,p,S,y])},eY=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:i,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(Io(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(Io(!1))},[d]),b=f.useCallback(y=>{o&&o(y)},[o]),w=VI();return a.jsx(vn,{label:n,placement:"top",hasArrow:!0,children:a.jsx(xy,{ref:r,label:s?a.jsx(go,{isDisabled:i,children:a.jsx(Bo,{children:s})}):void 0,disabled:i,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(eY),tY=be([at],({changeBoardModal:e})=>{const{isModalOpen:t,imagesToChange:n}=e;return{isModalOpen:t,imagesToChange:n}},Ke),nY=()=>{const e=te(),[t,n]=f.useState(),{data:r,isFetching:o}=hm(),{imagesToChange:s,isModalOpen:i}=B(tY),[c]=XR(),[d]=YR(),p=f.useMemo(()=>{const b=[{label:"Uncategorized",value:"none"}];return(r??[]).forEach(w=>b.push({label:w.board_name,value:w.board_id})),b},[r]),h=f.useCallback(()=>{e(J2()),e(tb(!1))},[e]),m=f.useCallback(()=>{!s.length||!t||(t==="none"?d({imageDTOs:s}):c({imageDTOs:s,board_id:t}),n(null),e(J2()))},[c,e,s,d,t]),v=f.useRef(null);return a.jsx(zd,{isOpen:i,onClose:h,leastDestructiveRef:v,isCentered:!0,children:a.jsx(za,{children:a.jsxs(Bd,{children:[a.jsx(La,{fontSize:"lg",fontWeight:"bold",children:"Change Board"}),a.jsx(Ba,{children:a.jsxs(H,{sx:{flexDir:"column",gap:4},children:[a.jsxs(Je,{children:["Moving ",`${s.length}`," image",`${s.length>1?"s":""}`," to board:"]}),a.jsx(ar,{placeholder:o?"Loading...":"Select Board",disabled:o,onChange:b=>n(b),value:t,data:p})]})}),a.jsxs($a,{children:[a.jsx(Yt,{ref:v,onClick:h,children:"Cancel"}),a.jsx(Yt,{colorScheme:"accent",onClick:m,ml:3,children:"Move"})]})]})})})},rY=f.memo(nY),oY=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:i,...c}=e;return a.jsx(vn,{label:i,hasArrow:!0,placement:"top",isDisabled:!i,children:a.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&a.jsx(Bo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),a.jsx(ny,{...c})]})})},yr=f.memo(oY),sY=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||!Pa(t)?null:a.jsxs(a.Fragment,{children:[a.jsx(Je,{children:n}),a.jsxs($b,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&a.jsx(ja,{children:"Image to Image"}),t.isCanvasImage&&a.jsx(ja,{children:"Unified Canvas"}),t.isControlNetImage&&a.jsx(ja,{children:"ControlNet"}),t.isNodesImage&&a.jsx(ja,{children:"Node Editor"})]}),a.jsx(Je,{children:r})]})},UI=f.memo(sY),aY=be([at,QR],(e,t)=>{const{system:n,config:r,deleteImageModal:o}=e,{shouldConfirmOnDelete:s}=n,{canRestoreDeletedImagesFromBin:i}=r,{imagesToDelete:c,isModalOpen:d}=o,p=(c??[]).map(({image_name:m})=>L_(e,m)),h={isInitialImage:Pa(p,m=>m.isInitialImage),isCanvasImage:Pa(p,m=>m.isCanvasImage),isNodesImage:Pa(p,m=>m.isNodesImage),isControlNetImage:Pa(p,m=>m.isControlNetImage)};return{shouldConfirmOnDelete:s,canRestoreDeletedImagesFromBin:i,imagesToDelete:c,imagesUsage:t,isModalOpen:d,imageUsageSummary:h}},Ke),iY=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imagesToDelete:o,imagesUsage:s,isModalOpen:i,imageUsageSummary:c}=B(aY),d=f.useCallback(v=>e(z_(!v.target.checked)),[e]),p=f.useCallback(()=>{e(Z2()),e(JR(!1))},[e]),h=f.useCallback(()=>{!o.length||!s.length||(e(Z2()),e(ZR({imageDTOs:o,imagesUsage:s})))},[e,o,s]),m=f.useRef(null);return a.jsx(zd,{isOpen:i,onClose:p,leastDestructiveRef:m,isCentered:!0,children:a.jsx(za,{children:a.jsxs(Bd,{children:[a.jsx(La,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),a.jsx(Ba,{children:a.jsxs(H,{direction:"column",gap:3,children:[a.jsx(UI,{imageUsage:c}),a.jsx(Ka,{}),a.jsx(Je,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),a.jsx(Je,{children:t("common.areYouSure")}),a.jsx(yr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:d})]})}),a.jsxs($a,{children:[a.jsx(Yt,{ref:m,onClick:p,children:"Cancel"}),a.jsx(Yt,{colorScheme:"error",onClick:h,ml:3,children:"Delete"})]})]})})})},lY=f.memo(iY),mn=e=>e.canvas,lr=be([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),cY=e=>e.canvas.layerState.objects.find(B_),uY=h9(e=>{e(F_(!0))},300),_o=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&uY(e)};var dY=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)}}(),Pr=globalThis&&globalThis.__assign||function(){return Pr=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)}},bY=["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"],A4="__resizable_base__",yY=function(e){hY(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(A4):s.className+=A4,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||mY},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(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 nv(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?nv(r.width):o("width"),i=r&&typeof r.height<"u"&&!this.state.isResizing?nv(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&&Gl("left",s),c=o&&Gl("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=c?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=c?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=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,P=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,P);n=fp(n,I,E),r=fp(r,O,R)}else n=fp(n,h,m),r=fp(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,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=i,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&&gY(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&pp(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 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&&pp(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,i=o.maxHeight,c=o.minWidth,d=o.minHeight,p=pp(n)?n.touches[0].clientX:n.clientX,h=pp(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=vY(S,this.window.innerWidth,this.window.innerHeight,s,i,c,d);s=k.maxWidth,i=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),P=_.newHeight,I=_.newWidth,E=this.calculateNewMaxFromBoundary(s,i);this.props.snap&&this.props.snap.x&&(I=D4(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=D4(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=M4(I,this.props.grid[0]),M=M4(P,this.props.grid[1]),D=this.props.snapGap||0;I=D===0||Math.abs(R-I)<=D?R:I,P=D===0||Math.abs(M-P)<=D?M:P}var A={width:I-b.width,height:P-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var L=I/S.width*100;I=L+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var L=P/S.height*100;P=L+"%"}else if(y.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(y.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"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,i=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-i.width,height:this.size.height-i.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,i=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(pY,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:i&&i[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(i,c){return bY.indexOf(c)!==-1||(i[c]=n.props[c]),i},{}),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 xY=({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"}),wY=({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),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...i?{maxWidth:i}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},Ca="0.75rem",mp="1rem",_u="5px",SY=({isResizable:e,direction:t})=>{const n=`calc((2 * ${Ca} + ${_u}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:_u,paddingBottom:mp},handleStyles:e?{top:{paddingTop:Ca,paddingBottom:Ca,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:_u,paddingInlineEnd:mp},handleStyles:e?{right:{paddingInlineStart:Ca,paddingInlineEnd:Ca,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:_u,paddingTop:mp},handleStyles:e?{bottom:{paddingTop:Ca,paddingBottom:Ca,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:_u,paddingInlineStart:mp},handleStyles:e?{left:{paddingInlineStart:Ca,paddingInlineEnd:Ca,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},CY=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",kY=je(yY,{shouldForwardProp:e=>!["sx"].includes(e)}),GI=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:i,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=$c().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=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(_),[O,R]=f.useState(P);JN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?xY({direction:e,langDirection:y}):{},[t,y,e]),D=f.useMemo(()=>wY({direction:e,minWidth:i,maxWidth:c,minHeight:p,maxHeight:h}),[i,c,p,h,e]),{containerStyles:A,handleStyles:L}=f.useMemo(()=>SY({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>CY(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),a.jsx(X5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:a.jsx(Oe,{ref:k,sx:{width:"full",height:"full"},children:a.jsx(kY,{size:{width:t?I:_,height:t?O:P},enable:M,handleStyles:L,...D,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(F,V,q)=>{m&&m(F,V,q)},onResize:(F,V,q,G)=>{b&&b(F,V,q,G)},onResizeStop:(F,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(F,V,q,G)},children:o})})})};var qI={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},T4=W.createContext&&W.createContext(qI),xi=globalThis&&globalThis.__assign||function(){return xi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?B4(e,s,t):t.reduce((i,c)=>(i[c]=B4(e,s,c),i),o)}return o}e&&_n(Ho(t),o=>_Q(e,o,t[o]))}const ys=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,i;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,i=v),[s,w,i]};return[t?h=>c(t(s,i),h):c,h=>[s,!!h,i]]},Xd=()=>typeof window<"u",uE=Xd()&&Node.ELEMENT_NODE,{toString:uQ,hasOwnProperty:rv}=Object.prototype,Ya=e=>e===void 0,Xm=e=>e===null,dQ=e=>Ya(e)||Xm(e)?`${e}`:uQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),wi=e=>typeof e=="number",Ei=e=>typeof e=="string",jy=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),gd=e=>typeof e=="object"&&!Ms(e)&&!Xm(e),Ym=e=>{const t=!!e&&e.length,n=wi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&gd(e)?t-1 in e:!0:!1},j1=e=>{if(!e||!gd(e)||dQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=rv.call(e,n),i=o&&rv.call(o,"isPrototypeOf");if(r&&!s&&!i)return!1;for(t in e);return Ya(t)||rv.call(e,t)},Xh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},Qm=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},Iy=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&Ym(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},Ey=e=>!!e&&e.length===0,ha=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Jm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],hr=(e,t,n,r,o,s,i)=>{const c=[t,n,r,o,s,i];return(typeof e!="object"||Xm(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(j1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!j1(v)&&(b={}),e[p]=hr(b,h)}else e[p]=h})}),e},Oy=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Ya(r))return n?n[e]:t;n&&(Ei(r)||wi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Ya(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},Co=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const i=ul(s).join(" ").trim();to(e,t,i)}},fQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),Ma=(e,t)=>dE("scrollTop",0,e,t),I1=Xd()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?Qm(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},pQ=(e,t)=>{const n=t?Qm(t)?t:null:document;return n?n.querySelector(e):null},Yh=(e,t)=>Qm(e)?(I1.matches||I1.msMatchesSelector).call(e,t):!1,Ry=e=>e?ul(e.childNodes):[],Ha=e=>e?e.parentElement:null,Zl=(e,t)=>{if(Qm(e)){const n=I1.closest;if(n)return n.call(e,t);do{if(Yh(e,t))return e;e=Ha(e)}while(e)}return null},hQ=(e,t,n)=>{const r=e&&Zl(e,t),o=e&&pQ(n,r),s=Zl(o,t)===r;return r&&o?r===e||o===e||s&&Zl(Zl(e,n),t)!==r:!1},My=(e,t,n)=>{if(n&&e){let r=t,o;Ym(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)}},ns=(e,t)=>{My(e,null,t)},mQ=(e,t)=>{My(Ha(e),e,t)},$4=(e,t)=>{My(Ha(e),e&&e.nextSibling,t)},sa=e=>{if(Ym(e))_n(ul(e),t=>sa(t));else if(e){const t=Ha(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(Ry(t),n=>sa(n))},E1=e=>e.charAt(0).toUpperCase()+e.slice(1),gQ=()=>el().style,vQ=["-webkit-","-moz-","-o-","-ms-"],bQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],ov={},sv={},yQ=e=>{let t=sv[e];if(Jm(sv,e))return t;const n=E1(e),r=gQ();return _n(vQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,E1(s)+n].find(c=>r[c]!==void 0))}),sv[e]=t||""},Yd=e=>{if(Xd()){let t=ov[e]||window[e];return Jm(ov,e)||(_n(bQ,n=>(t=t||window[n+E1(e)],!t)),ov[e]=t),t}},xQ=Yd("MutationObserver"),L4=Yd("IntersectionObserver"),ec=Yd("ResizeObserver"),hE=Yd("cancelAnimationFrame"),mE=Yd("requestAnimationFrame"),Qh=Xd()&&window.setTimeout,O1=Xd()&&window.clearTimeout,wQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,i=!1;if(r&&t&&Ei(t)){const c=t.match(wQ)||[];for(i=c.length>0;o=c[s++];)i=!!n(r,o)&&i}return i},Dy=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Da=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Dy.bind(0,e,t)),Zm=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const i=r?r(e[s]):e[s],c=r?r(t[s]):t[s];i!==c&&(o=!1)}),o}return!1},vE=(e,t)=>Zm(e,t,["w","h"]),bE=(e,t)=>Zm(e,t,["x","y"]),SQ=(e,t)=>Zm(e,t,["t","r","b","l"]),z4=(e,t,n)=>Zm(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Xl=e=>{let t;const n=e?Qh:mE,r=e?O1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Ay=(e,t)=>{let n,r,o,s=ts;const{v:i,g:c,p:d}=t||{},p=function(w){s(),O1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(i)?i():i;if(wi(y)&&y>=0){const k=Rs(c)?c():c,_=wi(k)&&k>=0,P=y>0?Qh:mE,I=y>0?O1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Qh(m,k)),r=o=O}else p(w)};return v.m=m,v},CQ={opacity:1,zindex:1},gp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},kQ=(e,t)=>!CQ[e.toLowerCase()]&&wi(t)?`${t}px`:t,B4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],_Q=(e,t,n)=>{try{const{style:r}=e;Ya(r[t])?r.setProperty(t,n):r[t]=kQ(t,n)}catch{}},vd=e=>no(e,"direction")==="rtl",F4=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,i=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=no(e,[s,i,c,d]);return{t:gp(p[s],!0),r:gp(p[i],!0),b:gp(p[c],!0),l:gp(p[d],!0)}},{round:H4}=Math,Ty={w:0,h:0},bd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Ty,zp=e=>e?{w:e.clientWidth,h:e.clientHeight}:Ty,Jh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Ty,Zh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-H4(n),h:t-H4(t)}},Zs=e=>e.getBoundingClientRect();let vp;const PQ=()=>{if(Ya(vp)){vp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){vp=!0}}))}catch{}}return vp},yE=e=>e.split(" "),jQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=PQ(),i=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:i,capture:c}:c;return _n(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,jQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ha.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),IQ={x:0,y:0},av=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:IQ},W4=(e,t)=>{_n(Ms(t)?t:[t],e)},Ny=e=>{const t=new Map,n=(s,i)=>{if(s){const c=t.get(s);W4(d=>{c&&c[d?"delete":"clear"](d)},i)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,i)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),W4(h=>{Rs(h)&&p.add(h)},i),n.bind(0,s,i)}jy(i)&&i&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ha.bind(0,d)},o=(s,i)=>{const c=t.get(s);_n(ul(c),d=>{i&&!Ey(i)?d.apply(0,i):d()})};return r(e||{}),[r,n,o]},V4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),EQ={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"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],i=t[o];if(gd(s)&&gd(i))hr(n[o]={},SE(s,i)),Oy(n[o])&&delete n[o];else if(Jm(t,o)&&i!==s){let c=!0;if(Ms(s)||Ms(i))try{V4(s)===V4(i)&&(c=!1)}catch{}c&&(n[o]=i)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,OQ=`${kE}-max`,_E="os-scrollbar-hidden",iv="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,mc="overflowVisible",RQ="scrollbarHidden",U4="scrollbarPressed",em="updating",di="data-overlayscrollbars-viewport",lv="arrange",IE="scrollbarHidden",gc=mc,R1="data-overlayscrollbars-padding",MQ=gc,G4="data-overlayscrollbars-content",$y="os-size-observer",DQ=`${$y}-appear`,AQ=`${$y}-listener`,TQ="os-trinsic-observer",NQ="os-no-css-vars",$Q="os-theme-none",Ro="os-scrollbar",LQ=`${Ro}-rtl`,zQ=`${Ro}-horizontal`,BQ=`${Ro}-vertical`,EE=`${Ro}-track`,Ly=`${Ro}-handle`,FQ=`${Ro}-visible`,HQ=`${Ro}-cornerless`,q4=`${Ro}-transitionless`,K4=`${Ro}-interaction`,X4=`${Ro}-unusable`,Y4=`${Ro}-auto-hidden`,Q4=`${Ro}-wheel`,WQ=`${EE}-interactive`,VQ=`${Ly}-interactive`,OE={},dl=()=>OE,UQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},GQ="__osOptionsValidationPlugin",qQ="__osSizeObserverPlugin",zy="__osScrollbarsHidingPlugin",KQ="__osClickScrollPlugin";let cv;const J4=(e,t,n,r)=>{ns(e,t);const o=zp(t),s=bd(t),i=Zh(n);return r&&sa(t),{x:s.h-o.h+i.h,y:s.w-o.w+i.w}},XQ=e=>{let t=!1;const n=Da(e,_E);try{t=no(e,yQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},YQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=av(e),o=av(t);Ps(e,-999);const s=av(t);return{i:r.x===o.x,n:o.x!==s.x}},QQ=(e,t)=>{const n=Da(e,kE),r=Zs(e),o=Zs(t),s=z4(o,r,!0),i=Da(e,OQ),c=Zs(e),d=Zs(t),p=z4(d,c,!0);return n(),i(),s&&p},JQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=Ny(),[i,c]=ys({o:J4(e,n,r),u:bE},J4.bind(0,e,n,r,!0)),[d]=c(),p=XQ(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=hr({},EQ),b=hr.bind(0,{},v),w=hr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:YQ(n,r),V:QQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>hr(m,_)&&w(),F:b,G:_=>hr(v,_)&&b(),X:hr({},m),U:hr({},v)},S=window.addEventListener,k=Ay(_=>s(_?"z":"r"),{v:33,g:99});if(Co(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[zy];_=_||P&&P.R(),_&&_(y,i,k.bind(0,!0))})}return y},Mo=()=>(cv||(cv=JQ()),cv),By=(e,t)=>Rs(t)?t.apply(0,e):t,ZQ=(e,t,n,r)=>{const o=Ya(r)?n:r;return By(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Ya(r)?n:r,s=By(e,o);return!!s&&(Xh(s)?s:t.apply(0,e))},eJ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:i}=Mo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ya(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Xm(h)?!i:h);return!!m||!!v},Fy=new WeakMap,tJ=(e,t)=>{Fy.set(e,t)},nJ=e=>{Fy.delete(e)},ME=e=>Fy.get(e),Z4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Jm(n,r)?n[r]:void 0,e):void 0,M1=(e,t,n)=>r=>[Z4(e,r),n||Z4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=hr({},t,n)}]},bp="tabindex",yp=el.bind(0,""),uv=e=>{ns(Ha(e),Ry(e)),sa(e)},rJ=e=>{const t=Mo(),{N:n,I:r}=t,o=dl()[zy],s=o&&o.T,{elements:i}=n(),{host:c,padding:d,viewport:p,content:h}=i,m=Xh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=Yh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=ZQ.bind(0,[_]),D=RE.bind(0,[_]),A=By.bind(0,[_]),L=M.bind(0,yp,p),Q=D.bind(0,yp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&Xh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(yp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(yp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>fQ(fe,V?xs:di,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:di,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!Ha(Se)?Se:!1)},[]),pe=vt=>vt?Iy(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{Co(ge,xs),Co(ge,iv),Co(le,iv),O&&(Co(E,xs),Co(E,iv))}],$e=P&&pe(ge);let kt=P?le:Ry([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,R1,""),to(de,G4,""),V||to(xe,di,"");const vt=O&&!V?Da(Ha(_),_E):ts;if($e&&($4(le,ge),An(Ee,()=>{$4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),Co(ke,R1),Co(de,G4),Co(xe,PE),Co(xe,jE),Co(xe,di),pe(de)&&uv(de),pe(xe)&&uv(xe),pe(ke)&&uv(ke)}),r&&!V&&(Zi(xe,di,IE,!0),An(Ee,Co.bind(0,xe,di))),Te&&(mQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,bp);to(xe,bp,"-1"),xe.focus();const Se=()=>bt?to(xe,bp,bt):Co(xe,bp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ha.bind(0,Ee)]},oJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Mo(),{ht:i}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:i?"":"100%"}),{gt:d,wt:d}}},sJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,ut:c}=e,[d,p]=ys({u:SQ,o:F4()},F4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Mo(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||i,Q),no(i,F),r({K:b,St:!D,P:s?F:hr({},Q,F)})}return{xt:M}}},{max:D1}=Math,fi=D1.bind(0,0),AE="visible",ek="hidden",aJ=42,xp={u:vE,o:{w:0,h:0}},iJ={u:bE,o:{x:ek,y:ek}},lJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:fi(e.w-t.w),h:fi(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},wp=e=>e.indexOf(AE)===0,cJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:i,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Mo(),S=dl()[zy],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(xp,Zh.bind(0,i)),[E,O]=ys(xp,Jh.bind(0,i)),[R,M]=ys(xp),[D,A]=ys(xp),[L]=ys(iJ),Q=(z,$)=>{if(no(i,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Zh(o),K=zp(o),U=no(i,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(i,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?aJ:0,ae=(pe,le,ge)=>{const ke=no(i,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=wp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",wp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,i,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=wp(le.x),Te=wp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,RQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(gc,mc,!1);const[Pe,Qe]=T(ke,re,vt),[Xe,dt]=$e=P(Y),[zt,cr]=kt=E(Y),pn=zp(i);let ln=zt,Wr=pn;Pe(),(cr||dt||pe)&&Qe&&!ke&&G(Qe,zt,Xe,re)&&(Wr=zp(i),ln=Jh(i));const xr={w:fi(D1(zt.w,ln.w)+Xe.w),h:fi(D1(zt.h,ln.h)+Xe.h)},Fn={w:fi((_?m.innerWidth:Wr.w+fi(pn.w-zt.w))+Xe.w),h:fi((_?m.innerHeight+Xe.h:Wr.h+fi(pn.h-zt.h))+Xe.h)};on=D(Fn),ct=R(lJ(xr,Fn),Y)}const[bt,Se]=on,[Me,_t]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||_t||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Qe=V(ke,Lt,le,Pe),Xe=G(Qe,Tt,ht,re);d||q(Qe,re,Xe,Pe),xe&&Q(Qe,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(i,Pe)}Zi(o,xs,mc,Le),Zi(s,R1,MQ,Le),d||Zi(i,di,gc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:_t}}},tk=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,i=>{const c=e[i],d=o[i];r[i]=!!(n||c||d)}),r},uJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:i,A:c,V:d}=Mo(),p=!i&&(c.x||c.y),h=[oJ(e,t),sJ(e,t),cJ(e,t)];return(m,v,b)=>{const w=tk(hr({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&&Ps(r),k=y&&Ma(r);o("",em,!0);let _=w;return _n(h,P=>{_=tk(_,P(_,m,!!b)||{},b)}),Ps(r,S),Ma(r,k),o("",em),s||(Ps(n,0),Ma(n,0)),_}},dJ=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},i=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):fE(m,e));b&&b.length&&v&&Ei(v)&&An(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=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ha(v),r.delete(h)}))}};return n&&(r=new WeakMap,i()),[s,i]},nk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:i,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Ay(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=dJ(e,m,c),w=s||[],y=i||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=Iy(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&Yh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),Yh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new xQ(P=>k(P));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 P=_.takeRecords();return!Ey(P)&&k(P,!0)}}]},Sp=3333333,Cp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[qQ],{B:i}=Mo(),d=pE(`
`)[0],p=d.firstChild,h=vd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!Cp(y)&&Cp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&gd(y[0]),k=!S&&jy(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=Cp(E),M=Cp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:vd(d);Ps(d,E?i.n?-Sp:i.i?0:Sp:Sp),Ma(d,Sp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ha(b),sa(d)},()=>{if(ec){const y=new ec(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Dy(p,"ltr rtl"),_?Da(p,"rtl"):Da(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Da(d,DQ),An(b,Tr(d,"animationstart",w,{C:!!ec}))),(ec||s)&&ns(e,d)}]},fJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,pJ=(e,t)=>{let n;const r=el(TQ),o=[],[s]=ys({o:!1}),i=(d,p)=>{if(d){const h=s(fJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return i(d.pop(),p)};return[()=>{ha(o),sa(r)},()=>{if(L4)n=new L4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=bd(r);i(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},rk=`[${xs}]`,hJ=`[${di}]`,dv=["tabindex"],ok=["wrap","cols","rows"],fv=["id","class","style","open"],mJ=(e,t,n)=>{let r,o,s;const{Z:i,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Mo(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(gc,mc),q=m(lv,""),G=q&&Ps(c),T=q&&Ma(c);v(gc,mc),v(lv,""),v("",em,!0);const z=Jh(d),$=Jh(c),Y=Zh(c);return v(gc,mc,V),v(lv,"",q),v("",em),Ps(c,G),Ma(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?ok:fv.concat(ok),S=Ay(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||dv,q=>{if(Iy(dv,q)>-1){const G=to(i,q);Ei(G)?to(c,q,G):Co(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?pJ(i,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(i,P,{Vt:!0,Bt:!0}),[L,Q]=nk(i,!1,E,{Pt:fv,Ht:fv.concat(dv)}),F=h&&ec&&new ec(P.bind(0,{gt:!0}));return F&&F.observe(i),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&hr(V,E.apply(0,An(q,!0))),G&&hr(V,_.apply(0,An(G,!0))),T&&hr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=nk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:rk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?hQ(U,rk,hJ):!1)||!!Zl(U,`.${Ro}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=wi(X)&&X,o=wi(K)&&K}else wi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},sk={x:0,y:0},gJ=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:sk,Tt:sk,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:vd(e.Z)}),vJ=(e,t)=>{const n=M1(t,{}),[r,o,s]=Ny(),[i,c,d]=rJ(e),p=DE(gJ(i)),[h,m]=p,v=uJ(i,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!Oy(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=mJ(i,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=i,E=Ps(P),O=Ma(P);y(),c(),Ps(I,E),Ma(I,O)},_.qt=i,[(P,I)=>{const E=M1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:ak}=Math,bJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=bd(e);return{x:ak(t)/r||1,y:ak(n)/o||1}},yJ=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:i}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(i)},xJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ik="pointerup pointerleave pointercancel lostpointercapture",wJ=(e,t,n,r,o,s,i)=>{const{B:c}=Mo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${i?"Left":"Top"}`,v=`client${i?"X":"Y"}`,b=i?"width":"height",w=i?"left":"top",y=i?"w":"h",S=i?"x":"y",k=(_,P)=>I=>{const{Tt:E}=s(),O=bd(p)[y]-bd(d)[y],M=P*I/O*E[S],A=vd(h)&&i?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Zl(_.target,`.${Ly}`)===d,I=P?d:p;if(Zi(t,xs,U4,!0),yJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/bJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ha(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,U4),Tr(n,ik,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ik,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[KQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},SJ=(e,t)=>(n,r,o,s,i,c)=>{const{Xt:d}=n,[p,h]=Xl(333),m=!!i.scrollBy;let v=!0;return ha.bind(0,[Tr(d,"pointerenter",()=>{r(K4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(K4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ha(d)===s&&i.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Q4,!0),p(()=>{v=!0,r(Q4)}),wE(b)},{S:!1,$:!0}),xJ(d,o),wJ(e,s,o,n,i,t,c),h])},{min:A1,max:lk,abs:CJ,round:kJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return lk(0,A1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],i=Zs(t)[o];return lk(0,A1(1,s/i))},_J=(e,t,n,r,o,s)=>{const{B:i}=Mo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=kJ(p[c]),m=CJ(n[`scroll${d}`]),v=s&&o,b=i.i?m:h-m,y=A1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},PJ=(e,t,n)=>{const{N:r,L:o}=Mo(),{scrollbars:s}=r(),{slot:i}=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=RE([d,p,h],()=>w&&b?d:p,i,S),_=(G,T,z)=>{const $=z?Da:Dy;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=_J(ae,fe,v,T,vd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=jy(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?zQ:BQ,z=G?R:M,$=Ey(z)?q4:"",Y=el(`${Ro} ${T} ${$}`),ae=el(EE),fe=el(Ly),ie={Xt:Y,Gt:ae,Ft:fe};return o||Da(Y,NQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Qh(()=>{D(q4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ha.bind(0,O)]},jJ=(e,t,n,r)=>{let o,s,i,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Xl(),[w,y]=Xl(),[S,k]=Xl(100),[_,P]=Xl(100),[I,E]=Xl(()=>p),[O,R,M]=PJ(e,n.qt,SJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&Ha(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${Ma(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(Y4);else{const oe=()=>T(Y4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),i&&ie(!0),S(()=>{i&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Mo(),de=M1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[_t,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Qe=(Xe,dt)=>{const zt=Se==="visible"||Se==="auto"&&Xe==="scroll";return T(FQ,zt,dt),zt};if(p=we,on&&T($Q,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=_t==="move",s=_t==="leave",i=_t!=="never",ie(!i,!0)),$t&&T(VQ,ht),Le&&T(WQ,Lt),Pn){const Xe=Qe($e.x,!0),dt=Qe($e.y,!1);T(HQ,!(Xe&&dt))}Ge&&(z(Te),$(Te),T(X4,!Ee.x,!0),T(X4,!Ee.y,!1),T(LQ,kt&&!V))},U,ha.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},gi=(e,t,n)=>{const{F:r,N:o,Y:s,j:i}=Mo(),c=dl(),d=Xh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[GQ],q=V&&V.O;return q?q(F,!0):F},b=hr({},r(),v(t)),[w,y,S]=Ny(n),[k,_,P]=vJ(e,b),[I,E,O]=jJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=i(M),L=F=>{nJ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,hr(q,v(F)));Oy(G)||(hr(b,G),R(G))}return hr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return hr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return hr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return hr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),tJ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),eJ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};gi.plugin=e=>{_n(UQ(e),t=>$E(t,gi))};gi.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return j1(n)&&!!ME(n.target)};gi.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:i,U:c,N:d,q:p,F:h,G:m}=Mo();return hr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:i,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const IJ=()=>{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,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=i(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(IJ,[]),i=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}=i;d.current=t,gi.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=i;p.current=n,gi.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=i.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=i.current;if(gi.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>i.current=gi(h,b,w);v?o(y,v):y()},()=>i.current],[])},EJ=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:i,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=LE({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}),[]),W.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},W.createElement("div",{ref:h},i))},zE=f.forwardRef(EJ);var BE={exports:{}},FE={};const Lo=nb(e7),Pu=nb(t7),OJ=nb(n7);(function(e){var t,n,r=Tl&&Tl.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Ye=J.jsonReplacer,Pt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Re,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?Pt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Ye)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Re=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Re)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.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,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.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,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Re=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Re,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Re=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Re==null?void 0:Re.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Re={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Re.inversePatches))}};if(rt.status===t.uninitialized)return Re;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Re.patches).push.apply(Bt,Ie[1]),(mt=Re.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Re.patches.push({op:"replace",path:[],value:We}),Re.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Re.patches)),Re}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Ye=Ce.queryThunk,Pt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:_t,reducers:{removeQueryResult:{reducer:function(rt,Re){delete rt[Re.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Re){var Ie=Re.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Re,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Re[De=Ze.queryCacheKey]!=null||(Re[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Re,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(Rn.fulfilled,function(Re,Ie){var De=Ie.meta,We=Ie.payload;bt(Re,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.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=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Re,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Re,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Re,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Re){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Re.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Re){Re.online=!0}).addCase(ie,function(Re){Re.online=!1}).addCase(Y,function(Re){Re.focused=!0}).addCase(ae,function(Re){Re.focused=!1}).addMatcher(Sn,function(Re){return S({},Re)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Re){return mt(yn.match(Re)?void 0:rt,Re)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Ye,mutationThunk:Pt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,cr.createAction)(In+"/invalidateTags")},dn=[Vr,pn,Wr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Re=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Re||(Re=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Re=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Gr,Rr,Qa,nf,Ao,va;if(We.match(Vn)){var zs=Vn.payload,ba=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[ba])!=null&&ao[io]&&(gn[ba][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[ba=lo.queryCacheKey]&&delete gn[ba][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,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Gr=Yr.subscriptionOptions)!=null?Gr:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(nf=gn[Qa=Yr.queryCacheKey])!=null?nf:gn[Qa]={})[io]=(va=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?va:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Ur.produceWithPatches)(Re,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Re=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Re=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:i}=r7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([at],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:Pa(P,E=>E.isInitialImage),isCanvasImage:Pa(P,E=>E.isCanvasImage),isNodesImage:Pa(P,E=>E.isNodesImage),isControlNetImage:Pa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=o7(),[h,{isLoading:m}]=s7(),{imageUsageSummary:v}=B(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||i,[m,p,i]);return t?a.jsx(zd,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:a.jsx(za,{children:a.jsxs(Bd,{children:[a.jsxs(La,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),a.jsx(Ba,{children:a.jsxs(H,{direction:"column",gap:3,children:[i?a.jsx(Mm,{children:a.jsx(H,{sx:{w:"full",h:32}})}):a.jsx(UI,{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(Je,{children:"Deleted boards cannot be restored."}),a.jsx(Je,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),a.jsx($a,{children:a.jsxs(H,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[a.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),a.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),a.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},MJ=f.memo(RJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...i}=e;return a.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:a.jsx(Ea,{ref:t,role:n,colorScheme:s?"accent":"base",...i})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),DJ="My Board",AJ=()=>{const[e,{isLoading:t}]=a7(),n=f.useCallback(()=>{e(DJ)},[e]);return a.jsx(ze,{icon:a.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var ck={path:a.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[a.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"}),a.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"}),a.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:i,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=fa("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??ck.viewBox;if(n&&typeof n!="string")return a.jsx(je.svg,{as:n,...b,...p});const y=i??ck.path;return a.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function Qd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),i=Ae((c,d)=>a.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:a.jsx("path",{fill:"currentColor",d:n})}));return i.displayName=r,i}var VE=Qd({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"})]})}),Hy=Qd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),TJ=Qd({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"}),NJ=Qd({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"})})}),$J=Qd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const LJ=be([at],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Ke),zJ=()=>{const e=te(),{boardSearchText:t}=B(LJ),n=f.useRef(null),r=f.useCallback(c=>{e(ew(c))},[e]),o=f.useCallback(()=>{e(ew(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),i=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),a.jsxs(Z3,{children:[a.jsx(Dd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:i}),t&&t.length&&a.jsx(Ab,{children:a.jsx(Ea,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:a.jsx(TJ,{boxSize:2})})})]})},BJ=f.memo(zJ),FJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(vi()),{colorMode:o}=Ds();return a.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsxs(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[a.jsx(H,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),a.jsx(H,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:a.jsx(Oe,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},tm=f.memo(FJ),HJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(vi()),{isOver:s,setNodeRef:i,active:c}=rb({id:o.current,disabled:r,data:n});return a.jsx(Oe,{ref:i,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:a.jsx(mo,{children:Fp(n,c)&&a.jsx(tm,{isOver:s,label:t})})})},Wy=f.memo(HJ),Vy=({isSelected:e,isHovered:t})=>a.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}}}),UE=()=>a.jsx(H,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:a.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Xu=globalThis&&globalThis.__assign||function(){return Xu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=hm(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},WJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return a.jsxs(a.Fragment,{children:[e.image_count>0&&a.jsx(a.Fragment,{}),a.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Oo,{}),onClick:n,children:"Delete Board"})]})},VJ=f.memo(WJ),UJ=()=>a.jsx(a.Fragment,{}),GJ=f.memo(UJ),Uy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(at,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:i,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=eg(t),h=f.useCallback(()=>{o(mm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return a.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>a.jsx(il,{sx:{visibility:"visible !important"},motionProps:od,onContextMenu:m,children:a.jsxs(ud,{title:p,children:[a.jsx(jr,{icon:a.jsx(yl,{}),isDisabled:i||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&a.jsx(GJ,{}),e&&a.jsx(VJ,{board:e,setBoardToDelete:n})]})}),children:r})});Uy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(at,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Ke),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:i,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),i&&!c&&r(mm(k))},[k,i,c,r]),[E,{isLoading:O}]=i7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return a.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(H,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:a.jsx(Uy,{board:e,board_id:k,setBoardToDelete:n,children:A=>a.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:a.jsxs(H,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?a.jsx(zc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):a.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(fo,{boxSize:12,as:cQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&a.jsx(UE,{}),a.jsx(Vy,{isSelected:t,isHovered:d}),a.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:a.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[a.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),a.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),a.jsx(Wy,{data:R,dropLabel:a.jsx(Je,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const qJ=be(at,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Ke),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(qJ),s=eg("none"),i=f.useCallback(()=>{t(V_("none")),r&&!o&&t(mm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return a.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:a.jsx(H,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:a.jsx(Uy,{board_id:"none",children:v=>a.jsxs(H,{ref:v,onClick:i,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(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:a.jsx(zc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&a.jsx(UE,{}),a.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:s}),a.jsx(Vy,{isSelected:e,isHovered:c}),a.jsx(Wy,{data:m,dropLabel:a.jsx(Je,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const KJ=be([at],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Ke),XJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(KJ),{data:o}=hm(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[i,c]=f.useState();return a.jsxs(a.Fragment,{children:[a.jsx(wm,{in:t,animateOpacity:!0,children:a.jsxs(H,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[a.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[a.jsx(BJ,{}),a.jsx(AJ,{})]}),a.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:a.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[a.jsx(e1,{sx:{p:1.5},children:a.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>a.jsx(e1,{sx:{p:1.5},children:a.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),a.jsx(MJ,{boardToDelete:i,setBoardToDelete:c})]})},YJ=f.memo(XJ),QJ=be([at],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ke),JJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(QJ),o=eg(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return a.jsxs(H,{as:xc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[a.jsx(Je,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),a.jsx(Hy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},ZJ=f.memo(JJ);function XE(e){return nt({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 YE(e){return nt({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 eZ=be([at],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ke),tZ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(eZ),r=()=>{e(G_()),e(_o())};return a.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?a.jsx(XE,{}):a.jsx(YE,{})})},nZ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return a.jsxs(ey,{isLazy:o,...s,children:[a.jsx(Zb,{children:t}),a.jsxs(ty,{shadow:"dark-lg",children:[r&&a.jsx(D6,{}),n]})]})},xl=f.memo(nZ);function rZ(e){return nt({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 oZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:i=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:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:i,[i,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=Mu(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(Io(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(Io(!1))},[q]);return a.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&a.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),a.jsxs(bi,{w:"100%",gap:2,alignItems:"center",children:[a.jsxs(Q6,{"aria-label":r,value:o,min:s,max:i,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&a.jsxs(a.Fragment,{children:[a.jsx(Kl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),a.jsx(Kl,{value:i,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:i})]}),h&&_&&a.jsx(a.Fragment,{children:_.map((re,oe)=>oe===0?a.jsx(Kl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?a.jsx(Kl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):a.jsx(Kl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),a.jsx(Z6,{...R,children:a.jsx(eP,{})}),a.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:a.jsx(J6,{...M,zIndex:0})})]}),m&&a.jsxs(jm,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[a.jsx(Em,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),a.jsxs(Im,{...L,children:[a.jsx(Rm,{onClick:()=>d(Number(T))}),a.jsx(Om,{onClick:()=>d(Number(T))})]})]}),w&&a.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:a.jsx(rZ,{}),isDisabled:k,onClick:X,...F})]})]})},jt=f.memo(oZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>a.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:a.jsx(Oe,{ref:s,...o,children:a.jsxs(Oe,{children:[a.jsx(Pc,{children:e}),n&&a.jsx(Pc,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),sZ=be([at],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Ke),aZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(sZ),o=f.useRef(null),{boards:s,hasBoards:i}=hm(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(mm(d))},[e]);return a.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!i||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},iZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return a.jsx(n3,{colorScheme:"accent",...n,children:a.jsx(Je,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(iZ),lZ=be([at],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Ke),cZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(lZ),i=f.useCallback(h=>{e(Hp(h))},[e]),c=f.useCallback(()=>{e(Hp(64))},[e]),d=f.useCallback(h=>{e(l7(h.target.checked))},[e]),p=f.useCallback(h=>{e(c7(h.target.checked))},[e]);return a.jsx(xl,{triggerComponent:a.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:a.jsx(Py,{})}),children:a.jsxs(H,{direction:"column",gap:2,children:[a.jsx(jt,{value:n,onChange:i,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),a.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),a.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),a.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(u7(h.target.checked))}),a.jsx(aZ,{})]})})},uZ=e=>e.image?a.jsx(Mm,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):a.jsx(H,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Rc,boxSize:n=16}=e;return a.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:[a.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&a.jsx(Je,{textAlign:"center",children:e.label})]})},tg=0,Ri=1,Xc=2,JE=4;function dZ(e,t){return n=>e(t(n))}function fZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function uk(e,t){return()=>e(t)}function Gy(e,t){return t(e),e}function wl(...e){return e}function pZ(e){e()}function dk(e){return()=>e}function hZ(...e){return()=>{e.map(pZ)}}function ng(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(tg,t)}function qy(e){e(Xc)}function rg(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,tg))}function fk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Xc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case tg:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case tg:t=o;break;case JE:return t}return n(r,o)}}function mZ(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=ho(e,s),t):(r(),ng);case Xc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Yu(e){return Gy(Sr(),t=>Un(e,t))}function vc(e,t){return Gy(Kt(t),n=>Un(e,n))}function gZ(...e){return t=>e.reduceRight(fZ,t)}function Xt(e,...t){const n=gZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Xc:qy(e);return}}}function eO(e,t){return e===t}function ko(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Xr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>dZ(t,e)}function pi(e){return t=>()=>t(e)}function kp(e,t){return n=>r=>n(t=e(t,r))}function T1(e){return t=>n=>{e>0?e--:t(n)}}function Lu(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function pk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...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 c=Math.pow(2,i);ho(s,d=>{const p=n;n=n|c,t[i]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>i=>{const c=()=>s([i].concat(t));n===o?c():r=c}}function hk(...e){return function(t,n){switch(t){case Ri:return hZ(...e.map(r=>ho(r,n)));case Xc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,ko(t))}function Ia(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,i)=>{const c=Math.pow(2,i);ho(s,d=>{n[i]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,i){switch(s){case Ri:return r===o&&i(n),ho(t,i);case Xc:return qy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ma(e,t=[],{singleton:n}={singleton:!0}){return{id:vZ(),constructor:e,dependencies:t,singleton:n}}const vZ=()=>Symbol();function bZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:i})=>{if(i&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return i&&t.set(r,c),c};return n(e)}function yZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return i.reduce((S,k)=>(S[k]=mZ(y[t.events[k]]),S),{})}return{Component:W.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=W.useState(()=>Gy(bZ(e),E=>d(E,_))),[I]=W.useState(uk(h,P));return _p(()=>{for(const E of i)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(qy)}},[_,I,P]),_p(()=>{d(P,_)}),W.useImperativeHandle(S,dk(p(P))),W.createElement(c.Provider,{value:P},n?W.createElement(n,yZ([...r,...o,...i],_),k):k)}),usePublisher:y=>W.useCallback(ZE(Ar,W.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=W.useContext(c)[y],[_,P]=W.useState(uk(rg,k));return _p(()=>ho(k,I=>{I!==_&&P(dk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=W.useContext(c)[y];_p(()=>ho(_,S),[S,_])}}}const wZ=typeof document<"u"?W.useLayoutEffect:W.useEffect,SZ=wZ;var Ky=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Ky||{});const CZ={0:"debug",1:"log",2:"warn",3:"error"},kZ=()=>typeof globalThis>"u"?window:globalThis,tO=ma(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const i=(s=kZ().VIRTUOSO_LOG_LEVEL)!=null?s:rg(e);o>=i&&console[CZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=W.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=W.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 og(e,t=!0){return nO(e,t).callbackRef}function nm(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=ng,o){const s=W.useRef(null),i=W.useRef(null),c=W.useRef(null),d=W.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():d7.flushSync(k),i.current!==null&&(w===i.current||w<=0||w===y-S)&&(i.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);W.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(nm(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=nm(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(i.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,i.current=null,t(!0)},1e3)):i.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const sg=ma(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),i=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),i),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:i,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),_Z=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function PZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!_Z)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const rm="up",Qu="down",jZ="none",IZ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},EZ=0,sO=ma(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const i=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(EZ),v=vc(Xt(hk(Xt(wn(t),T1(1),pi(!0)),Xt(wn(t),T1(1),pi(!1),pk(100))),ko()),!1),b=vc(Xt(hk(Xt(s,pi(!0)),Xt(s,pi(!1),pk(200))),ko()),!1);Un(Xt(Ia(wn(t),wn(m)),nr(([_,P])=>_<=P),ko()),c),Un(Xt(c,Lu(50)),p);const w=Yu(Xt(Ia(e,wn(n),wn(r),wn(o),wn(h)),kp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},IZ),ko((_,P)=>_&&_.atBottom===P.atBottom))),y=vc(Xt(e,kp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Xr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),i),Un(Xt(i,Lu(50)),d);const S=Kt(Qu);Un(Xt(e,nr(({scrollTop:_})=>_),ko(),kp((_,P)=>rg(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?rm:Qu,prevScrollTop:P},{direction:Qu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Lu(50),pi(jZ)),S);const k=Kt(0);return Un(Xt(v,Xr(_=>!_),pi(0)),k),Un(Xt(t,Lu(100),Xs(v),Xr(([_,P])=>!!P),kp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:i,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(sg)),OZ=ma(([{log:e}])=>{const t=Kt(!1),n=Yu(Xt(t,Xr(r=>r),ko()));return ho(t,r=>{r&&rg(e)("props updated",{},Ky.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function RZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function N1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function MZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const om="top",sm="bottom",mk="none";function gk(e,t,n){return typeof e=="number"?n===rm&&t===om||n===Qu&&t===sm?e:0:n===rm?t===om?e.main:e.reverse:t===sm?e.main:e.reverse}function vk(e,t){return typeof e=="number"?e:e[t]||0}const DZ=ma(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),i=Kt(0),c=Kt(0),d=Kt(0),p=vc(Xt(Ia(wn(e),wn(t),wn(r),wn(s,N1),wn(d),wn(i),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=mk;const M=vk(P,om),D=vk(P,sm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=rm),wh!=null),ko(N1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:i,increaseViewportBy:c,visibleRange:p}},wl(sg),{singleton:!0}),AZ=ma(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Xr(([o,s])=>!!s),nr(([o,s,i,c])=>{const{exit:d,enter:p}=s;if(i){if(d(o,c))return!1}else if(p(o,c))return!0;return i}),ko()),t),ho(Xt(Ia(t,e,n),Xs(r)),([[o,s,i],c])=>o&&c&&c.change&&c.change(s,i)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function TZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const NZ=ma(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),i=Kt(void 0);return Un(Xt(Ia(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(sg)),pv="-webkit-sticky",bk="sticky",iO=TZ(()=>{if(typeof document>"u")return bk;const e=document.createElement("div");return e.style.position=pv,e.style.position===pv?pv:bk});function $Z(e,t){const n=W.useRef(null),r=W.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}=nO(r),i=W.useCallback(()=>{r(s.current)},[r,s]);return W.useEffect(()=>{if(t){t.addEventListener("scroll",i);const c=new ResizeObserver(i);return c.observe(t),()=>{t.removeEventListener("scroll",i),c.unobserve(t)}}else return window.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}},[i,t]),o}W.createContext(void 0);const lO=W.createContext(void 0);function LZ(e){return e}iO();const zZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function BZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return W.memo(function({style:s,children:i,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),W.createElement(p,{ref:b,style:{...zZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},i)})}function FZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return W.memo(function({style:s,children:i,...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}=oO(d,h,p,ng,b);return SZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),W.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},i)})}const yk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},HZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:xk,ceil:wk,floor:am,min:hv,max:Ju}=Math;function WZ(e){return{...HZ,items:e}}function Sk(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 VZ(e,t){return e&&e.column===t.column&&e.row===t.row}function Pp(e,t){return e&&e.width===t.width&&e.height===t.height}const UZ=ma(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:i,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(yk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Xr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ia(w,$,D,M,z,Y),Xr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),fk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Xr(U=>U!=null&&U.scrollTop>0),pi(0)),O),ho(Xt(w,Xs(G),Xr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),fk(Xt(r,T1(1)),se=>{Ar(T,!1)}),Ar(i,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ia(wn(M,Pp),wn(D,Pp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ia(wn(E),t,wn(V,VZ),wn(D,Pp),wn(M,Pp),wn(F),wn(O),wn(T),wn($),wn(z)),Xr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return yk;if(kt===0){const $t=RZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return WZ(Sk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*am((se+Te)/($e+Te)),bt=on*wk((re+Te)/($e+Te))-1,bt=hv(U-1,Ju(bt,on-1)),vt=hv(bt,Ju(0,vt))):(vt=0,bt=-1);const Se=Sk(vt,bt,ge),{top:Me,bottom:_t}=Ck(le,oe,pe,Se),Tt=wk(U/on),ht=Tt*$e+(Tt-1)*Te-_t;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:_t,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Xr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ia(M,D,R,V),Xr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Ck(U,oe,se,re);return[pe,le]}),ko(N1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Yu(Xt(wn(R),Xr(({items:U})=>U.length>0),Xs(E,ae),Xr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),ko())),ie=Yu(Xt(wn(R),Xr(({items:U})=>U.length>0&&U[0].index===0),pi(0),ko())),X=Yu(Xt(wn(R),Xs(T),Xr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),ko(MZ),Lu(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=PZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=Ju(0,de,hv(oe-1,de));let Te=$1(se,pe,re,de);return ge==="end"?Te=xk(Te-se.height+re.height):ge==="center"&&(Te=xk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),i);const K=vc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:i,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,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:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(DZ,sg,sO,AZ,OZ,NZ,tO));function Ck(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=$1(e,t,n,r[0].index),i=$1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:i}}function $1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=am(r/o),i=s*n.height+Ju(0,s-1)*t.row;return i>0?i+t.row:i}function uO(e,t,n){return Ju(1,am((e+n)/(am(t)+n)))}const GZ=ma(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(LZ),i=Kt("div"),c=Kt(ng),d=(p,h=null)=>vc(Xt(t,nr(m=>m[p]),ko()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:i,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),qZ=ma(([e,t])=>({...e,...t}),wl(UZ,GZ)),KZ=W.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),i=pr("isSeeking"),c=js("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=js("itemDimensions"),b=js("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=og(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:kk("row-gap",getComputedStyle(k).rowGap,w),column:kk("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:W.createElement(p,{ref:S,className:n,...nl(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 i?W.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):W.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),XZ=W.memo(function(){const t=pr("HeaderComponent"),n=js("headerHeight"),r=pr("headerFooterTag"),o=og(i=>n(nm(i,"height"))),s=pr("context");return t?W.createElement(r,{ref:o},W.createElement(t,nl(t,s))):null}),YZ=W.memo(function(){const t=pr("FooterComponent"),n=js("footerHeight"),r=pr("headerFooterTag"),o=og(i=>n(nm(i,"height"))),s=pr("context");return t?W.createElement(r,{ref:o},W.createElement(t,nl(t,s))):null}),QZ=({children:e})=>{const t=W.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=og(s=>{r(s.getBoundingClientRect())});return W.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),W.createElement("div",{style:cO,ref:o},e)},JZ=({children:e})=>{const t=W.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=pr("customScrollParent"),s=$Z(n,o);return W.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),W.createElement("div",{ref:s,style:cO},e)},ZZ=W.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?nee:tee,s=r||n?JZ:QZ;return W.createElement(o,{...t},W.createElement(s,null,W.createElement(XZ,null),W.createElement(KZ,null),W.createElement(YZ,null)))}),{Component:eee,usePublisher:js,useEmitterValue:pr,useEmitter:dO}=xZ(qZ,{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"}},ZZ),tee=BZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO}),nee=FZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO});function kk(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Ky.WARN),t==="normal"?0:parseInt(t??"0",10)}const ree=eee,oee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},see=({imageDTO:e})=>a.jsx(H,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:a.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),ag=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),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==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:i,open:c}=sy({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:i,openUploader:c}},Xy=()=>{const e=te(),t=Uc(),{t:n}=ye(),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]),c=f.useCallback((O,R,M,D)=>{if(Bf(O)||Ff(R)||vu(M)||y0(D)){Bf(O)&&e(Hu(O)),Ff(R)&&e(Wu(R)),vu(M)&&e(Vu(M)),vu(D)&&e(Uu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Bf(O)){o();return}e(Hu(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!Ff(O)){o();return}e(Wu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!vu(O)){o();return}e(Vu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!y0(O)){o();return}e(Uu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!tw(O)){o();return}e(Wp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!x0(O)){o();return}e(Vp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!nw(O)){o();return}e(Ov(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!w0(O)){o();return}e(Rv(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!S0(O)){o();return}e(Up(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!rw(O)){o();return}e(bc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ow(O)){o();return}e(yc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!sw(O)){o();return}e(Gp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(ob(O))},[e]),E=f.useCallback(O=>{if(!O){i();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_positive_aesthetic_store:ie,refiner_negative_aesthetic_store:X,refiner_start:K}=O;x0(R)&&e(Vp(R)),nw(D)&&e(Ov(D)),Bf(A)&&e(Hu(A)),Ff(L)&&e(Wu(L)),w0(Q)&&e(Rv(Q)),tw(F)&&e(Wp(F)),S0(V)&&e(Up(V)),rw(q)&&e(bc(q)),ow(M)&&e(yc(M)),sw(G)&&e(Gp(G)),vu(T)&&e(Vu(T)),y0(z)&&e(Uu(z)),f7($)&&e(q_($)),S0(ae)&&e(Mv(ae)),x0(Y)&&e(Dv(Y)),w0(fe)&&e(K_(fe)),p7(ie)&&e(Av(ie)),h7(X)&&e(Tv(X)),m7(K)&&e(Nv(K)),s()},[i,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=B(i=>i.config.disabledTabs),n=B(i=>i.config.disabledFeatures),r=B(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}},Yy=()=>{const e=Uc(),{t}=ye(),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}};function aee(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),i=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 D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(i.current),i.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return i.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!i.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(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,c.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,y,t,S,w,v]);return k}function iee(e,t){return e===t}function _k(e){return typeof e=="function"?function(){return e}:e}function Qy(e,t,n){var r,o,s=n&&n.equalityFn||iee,i=(r=f.useState(_k(e)),o=r[1],[r[0],f.useCallback(function(m){return o(_k(m))},[])]),c=i[0],d=i[1],p=aee(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]}sb("gallery/requestedBoardImagesDeletion");const lee=sb("gallery/sentImageToCanvas"),fO=sb("gallery/sentImageToImg2Img"),cee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Uc(),s=ir("unifiedCanvas").isFeatureEnabled,[i,c]=Qy(t.image_name,500),{currentData:d}=ab(c.isPending()?ro.skipToken:i??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=Yy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(gm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Xy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(ob(t))},[n,t]),P=f.useCallback(()=>{n(lee()),n(g7(t)),n(vm()),n(Ql("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(tb(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return a.jsxs(a.Fragment,{children:[a.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:a.jsx(WY,{}),children:r("common.openInNewTab")}),p&&a.jsx(jr,{icon:a.jsx(Kc,{}),onClickCapture:O,children:r("parameters.copyImage")}),a.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:a.jsx(Cy,{}),w:"100%",children:r("parameters.downloadImage")}),a.jsx(jr,{icon:a.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),a.jsx(jr,{icon:a.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),a.jsx(jr,{icon:a.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),a.jsx(jr,{icon:a.jsx(N4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&a.jsx(jr,{icon:a.jsx(N4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),a.jsx(jr,{icon:a.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),a.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Oo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(cee),uee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(tb(!0))},[e,t]),r=f.useCallback(()=>{e(gm(t))},[e,t]);return a.jsxs(a.Fragment,{children:[a.jsx(jr,{icon:a.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),a.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:a.jsx(Oo,{}),onClickCapture:r,children:"Delete Selection"})]})},dee=be([at],({gallery:e})=>({selectionCount:e.selection.length}),Ke),fee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(dee),r=f.useCallback(o=>{o.preventDefault()},[]);return a.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?a.jsx(il,{sx:{visibility:"visible !important"},motionProps:od,onContextMenu:r,children:a.jsx(uee,{})}):a.jsx(il,{sx:{visibility:"visible !important"},motionProps:od,onContextMenu:r,children:a.jsx(pO,{imageDTO:e})}):null,children:t})},pee=f.memo(fee),hee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(vi()),{attributes:s,listeners:i,setNodeRef:c}=v7({id:o.current,disabled:n,data:t});return a.jsx(Oe,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...i})},mee=f.memo(hee),gee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:i=!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:P="Reset",resetIcon:I=a.jsx(_y,{}),noContentFallback:E=a.jsx(tl,{icon:Rc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=ag({postUploadAction:m,isDisabled:p}),q=Ep("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:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return a.jsx(pee,{imageDTO:t,children:T=>a.jsxs(H,{ref:T,onMouseOver:L,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&&a.jsxs(H,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[a.jsx(zc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:a.jsx(uZ,{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(see,{imageDTO:t}),a.jsx(Vy,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&a.jsx(a.Fragment,{children:a.jsxs(H,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[a.jsx("input",{...V()}),a.jsx(fo,{as:Kd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&a.jsx(mee,{data:y,disabled:d||!t,onClick:o}),!c&&a.jsx(Wy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&a.jsx(ze,{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:q}}})]})})},fl=f.memo(gee),vee=()=>a.jsx(Mm,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:a.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),bee=be([at,ib],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Ke),yee=e=>{const t=te(),{queryArgs:n,selection:r}=B(bee),{imageDTOs:o}=Y_(n,{selectFromResult:p=>({imageDTOs:p.data?b7.selectAll(p.data):[]})}),s=ir("multiselect").isFeatureEnabled,i=f.useCallback(p=>{var h;if(e){if(!s){t(bu([e]));return}if(p.shiftKey){const m=e.image_name,v=(h=r[r.length-1])==null?void 0:h.image_name,b=o.findIndex(y=>y.image_name===v),w=o.findIndex(y=>y.image_name===m);if(b>-1&&w>-1){const y=Math.min(b,w),S=Math.max(b,w),k=o.slice(y,S+1);t(bu(Rw(r.concat(k))))}}else p.ctrlKey||p.metaKey?r.some(m=>m.image_name===e.image_name)&&r.length>1?t(bu(r.filter(m=>m.image_name!==e.image_name))):t(bu(Rw(r.concat(e)))):t(bu([e]))}},[t,e,o,r,s]),c=f.useMemo(()=>e?r.some(p=>p.image_name===e.image_name):!1,[e,r]),d=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:d,isSelected:c,handleClick:i}},xee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:i,selection:c,selectionCount:d}=yee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(gm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?a.jsx(Oe,{sx:{w:"full",h:"full",touchAction:"none"},children:a.jsx(H,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:a.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:i,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:a.jsx(Oo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):a.jsx(vee,{})},wee=f.memo(xee),See=Ae((e,t)=>a.jsx(Oe,{className:"item-container",ref:t,p:1.5,children:e.children})),Cee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return a.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),kee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},_ee=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(kee),i=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=oee(i),d=B(ib),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[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?a.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Rc})}):m&&p?a.jsxs(a.Fragment,{children:[a.jsx(Oe,{ref:t,"data-overlayscrollbars":"",h:"100%",children:a.jsx(ree,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:See,List:Cee},scrollerRef:r,itemContent:(S,k)=>a.jsx(wee,{imageName:k},k)})}),a.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?a.jsx(Oe,{sx:{w:"full",h:"full"},children:a.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:a.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(tl,{label:"Loading...",icon:Rc})})},Pee=f.memo(_ee),jee=be([at],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Ke),Iee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(jee),r=te(),{isOpen:o,onToggle:s}=ss(),i=f.useCallback(()=>{r(aw("images"))},[r]),c=f.useCallback(()=>{r(aw("assets"))},[r]);return a.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[a.jsxs(Oe,{sx:{w:"full"},children:[a.jsxs(H,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[a.jsx(ZJ,{isOpen:o,onToggle:s}),a.jsx(cZ,{}),a.jsx(tZ,{})]}),a.jsx(Oe,{children:a.jsx(YJ,{isOpen:o})})]}),a.jsxs(H,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[a.jsx(H,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:a.jsx(Hd,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:a.jsx(Wd,{children:a.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[a.jsx(_c,{as:Yt,size:"sm",isChecked:n==="images",onClick:i,sx:{w:"full"},leftIcon:a.jsx(KY,{}),children:"Images"}),a.jsx(_c,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:a.jsx(sQ,{}),children:"Assets"})]})})})}),a.jsx(Pee,{})]})]})},hO=f.memo(Iee),Eee=be([Kn,Ua,y7,lr],(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:Zt}}),Oee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Eee),o=()=>{e($v(!1)),t&&e(_o())};tt("esc",()=>{e($v(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const i=Es(r+s,32,256);e(Hp(i))}},[r]),tt("shift+down",()=>{if(r>32){const i=Es(r-s,32,256);e(Hp(i))}},[r]),t?null:a.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:a.jsx(hO,{})})},Ree=f.memo(Oee);function Mee(e){const{title:t,hotkey:n,description:r}=e;return a.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[a.jsxs(sl,{children:[a.jsx(Je,{fontWeight:600,children:t}),r&&a.jsx(Je,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),a.jsx(Oe,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Dee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),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"}],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=>a.jsx(H,{flexDir:"column",gap:4,children:h.map((m,v)=>a.jsxs(H,{flexDir:"column",px:2,gap:4,children:[a.jsx(Mee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=x7(),n=f.useRef(null),r=mO(n);return a.jsxs(H,{alignItems:"center",gap:3,ps:1,ref:n,children:[a.jsx(zc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),a.jsxs(H,{sx:{gap:3,alignItems:"center"},children:[a.jsxs(Je,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",a.jsx("strong",{children:"ai"})]}),a.jsx(mo,{children:e&&r&&t&&a.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsx(Je,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},Bee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...i}=e,c=VI();return a.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:a.jsx(xy,{label:r?a.jsx(go,{isRequired:s,isDisabled:o,children:a.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...i})})},Fr=f.memo(Bee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:i,...c}=e;return a.jsxs(H,{justifyContent:"space-between",py:1,children:[a.jsxs(H,{gap:2,alignItems:"center",children:[a.jsx(Je,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&a.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...i,children:s})]}),a.jsx(yr,{...c})]})}const Yl=e=>a.jsx(H,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Fee(){const e=te(),{data:t,refetch:n}=w7(),[r,{isLoading:o}]=S7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(C7()),e(lb()),e(On({title:`Cleared ${c} 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(Yl,{children:[a.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),a.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:i}),a.jsx(Je,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),a.jsx(Je,{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(Je,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const Hee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:i,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=wy(),{colorMode:y}=Ds(),[S]=Lc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,i)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(i,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,i)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,i,c,d,p,S,y])},Wee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...i}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(Io(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(Io(!1))},[c]),h=Hee();return a.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:a.jsx(LI,{label:o?a.jsx(go,{isDisabled:s,children:a.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...i})})},Vee=f.memo(Wee),Uee=cs(cb,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Gee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(k7(o))},[e]);return a.jsx(Vee,{label:t("settings.favoriteSchedulers"),value:n,data:Uee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const qee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Kee=be([at],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:i,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:i,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Xee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,i=(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(iw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(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:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Kee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(_7.includes(X)||X.startsWith(P7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(j7(X))},[n]),T=f.useCallback(X=>{n(I7(X))},[n]),z=f.useCallback(X=>{n(iw(X.target.checked))},[n]),$=f.useCallback(X=>{n(E7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=ir("localization").isFeatureEnabled,ie=B(rP);return a.jsxs(a.Fragment,{children:[f.cloneElement(e,{onClick:w}),a.jsxs(dd,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[a.jsx(za,{}),a.jsxs(fd,{children:[a.jsx(La,{bg:"none",children:r("common.settingsLabel")}),a.jsx(Yb,{}),a.jsx(Ba,{children:a.jsxs(H,{sx:{gap:4,flexDirection:"column"},children:[a.jsxs(Yl,{children:[a.jsx(Ys,{size:"sm",children:r("settings.general")}),a.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&a.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(O7(X.target.checked))})]}),a.jsxs(Yl,{children:[a.jsx(Ys,{size:"sm",children:r("settings.generation")}),a.jsx(Gee,{}),a.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(R7(X.target.checked))}),a.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(M7(X.target.checked))})]}),a.jsxs(Yl,{children:[a.jsx(Ys,{size:"sm",children:r("settings.ui")}),a.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),a.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(D7(X.target.checked))}),a.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),a.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(A7(X.target.checked))}),o&&a.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(T7(X.target.checked))}),p&&a.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&a.jsx(Fr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(qee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&a.jsxs(Yl,{children:[a.jsx(Ys,{size:"sm",children:r("settings.developer")}),a.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),a.jsx(Fr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:N7.concat()}),a.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n($7(X.target.checked))})]}),d&&a.jsx(Fee,{}),a.jsxs(Yl,{children:[a.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),a.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),i&&a.jsxs(a.Fragment,{children:[a.jsx(Je,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),a.jsx(Je,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),a.jsx($a,{children:a.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),a.jsxs(dd,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[a.jsx(za,{backdropFilter:"blur(40px)"}),a.jsxs(fd,{children:[a.jsx(La,{}),a.jsx(Ba,{children:a.jsx(H,{justifyContent:"center",children:a.jsx(Je,{fontSize:"lg",children:a.jsx(Je,{children:r("settings.resetComplete")})})})}),a.jsx($a,{})]})]})]})},Yee=be(vo,e=>{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),Ik={ok:"green.400",working:"yellow.400",error:"red.400"},Ek={ok:"green.600",working:"yellow.500",error:"red.500"},Qee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(Yee),{t:s}=ye(),i=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=mO(i);return a.jsxs(H,{ref:i,h:"full",px:2,alignItems:"center",gap:5,children:[a.jsx(mo,{children:p&&a.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:a.jsxs(Je,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ek[c],_dark:{color:Ik[c]}},children:[s(o),d]})},"statusText")}),a.jsx(fo,{as:LY,sx:{boxSize:"0.5rem",color:Ek[c],_dark:{color:Ik[c]}}})]})},Jee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return a.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[a.jsx(gO,{}),a.jsx(ml,{}),a.jsx(Qee,{}),a.jsxs($d,{children:[a.jsx(Ld,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:a.jsx(TY,{}),sx:{boxSize:8}}),a.jsxs(il,{motionProps:od,children:[a.jsxs(ud,{title:e("common.communityLabel"),children:[r&&a.jsx(jr,{as:"a",href:o,target:"_blank",icon:a.jsx(IY,{}),children:e("common.githubLabel")}),t&&a.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:a.jsx(NY,{}),children:e("common.reportBugLabel")}),n&&a.jsx(jr,{as:"a",href:s,target:"_blank",icon:a.jsx(jY,{}),children:e("common.discordLabel")})]}),a.jsxs(ud,{title:e("common.settingsLabel"),children:[a.jsx(Dee,{children:a.jsx(jr,{as:"button",icon:a.jsx(QY,{}),children:e("common.hotkeysLabel")})}),a.jsx(Xee,{children:a.jsx(jr,{as:"button",icon:a.jsx(zY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Zee=f.memo(Jee);function ete(e){return nt({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 tte(e){return nt({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 nte(e){return nt({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 rte(e){return nt({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 ote(e){return nt({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 vO(e){return nt({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 ste=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),ate=()=>{const{shouldShow:e,tooltip:t}=B(ste);return e?a.jsx(H,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:a.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:a.jsx(hl,{})})}):null},ite=f.memo(ate),bO=e=>e.config,{createElement:Mc,createContext:lte,forwardRef:yO,useCallback:ui,useContext:xO,useEffect:Aa,useImperativeHandle:wO,useLayoutEffect:cte,useMemo:ute,useRef:es,useState:Zu}=eb,Ok=eb["useId".toString()],dte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",im=dte?cte:()=>{},fte=typeof Ok=="function"?Ok:()=>null;let pte=0;function Jy(e=null){const t=fte(),n=es(e||t||null);return n.current===null&&(n.current=""+pte++),n.current}const ig=lte(null);ig.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:i=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(ig);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Jy(i),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Aa(()=>{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=es({size:Rk(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return im(()=>{M.current.size=Rk(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),im(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Mc(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 yd=yO((e,t)=>Mc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";yd.displayName="forwardRef(Panel)";function Rk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function zu(e,t,n,r,o,s,i,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Mk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&i.set(y,_),o=o<0?_-P:P-_}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),_=Mk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&i.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),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 ql(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:i,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===i)&&r!==i?h(!1):p!==i&&r===i&&h(!0))}})}function mv(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 CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(i=>i.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function hte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Zy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function lg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function mte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function ex(e,t,n){var d,p,h,m;const r=lg(t),o=_O(e),s=r?o.indexOf(r):-1,i=((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[i,c]}function Jo(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 Mk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:i,maxSize:c,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:c}=e.current,d=Zy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=ex(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(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 D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=i==="horizontal"?h:p:q=-(i==="horizontal"?h:p);const G=zu(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=hte(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",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function vte({disabled:e,handleId:t,resizeHandler:n}){Aa(()=>{if(e||n==null)return;const r=lg(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=kO(),c=mte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:i.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function bte(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(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function xte(e){return e.type==="keydown"}function L1(e){return e.type.startsWith("mouse")}function z1(e){return e.type.startsWith("touch")}let B1=null,Ki=null;function IO(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 wte(){Ki!==null&&(document.head.removeChild(Ki),B1=null,Ki=null)}function gv(e){if(B1===e)return;B1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function Ste(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(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 OO(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 Cte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function kte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(i){console.error(i)}}const vv={};function Dk(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 Bu={getItem:e=>(Dk(Bu),Bu.getItem(e)),setItem:(e,t)=>{Dk(Bu),Bu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:i=null,onLayout:c,storage:d=Bu,style:p={},tagName:h="div"}){const m=Jy(i),[v,b]=Zu(null),[w,y]=Zu(new Map),S=es(null),k=es({onLayout:c});Aa(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Zu([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),ql(ae,T,Y)}}),[]),im(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),gte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Aa(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);ql(ae,$,Y)}},[P]),im(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=Cte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Aa(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);vv[e]||(vv[e]=Ste(kte,100)),vv[e](e,T,P,d)}},[e,w,P,d]);const M=ui((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=ui((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=ui(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=ex(m,T,ie);if(X==null||K==null)return;let U=yte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Zy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=zu($,ae,X,K,le,fe,E.current,S.current),ke=!bte(fe,ge);if((L1($)||z1($))&&O.current!=le&&gv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),ql(ie,ge,xe)}O.current=le},[m]),L=ui(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=ui(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=mv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=zu(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),ql(ie,pe,le)}},[]),F=ui(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=mv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=zu(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),ql(X,le,ge)}},[]),V=ui((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=mv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=zu(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),ql(U,ke,xe)}},[]),q=ute(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),L1(z)||z1(z)){const $=lg(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{wte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Mc(ig.Provider,{children:Mc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const tx=yO((e,t)=>Mc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";tx.displayName="forwardRef(PanelGroup)";function F1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:i="div"}){const c=es(null),d=es({onDragging:o});Aa(()=>{d.current.onDragging=o});const p=xO(ig);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=Jy(r),k=h===S,[_,P]=Zu(!1),[I,E]=Zu(null),O=ui(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Aa(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Aa(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),vte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Mc(i,{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:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}F1.displayName="PanelResizeHandle";const _te=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,i]=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}),i(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}},Pte=be([at],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ke),jte=()=>{const{initialImage:e}=B(Pte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.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 a.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:a.jsx(tl,{label:"No initial image selected"})})},Ite=be([at],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ke),Ete={type:"SET_INITIAL_IMAGE"},Ote=()=>{const{isResetButtonDisabled:e}=B(Ite),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=ag({postUploadAction:Ete}),o=f.useCallback(()=>{t(L7())},[t]);return a.jsxs(H,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[a.jsxs(H,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[a.jsx(Je,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),a.jsx(ml,{}),a.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:a.jsx(Kd,{}),...n()}),a.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:a.jsx(_y,{}),onClick:o,isDisabled:e})]}),a.jsx(jte,{}),a.jsx("input",{...r()})]})},Rte=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:i}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return a.jsxs(Oe,{children:[a.jsxs(H,{onClick:i,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,a.jsx(mo,{children:n&&a.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:a.jsx(Je,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),a.jsx(ml,{}),a.jsx(Hy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),a.jsx(wm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:a.jsx(Oe,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},bo=f.memo(Rte),Mte=be(at,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ke),Dte=()=>{const{combinatorial:e,isDisabled:t}=B(Mte),n=te(),r=f.useCallback(()=>{n(z7())},[n]);return a.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Ate=be(at,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ke),Tte=()=>{const e=te(),{isEnabled:t}=B(Ate),n=f.useCallback(()=>{e(B7())},[e]);return a.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Nte=be(at,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),$te=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Nte),s=te(),i=f.useCallback(d=>{s(F7(d))},[s]),c=f.useCallback(()=>{s(H7())},[s]);return a.jsx(jt,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:i,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Lte=be(at,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ke),Yc=()=>{const{activeLabel:e}=B(Lte);return ir("dynamicPrompting").isFeatureEnabled?a.jsx(bo,{label:"Dynamic Prompts",activeLabel:e,children:a.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[a.jsx(Tte,{}),a.jsx(Dte,{}),a.jsx($te,{})]})}):null},zte=e=>{const t=te(),{lora:n}=e,r=f.useCallback(i=>{t(W7({id:n.id,weight:i}))},[t,n.id]),o=f.useCallback(()=>{t(V7(n.id))},[t,n.id]),s=f.useCallback(()=>{t(U7(n.id))},[t,n.id]);return a.jsxs(H,{sx:{gap:2.5,alignItems:"flex-end"},children:[a.jsx(jt,{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}}),a.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:a.jsx(Oo,{}),colorScheme:"error"})]})},Bte=f.memo(zte),Fte=be(at,({lora:e})=>({lorasArray:cs(e.loras)}),Ke),Hte=()=>{const{lorasArray:e}=B(Fte);return a.jsx(a.Fragment,{children:e.map((t,n)=>a.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[n>0&&a.jsx(Ka,{pt:1}),a.jsx(Bte,{lora:t})]},t.model_name))})},Wte=be(at,({lora:e})=>({loras:e.loras}),Ke),Vte=()=>{const e=te(),{loras:t}=B(Wte),{data:n}=bm(),r=B(i=>i.generation.model),o=f.useMemo(()=>{if(!n)return[];const i=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;i.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),i.sort((c,d)=>c.label&&!d.label?1:-1),i.sort((c,d)=>c.disabled&&!d.disabled?1:-1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(i=>{if(!i)return;const c=n==null?void 0:n.entities[i];c&&e(G7(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?a.jsx(H,{sx:{justifyContent:"center",p:2},children:a.jsx(Je,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(i,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(i.toLowerCase().trim()))||c.value.toLowerCase().includes(i.toLowerCase().trim())},onChange:s})},Ute=be(at,e=>{const t=t5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ke),Gte=()=>{const{activeLabel:e}=B(Ute);return ir("lora").isFeatureEnabled?a.jsx(bo,{label:"LoRA",activeLabel:e,children:a.jsxs(H,{sx:{flexDir:"column",gap:2},children:[a.jsx(Vte,{}),a.jsx(Hte,{})]})}):null},Qc=f.memo(Gte),MO=e=>{const t=kd("models"),[n,r,o]=e.split("/"),s=q7.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},qte=be(at,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Ke),Kte=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:i}=B(qte),{data:c}=ub(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(i==null?void 0:i.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,i==null?void 0:i.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=MO(m);v&&o(n5({controlNetId:t,model:v}))},[t,o]);return a.jsx(ar,{itemComponent:Oi,data:d,error:!p||(i==null?void 0:i.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Xte=f.memo(Kte),Yte=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(i=>{o(K7({controlNetId:r,weight:i}))},[r,o]);return a.jsx(jt,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Qte=f.memo(Yte),Jte=be(at,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Ke),Zte=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:i}=e.controlNet,c=te(),{pendingControlImages:d}=B(Jte),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(X7({controlNetId:i,controlImage:null}))},[i,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:i,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,i]),k=f.useMemo(()=>({id:i,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:i}}),[i]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:i}),[i]),P=m&&v&&!p&&!d.includes(i)&&o!=="none";return a.jsxs(H,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[a.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),a.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:a.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(i)&&a.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:a.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Ak=f.memo(Zte),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(Y7({controlNetId:n,changes:r}))},[e])};function Ns(e){return a.jsx(H,{sx:{flexDirection:"column",gap:2},children:e.children})}const Tk=ls.canny_image_processor.default,ene=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,i=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Tk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Tk.high_threshold})},[t,c]);return a.jsxs(Ns,{children:[a.jsx(jt,{isDisabled:i||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),a.jsx(jt,{isDisabled:i||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},tne=f.memo(ene),ju=ls.content_shuffle_image_processor.default,nne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:i,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:ju.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:ju.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:ju.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:ju.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:ju.f})},[t,p]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(jt,{label:"W",value:i,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(jt,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),a.jsx(jt,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},rne=f.memo(nne),Nk=ls.hed_image_processor.default,one=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,i=B(kr),c=Ts(),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:Nk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Nk.image_resolution})},[t,c]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(jt,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:i||!s}),a.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:i||!s})]})},sne=f.memo(one),$k=ls.lineart_anime_image_processor.default,ane=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Ts(),c=B(kr),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:$k.detect_resolution})},[t,i]),m=f.useCallback(()=>{i(t,{image_resolution:$k.image_resolution})},[t,i]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ine=f.memo(ane),Lk=ls.lineart_image_processor.default,lne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:i}=n,c=Ts(),d=B(kr),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:Lk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Lk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(yr,{label:"Coarse",isChecked:i,onChange:b,isDisabled:d||!r})]})},cne=f.memo(lne),zk=ls.mediapipe_face_processor.default,une=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,i=Ts(),c=B(kr),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:zk.max_faces})},[t,i]),m=f.useCallback(()=>{i(t,{min_confidence:zk.min_confidence})},[t,i]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),a.jsx(jt,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},dne=f.memo(une),Bk=ls.midas_depth_image_processor.default,fne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,i=Ts(),c=B(kr),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:Bk.a_mult})},[t,i]),m=f.useCallback(()=>{i(t,{bg_th:Bk.bg_th})},[t,i]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),a.jsx(jt,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},pne=f.memo(fne),jp=ls.mlsd_image_processor.default,hne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:i,thr_v:c}=n,d=Ts(),p=B(kr),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:jp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:jp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:jp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:jp.thr_v})},[t,d]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(jt,{label:"W",value:i,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(jt,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},mne=f.memo(hne),Fk=ls.normalbae_image_processor.default,gne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,i=Ts(),c=B(kr),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:Fk.detect_resolution})},[t,i]),m=f.useCallback(()=>{i(t,{image_resolution:Fk.image_resolution})},[t,i]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},vne=f.memo(gne),Hk=ls.openpose_image_processor.default,bne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:i}=n,c=Ts(),d=B(kr),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:Hk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Hk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),a.jsx(yr,{label:"Hand and Face",isChecked:i,onChange:b,isDisabled:d||!r})]})},yne=f.memo(bne),Wk=ls.pidi_image_processor.default,xne=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:i,safe:c}=n,d=Ts(),p=B(kr),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:Wk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Wk.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 a.jsxs(Ns,{children:[a.jsx(jt,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(jt,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),a.jsx(yr,{label:"Scribble",isChecked:i,onChange:w}),a.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},wne=f.memo(xne),Sne=e=>null,Cne=f.memo(Sne),kne=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?a.jsx(tne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?a.jsx(sne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?a.jsx(cne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?a.jsx(rne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?a.jsx(ine,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?a.jsx(dne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?a.jsx(pne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?a.jsx(mne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?a.jsx(vne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?a.jsx(yne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?a.jsx(wne,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?a.jsx(Cne,{controlNetId:t,processorNode:r,isEnabled:n}):null},_ne=f.memo(kne),Pne=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),i=f.useCallback(()=>{o(Q7({controlNetId:t}))},[t,o]);return a.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:i,isDisabled:s||!n})},jne=f.memo(Pne),Vk=e=>`${Math.round(e*100)}%`,Ine=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),i=f.useCallback(c=>{s(J7({controlNetId:o,beginStepPct:c[0]})),s(Z7({controlNetId:o,endStepPct:c[1]}))},[o,s]);return a.jsxs(go,{isDisabled:!r,children:[a.jsx(Bo,{children:"Begin / End Step Percentage"}),a.jsx(bi,{w:"100%",gap:2,alignItems:"center",children:a.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:i,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[a.jsx(X6,{children:a.jsx(Y6,{})}),a.jsx(vn,{label:Vk(t),placement:"top",hasArrow:!0,children:a.jsx(l1,{index:0})}),a.jsx(vn,{label:Vk(n),placement:"top",hasArrow:!0,children:a.jsx(l1,{index:1})}),a.jsx(Np,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),a.jsx(Np,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),a.jsx(Np,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Ene=f.memo(Ine),One=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Rne(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(i=>{o(eM({controlNetId:r,controlMode:i}))},[r,o]);return a.jsx(Fr,{disabled:!n,label:"Control Mode",data:One,value:String(t),onChange:s})}const Mne=be(bO,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)),Ke),Dne=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),i=B(Mne),c=f.useCallback(d=>{t(tM({controlNetId:n,processorType:d}))},[n,t]);return a.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:i,onChange:c,disabled:s||!r})},Ane=f.memo(Dne),Tne=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Nne(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(i=>{o(nM({controlNetId:r,resizeMode:i}))},[r,o]);return a.jsx(Fr,{disabled:!n,label:"Resize Mode",data:Tne,value:String(t),onChange:s})}const $ne=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(at,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Ke),{isEnabled:s,shouldAutoConfig:i}=B(o),[c,d]=Nee(!1),p=f.useCallback(()=>{r(rM({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(oM({sourceControlNetId:n,newControlNetId:vi()}))},[n,r]),m=f.useCallback(()=>{r(sM({controlNetId:n}))},[n,r]);return a.jsxs(H,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[a.jsxs(H,{sx:{gap:2,alignItems:"center"},children:[a.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),a.jsx(Oe,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:a.jsx(Xte,{controlNet:t})}),a.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:a.jsx(Kc,{})}),a.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:a.jsx(Oo,{})}),a.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:a.jsx(Hy,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!i&&a.jsx(Oe,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),a.jsxs(H,{sx:{w:"full",flexDirection:"column",gap:3},children:[a.jsxs(H,{sx:{gap:4,w:"full",alignItems:"center"},children:[a.jsxs(H,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[a.jsx(Qte,{controlNet:t}),a.jsx(Ene,{controlNet:t})]}),!c&&a.jsx(H,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:a.jsx(Ak,{controlNet:t,height:28})})]}),a.jsxs(H,{sx:{gap:2},children:[a.jsx(Rne,{controlNet:t}),a.jsx(Nne,{controlNet:t})]}),a.jsx(Ane,{controlNet:t})]}),c&&a.jsxs(a.Fragment,{children:[a.jsx(Ak,{controlNet:t,height:"392px"}),a.jsx(jne,{controlNet:t}),a.jsx(_ne,{controlNet:t})]})]})},Lne=f.memo($ne),zne=be(at,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ke),Bne=()=>{const{isEnabled:e}=B(zne),t=te(),n=f.useCallback(()=>{t(aM())},[t]);return a.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Fne=be([at],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=iM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ke),Hne=()=>{const{controlNetsArray:e,activeLabel:t}=B(Fne),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=ub(void 0,{selectFromResult:i=>({firstModel:i.data?lM.getSelectors().selectAll(i.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const i=vi();r(cM({controlNetId:i})),r(n5({controlNetId:i,model:o}))},[r,o]);return n?null:a.jsx(bo,{label:"ControlNet",activeLabel:t,children:a.jsxs(H,{sx:{flexDir:"column",gap:3},children:[a.jsxs(H,{gap:2,alignItems:"center",children:[a.jsx(H,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:a.jsx(Bne,{})}),a.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:a.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((i,c)=>a.jsxs(f.Fragment,{children:[c>0&&a.jsx(Ka,{}),a.jsx(Lne,{controlNet:i})]},i.controlNetId))]})})},Jc=f.memo(Hne),Wne=be(at,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ke),Vne=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Wne),r=o=>e(uM(o.target.checked));return a.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Une=be(at,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ke);function Gne(){const e=te(),{threshold:t,isDisabled:n}=B(Une),{t:r}=ye();return a.jsx(jt,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(lw(o)),handleReset:()=>e(lw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const qne=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(dM(r.target.checked));return a.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Kne=be(at,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ke);function Xne(){const e=te(),{perlin:t,isDisabled:n}=B(Kne),{t:r}=ye();return a.jsx(jt,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(cw(o)),handleReset:()=>e(cw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Yne=be(at,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ke),Qne=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Yne);return t?a.jsx(bo,{label:e("parameters.noiseSettings"),activeLabel:o,children:a.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(qne,{}),a.jsx(Vne,{}),n&&a.jsx(Xne,{}),r&&a.jsx(Gne,{})]})}):null},Jd=f.memo(Qne),Jne=be(vo,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:Zt}}),Zne=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:i,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Jne),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(fM());return}t(pM({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(hM(S))},[t]);tt("shift+x",()=>{(s||o)&&i&&h()},[s,o,i]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?a.jsx(Jp,{}):c==="immediate"?a.jsx(ote,{}):a.jsx(ete,{}),[c,d]);return a.jsxs(rr,{isAttached:!0,width:n,children:[a.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!i,onClick:h,colorScheme:"error",id:"cancel-button",...r}),a.jsxs($d,{closeOnSelect:!1,children:[a.jsx(Ld,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:a.jsx($J,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),a.jsx(il,{minWidth:"240px",children:a.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[a.jsx(sh,{value:"immediate",children:m("parameters.cancel.immediate")}),a.jsx(sh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},cg=f.memo(Zne),ere=be([at,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:i}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=mM.endpoints.getMainModels.select(td)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),i||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ke),Zd=()=>{const{isReady:e}=B(ere);return e},tre=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),nre=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(tre),s=n?Math.round(n*100/r):0;return a.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},DO=f.memo(nre),Uk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},rre=be([at,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ke);function nx(e){const{iconButton:t=!1,...n}=e,r=te(),o=Zd(),{isBusy:s,autoAddBoardId:i,activeTabName:c}=B(rre),d=eg(i),p=f.useCallback(()=>{r(_d()),r(Pd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),a.jsx(Oe,{style:{flexGrow:4},position:"relative",children:a.jsxs(Oe,{style:{position:"relative"},children:[!o&&a.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:a.jsx(DO,{})}),a.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:i?`Auto-Adding to ${d}`:void 0,children:t?a.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:a.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Uk:{}}}):a.jsx(Yt,{"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?Uk:{}},children:"Invoke"})})]})})}const Zc=()=>a.jsxs(H,{gap:2,children:[a.jsx(nx,{}),a.jsx(cg,{})]}),rx=e=>{e.stopPropagation()},ore=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(Io(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(Io(!1))},[n]);return a.jsx(ry,{ref:t,onPaste:rx,onKeyDown:r,onKeyUp:o,...e})}),ug=f.memo(ore),sre=e=>{const{onClick:t}=e;return a.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:a.jsx(Sy,{}),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})},dg=f.memo(sre),ox="28rem",fg=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=gM(),i=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(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:Qn[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 a.jsxs(ey,{initialFocusRef:i,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[a.jsx(Zb,{children:o}),a.jsx(ty,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:a.jsx(A6,{sx:{p:0,w:`calc(${ox} - 2rem )`},children:d.length===0?a.jsx(H,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:a.jsx(Je,{children:"No Embeddings Loaded"})}):a.jsx(ar,{inputRef:i,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})})})]})},AO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:i}=ye(),c=f.useCallback(m=>{s(Wu(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(Wu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return a.jsxs(go,{children:[a.jsx(fg,{isOpen:n,onClose:r,onSelect:p,children:a.jsx(ug,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:i("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&a.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(dg,{onClick:o})})]})},are=be([at,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),TO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(are),o=Zd(),s=f.useRef(null),{isOpen:i,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e(Hu(w.target.value))},[e]);tt("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(Hu(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(_d()),e(Pd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return a.jsxs(Oe,{position:"relative",children:[a.jsx(go,{children:a.jsx(fg,{isOpen:i,onClose:c,onSelect:m,children:a.jsx(ug,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!i&&v&&a.jsx(Oe,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:a.jsx(dg,{onClick:d})})]})};function ire(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(vM(!e))};return a.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:a.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Gk={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)"};function NO(){return a.jsxs(H,{children:[a.jsx(Oe,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Gk,_dark:{borderColor:"accent.500"}}}),a.jsx(Oe,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:a.jsx(oE,{size:12})}),a.jsx(Oe,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Gk,_dark:{borderColor:"accent.500"}}})]})}const lre=be([at,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),cre=()=>{const e=te(),t=Zd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:i,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(lre),p=f.useCallback(b=>{e(Uu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=i.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=i.slice(w),_i.flushSync(()=>{e(Uu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,i]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(_d()),e(Pd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return a.jsxs(Oe,{position:"relative",children:[a.jsx(mo,{children:d&&a.jsx(Oe,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:a.jsx(NO,{})})}),a.jsx(go,{children:a.jsx(fg,{isOpen:r,onClose:o,onSelect:h,children:a.jsx(ug,{id:"prompt",name:"prompt",ref:n,value:i,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&a.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(dg,{onClick:s})})]})},ure=be([at,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),dre=()=>{const e=te(),t=Zd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:i,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(ure),p=f.useCallback(b=>{e(Vu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=i.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=i.slice(w),_i.flushSync(()=>{e(Vu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,i]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(_d()),e(Pd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return a.jsxs(Oe,{position:"relative",children:[a.jsx(mo,{children:d&&a.jsx(Oe,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:a.jsx(NO,{})})}),a.jsx(go,{children:a.jsx(fg,{isOpen:r,onClose:o,onSelect:h,children:a.jsx(ug,{id:"prompt",name:"prompt",ref:n,value:i,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&a.jsx(Oe,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:a.jsx(dg,{onClick:s})})]})};function sx(){return a.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[a.jsx(TO,{}),a.jsx(ire,{}),a.jsx(dre,{}),a.jsx(AO,{}),a.jsx(cre,{})]})}const lm=/^-?(0\.)?\.?$/,fre=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:i,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(lm)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(lm)||i(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),i(M)},E=f.useCallback(R=>{R.shiftKey&&S(Io(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(Io(!1))},[S]);return a.jsx(vn,{...w,children:a.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&a.jsx(Bo,{...m,children:t}),a.jsxs(jm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:rx,children:[a.jsx(Em,{...v,onKeyDown:E,onKeyUp:O}),r&&a.jsxs(Im,{children:[a.jsx(Rm,{...b}),a.jsx(Om,{...b})]})]})]})})},eu=f.memo(fre),Sl=()=>{const{isRefinerAvailable:e}=na(db,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},pre=be([at],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ke),hre=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(pre),r=Sl(),o=te(),{t:s}=ye(),i=f.useCallback(d=>o(Dv(d)),[o]),c=f.useCallback(()=>o(Dv(7)),[o]);return t?a.jsx(jt,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:i,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):a.jsx(eu,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:i,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},mre=f.memo(hre),gre=e=>{const t=kd("models"),[n,r,o]=e.split("/"),s=bM.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function ef(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=yM(),i=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?a.jsx(ze,{icon:a.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:i,size:"sm"}):a.jsx(Yt,{isLoading:s,onClick:i,minW:"max-content",children:"Sync Models"})}const vre=be(at,e=>({model:e.sdxl.refinerModel}),Ke),bre=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=B(vre),{data:r,isLoading:o}=na(db),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[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]),c=f.useCallback(d=>{if(!d)return;const p=gre(d);p&&e(q_(p))},[e]);return o?a.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(ar,{tooltip:i==null?void 0:i.description,label:"Refiner 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:c,w:"100%"}),t&&a.jsx(Oe,{mt:7,children:a.jsx(ef,{iconMode:!0})})]})},yre=f.memo(bre),xre=be([at],({sdxl:e,hotkeys:t})=>{const{refinerNegativeAestheticScore:n}=e,{shift:r}=t;return{refinerNegativeAestheticScore:n,shift:r}},Ke),wre=()=>{const{refinerNegativeAestheticScore:e,shift:t}=B(xre),n=Sl(),r=te(),o=f.useCallback(i=>r(Tv(i)),[r]),s=f.useCallback(()=>r(Tv(2.5)),[r]);return a.jsx(jt,{label:"Negative 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})},Sre=f.memo(wre),Cre=be([at],({sdxl:e,hotkeys:t})=>{const{refinerPositiveAestheticScore:n}=e,{shift:r}=t;return{refinerPositiveAestheticScore:n,shift:r}},Ke),kre=()=>{const{refinerPositiveAestheticScore:e,shift:t}=B(Cre),n=Sl(),r=te(),o=f.useCallback(i=>r(Av(i)),[r]),s=f.useCallback(()=>r(Av(6)),[r]);return a.jsx(jt,{label:"Positive 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})},_re=f.memo(kre),Pre=be(at,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(cb,(s,i)=>({value:i,label:s,group:r.includes(i)?"Favorites":void 0})).sort((s,i)=>s.label.localeCompare(i.label));return{refinerScheduler:n,data:o}},Ke),jre=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(Pre),o=Sl(),s=f.useCallback(i=>{i&&e(K_(i))},[e]);return a.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},Ire=f.memo(jre),Ere=be([at],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ke),Ore=()=>{const{refinerStart:e}=B(Ere),t=te(),n=Sl(),r=f.useCallback(s=>t(Nv(s)),[t]),o=f.useCallback(()=>t(Nv(.7)),[t]);return a.jsx(jt,{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})},Rre=f.memo(Ore),Mre=be([at],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ke),Dre=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Mre),n=Sl(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Mv(c))},[r]),i=f.useCallback(()=>{r(Mv(20))},[r]);return t?a.jsx(jt,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:i,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):a.jsx(eu,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},Are=f.memo(Dre);function Tre(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Sl(),n=te(),r=o=>{n(xM(o.target.checked))};return a.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Nre=be(at,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ke),ax=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Nre);return a.jsx(bo,{label:"Refiner",activeLabel:e,children:a.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[a.jsx(Tre,{}),a.jsx(yre,{}),a.jsxs(H,{gap:2,flexDirection:t?"column":"row",children:[a.jsx(Are,{}),a.jsx(mre,{})]}),a.jsx(Ire,{}),a.jsx(_re,{}),a.jsx(Sre,{}),a.jsx(Rre,{})]})})},$re=be([at],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:i,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:i,inputMax:c,shouldUseSliders:p,shift:h}},Ke),Lre=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:i}=B($re),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Vp(m)),[c]),h=f.useCallback(()=>c(Vp(t)),[c,t]);return s?a.jsx(jt,{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(eu,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},aa=f.memo(Lre),zre=be([at],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:i}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:i;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ke),Bre=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i,isDisabled:c}=B(zre),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(uw(v))},[d]),m=f.useCallback(()=>{d(uw(t))},[d,t]);return i?a.jsx(jt,{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}}):a.jsx(eu,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},ia=f.memo(Bre),ix=e=>{const t=kd("models"),[n,r,o]=e.split("/"),s=wM.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Fre=be(at,e=>({model:e.generation.model}),Ke),Hre=()=>{const e=te(),{t}=ye(),{model:n}=B(Fre),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(td),{data:i,isLoading:c}=qp(td),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{b&&v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(i==null?void 0:i.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,i,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(i==null?void 0:i.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,i==null?void 0:i.entities]),m=f.useCallback(v=>{if(!v)return;const b=ix(v);b&&e(Ov(b))},[e]);return s||c?a.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(H,{w:"100%",alignItems:"center",gap:3,children:[a.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&a.jsx(Oe,{mt:7,children:a.jsx(ef,{iconMode:!0})})]})},Wre=f.memo(Hre),$O=e=>{const t=kd("models"),[n,r,o]=e.split("/"),s=SM.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},Vre=be(at,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ke),Ure=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Vre),{data:o}=r5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(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:Qn[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]),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]),c=f.useCallback(d=>{if(!d||d==="default"){e(dw(null));return}const p=$O(d);p&&e(dw(p))},[e]);return a.jsx(ar,{itemComponent:Oi,tooltip:i==null?void 0:i.description,label:t("modelManager.vae"),value:(i==null?void 0:i.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Gre=f.memo(Ure),Mi=e=>e.generation,qre=be([Ua,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(cb,(s,i)=>({value:i,label:s,group:r.includes(i)?"Favorites":void 0})).sort((s,i)=>s.label.localeCompare(i.label));return{scheduler:n,data:o}},Ke),Kre=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B(qre),o=f.useCallback(s=>{s&&e(Rv(s))},[e]);return a.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},Xre=f.memo(Kre),Yre=be(at,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ke),Qre=["fp16","fp32"],Jre=()=>{const e=te(),{vaePrecision:t}=B(Yre),n=f.useCallback(r=>{r&&e(CM(r))},[e]);return a.jsx(Fr,{label:"VAE Precision",value:t,data:Qre,onChange:n})},Zre=f.memo(Jre),eoe=()=>{const e=ir("vae").isFeatureEnabled;return a.jsxs(H,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[a.jsx(Oe,{w:"full",children:a.jsx(Wre,{})}),a.jsx(Oe,{w:"full",children:a.jsx(Xre,{})}),e&&a.jsxs(H,{w:"full",gap:3,children:[a.jsx(Gre,{}),a.jsx(Zre,{})]})]})},la=f.memo(eoe),toe=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function LO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return a.jsx(H,{gap:2,flexGrow:1,children:a.jsx(rr,{isAttached:!0,children:toe.map(o=>a.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(kM(o.value)),children:o.name},o.name))})})}const noe=be([at],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:i,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:i,step:m,aspectRatio:h}},Ke),roe=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:c}=B(noe),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(yc(v)),c){const b=ws(v*c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(yc(n)),c){const v=ws(n*c,8);d(bc(v))}},[d,n,c]);return a.jsx(jt,{label:p("parameters.height"),value:t,min:r,step:i,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},ooe=f.memo(roe),soe=be([at],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:i,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:i,step:m,aspectRatio:h}},Ke),aoe=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:i,aspectRatio:c}=B(soe),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v/c,8);d(yc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n/c,8);d(yc(v))}},[d,n,c]);return a.jsx(jt,{label:p("parameters.width"),value:t,min:r,step:i,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},ioe=f.memo(aoe);function Dc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return a.jsxs(H,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(H,{alignItems:"center",gap:2,children:[a.jsx(Je,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),a.jsx(ml,{}),a.jsx(LO,{}),a.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:a.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(_M())})]}),a.jsx(H,{gap:2,alignItems:"center",children:a.jsxs(H,{gap:2,flexDirection:"column",width:"full",children:[a.jsx(ioe,{isDisabled:r==="img2img"?!n:!1}),a.jsx(ooe,{isDisabled:r==="img2img"?!n:!1})]})})]})}const loe=be([at],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:i,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:i,inputMax:c,step:v,shouldUseSliders:m}},Ke),coe=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:i}=B(loe),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Up(v))},[c]),h=f.useCallback(()=>{c(Up(t))},[c,t]),m=f.useCallback(()=>{c(_d())},[c]);return i?a.jsx(jt,{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(eu,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},ca=f.memo(coe);function zO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(PM(o.target.checked)),{t:r}=ye();return a.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function uoe(){const e=B(i=>i.generation.seed),t=B(i=>i.generation.shouldRandomizeSeed),n=B(i=>i.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=i=>o(Wp(i));return a.jsx(eu,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:o5,max:s5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const doe=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function foe(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Wp(doe(o5,s5)));return a.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:a.jsx(nQ,{})})}const poe=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(jM(o.target.checked));return a.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},hoe=f.memo(poe),moe=()=>a.jsxs(H,{sx:{gap:3,alignItems:"flex-end"},children:[a.jsx(uoe,{}),a.jsx(foe,{}),a.jsx(hoe,{})]}),ua=f.memo(moe),goe=be([at],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ke),voe=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(goe),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(fw(s)),[t]),o=f.useCallback(()=>{t(fw(.7))},[t]);return a.jsx(jt,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},BO=f.memo(voe),boe=be([Ua,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),yoe=()=>{const{shouldUseSliders:e,activeLabel:t}=B(boe);return a.jsx(bo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(H,{gap:3,children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{})]}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]}),a.jsx(BO,{}),a.jsx(zO,{})]})})},xoe=f.memo(yoe),FO=()=>a.jsxs(a.Fragment,{children:[a.jsx(sx,{}),a.jsx(Zc,{}),a.jsx(xoe,{}),a.jsx(ax,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(Jd,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(i=>i.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(IM(!r)),n(_o())};return a.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?a.jsx(XE,{}):a.jsx(YE,{}),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}})},woe=be(Ua,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Soe=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(woe);return t&&n?a.jsxs(Oe,{sx:{position:"relative",h:"full",w:ox,flexShrink:0},children:[a.jsx(H,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),a.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},lx=f.memo(Soe),Coe=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?a.jsx(F1,{children:a.jsx(H,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:a.jsx(Oe,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):a.jsx(F1,{children:a.jsx(H,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:a.jsx(Oe,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(Coe),koe=be([at],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),_oe=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(koe);return a.jsx(ze,{onClick:t,icon:a.jsx(Oo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Poe=[{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 joe(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(EM(r));return a.jsx(Fr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:Poe})}const Ioe=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:i,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(a5({image_name:t.image_name}))},[n,t,c]);return a.jsx(xl,{isOpen:s,onClose:c,triggerComponent:a.jsx(ze,{onClick:i,icon:a.jsx(FY,{}),"aria-label":o("parameters.upscale")}),children:a.jsxs(H,{sx:{flexDirection:"column",gap:4},children:[a.jsx(joe,{}),a.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Eoe=be([at,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:i,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:i,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ooe=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:i,shouldShowProgressInViewer:c}=B(Eoe),d=ir("upscaling").isFeatureEnabled,p=Uc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Xy(),[w,y]=Qy(i,500),{currentData:S}=Is((i==null?void 0:i.image_name)??ro.skipToken),{currentData:k}=ab(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(ob(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(a5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(gm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(OM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return a.jsx(a.Fragment,{children:a.jsxs(H,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[a.jsx(rr,{isAttached:!0,isDisabled:o,children:a.jsxs($d,{children:[a.jsx(Ld,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:a.jsx(aQ,{})}),a.jsx(il,{motionProps:od,children:S&&a.jsx(pO,{imageDTO:S})})]})}),a.jsxs(rr,{isAttached:!0,isDisabled:o,children:[a.jsx(ze,{icon:a.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),a.jsx(ze,{icon:a.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),a.jsx(ze,{icon:a.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&a.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&a.jsx(Ioe,{imageDTO:S})}),a.jsx(rr,{isAttached:!0,isDisabled:o,children:a.jsx(ze,{icon:a.jsx(Sy,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),a.jsx(rr,{isAttached:!0,children:a.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:a.jsx(qY,{}),isChecked:c,onClick:A})}),a.jsx(rr,{isAttached:!0,children:a.jsx(_oe,{onClick:M,isDisabled:o})})]})})},Roe=be([at,ib],(e,t)=>{var _,P;const{data:n,status:r}=RM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?pw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):pw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],i=r==="pending";if(!n||!s||o===0)return{isFetching:i,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=MM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:i,currentImageIndex:c}=B(Roe),d=f.useCallback(()=>{n&&e(hw(n))},[e,n]),p=f.useCallback(()=>{t&&e(hw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===i-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Moe(e){return nt({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 bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:i}=ye();return t?a.jsxs(H,{gap:2,children:[n&&a.jsx(vn,{label:`Recall ${e}`,children:a.jsx(Ea,{"aria-label":i("accessibility.useThisParameter"),icon:a.jsx(Moe,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&a.jsx(vn,{label:`Copy ${e}`,children:a.jsx(Ea,{"aria-label":`Copy ${e}`,icon:a.jsx(Kc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),a.jsxs(H,{direction:o?"column":"row",children:[a.jsxs(Je,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?a.jsxs(Tb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",a.jsx(VE,{mx:"2px"})]}):a.jsx(Je,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Doe=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:i,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Xy(),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(()=>{i(t==null?void 0:t.model)},[t==null?void 0:t.model,i]),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]),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(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:a.jsxs(a.Fragment,{children:[t.generation_mode&&a.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&a.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&a.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&a.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&a.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&a.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&a.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&a.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&a.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&a.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&a.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},Aoe=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return a.jsxs(H,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[a.jsx(Oe,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:a.jsx(zE,{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(H,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:a.jsx(vn,{label:t,children:a.jsx(Ea,{"aria-label":t,icon:a.jsx(Kc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Toe=({image:e})=>{const[t,n]=Qy(e.image_name,500),{currentData:r}=ab(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,i=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 a.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:[a.jsxs(H,{gap:2,children:[a.jsx(Je,{fontWeight:"semibold",children:"File:"}),a.jsxs(Tb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,a.jsx(VE,{mx:"2px"})]})]}),a.jsx(Doe,{metadata:o}),a.jsxs(Hd,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[a.jsx(Wd,{children:i.map(c=>a.jsx(_c,{sx:{borderTopRadius:"base"},children:a.jsx(Je,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),a.jsx(Bm,{sx:{w:"full",h:"full"},children:i.map(c=>a.jsx(zm,{sx:{w:"full",h:"full",p:0,pt:4},children:a.jsx(Aoe,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Noe=f.memo(Toe),bv={color:"base.100",pointerEvents:"auto"},$oe=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:i,isFetching:c}=VO();return a.jsxs(Oe,{sx:{position:"relative",height:"100%",width:"100%"},children:[a.jsx(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&a.jsx(Ea,{"aria-label":e("accessibility.previousImage"),icon:a.jsx(RY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:bv})}),a.jsxs(Oe,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&a.jsx(Ea,{"aria-label":e("accessibility.nextImage"),icon:a.jsx(MY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:bv}),o&&i&&!c&&a.jsx(Ea,{"aria-label":e("accessibility.loadMore"),icon:a.jsx(OY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:bv}),o&&i&&c&&a.jsx(H,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:a.jsx(hl,{opacity:.5,size:"xl"})})]})]})},Loe=f.memo($oe),zoe=be([at,DM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:i,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:i,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),Boe=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(zoe),{handlePrevImage:s,handleNextImage:i,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||i()},[c,p,d,h,i]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return a.jsxs(H,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?a.jsx(zc,{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(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:a.jsx(tl,{icon:Rc,label:"No image selected"})}),e&&m&&a.jsx(Oe,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:a.jsx(Noe,{image:m})}),a.jsx(mo,{children:!e&&m&&w&&a.jsx(Er.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(Loe,{})},"nextPrevButtons")})]})},Foe=f.memo(Boe),Hoe=()=>a.jsxs(H,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[a.jsx(Ooe,{}),a.jsx(Foe,{})]}),UO=()=>a.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:a.jsx(H,{sx:{width:"100%",height:"100%"},children:a.jsx(Hoe,{})})});function Woe(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(mw(d))},[n]),s=f.useCallback(()=>{n(mw(0))},[n]),i=f.useMemo(()=>t?Hf[t.base_model].maxClip:Hf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Hf[t.base_model].markers:Hf["sd-1"].markers,[t]);return a.jsx(jt,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:i,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Voe=be(at,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ke);function cx(){const{activeLabel:e}=B(Voe);return B(n=>n.generation.shouldShowAdvancedOptions)?a.jsx(bo,{label:"Advanced",activeLabel:e,children:a.jsx(H,{sx:{flexDir:"column",gap:2},children:a.jsx(Woe,{})})}):null}const Uoe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ke),Goe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Uoe),n=te(),r=f.useCallback(o=>{n(AM(o.target.checked))},[n]);return a.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},qoe=f.memo(Goe),Koe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ke),Xoe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Koe),n=te(),r=f.useCallback(o=>{n(TM(o.target.checked))},[n]);return a.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Yoe=f.memo(Xoe),Qoe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},Joe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Qoe(t,n)}},Ke),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return ir("seamless").isFeatureEnabled?a.jsx(bo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:a.jsxs(H,{sx:{gap:5},children:[a.jsx(Oe,{flexGrow:1,children:a.jsx(qoe,{})}),a.jsx(Oe,{flexGrow:1,children:a.jsx(Yoe,{})})]})}):null},GO=f.memo(Zoe);function ese(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return a.jsx(jt,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(gw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(gw(0))})}function tse(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return a.jsx(jt,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(vw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(vw(0))})}function nse(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return a.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(NM(n.target.checked))})}const rse=be(at,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ke),ose=()=>{const{t:e}=ye(),{activeLabel:t}=B(rse);return ir("symmetry").isFeatureEnabled?a.jsx(bo,{label:e("parameters.symmetry"),activeLabel:t,children:a.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(nse,{}),a.jsx(ese,{}),a.jsx(tse,{})]})}):null},ux=f.memo(ose);function dx(){return a.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[a.jsx(TO,{}),a.jsx(AO,{})]})}const sse=be([at],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:i,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:i,step:h}},Ke),ase=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(sse),i=te(),{t:c}=ye(),d=f.useCallback(h=>i(Gp(h)),[i]),p=f.useCallback(()=>{i(Gp(t))},[i,t]);return a.jsx(jt,{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}})},qO=f.memo(ase),ise=be([Ua,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),lse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ise);return a.jsx(bo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(H,{gap:3,children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{})]}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]}),a.jsx(qO,{}),a.jsx(zO,{})]})})},cse=f.memo(lse),KO=()=>a.jsxs(a.Fragment,{children:[a.jsx(dx,{}),a.jsx(Zc,{}),a.jsx(cse,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(Jd,{}),a.jsx(ux,{}),a.jsx(GO,{}),a.jsx(cx,{})]}),use=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return a.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(lx,{children:n&&n.base_model==="sdxl"?a.jsx(FO,{}):a.jsx(KO,{})}),a.jsx(Oe,{sx:{w:"full",h:"full"},children:a.jsxs(tx,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(yd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:a.jsx(Ote,{})}),a.jsx(WO,{onDoubleClick:r}),a.jsx(yd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(_o())},children:a.jsx(UO,{})})]})})]})},dse=f.memo(use);var fse=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 qk=Cd(fse);function H1(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 pse=Object.defineProperty,Kk=Object.getOwnPropertySymbols,hse=Object.prototype.hasOwnProperty,mse=Object.prototype.propertyIsEnumerable,Xk=(e,t,n)=>t in e?pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gse=(e,t)=>{for(var n in t||(t={}))hse.call(t,n)&&Xk(e,n,t[n]);if(Kk)for(var n of Kk(t))mse.call(t,n)&&Xk(e,n,t[n]);return e};function XO(e,t){if(t===null||typeof t!="object")return{};const n=gse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const vse="__MANTINE_FORM_INDEX__";function Yk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${vse}`)):!1:!1}function Qk(e,t,n){typeof n.value=="object"&&(n.value=tc(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function tc(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(tc(i))})):s==="[object Map]"?(o=new Map,e.forEach(function(i,c){o.set(tc(c),tc(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(tc(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 W1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const i=e[s],c=`${n===""?"":`${n}.`}${s}`,d=_a(c,t);let p=!1;return typeof i=="function"&&(o[c]=i(d,t,c)),typeof i=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>W1(i,t,`${c}.${m}`,o))),typeof i=="object"&&typeof d=="object"&&d!==null&&(p||W1(i,t,c,o)),o},r)}function V1(e,t){return Jk(typeof e=="function"?e(t):W1(e,t))}function Ip(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=V1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((i,c)=>i===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function bse(e,{from:t,to:n},r){const o=_a(e,r);if(!Array.isArray(o))return r;const s=[...o],i=o[t];return s.splice(t,1),s.splice(n,0,i),pg(e,s,r)}var yse=Object.defineProperty,Zk=Object.getOwnPropertySymbols,xse=Object.prototype.hasOwnProperty,wse=Object.prototype.propertyIsEnumerable,e_=(e,t,n)=>t in e?yse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sse=(e,t)=>{for(var n in t||(t={}))xse.call(t,n)&&e_(e,n,t[n]);if(Zk)for(var n of Zk(t))wse.call(t,n)&&e_(e,n,t[n]);return e};function Cse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,i=Sse({},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=i[d],m=i[p];return m===void 0?delete i[d]:i[d]=m,h===void 0?delete i[p]:i[p]=h,!1}return!0}),i}function kse(e,t,n){const r=_a(e,n);return Array.isArray(r)?pg(e,r.filter((o,s)=>s!==t),n):n}var _se=Object.defineProperty,t_=Object.getOwnPropertySymbols,Pse=Object.prototype.hasOwnProperty,jse=Object.prototype.propertyIsEnumerable,n_=(e,t,n)=>t in e?_se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ise=(e,t)=>{for(var n in t||(t={}))Pse.call(t,n)&&n_(e,n,t[n]);if(t_)for(var n of t_(t))jse.call(t,n)&&n_(e,n,t[n]);return e};function r_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function o_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=XO(`${o}.${t}`,s));const i=Ise({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=r_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=r_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);i[m]=p,c.add(m),c.has(d)||delete i[d]}),i}function Ese(e,t,n,r){const o=_a(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),pg(e,s,r)}function s_(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 Ose(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 Rse=Object.defineProperty,Mse=Object.defineProperties,Dse=Object.getOwnPropertyDescriptors,a_=Object.getOwnPropertySymbols,Ase=Object.prototype.hasOwnProperty,Tse=Object.prototype.propertyIsEnumerable,i_=(e,t,n)=>t in e?Rse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,li=(e,t)=>{for(var n in t||(t={}))Ase.call(t,n)&&i_(e,n,t[n]);if(a_)for(var n of a_(t))Tse.call(t,n)&&i_(e,n,t[n]);return e},yv=(e,t)=>Mse(e,Dse(t));function Cl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:i=!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(H1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?li(li({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>H1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>yv(li({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=li({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=XO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Yk(K,s);A(K),h(re=>yv(li({},re),{[K]:!0})),w(re=>{const oe=pg(K,U,re);if(se){const pe=Ip(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return li(li({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>bse(K,U,se)),S(se=>Cse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>kse(K,U,se)),S(se=>o_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>Ese(K,U,se,re)),S(re=>o_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=V1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=Ip(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:Ose(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=_a(K,b):pe.value=_a(K,b),re&&(pe.onFocus=()=>h(le=>yv(li({},le),{[K]:!0})),pe.onBlur=()=>{if(Yk(K,i)){const le=Ip(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(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()},[]),fe=K=>{if(K){const se=_a(K,m);if(typeof se=="boolean")return se;const re=_a(K,b),oe=_a(K,k.current);return!qk(re,oe)}return Object.keys(m).length>0?s_(m):!qk(b,k.current)},ie=f.useCallback(K=>s_(p,K),[p]),X=f.useCallback(K=>K?!Ip(K,d,b).hasError:!V1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:i,base700:c,base900:d,accent500:p,accent300:h}=wy(),{colorMode:m}=Ds();return a.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,i)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Nse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function tf(e){const{...t}=e,{t:n}=ye();return a.jsx(Fr,{label:n("modelManager.baseModel"),data:Nse,...t})}function QO(e){const{data:t}=i5(),{...n}=e;return a.jsx(Fr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const $se=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function hg(e){const{...t}=e,{t:n}=ye();return a.jsx(Fr,{label:n("modelManager.variant"),data:$se,...t})}function JO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Cl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.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]=l5(),[i,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(jd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:a.jsxs(H,{flexDirection:"column",gap:2,children:[a.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),a.jsx(tf,{...o.getInputProps("base_model")}),a.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),a.jsx(br,{label:"Description",...o.getInputProps("description")}),a.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),a.jsx(hg,{...o.getInputProps("variant")}),a.jsxs(H,{flexDirection:"column",width:"100%",gap:2,children:[i?a.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):a.jsx(QO,{required:!0,width:"100%",...o.getInputProps("config")}),a.jsx(Gn,{isChecked:i,onChange:()=>c(!i),label:"Use Custom Config"}),a.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function ZO(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Cl({initialValues:{model_name:(r==null?void 0: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=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(jd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return a.jsx("form",{onSubmit:s.onSubmit(c=>i(c)),style:{width:"100%"},children:a.jsxs(H,{flexDirection:"column",gap:2,children:[a.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),a.jsx(tf,{...s.getInputProps("base_model")}),a.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),a.jsx(br,{label:"Description",...s.getInputProps("description")}),a.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),a.jsx(hg,{...s.getInputProps("variant")}),a.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const e8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Lse(){const[e,t]=f.useState("diffusers");return a.jsxs(H,{flexDirection:"column",gap:4,width:"100%",children:[a.jsx(Fr,{label:"Model Type",value:e,data:e8,onChange:n=>{n&&t(n)}}),a.jsxs(H,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&a.jsx(ZO,{}),e==="checkpoint"&&a.jsx(JO,{})]})]})}const zse=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Bse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Cl({initialValues:{location:"",prediction_type:void 0}}),i=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return a.jsx("form",{onSubmit:s.onSubmit(c=>i(c)),style:{width:"100%"},children:a.jsxs(H,{flexDirection:"column",width:"100%",gap:4,children:[a.jsx(br,{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(Fr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:zse,defaultValue:"none",...s.getInputProps("prediction_type")}),a.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Fse(){const[e,t]=f.useState("simple");return a.jsxs(H,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[a.jsxs(rr,{isAttached:!0,children:[a.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),a.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),a.jsxs(H,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&a.jsx(Bse,{}),e==="advanced"&&a.jsx(Lse,{})]})]})}const Hse={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Wse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...i}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(Io(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(Io(!1))},[c]);return a.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?Hse:void 0,children:[t!==""&&a.jsx(Bo,{children:t}),a.jsx(Dd,{...i,onPaste:rx,onKeyDown:d,onKeyUp:p})]})},Ac=f.memo(Wse);function Vse(e){const{...t}=e;return a.jsx(Aj,{w:"100%",...t,children:e.children})}function Use(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:i}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=w9(r==null?void 0:r.entities),k=cs(S,"path"),_=b9(y,k),P=P9(y,k);return{foundModels:y,alreadyInstalled:l_(P,t),filteredModels:l_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({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=>a.jsxs(H,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(H,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[a.jsx(Je,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),a.jsx(Je,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?a.jsxs(H,{gap:2,children:[a.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),a.jsx(Yt,{onClick:()=>p(jd(k)),isLoading:d,children:"Advanced"})]}):a.jsx(Je,{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?a.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:a.jsx(Je,{variant:"subtext",children:"No Models Found"})}):a.jsxs(H,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[a.jsx(Ac,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),a.jsxs(H,{p:2,gap:2,children:[a.jsxs(Je,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),a.jsxs(Je,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",i.length]})]}),a.jsx(Vse,{offsetScrollbars:!0,children:a.jsxs(H,{gap:2,flexDirection:"column",children:[b({models:i}),b({models:s,showActions:!1})]})})]}):null)()}const l_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Gse(){const e=B(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=te();return e?a.jsxs(Oe,{as:Er.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(H,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(Je,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),a.jsx(ze,{icon:a.jsx(lQ,{}),"aria-label":"Close Advanced",onClick:()=>s(jd(null)),size:"sm"})]}),a.jsx(Fr,{label:"Model Type",value:t,data:e8,onChange:i=>{i&&(n(i),o(i==="checkpoint"))}}),r?a.jsx(JO,{model_path:e},e):a.jsx(ZO,{model_path:e},e)]}):null}function qse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Cl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(bw(c.folder))},[e]),i=()=>{r()};return a.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:a.jsxs(H,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[a.jsxs(H,{w:"100%",alignItems:"center",gap:4,minH:12,children:[a.jsx(Je,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?a.jsx(H,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):a.jsx(Ac,{w:"100%",size:"md",...o.getInputProps("folder")})]}),a.jsxs(H,{gap:2,children:[n?a.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:a.jsx(cE,{}),onClick:i,fontSize:18,size:"sm"}):a.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:a.jsx(oQ,{}),fontSize:18,size:"sm",type:"submit"}),a.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:a.jsx(Oo,{}),size:"sm",onClick:()=>{e(bw(null)),e(jd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Kse=f.memo(qse);function Xse(){return a.jsxs(H,{flexDirection:"column",w:"100%",gap:4,children:[a.jsx(Kse,{}),a.jsxs(H,{gap:4,children:[a.jsx(H,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:a.jsx(Use,{})}),a.jsx(Gse,{})]})]})}function Yse(){const[e,t]=f.useState("add"),{t:n}=ye();return a.jsxs(H,{flexDirection:"column",gap:4,children:[a.jsxs(rr,{isAttached:!0,children:[a.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),a.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&a.jsx(Fse,{}),e=="scan"&&a.jsx(Xse,{})]})}const Qse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function Jse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=$M(),[s,i]=f.useState("sd-1"),c=Ew(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Ew(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{i($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return a.jsxs(H,{flexDirection:"column",rowGap:4,children:[a.jsxs(H,{sx:{flexDirection:"column",rowGap:1},children:[a.jsx(Je,{children:e("modelManager.modelMergeHeaderHelp1")}),a.jsx(Je,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),a.jsxs(H,{columnGap:4,children:[a.jsx(Fr,{label:"Model Type",w:"100%",data:Qse,value:s,onChange:q}),a.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),a.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),a.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),a.jsx(Ac,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),a.jsxs(H,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(jt,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),a.jsx(Je,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),a.jsxs(H,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsx(Je,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),a.jsx(ah,{value:I,onChange:$=>E($),children:a.jsx(H,{columnGap:4,children:w===null?a.jsxs(a.Fragment,{children:[a.jsx(ka,{value:"weighted_sum",children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.weightedSum")})}),a.jsx(ka,{value:"sigmoid",children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.sigmoid")})}),a.jsx(ka,{value:"inv_sigmoid",children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):a.jsx(ka,{value:"add_difference",children:a.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),a.jsxs(H,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[a.jsxs(H,{columnGap:4,children:[a.jsx(Je,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),a.jsx(ah,{value:O,onChange:$=>R($),children:a.jsxs(H,{columnGap:4,children:[a.jsx(ka,{value:"root",children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),a.jsx(ka,{value:"custom",children:a.jsx(Je,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&a.jsx(Ac,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),a.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),a.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Zse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:i,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{i&&i(),v()};return a.jsxs(a.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),a.jsx(zd,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:a.jsx(za,{children:a.jsxs(Bd,{children:[a.jsx(La,{fontSize:"lg",fontWeight:"bold",children:d}),a.jsx(Ba,{children:c}),a.jsxs($a,{children:[a.jsx(Yt,{ref:b,onClick:y,children:s}),a.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),fx=f.memo(Zse);function eae(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=LM(),[i,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,convert_dest_directory:i==="Custom"?d:void 0};if(i==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return a.jsxs(fx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:a.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[a.jsxs(H,{flexDirection:"column",rowGap:4,children:[a.jsx(Je,{children:r("modelManager.convertToDiffusersHelpText1")}),a.jsxs($b,{children:[a.jsx(ja,{children:r("modelManager.convertToDiffusersHelpText2")}),a.jsx(ja,{children:r("modelManager.convertToDiffusersHelpText3")}),a.jsx(ja,{children:r("modelManager.convertToDiffusersHelpText4")}),a.jsx(ja,{children:r("modelManager.convertToDiffusersHelpText5")})]}),a.jsx(Je,{children:r("modelManager.convertToDiffusersHelpText6")})]}),a.jsxs(H,{flexDir:"column",gap:2,children:[a.jsxs(H,{marginTop:4,flexDir:"column",gap:2,children:[a.jsx(Je,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),a.jsx(ah,{value:i,onChange:v=>c(v),children:a.jsxs(H,{gap:4,children:[a.jsx(ka,{value:"InvokeAIRoot",children:a.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),a.jsx(ka,{value:"Custom",children:a.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),i==="Custom"&&a.jsxs(H,{flexDirection:"column",rowGap:2,children:[a.jsx(Je,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),a.jsx(Ac,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function tae(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[i,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Cl({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(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return a.jsxs(H,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(H,{justifyContent:"space-between",alignItems:"center",children:[a.jsxs(H,{flexDirection:"column",children:[a.jsx(Je,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(Je,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?a.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):a.jsx(eae,{model:n})]}),a.jsx(Ka,{}),a.jsx(H,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:a.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:a.jsxs(H,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),a.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),a.jsx(tf,{required:!0,...h.getInputProps("base_model")}),a.jsx(hg,{required:!0,...h.getInputProps("variant")}),a.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),a.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),a.jsxs(H,{flexDirection:"column",gap:2,children:[i?a.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):a.jsx(QO,{required:!0,...h.getInputProps("config")}),a.jsx(Gn,{isChecked:i,onChange:()=>c(!i),label:"Use Custom Config"})]}),a.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function nae(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:i}=ye(),c=Cl({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(On(Mn({title:i("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:i("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,i,r]);return a.jsxs(H,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(H,{flexDirection:"column",children:[a.jsx(Je,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(Je,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),a.jsx(Ka,{}),a.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:a.jsxs(H,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(br,{label:i("modelManager.name"),...c.getInputProps("model_name")}),a.jsx(br,{label:i("modelManager.description"),...c.getInputProps("description")}),a.jsx(tf,{required:!0,...c.getInputProps("base_model")}),a.jsx(hg,{required:!0,...c.getInputProps("variant")}),a.jsx(br,{required:!0,label:i("modelManager.modelLocation"),...c.getInputProps("path")}),a.jsx(br,{label:i("modelManager.vaeLocation"),...c.getInputProps("vae")}),a.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:i("modelManager.updateModel")})]})})]})}function rae(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=zM(),s=te(),{t:i}=ye(),c=Cl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},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(On(Mn({title:i("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:i("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,i,r]);return a.jsxs(H,{flexDirection:"column",rowGap:4,width:"100%",children:[a.jsxs(H,{flexDirection:"column",children:[a.jsx(Je,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),a.jsxs(Je,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",BM[n.model_format]," format"]})]}),a.jsx(Ka,{}),a.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:a.jsxs(H,{flexDirection:"column",overflowY:"scroll",gap:4,children:[a.jsx(br,{label:i("modelManager.name"),...c.getInputProps("model_name")}),a.jsx(br,{label:i("modelManager.description"),...c.getInputProps("description")}),a.jsx(tf,{...c.getInputProps("base_model")}),a.jsx(br,{label:i("modelManager.modelLocation"),...c.getInputProps("path")}),a.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:i("modelManager.updateModel")})]})})]})}function oae(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=FM(),[s]=HM(),{model:i,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(i.id)},[i.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[i.model_type];m(i).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${i.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${i.model_name}`,status:"error"})))}),d(void 0)},[o,s,i,d,r,n]);return a.jsxs(H,{sx:{gap:2,alignItems:"center",w:"full"},children:[a.jsx(H,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:a.jsxs(H,{gap:4,alignItems:"center",children:[a.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:WM[i.base_model]}),a.jsx(vn,{label:i.description,hasArrow:!0,placement:"bottom",children:a.jsx(Je,{sx:{fontWeight:500},children:i.model_name})})]})}),a.jsx(fx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:a.jsx(ze,{icon:a.jsx(NJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:a.jsxs(H,{rowGap:4,flexDirection:"column",children:[a.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),a.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const sae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[i,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:Iu(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:Iu(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=bm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:Iu(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=qp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:Iu(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=qp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:Iu(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return a.jsx(H,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:a.jsxs(H,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[a.jsxs(rr,{isAttached:!0,children:[a.jsx(Yt,{onClick:()=>c("all"),isChecked:i==="all",size:"sm",children:r("modelManager.allModels")}),a.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:i==="diffusers",children:r("modelManager.diffusersModels")}),a.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:i==="checkpoint",children:r("modelManager.checkpointModels")}),a.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:i==="onnx",children:r("modelManager.onnxModels")}),a.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:i==="olive",children:r("modelManager.oliveModels")}),a.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:i==="lora",children:r("modelManager.loraModels")})]}),a.jsx(Ac,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),a.jsxs(H,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&a.jsx(Ou,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(i)&&!p&&d.length>0&&a.jsx(Eu,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&a.jsx(Ou,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(i)&&!m&&h.length>0&&a.jsx(Eu,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&a.jsx(Ou,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(i)&&!b&&v.length>0&&a.jsx(Eu,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&a.jsx(Ou,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(i)&&!k&&S.length>0&&a.jsx(Eu,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&a.jsx(Ou,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(i)&&!y&&w.length>0&&a.jsx(Eu,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},Iu=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const i=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;i&&c&&d&&o.push(s)}),o},t8=e=>a.jsx(H,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function Eu(e){const{title:t,modelList:n,selected:r}=e;return a.jsx(t8,{children:a.jsxs(H,{sx:{gap:2,flexDir:"column"},children:[a.jsx(Je,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>a.jsx(oae,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function Ou({loadingMessage:e}){return a.jsx(t8,{children:a.jsxs(H,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[a.jsx(hl,{}),a.jsx(Je,{variant:"subtext",children:e||"Fetching..."})]})})}function aae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=bm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return a.jsxs(H,{sx:{gap:8,w:"full",h:"full"},children:[a.jsx(sae,{selectedModelId:e,setSelectedModelId:t}),a.jsx(iae,{model:o})]})}const iae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?a.jsx(tae,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?a.jsx(nae,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?a.jsx(rae,{model:t},t.id):a.jsx(H,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:a.jsx(Je,{variant:"subtext",children:"No Model Selected"})})};function lae(){const{t:e}=ye();return a.jsxs(H,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[a.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[a.jsx(Je,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),a.jsx(Je,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),a.jsx(ef,{})]})}function cae(){return a.jsx(H,{children:a.jsx(lae,{})})}const c_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:a.jsx(aae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:a.jsx(Yse,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:a.jsx(Jse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:a.jsx(cae,{})}],uae=()=>a.jsxs(Hd,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[a.jsx(Wd,{children:c_.map(e=>a.jsx(_c,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),a.jsx(Bm,{sx:{w:"full",h:"full"},children:c_.map(e=>a.jsx(zm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),dae=f.memo(uae);const fae=e=>be([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}}),pae=(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},hae=be([e=>e.nodes],e=>e.invocationTemplates),px="node-drag-handle",u_={dragHandle:`.${px}`},mae=()=>{const e=B(hae),t=fb();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{...u_,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=vi(),s=yw(r.inputs,(h,m,v)=>{const b=vi(),w=pae(b,m);return h[v]=w,h},{}),i=yw(r.outputs,(h,m,v)=>{const w={id:vi(),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{...u_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:i}}},[e,t])},gae=e=>{const{nodeId:t,title:n,description:r}=e;return a.jsxs(H,{className:px,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[a.jsx(vn,{label:t,children:a.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),a.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:a.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:XY})})]})},n8=f.memo(gae),r8=()=>()=>!0,vae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},bae={left:"-1rem"},yae={right:"-0.5rem"},xae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:i}=t;return a.jsx(vn,{label:i,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:a.jsx(VM,{type:r,id:s,isValidConnection:n,position:r==="target"?xw.Left:xw.Right,style:{backgroundColor:p5[i].colorCssVar,...o,...vae,...r==="target"?bae:yae}})})},o8=f.memo(xae),wae=e=>a.jsx(JY,{}),Sae=f.memo(wae),Cae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return a.jsx(ny,{onChange:o,isChecked:n.value})},kae=f.memo(Cae),_ae=e=>null,Pae=f.memo(_ae);function mg(){return(mg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function U1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Tc=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(d_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=G1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(f_(k),!function(I,E){return E&&!ed(I)}(k,d.current)&&_)){if(ed(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(d_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),i({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[i,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),W.createElement("div",mg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),gg=function(e){return e.filter(Boolean).join(" ")},mx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=gg(["react-colorful__pointer",e.className]);return W.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},W.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},a8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},q1=function(e){var t=a8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},xv=function(e){var t=a8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},jae=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),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,i,i,d,r][p]),g:po(255*[d,r,r,c,i,i][p]),b:po(255*[i,i,d,r,r,c][p]),a:po(o,2)}},Iae=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),c=i?s===t?(n-r)/i:s===n?2+(r-t)/i:4+(t-n)/i:0;return{h:po(60*(c<0?c+6:c)),s:po(s?i/s*100:0),v:po(s/255*100),a:o}},Eae=W.memo(function(e){var t=e.hue,n=e.onChange,r=gg(["react-colorful__hue",e.className]);return W.createElement("div",{className:r},W.createElement(hx,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Tc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},W.createElement(mx,{className:"react-colorful__hue-pointer",left:t/360,color:q1({h:t,s:100,v:100,a:1})})))}),Oae=W.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:q1({h:t.h,s:100,v:100,a:1})};return W.createElement("div",{className:"react-colorful__saturation",style:r},W.createElement(hx,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Tc(t.s+100*o.left,0,100),v:Tc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},W.createElement(mx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:q1(t)})))}),i8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Rae(e,t,n){var r=U1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],i=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},i(p)}},[t,e]),f.useEffect(function(){var p;i8(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){i(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var Mae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Dae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},p_=new Map,Aae=function(e){Mae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!p_.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}`,p_.set(t,n);var r=Dae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Tae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+xv(Object.assign({},n,{a:0}))+", "+xv(Object.assign({},n,{a:1}))+")"},s=gg(["react-colorful__alpha",t]),i=po(100*n.a);return W.createElement("div",{className:s},W.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),W.createElement(hx,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Tc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":i+"%","aria-valuenow":i,"aria-valuemin":"0","aria-valuemax":"100"},W.createElement(mx,{className:"react-colorful__alpha-pointer",left:n.a,color:xv(n)})))},Nae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,i=s8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Aae(c);var d=Rae(n,o,s),p=d[0],h=d[1],m=gg(["react-colorful",t]);return W.createElement("div",mg({},i,{ref:c,className:m}),W.createElement(Oae,{hsva:p,onChange:h}),W.createElement(Eae,{hue:p.h,onChange:h}),W.createElement(Tae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},$ae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Iae,fromHsva:jae,equal:i8},l8=function(e){return W.createElement(Nae,mg({},e,{colorModel:$ae}))};const Lae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return a.jsx(l8,{className:"nodrag",color:n.value,onChange:o})},zae=f.memo(Lae),Bae=e=>null,Fae=f.memo(Bae),Hae=e=>null,Wae=f.memo(Hae),Vae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=ub(),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]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=MO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(Fr,{tooltip:i==null?void 0:i.description,label:(i==null?void 0:i.base_model)&&Qn[i==null?void 0:i.base_model],value:(i==null?void 0:i.id)??null,placeholder:"Pick one",error:!i,data:c,onChange:d})},Uae=f.memo(Vae),Gae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=i=>{o(As({nodeId:t,fieldName:n.name,value:i.target.value}))};return a.jsx(z6,{onChange:s,value:n.value,children:r.options.map(i=>a.jsx("option",{children:i},i))})},qae=f.memo(Gae),Kae=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:i}=rb({id:`node_${t}`,data:r});return a.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})=>a.jsx(Yae,{imageName:d},d)),Fp(r,i)&&a.jsx(tm,{isOver:o})]})},Xae=f.memo(Kae),Yae=e=>{const{currentData:t}=Is(e.imageName);return a.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Qae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),i=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 a.jsx(H,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:a.jsx(fl,{imageDTO:o,droppableData:c,draggableData:i,onClickReset:s,postUploadAction:d})})},Jae=f.memo(Qae),Zae=e=>a.jsx(EY,{}),h_=f.memo(Zae),eie=e=>null,tie=f.memo(eie),nie=e=>{const t=kd("models"),[n,r,o]=e.split("/"),s=UM.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},rie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=bm(),i=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[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=nie(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?a.jsx(H,{sx:{justifyContent:"center",p:2},children:a.jsx(Je,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):a.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:i.length>0?"Select a LoRA":"No LoRAs available",data:i,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:i.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})},oie=f.memo(rie),sie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:i}=qp(td),{data:c,isLoading:d}=na(td),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),i&&oo(i.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,i]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(i==null?void 0:i.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,i==null?void 0:i.entities]),m=f.useCallback(w=>{if(!w)return;const y=ix(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?a.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&a.jsx(Oe,{mt:7,children:a.jsx(ef,{iconMode:!0})})]})},aie=f.memo(sie),iie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),i=c=>{s(c),c.match(lm)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(lm)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),a.jsxs(jm,{onChange:i,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[a.jsx(Em,{}),a.jsxs(Im,{children:[a.jsx(Rm,{}),a.jsx(Om,{})]})]})},lie=f.memo(iie),cie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?a.jsx(ry,{onChange:o,value:n.value,rows:2}):a.jsx(Dd,{onChange:o,value:n.value})},uie=f.memo(cie),die=e=>null,fie=f.memo(die),pie=e=>null,hie=f.memo(pie),mie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=r5(),i=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[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(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return a.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:i,onChange:d,disabled:i.length===0,clearable:!0})},gie=f.memo(mie),vie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:i,isLoading:c}=na(db),d=f.useMemo(()=>{if(!i)return[];const b=[];return oo(i.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[i]),p=f.useMemo(()=>{var b,w;return(i==null?void 0:i.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,i==null?void 0:i.entities]),h=f.useCallback(b=>{if(!b)return;const w=ix(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?a.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):a.jsxs(H,{w:"100%",alignItems:"center",gap:2,children:[a.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[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&&a.jsx(Oe,{mt:7,children:a.jsx(ef,{iconMode:!0})})]})},bie=f.memo(vie),yie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?a.jsx(uie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?a.jsx(kae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?a.jsx(lie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?a.jsx(qae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?a.jsx(Jae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?a.jsx(tie,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?a.jsx(Fae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?a.jsx(fie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?a.jsx(Pae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?a.jsx(hie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?a.jsx(Wae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?a.jsx(aie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?a.jsx(bie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?a.jsx(gie,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?a.jsx(oie,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?a.jsx(Uae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?a.jsx(Sae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(h_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?a.jsx(zae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?a.jsx(h_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?a.jsx(Xae,{nodeId:t,field:n,template:r}):a.jsxs(Oe,{p:2,children:["Unknown field type: ",o]})},xie=f.memo(yie);function wie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=r8();return a.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:a.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?a.jsxs(a.Fragment,{children:[a.jsxs(bi,{justifyContent:"space-between",alignItems:"center",children:[a.jsx(bi,{children:a.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:a.jsx(Bo,{children:r==null?void 0:r.title})})}),a.jsx(xie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&a.jsx(o8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):a.jsx(bi,{justifyContent:"space-between",alignItems:"center",children:a.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const Sie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(i=>i.nodes.edges);return f.useCallback(()=>{const i=[],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=B(i=>i.nodes.edges);return f.useCallback(()=>{const i=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;i.push(a.jsx(kie,{nodeId:t,output:d,template:p,connected:h},d.id))}),a.jsx(H,{flexDir:"column",children:i})},[o,t,r,n.outputs])()},Pie=f.memo(_ie),jie=e=>{const{...t}=e;return a.jsx(nA,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},K1=f.memo(jie),X1=e=>{const[t,n]=Lc("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return a.jsx(Oe,{className:r?px:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},c8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:i}=n,c=f.useMemo(()=>fae(o),[o]),d=B(c);return d?a.jsxs(X1,{selected:r,children:[a.jsx(n8,{nodeId:t,title:d.title,description:d.description}),a.jsxs(H,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[a.jsx(Pie,{nodeId:t,outputs:i,template:d}),a.jsx(Cie,{nodeId:t,inputs:s,template:d})]}),a.jsx(K1,{})]}):a.jsx(X1,{selected:r,children:a.jsxs(H,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[a.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),a.jsx(K1,{})]})})});c8.displayName="InvocationComponent";const Iie=e=>{const t=ww(i=>i.system.progressImage),n=ww(i=>i.nodes.progressNodeSize),r=GM(),{selected:o}=e,s=(i,c)=>{r(qM(c))};return a.jsxs(X1,{selected:o,children:[a.jsx(n8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),a.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?a.jsx(zc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):a.jsx(H,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:a.jsx(tl,{})})}),a.jsx(K1,{onResize:s})]})},Eie=f.memo(Iie),Oie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=fb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),i=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(KM(!s))},[s,o]),v=f.useCallback(()=>{o(XM(!i))},[i,o]),b=f.useCallback(()=>{o(YM(!c))},[c,o]);return a.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[a.jsx(vn,{label:e("nodes.zoomInNodes"),children:a.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:a.jsx(yl,{})})}),a.jsx(vn,{label:e("nodes.zoomOutNodes"),children:a.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:a.jsx(tQ,{})})}),a.jsx(vn,{label:e("nodes.fitViewportNodes"),children:a.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:a.jsx(HY,{})})}),a.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:a.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:a.jsx(Sy,{})})}),a.jsx(vn,{label:e(i?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:a.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:i,onClick:v,icon:a.jsx(YY,{})})}),a.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:a.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:a.jsx(ZY,{})})})]})},Rie=f.memo(Oie),Mie=()=>a.jsx(wd,{position:"bottom-left",children:a.jsx(Rie,{})}),Die=f.memo(Mie),Aie=()=>{const e=Ep({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=Ep("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=Ep("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return a.jsx(a.Fragment,{children:t&&a.jsx(G9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Tie=f.memo(Aie),Nie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),i=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(QM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return a.jsxs(a.Fragment,{children:[a.jsx(ze,{icon:a.jsx(Oo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:i.length===0}),a.jsxs(zd,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[a.jsx(za,{}),a.jsxs(Bd,{children:[a.jsx(La,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),a.jsx(Ba,{children:a.jsx(Je,{children:e("nodes.clearGraphDesc")})}),a.jsxs($a,{children:[a.jsx(xc,{ref:s,onClick:o,children:e("common.cancel")}),a.jsx(xc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},$ie=f.memo(Nie);function Lie(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const i of n){if(!(i in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(i==="type"&&!r.includes(s[i]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const i of o)if(!(i in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const zie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=fb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const i=new FileReader;i.onload=async()=>{const d=i.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Lie(p);h?(t(JM(p.nodes)),t(ZM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),i.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},i.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return a.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>a.jsx(ze,{icon:a.jsx(Kd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Bie=f.memo(zie);function Fie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Zd(),i=f.useCallback(()=>{r(Pd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],i,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),a.jsx(Oe,{style:{flexGrow:4},position:"relative",children:a.jsxs(Oe,{style:{position:"relative"},children:[!s&&a.jsx(Oe,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:a.jsx(DO,{})}),t?a.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:a.jsx(aE,{}),isDisabled:!s,onClick:i,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):a.jsx(Yt,{"aria-label":c("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 Hie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(eD())},[t]);return a.jsx(ze,{icon:a.jsx(iQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Wie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>tD(c,["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(ze,{icon:a.jsx(Km,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},Vie=f.memo(Wie),Uie=()=>a.jsx(wd,{position:"top-center",children:a.jsxs(bi,{children:[a.jsx(Fie,{}),a.jsx(cg,{}),a.jsx(Hie,{}),a.jsx(Vie,{}),a.jsx(Bie,{}),a.jsx($ie,{})]})}),Gie=f.memo(Uie),qie=be([at],({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}},Ke),Kie=()=>{const e=te(),{data:t}=B(qie),n=mae(),r=Uc(),o=f.useCallback(i=>{const c=n(i);if(!c){r({status:"error",title:`Unknown Invocation type ${i}`});return}e(nD(c))},[e,n,r]),s=f.useCallback(i=>{i&&o(i)},[o]);return a.jsx(H,{sx:{gap:2,alignItems:"center"},children:a.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:u8,filter:(i,c)=>c.label.toLowerCase().includes(i.toLowerCase().trim())||c.value.toLowerCase().includes(i.toLowerCase().trim())||c.description.toLowerCase().includes(i.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},u8=f.forwardRef(({label:e,description:t,...n},r)=>a.jsx("div",{ref:r,...n,children:a.jsxs("div",{children:[a.jsx(Je,{fontWeight:600,children:e}),a.jsx(Je,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));u8.displayName="SelectItem";const Xie=()=>a.jsx(wd,{position:"top-left",children:a.jsx(Kie,{})}),Yie=f.memo(Xie),Qie=()=>a.jsx(H,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>a.jsx(vn,{label:t,children:a.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),Jie=f.memo(Qie),Zie=()=>{const e=B(n=>n),t=rD(e);return a.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)})},ele=f.memo(Zie),tle=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return a.jsxs(wd,{position:"top-right",children:[t&&a.jsx(Jie,{}),e&&a.jsx(ele,{})]})},nle=f.memo(tle),rle={invocation:c8,progress_image:Eie},ole=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(oD(p))},[e]),o=f.useCallback(p=>{e(sD(p))},[e]),s=f.useCallback((p,h)=>{e(aD(h))},[e]),i=f.useCallback(p=>{e(iD(p))},[e]),c=f.useCallback(()=>{e(lD())},[e]),d=f.useCallback(p=>{e(cD(p)),p&&p.fitView()},[e]);return a.jsxs(uD,{nodeTypes:rle,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:i,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[a.jsx(Yie,{}),a.jsx(Gie,{}),a.jsx(nle,{}),a.jsx(Die,{}),a.jsx(J9,{}),a.jsx(Tie,{})]})},sle=()=>a.jsx(Oe,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:a.jsx(dD,{children:a.jsx(ole,{})})}),ale=f.memo(sle),ile=()=>a.jsx(ale,{}),lle=f.memo(ile),cle=be(at,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),ule=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cle);return a.jsx(bo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsx(H,{sx:{flexDirection:"column",gap:3},children:e?a.jsxs(a.Fragment,{children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(H,{gap:3,children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{})]}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(Dc,{})]})})})},d8=f.memo(ule),f8=()=>a.jsxs(a.Fragment,{children:[a.jsx(sx,{}),a.jsx(Zc,{}),a.jsx(d8,{}),a.jsx(ax,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(Jd,{})]}),p8=()=>a.jsxs(a.Fragment,{children:[a.jsx(dx,{}),a.jsx(Zc,{}),a.jsx(d8,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(Jd,{}),a.jsx(ux,{}),a.jsx(GO,{}),a.jsx(cx,{})]}),dle=()=>{const e=B(t=>t.generation.model);return a.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(lx,{children:e&&e.base_model==="sdxl"?a.jsx(f8,{}):a.jsx(p8,{})}),a.jsx(UO,{})]})},fle=f.memo(dle),ple=be([at],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ke),hle=()=>{const e=te(),{infillMethod:t}=B(ple),{data:n,isLoading:r}=Z_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),i=f.useCallback(c=>{e(fD(c))},[e]);return a.jsx(Fr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:i})},mle=f.memo(hle),gle=be([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ke),vle=()=>{const e=te(),{tileSize:t,infillMethod:n}=B(gle),{t:r}=ye(),o=f.useCallback(i=>{e(Sw(i))},[e]),s=f.useCallback(()=>{e(Sw(32))},[e]);return a.jsx(jt,{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})},ble=f.memo(vle),yle=be([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ke),xle=()=>{const e=te(),{boundingBoxScale:t}=B(yle),{t:n}=ye(),r=o=>{e(hD(o))};return a.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:pD,value:t,onChange:r})},wle=f.memo(xle),Sle=be([Mi,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ke),Cle=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(Sle),{t:r}=ye(),o=i=>{e(Kp({...n,height:Math.floor(i)}))},s=()=>{e(Kp({...n,height:Math.floor(512)}))};return a.jsx(jt,{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})},kle=f.memo(Cle),_le=be([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ke),Ple=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(_le),{t:r}=ye(),o=i=>{e(Kp({...n,width:Math.floor(i)}))},s=()=>{e(Kp({...n,width:Math.floor(512)}))};return a.jsx(jt,{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})},jle=f.memo(Ple),Ile=()=>{const{t:e}=ye();return a.jsx(bo,{label:e("parameters.infillScalingHeader"),children:a.jsxs(H,{sx:{gap:2,flexDirection:"column"},children:[a.jsx(mle,{}),a.jsx(ble,{}),a.jsx(wle,{}),a.jsx(jle,{}),a.jsx(kle,{})]})})},h8=f.memo(Ile);function Ele(){const e=te(),t=B(r=>r.generation.maskBlur),{t:n}=ye();return a.jsx(jt,{label:n("parameters.maskBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Cw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Cw(16))}})}const Ole=[{label:"Box Blur",value:"box"},{label:"Gaussian Blur",value:"gaussian"}];function Rle(){const e=B(o=>o.generation.maskBlurMethod),t=te(),{t:n}=ye(),r=o=>{o&&t(mD(o))};return a.jsx(Fr,{value:e,onChange:r,label:n("parameters.maskBlurMethod"),data:Ole})}const Mle=()=>{const{t:e}=ye();return a.jsx(bo,{label:e("parameters.maskAdjustmentsHeader"),children:a.jsxs(H,{sx:{flexDirection:"column",gap:2},children:[a.jsx(Ele,{}),a.jsx(Rle,{})]})})},m8=f.memo(Mle),Dle=be([at,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ke),Ale=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(Dle),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=ws(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},i=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=ws(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return a.jsx(jt,{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})},Tle=f.memo(Ale),Nle=be([at,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ke),$le=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(Nle),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=ws(c/r,64);e(Js({width:Math.floor(c),height:d}))}},i=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=ws(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return a.jsx(jt,{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})},Lle=f.memo($le);function cm(){const e=te(),{t}=ye();return a.jsxs(H,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[a.jsxs(H,{alignItems:"center",gap:2,children:[a.jsx(Je,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),a.jsx(ml,{}),a.jsx(LO,{}),a.jsx(ze,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:a.jsx(vO,{}),fontSize:20,onClick:()=>e(gD())})]}),a.jsx(Lle,{}),a.jsx(Tle,{})]})}const zle=be(at,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Ble=()=>{const{shouldUseSliders:e,activeLabel:t}=B(zle);return a.jsx(bo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(cm,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(H,{gap:3,children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{})]}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(cm,{})]}),a.jsx(BO,{})]})})},Fle=f.memo(Ble);function Hle(){return a.jsxs(a.Fragment,{children:[a.jsx(sx,{}),a.jsx(Zc,{}),a.jsx(Fle,{}),a.jsx(ax,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(Jd,{}),a.jsx(m8,{}),a.jsx(h8,{})]})}var Y1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=kw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=kw;e.exports=r.Konva})(Y1,Y1.exports);var Wle=Y1.exports;const xd=Cd(Wle);var g8={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 Vle=function(t){var n={},r=f,o=Op,s=Object.assign;function i(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gZ||C[N]!==j[Z]){var ue=` +`+C[N].replace(" at new "," at ");return l.displayName&&ue.includes("")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(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 Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(i(168));Wt(Gt,u),Wt(un,g)}function Rn(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(i(108,M(l)||"Unknown",C));return s({},g,x)}function Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(i(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,bn=4194304;function yn(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 qe(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=yn(Z):(j&=N,j!==0&&(x=yn(j)))}else N=g&~C,N!==0?x=yn(N):j!==0&&(x=yn(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 rt(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,To=1<<32-Tn(u)+C|g<Cn?(Br=Jt,Jt=null):Br=Jt.sibling;var kn=it(ce,Jt,ve[Cn],lt);if(kn===null){Jt===null&&(Jt=Br);break}l&&Jt&&kn.alternate===null&&u(ce,Jt),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Jt=Br}if(Cn===ve.length)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;CnCn?(Br=Jt,Jt=null):Br=Jt.sibling;var si=it(ce,Jt,kn.value,lt);if(si===null){Jt===null&&(Jt=Br);break}l&&Jt&&si.alternate===null&&u(ce,Jt),ne=j(si,ne,Cn),rn===null?At=si:rn.sibling=si,rn=si,Jt=Br}if(kn.done)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Qt(ce,kn.value,lt),kn!==null&&(ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ai(ce,Cn),At}for(Jt=x(ce,Jt);!kn.done;Cn++,kn=ve.next())kn=Yn(Jt,ce,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Jt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Jt.forEach(function(dR){return u(ce,dR)}),er&&Ai(ce,Cn),At}function Sa(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 At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===P&&Dx(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=nu(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.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=nu(ce,ne,ve),lt.return=ce,ce=lt)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)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=b0(ve,ce.mode,lt),ne.return=ce,ce=ne}return N(ce);case P:return rn=ve._init,Sa(ce,ne,rn(ve._payload),lt)}if(q(ve))return Ln(ce,ne,ve,lt);if(O(ve))return So(ce,ne,ve,lt);df(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=v0(ve,ce.mode,lt),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return Sa}var Il=Ax(!0),Tx=Ax(!1),ru={},Go=yt(ru),ou=yt(ru),El=yt(ru);function Fs(l){if(l===ru)throw Error(i(174));return l}function Rg(l,u){Wt(El,u),Wt(ou,l),Wt(Go,ru),l=T(u),Mt(Go),Wt(Go,l)}function Ol(){Mt(Go),Mt(ou),Mt(El)}function Nx(l){var u=Fs(El.current),g=Fs(Go.current);u=z(g,l.type,u),g!==u&&(Wt(ou,l),Wt(Go,u))}function Mg(l){ou.current===l&&(Mt(Go),Mt(ou))}var ur=yt(0);function ff(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(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 Dg=[];function Ag(){for(var l=0;lg?g:4,l(!0);var x=Tg.transition;Tg.transition={};try{l(!1),u()}finally{Ie=g,Tg.transition=x}}function e2(){return qo().memoizedState}function L8(l,u,g){var x=ni(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},t2(l))n2(u,g);else if(g=_x(l,u,g,x),g!==null){var C=eo();Ko(g,l,x,C),r2(g,u,x)}}function z8(l,u,g){var x=ni(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(t2(l))n2(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 ue=u.interleaved;ue===null?(C.next=C,jg(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=_x(l,u,C,x),g!==null&&(C=eo(),Ko(g,l,x,C),r2(g,u,x))}}function t2(l){var u=l.alternate;return l===dr||u!==null&&u===dr}function n2(l,u){su=hf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function r2(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Re(l,g)}}var vf={readContext:Uo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},B8={readContext:Uo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Uo,useEffect:Gx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,mf(4194308,4,Xx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return mf(4194308,4,l,u)},useInsertionEffect:function(l,u){return mf(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=L8.bind(null,dr,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Vx,useDebugValue:Hg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Vx(!1),u=l[0];return l=$8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=dr,C=Hs();if(er){if(g===void 0)throw Error(i(407));g=g()}else{if(g=u(),zr===null)throw Error(i(349));Ni&30||zx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,Gx(Fx.bind(null,x,j,l),[l]),x.flags|=2048,lu(9,Bx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(er){var g=Yr,x=To;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=au++,0c0&&(u.flags|=128,x=!0,du(C,!1),u.lanes=4194304)}else{if(!x)if(l=ff(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),du(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>c0&&g!==1073741824&&(u.flags|=128,x=!0,du(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=ur.current,Wt(ur,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return h0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?$o&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(i(156,u.tag))}function K8(l,u){switch(yg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Ol(),Mt(un),Mt(Gt),Ag(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Mg(u),null;case 13:if(Mt(ur),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(i(340));_l()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(ur),null;case 4:return Ol(),null;case 10:return _g(u.type._context),null;case 22:case 23:return h0(),null;case 24:return null;default:return null}}var Sf=!1,Zr=!1,X8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Ml(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Qg(l,u,g){try{g()}catch(x){tr(l,u,x)}}var S2=!1;function Y8(l,u){for($(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:hs(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(i(163))}}catch(Z){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=S2,S2=!1,g}function fu(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&&Qg(u,g,j)}C=C.next}while(C!==x)}}function Cf(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 Jg(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 C2(l){var u=l.alternate;u!==null&&(l.alternate=null,C2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ee(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 k2(l){return l.tag===5||l.tag===3||l.tag===4}function _2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||k2(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 Zg(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(Zg(l,u,g),l=l.sibling;l!==null;)Zg(l,u,g),l=l.sibling}function e0(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ge(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(e0(l,u,g),l=l.sibling;l!==null;)e0(l,u,g),l=l.sibling}var qr=null,ms=!1;function Vs(l,u,g){for(g=g.child;g!==null;)t0(l,u,g),g=g.sibling}function t0(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Ml(g,u);case 6:if(le){var x=qr,C=ms;qr=null,Vs(l,u,g),qr=x,ms=C,qr!==null&&(ms?Qe(qr,g.stateNode):Pe(qr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&qr!==null&&(ms?He(qr,g.stateNode):xt(qr,g.stateNode));break;case 4:le?(x=qr,C=ms,qr=g.stateNode.containerInfo,ms=!0,Vs(l,u,g),qr=x,ms=C):(ge&&(x=g.stateNode.containerInfo,C=xr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(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)&&Qg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Ml(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function P2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new X8),u.forEach(function(x){var C=sR.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function gs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case _f:return":has("+(o0(l)||"")+")";case Pf:return'[role="'+l.value+'"]';case If:return'"'+l.value+'"';case jf:return'[data-testname="'+l.value+'"]';default:throw Error(i(365))}}function M2(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*J8(x/1960))-x,10l?16:l,ti===null)var x=!1;else{if(l=ti,ti=null,Df=0,an&6)throw Error(i(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 ue=0;ueVe()-l0?Li(l,0):i0|=g),wo(l,u)}function F2(l,u){u===0&&(l.mode&1?(u=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),wo(l,g))}function oR(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),F2(l,g)}function sR(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(i(314))}x!==null&&x.delete(u),F2(l,g)}var H2;H2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)yo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return yo=!1,G8(l,u,g);yo=!!(l.flags&131072)}else yo=!1,er&&u.flags&1048576&&yx(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;yf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);jl(u,g),C=$g(null,u,x,l,C,g);var j=Lg();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,Jn(x)?(j=!0,Zn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,Ig(u),C.updater=uf,u.stateNode=C,C._reactInternals=u,Og(u,x,l,g),u=Gg(null,u,x,!0,j,g)):(u.tag=0,er&&j&&bg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(yf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=iR(x),l=hs(x,l),C){case 0:u=Ug(null,u,x,l,g);break e;case 1:u=h2(null,u,x,l,g);break e;case 11:u=c2(null,u,x,l,g);break e;case 14:u=u2(null,u,x,hs(x.type,l),g);break e}throw Error(i(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),Ug(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),h2(l,u,x,C,g);case 3:e:{if(m2(u),l===null)throw Error(i(387));x=u.pendingProps,j=u.memoizedState,C=j.element,Px(l,u),cf(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&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=Rl(Error(i(423)),u),u=g2(l,u,x,g,C);break e}else if(x!==C){C=Rl(Error(i(424)),u),u=g2(l,u,x,g,C);break e}else for(ke&&(Vo=ee(u.stateNode.containerInfo),No=u,er=!0,ps=null,tu=!1),g=Tx(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(_l(),x===C){u=xa(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return Nx(u),l===null&&wg(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),p2(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&wg(u),null;case 13:return v2(l,u,g);case 4:return Rg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=Il(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:hs(x,C),c2(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,kx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=xa(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 ue=Z.firstContext;ue!==null;){if(ue.context===x){if(j.tag===1){ue=ya(-1,g&-g),ue.tag=2;var Ne=j.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}j.lanes|=g,ue=j.alternate,ue!==null&&(ue.lanes|=g),Pg(j.return,g,u),Z.lanes|=g;break}ue=ue.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(i(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,jl(u,g),C=Uo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=hs(x,u.pendingProps),C=hs(x.type,C),u2(l,u,x,C,g);case 15:return d2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),yf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,jl(u,g),Rx(u,x,C),Og(u,x,C,g),Gg(null,u,x,!0,l,g);case 19:return y2(l,u,g);case 22:return f2(l,u,g)}throw Error(i(156,u.tag))};function W2(l,u){return We(l,u)}function aR(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 Xo(l,u,g,x){return new aR(l,u,g,x)}function g0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function iR(l){if(typeof l=="function")return g0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function oi(l,u){var g=l.alternate;return g===null?(g=Xo(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")g0(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=Xo(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Xo(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Xo(19,g,u,C),l.elementType=k,l.lanes=j,l;case I:return Lf(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 P:N=16,x=null;break e}throw Error(i(130,l==null?l:typeof l,""))}return u=Xo(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Xo(7,l,x,u),l.lanes=g,l}function Lf(l,u,g,x){return l=Xo(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function v0(l,u,g){return l=Xo(6,l,null,u),l.lanes=g,l}function b0(l,u,g){return u=Xo(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function lR(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,ke&&(this.mutableSourceEagerHydrationData=null)}function V2(l,u,g,x,C,j,N,Z,ue){return l=new lR(l,u,g,Z,ue),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Xo(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ig(j),l}function U2(l){if(!l)return jn;l=l._reactInternals;e:{if(D(l)!==l||l.tag!==1)throw Error(i(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Jn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(i(171))}if(l.tag===1){var g=l.type;if(Jn(g))return Rn(l,g,u)}return u}function G2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(i(188)):(l=Object.keys(l).join(","),Error(i(268,l)));return l=Q(u),l===null?null:l.stateNode}function q2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&j>=Qt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||itN){if(!(j!==Qt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtj&&(ue.height+=Qt-j,ue.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:cR,findFiberByHostInstance:l.findFiberByHostInstance||uR,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{Xn=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(i(363));l=s0(l,u);var C=Tt(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=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=eo(),N=ni(C);return g=U2(g),u.context===null?u.context=g:u.pendingContext=g,u=ya(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Za(C,u,N),l!==null&&(Ko(l,C,N,j),lf(l,C,N)),N},n};g8.exports=Vle;var Ule=g8.exports;const Gle=Cd(Ule);var v8={exports:{}},kl={};/** + * @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. + */kl.ConcurrentRoot=1;kl.ContinuousEventPriority=4;kl.DefaultEventPriority=16;kl.DiscreteEventPriority=1;kl.IdleEventPriority=536870912;kl.LegacyRoot=0;v8.exports=kl;var b8=v8.exports;const m_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let g_=!1,v_=!1;const gx=".react-konva-event",qle=`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 +`,Kle=`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 +`,Xle={};function vg(e,t,n=Xle){if(!g_&&"zIndex"in t&&(console.warn(Kle),g_=!0),!v_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(qle),v_=!0)}for(var s in n)if(!m_[s]){var i=s.slice(0,2)==="on",c=n[s]!==t[s];if(i&&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(!m_[s]){var i=s.slice(0,2)==="on",w=n[s]!==t[s];if(i&&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])}!i&&(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+gx,b[d])}function Di(e){if(!vD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const y8={},Yle={};xd.Node.prototype._applyProps=vg;function Qle(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 Jle(e,t,n){let r=xd[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=xd.Group);const o={},s={};for(var i in t){var c=i.slice(0,2)==="on";c?s[i]=t[i]:o[i]=t[i]}const d=new r(o);return vg(d,s),d}function Zle(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function ece(e,t,n){return!1}function tce(e){return e}function nce(){return null}function rce(){return null}function oce(e,t,n,r){return Yle}function sce(){}function ace(e){}function ice(e,t){return!1}function lce(){return y8}function cce(){return y8}const uce=setTimeout,dce=clearTimeout,fce=-1;function pce(e,t){return!1}const hce=!1,mce=!0,gce=!0;function vce(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function bce(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function x8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function yce(e,t,n){x8(e,t,n)}function xce(e,t){t.destroy(),t.off(gx),Di(e)}function wce(e,t){t.destroy(),t.off(gx),Di(e)}function Sce(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function Cce(e,t,n){}function kce(e,t,n,r,o){vg(e,o,r)}function _ce(e){e.hide(),Di(e)}function Pce(e){}function jce(e,t){(t.visible==null||t.visible)&&e.show()}function Ice(e,t){}function Ece(e){}function Oce(){}const Rce=()=>b8.DefaultEventPriority,Mce=Object.freeze(Object.defineProperty({__proto__:null,appendChild:vce,appendChildToContainer:bce,appendInitialChild:Qle,cancelTimeout:dce,clearContainer:Ece,commitMount:Cce,commitTextUpdate:Sce,commitUpdate:kce,createInstance:Jle,createTextInstance:Zle,detachDeletedInstance:Oce,finalizeInitialChildren:ece,getChildHostContext:cce,getCurrentEventPriority:Rce,getPublicInstance:tce,getRootHostContext:lce,hideInstance:_ce,hideTextInstance:Pce,idlePriority:Op.unstable_IdlePriority,insertBefore:x8,insertInContainerBefore:yce,isPrimaryRenderer:hce,noTimeout:fce,now:Op.unstable_now,prepareForCommit:nce,preparePortalMount:rce,prepareUpdate:oce,removeChild:xce,removeChildFromContainer:wce,resetAfterCommit:sce,resetTextContent:ace,run:Op.unstable_runWithPriority,scheduleTimeout:uce,shouldDeprioritizeSubtree:ice,shouldSetTextContent:pce,supportsMutation:gce,unhideInstance:jce,unhideTextInstance:Ice,warnsIfNotActing:mce},Symbol.toStringTag,{value:"Module"}));var Dce=Object.defineProperty,Ace=Object.defineProperties,Tce=Object.getOwnPropertyDescriptors,b_=Object.getOwnPropertySymbols,Nce=Object.prototype.hasOwnProperty,$ce=Object.prototype.propertyIsEnumerable,y_=(e,t,n)=>t in e?Dce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x_=(e,t)=>{for(var n in t||(t={}))Nce.call(t,n)&&y_(e,n,t[n]);if(b_)for(var n of b_(t))$ce.call(t,n)&&y_(e,n,t[n]);return e},Lce=(e,t)=>Ace(e,Tce(t));function w8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=w8(r,t,n);if(o)return o;r=t?null:r.sibling}}function S8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const vx=S8(f.createContext(null));class C8 extends f.Component{render(){return f.createElement(vx.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:w_,ReactCurrentDispatcher:S_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function zce(){const e=f.useContext(vx);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[w_==null?void 0:w_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=w8(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 Bce(){var e,t;const n=zce(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==vx&&!r.has(s)&&r.set(s,(t=S_==null?void 0:S_.current)==null?void 0:t.readContext(S8(s))),o=o.return}return r}function Fce(){const e=Bce();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,Lce(x_({},r),{value:e.get(n)}))),t=>f.createElement(C8,x_({},t))),[e])}function Hce(e){const t=W.useRef({});return W.useLayoutEffect(()=>{t.current=e}),W.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const Wce=e=>{const t=W.useRef(),n=W.useRef(),r=W.useRef(),o=Hce(e),s=Fce(),i=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return W.useLayoutEffect(()=>(n.current=new xd.Stage({width:e.width,height:e.height,container:t.current}),i(n.current),r.current=Fu.createContainer(n.current,b8.LegacyRoot,!1,null),Fu.updateContainer(W.createElement(s,{},e.children),r.current),()=>{xd.isBrowser&&(i(null),Fu.updateContainer(null,r.current,null),n.current.destroy())}),[]),W.useLayoutEffect(()=>{i(n.current),vg(n.current,e,o),Fu.updateContainer(W.createElement(s,{},e.children),r.current,null)}),W.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})},Ru="Layer",Wa="Group",da="Rect",Hi="Circle",um="Line",k8="Image",Vce="Transformer",Fu=Gle(Mce);Fu.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:W.version,rendererPackageName:"react-konva"});const Uce=W.forwardRef((e,t)=>W.createElement(C8,{},W.createElement(Wce,{...e,forwardedRef:t}))),Gce=be([mn,lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),qce=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=B(Gce);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Xp(!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(m5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Xp(!1))},[e,r,n,t])}},Kce=be([mn,Kn,lr],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:i,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Zt}}),Xce=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:i}=B(Kce),c=f.useRef(null),d=g5(),p=()=>e(pb());tt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(Id(!s));tt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),tt(["n"],()=>{e(nd(!i))},{enabled:!0,preventDefault:!0},[i]),tt("esc",()=>{e(bD())},{enabled:()=>!0,preventDefault:!0}),tt("shift+h",()=>{e(yD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),tt(["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])},bx=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}},_8=()=>{const e=te(),t=Ta(),n=g5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=xD.pixelRatio,[s,i,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;d&&s&&i&&c&&e(wD({r:s,g:i,b:c,a:d}))},commitColorUnderCursor:()=>{e(SD())}}},Yce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Qce=e=>{const t=te(),{tool:n,isStaging:r}=B(Yce),{commitColorUnderCursor:o}=_8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Xp(!0));return}if(n==="colorPicker"){o();return}const i=bx(e.current);i&&(s.evt.preventDefault(),t(v5(!0)),t(CD([i.x,i.y])))},[e,n,r,t,o])},Jce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Zce=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:i}=B(Jce),{updateColorUnderCursor:c}=_8();return f.useCallback(()=>{if(!e.current)return;const d=bx(e.current);if(d){if(r(kD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||i||(t.current=!0,r(b5([d.x,d.y])))}},[t,r,o,i,n,e,s,c])},eue=()=>{const e=te();return f.useCallback(()=>{e(_D())},[e])},tue=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),nue=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=B(tue);return f.useCallback(()=>{if(r==="move"||s){n(Xp(!1));return}if(!t.current&&o&&e.current){const i=bx(e.current);if(!i)return;n(b5([i.x,i.y]))}else t.current=!1;n(v5(!1))},[t,n,o,s,e,r])},rue=be([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),oue=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=B(rue);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 c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*ID**c,jD,PD),p={x:s.x-i.x*d,y:s.y-i.y*d};t(ED(d)),t(m5(p))},[e,n,r,t])},sue=be(mn,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:Zt}}),aue=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(sue);return a.jsxs(Wa,{children:[a.jsx(da,{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(da,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},iue=be([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),lue=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=B(iue),{colorMode:r}=Ds(),[o,s]=f.useState([]),[i,c]=Lc("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,P=k.y2-k.y1,I=Math.round(_/64)+1,E=Math.round(P/64)+1,O=Ow(0,I).map(M=>a.jsx(um,{x:k.x1+M*64,y:k.y1,points:[0,0,0,P],stroke:r==="dark"?i:c,strokeWidth:1},`x_${M}`)),R=Ow(0,E).map(M=>a.jsx(um,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?i:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,i,c]),a.jsx(Wa,{children:o})},cue=be([vo,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:Zt}}),uue=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=B(cue),[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(k8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},due=be(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),C_=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),fue=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(due),[i,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(i)return;const v=new Image;v.onload=()=>{c(v)},v.src=C_(n)},[i,n]),f.useEffect(()=>{i&&(i.src=C_(n))},[i,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!i||!Nl(r.x)||!Nl(r.y)||!Nl(s)||!Nl(o.width)||!Nl(o.height)?null:a.jsx(da,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:i,fillPatternOffsetY:Nl(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},pue=be([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),hue=e=>{const{...t}=e,{objects:n}=B(pue);return a.jsx(Wa,{listening:!1,...t,children:n.filter(OD).map((r,o)=>a.jsx(um,{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,mue=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[i,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 gue=Cd(mue),P8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:i,isError:c}=Is(s??ro.skipToken),[d]=gue((i==null?void 0:i.image_url)??"",RD.get()?"use-credentials":"anonymous");return c?a.jsx(da,{x:r,y:o,width:t,height:n,fill:"red"}):a.jsx(k8,{x:r,y:o,image:d,listening:!1})},vue=be([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),bue=()=>{const{objects:e}=B(vue);return e?a.jsx(Wa,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(B_(t))return a.jsx(P8,{canvasImage:t},n);if(MD(t)){const r=a.jsx(um,{points:t.points,stroke:t.color?rl(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(Wa,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(DD(t))return a.jsx(da,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(AD(t))return a.jsx(da,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},yue=be([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:i,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:i,height:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),xue=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:i,width:c,height:d}=B(yue);return a.jsxs(Wa,{...t,children:[r&&n&&a.jsx(P8,{canvasImage:n}),o&&a.jsxs(Wa,{children:[a.jsx(da,{x:s,y:i,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),a.jsx(da,{x:s,y:i,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},wue=be([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:Zt}}),Sue=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=B(wue),{t:i}=ye(),c=f.useCallback(()=>{e(_w(!0))},[e]),d=f.useCallback(()=>{e(_w(!1))},[e]);tt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),tt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),tt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(TD()),[e]),h=f.useCallback(()=>e(ND()),[e]),m=f.useCallback(()=>e($D(s)),[e,s]),{data:v}=Is((r==null?void 0:r.imageName)??ro.skipToken);return r?a.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:a.jsxs(rr,{isAttached:!0,children:[a.jsx(ze,{tooltip:`${i("unifiedCanvas.previous")} (Left)`,"aria-label":`${i("unifiedCanvas.previous")} (Left)`,icon:a.jsx(DY,{}),onClick:p,colorScheme:"accent",isDisabled:t}),a.jsx(ze,{tooltip:`${i("unifiedCanvas.next")} (Right)`,"aria-label":`${i("unifiedCanvas.next")} (Right)`,icon:a.jsx(AY,{}),onClick:h,colorScheme:"accent",isDisabled:n}),a.jsx(ze,{tooltip:`${i("unifiedCanvas.accept")} (Enter)`,"aria-label":`${i("unifiedCanvas.accept")} (Enter)`,icon:a.jsx($Y,{}),onClick:m,colorScheme:"accent"}),a.jsx(ze,{tooltip:i("unifiedCanvas.showHide"),"aria-label":i("unifiedCanvas.showHide"),"data-alert":!o,icon:o?a.jsx(UY,{}):a.jsx(VY,{}),onClick:()=>e(LD(!o)),colorScheme:"accent"}),a.jsx(ze,{tooltip:i("unifiedCanvas.saveToGallery"),"aria-label":i("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:a.jsx(Km,{}),onClick:()=>{v&&e(zD({imageDTO:v}))},colorScheme:"accent"}),a.jsx(ze,{tooltip:i("unifiedCanvas.discardAll"),"aria-label":i("unifiedCanvas.discardAll"),icon:a.jsx(yl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(BD()),colorScheme:"error",fontSize:20})]})}):null},Cue=()=>{const e=B(c=>c.canvas.layerState),t=B(c=>c.canvas.boundingBoxCoordinates),n=B(c=>c.canvas.boundingBoxDimensions),r=B(c=>c.canvas.isMaskEnabled),o=B(c=>c.canvas.shouldPreserveMaskedArea),[s,i]=f.useState();return f.useEffect(()=>{i(void 0)},[e,t,n,r,o]),Lee(async()=>{const c=await FD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=HD(d,p);i(h)},1e3,[e,t,n,r,o]),s},kue={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},_ue=()=>{const e=Cue();return a.jsxs(Oe,{children:["Mode: ",e?kue[e]:"..."]})},nc=e=>Math.round(e*100)/100,Pue=be([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${nc(n)}, ${nc(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function jue(){const{cursorCoordinatesString:e}=B(Pue),{t}=ye();return a.jsx(Oe,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const Q1="var(--invokeai-colors-warning-500)",Iue=be([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:i},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||i<512)||w==="manual"&&c*d<512*512)&&(S=Q1),{activeLayerColor:b==="mask"?Q1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${nc(p)}, ${nc(h)})`,boundingBoxDimensionsString:`${s}×${i}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${nc(r)}×${nc(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),Eue=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:i,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=B(Iue),{t:b}=ye();return a.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:[a.jsx(_ue,{}),a.jsx(Oe,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),a.jsx(Oe,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&a.jsx(Oe,{style:{color:Q1},children:"Preserve Masked Area: On"}),m&&a.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),i&&a.jsx(Oe,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&a.jsxs(a.Fragment,{children:[a.jsx(Oe,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),a.jsx(Oe,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),a.jsx(Oe,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),a.jsx(jue,{})]})]})},Oue=be([at],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:i,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:i,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Rue=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:i,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=B(Oue),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!w.current||(b.current.nodes([w.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const k=64*d;tt("N",()=>{n(nd(!p))});const _=f.useCallback(F=>{if(!p){n(C0({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const V=F.target.x(),q=F.target.y(),G=ws(V,64),T=ws(q,64);F.target.x(G),F.target.y(T),n(C0({x:G,y:T}))},[n,p]),P=f.useCallback(()=>{if(!w.current)return;const F=w.current,V=F.scaleX(),q=F.scaleY(),G=Math.round(F.width()*V),T=Math.round(F.height()*q),z=Math.round(F.x()),$=Math.round(F.y());if(v){const Y=ws(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:T}));n(C0({x:p?Mu(z,64):z,y:p?Mu($,64):$})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,V,q)=>{const G=F.x%k,T=F.y%k;return{x:Mu(V.x,k)+G,y:Mu(V.y,k)+T}},[k]),E=()=>{n(k0(!0))},O=()=>{n(k0(!1)),n(_0(!1)),n(Wf(!1)),S(!1)},R=()=>{n(_0(!0))},M=()=>{n(k0(!1)),n(_0(!1)),n(Wf(!1)),S(!1)},D=()=>{S(!0)},A=()=>{!c&&!i&&S(!1)},L=()=>{n(Wf(!0))},Q=()=>{n(Wf(!1))};return a.jsxs(Wa,{...t,children:[a.jsx(da,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:L,onMouseOver:L,onMouseLeave:Q,onMouseOut:Q}),a.jsx(da,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:D,onMouseEnter:D,onMouseUp:M,onTransform:P,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}),a.jsx(Vce,{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:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Mue=be(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:i,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:Pw/m,colorPickerInnerRadius:(Pw-Lv+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:i,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Due=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:i,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=B(Mue);return d?a.jsxs(Wa,{listening:!1,...y,...t,children:[i==="colorPicker"?a.jsxs(a.Fragment,{children:[a.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Lv,strokeScaleEnabled:!1}),a.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Lv,strokeScaleEnabled:!1})]}):a.jsxs(a.Fragment,{children:[a.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:i==="eraser"?"destination-out":"source-out"}),a.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),a.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),a.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),a.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},Aue=be([mn,lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:i,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&&!i&&(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}},Ke),Tue=je(Uce,{shouldForwardProp:e=>!["sx"].includes(e)}),k_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:i,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=B(Aue);Xce();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{VD(A),v.current=A},[]),y=f.useCallback(A=>{WD(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=oue(v),P=Qce(v),I=nue(v,k),E=Zce(v,k,S),O=eue(),{handleDragStart:R,handleDragMove:M,handleDragEnd:D}=qce();return a.jsx(H,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:a.jsxs(Oe,{sx:{position:"relative"},children:[a.jsxs(Tue,{tabIndex:-1,ref:w,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:c,y:c},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:D,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[a.jsx(Ru,{id:"grid",visible:r,children:a.jsx(lue,{})}),a.jsx(Ru,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:a.jsx(bue,{})}),a.jsxs(Ru,{id:"mask",visible:e,listening:!1,children:[a.jsx(hue,{visible:!0,listening:!1}),a.jsx(fue,{listening:!1})]}),a.jsx(Ru,{children:a.jsx(aue,{})}),a.jsxs(Ru,{id:"preview",imageSmoothingEnabled:m,children:[!p&&a.jsx(Due,{visible:d!=="move",listening:!1}),a.jsx(xue,{visible:p}),h&&a.jsx(uue,{}),a.jsx(Rue,{visible:n&&!p})]})]}),a.jsx(Eue,{}),a.jsx(Sue,{})]})})},Nue=be(mn,cY,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),__=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=B(Nue),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:i,clientHeight:c}=s.current;e(UD({width:i,height:c})),e(o?GD():vm()),e(F_(!1))},0)},[e,r,t,n,o]),a.jsx(H,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:a.jsx(hl,{thickness:"2px",size:"xl"})})};function j8(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 $ue=je(l8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),wv={width:6,height:6,borderColor:"base.100"},Lue=e=>{const{styleClass:t="",...n}=e;return a.jsx($ue,{sx:{".react-colorful__hue-pointer":wv,".react-colorful__saturation-pointer":wv,".react-colorful__alpha-pointer":wv},className:t,...n})},dm=f.memo(Lue),zue=be([mn,lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),Bue=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:i}=B(zue);tt(["q"],()=>{c()},{enabled:()=>!i,preventDefault:!0},[n]),tt(["shift+c"],()=>{d()},{enabled:()=>!i,preventDefault:!0},[]),tt(["h"],()=>{p()},{enabled:()=>!i,preventDefault:!0},[o]);const c=()=>{e(Yp(n==="mask"?"base":"mask"))},d=()=>e(pb()),p=()=>e(Id(!o));return a.jsx(xl,{triggerComponent:a.jsx(rr,{children:a.jsx(ze,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:a.jsx(eQ,{}),isChecked:n==="mask",isDisabled:i})}),children:a.jsxs(H,{direction:"column",gap:2,children:[a.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),a.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(y5(h.target.checked))}),a.jsx(dm,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(x5(h))}),a.jsxs(Yt,{size:"sm",leftIcon:a.jsx(Oo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Fue=be([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function I8(){const e=te(),{canRedo:t,activeTabName:n}=B(Fue),{t:r}=ye(),o=()=>{e(qD())};return tt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),a.jsx(ze,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:a.jsx(rQ,{}),onClick:o,isDisabled:!t})}const E8=()=>{const e=B(lr),t=te(),{t:n}=ye();return a.jsxs(fx,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(KD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:a.jsx(Yt,{size:"sm",leftIcon:a.jsx(Oo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),a.jsx("br",{}),a.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Hue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:i,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:i,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=B(Hue);tt(["n"],()=>{e(nd(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(nd(v.target.checked));return a.jsx(xl,{isLazy:!1,triggerComponent:a.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(Py,{})}),children:a.jsxs(H,{direction:"column",gap:2,children:[a.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(w5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:i,onChange:v=>e(S5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),a.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(C5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(k5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(_5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(P5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(j5(v.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(I5(v.target.checked))}),a.jsx(E8,{})]})})},Vue=be([mn,lr,vo],(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:Zt}}),Uue=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=B(Vue),{t:s}=ye();tt(["b"],()=>{i()},{enabled:()=>!o,preventDefault:!0},[]),tt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),tt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),tt(["BracketLeft"],()=>{e(oc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["BracketRight"],()=>{e(oc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["Shift+BracketLeft"],()=>{e(sc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),tt(["Shift+BracketRight"],()=>{e(sc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const i=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(E5()),h=()=>e(O5());return a.jsxs(rr,{isAttached:!0,children:[a.jsx(ze,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:a.jsx(sE,{}),isChecked:t==="brush"&&!o,onClick:i,isDisabled:o}),a.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:a.jsx(JI,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),a.jsx(ze,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(tE,{}),isDisabled:o,onClick:p}),a.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),a.jsx(ze,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(eE,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),a.jsx(xl,{triggerComponent:a.jsx(ze,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:a.jsx(ky,{})}),children:a.jsxs(H,{minWidth:60,direction:"column",gap:4,width:"100%",children:[a.jsx(H,{gap:4,justifyContent:"space-between",children:a.jsx(jt,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(oc(m)),sliderNumberInputProps:{max:500}})}),a.jsx(dm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(sc(m))})]})})]})},Gue=be([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function O8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=B(Gue),o=()=>{e(XD())};return tt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),a.jsx(ze,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:a.jsx(_y,{}),onClick:o,isDisabled:!n})}const que=be([vo,mn,lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:i,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:i,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),Kue=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=B(que),i=Ta(),{t:c}=ye(),{isClipboardAPIAvailable:d}=Yy(),{getUploadButtonProps:p,getUploadInputProps:h}=ag({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});tt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),tt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[i]),tt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[i,t]),tt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[i,t]),tt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[i,t,d]),tt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[i,t]);const m=()=>e(ea("move")),v=j8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Ta();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(R5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(lb()),e(vm())},y=()=>{e(M5())},S=()=>{e(D5())},k=()=>{d&&e(A5())},_=()=>{e(T5())},P=I=>{const E=I;e(Yp(E)),E==="mask"&&!r&&e(Id(!0))};return a.jsxs(H,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[a.jsx(Oe,{w:24,children:a.jsx(Fr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:N5,onChange:P,disabled:n})}),a.jsx(Bue,{}),a.jsx(Uue,{}),a.jsxs(rr,{isAttached:!0,children:[a.jsx(ze,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:a.jsx(XI,{}),isChecked:s==="move"||n,onClick:m}),a.jsx(ze,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:a.jsx(QI,{}),onClick:v})]}),a.jsxs(rr,{isAttached:!0,children:[a.jsx(ze,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(rE,{}),onClick:y,isDisabled:n}),a.jsx(ze,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(Km,{}),onClick:S,isDisabled:n}),d&&a.jsx(ze,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(Kc,{}),onClick:k,isDisabled:n}),a.jsx(ze,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(Cy,{}),onClick:_,isDisabled:n})]}),a.jsxs(rr,{isAttached:!0,children:[a.jsx(O8,{}),a.jsx(I8,{})]}),a.jsxs(rr,{isAttached:!0,children:[a.jsx(ze,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:a.jsx(Kd,{}),isDisabled:n,...p()}),a.jsx("input",{...h()}),a.jsx(ze,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:a.jsx(Oo,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),a.jsx(rr,{isAttached:!0,children:a.jsx(Wue,{})})]})};function Xue(){const e=te(),t=B(o=>o.canvas.brushSize),{t:n}=ye(),r=B(lr);return tt(["BracketLeft"],()=>{e(oc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),tt(["BracketRight"],()=>{e(oc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),a.jsx(jt,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(oc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Yue=be([mn,lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Que(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=B(Yue),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 tt(["shift+BracketLeft"],()=>{e(sc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+BracketRight"],()=>{e(sc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),a.jsx(xl,{triggerComponent:a.jsx(Oe,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:a.jsxs(H,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&a.jsx(dm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:i=>e(sc(i))}),r==="mask"&&a.jsx(dm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:i=>e(x5(i))})]})})}function R8(){return a.jsxs(H,{columnGap:4,alignItems:"center",children:[a.jsx(Xue,{}),a.jsx(Que,{})]})}function Jue(){const e=te(),t=B(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return a.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(P5(r.target.checked))})}function Zue(){return a.jsxs(H,{gap:4,alignItems:"center",children:[a.jsx(R8,{}),a.jsx(Jue,{})]})}function ede(){const e=te(),{t}=ye(),n=()=>e(pb());return a.jsx(Yt,{size:"sm",leftIcon:a.jsx(Oo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function tde(){const e=B(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(Id(!e));return a.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function nde(){const e=te(),{t}=ye(),n=B(r=>r.canvas.shouldPreserveMaskedArea);return a.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(y5(r.target.checked))})}function rde(){return a.jsxs(H,{gap:4,alignItems:"center",children:[a.jsx(R8,{}),a.jsx(tde,{}),a.jsx(nde,{}),a.jsx(ede,{})]})}function ode(){const e=B(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return a.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(C5(r.target.checked))})}function sde(){const e=B(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return a.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(S5(r.target.checked))})}function ade(){const e=B(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(nd(o.target.checked));return a.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function ide(){return a.jsxs(H,{alignItems:"center",gap:4,children:[a.jsx(sde,{}),a.jsx(ade,{}),a.jsx(ode,{})]})}const lde=be([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function cde(){const{tool:e,layer:t}=B(lde);return a.jsxs(H,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(Zue,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&a.jsx(rde,{}),e=="move"&&a.jsx(ide,{})]})}const ude=be([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:Zt}}),dde=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:i}=B(ude);return a.jsx(xl,{isLazy:!1,triggerComponent:a.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:a.jsx(Py,{})}),children:a.jsxs(H,{direction:"column",gap:2,children:[a.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(w5(c.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(k5(c.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(_5(c.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(j5(c.target.checked))}),a.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:i,onChange:c=>e(I5(c.target.checked))}),a.jsx(E8,{})]})})};function fde(){const e=B(lr),t=Ta(),{isClipboardAPIAvailable:n}=Yy(),r=B(c=>c.system.isProcessing),o=te(),{t:s}=ye();tt(["meta+c","ctrl+c"],()=>{i()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const i=f.useCallback(()=>{n&&o(A5())},[o,n]);return n?a.jsx(ze,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:a.jsx(Kc,{}),onClick:i,isDisabled:e}):null}function pde(){const e=te(),{t}=ye(),n=Ta(),r=B(lr);tt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(T5())};return a.jsx(ze,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:a.jsx(Cy,{}),onClick:o,isDisabled:r})}function hde(){const e=B(lr),{getUploadButtonProps:t,getUploadInputProps:n}=ag({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return a.jsxs(a.Fragment,{children:[a.jsx(ze,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:a.jsx(Kd,{}),isDisabled:e,...t()}),a.jsx("input",{...n()})]})}const mde=be([mn,lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function gde(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=B(mde),s=()=>{e(Yp(n==="mask"?"base":"mask"))};tt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const i=c=>{const d=c;e(Yp(d)),d==="mask"&&!r&&e(Id(!0))};return a.jsx(Fr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:N5,onChange:i,disabled:o,w:"full"})}function vde(){const e=te(),{t}=ye(),n=Ta(),r=B(lr),o=B(i=>i.system.isProcessing);tt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(M5())};return a.jsx(ze,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:a.jsx(rE,{}),onClick:s,isDisabled:r})}function bde(){const e=B(s=>s.canvas.tool),t=B(lr),n=te(),{t:r}=ye();tt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return a.jsx(ze,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:a.jsx(XI,{}),isChecked:e==="move"||t,onClick:o})}function yde(){const e=B(s=>s.ui.shouldPinParametersPanel),t=B(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(hb(!0)),e&&n(_o())};return!e||!t?a.jsxs(H,{flexDirection:"column",gap:2,children:[a.jsx(ze,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:a.jsx(ky,{})}),a.jsx(H,{children:a.jsx(nx,{iconButton:!0})}),a.jsx(H,{children:a.jsx(cg,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function xde(){const e=te(),{t}=ye(),n=B(lr),r=()=>{e(lb()),e(vm())};return a.jsx(ze,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:a.jsx(Oo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function wde(){const e=Ta(),t=te(),{t:n}=ye();tt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=j8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const i=Ta();if(!i)return;const c=i.getClientRect({skipTransform:!0});t(R5({contentRect:c,shouldScaleTo1:s}))};return a.jsx(ze,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:a.jsx(QI,{}),onClick:r})}function Sde(){const e=B(lr),t=Ta(),n=B(i=>i.system.isProcessing),r=te(),{t:o}=ye();tt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(D5())};return a.jsx(ze,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:a.jsx(Km,{}),onClick:s,isDisabled:e})}const Cde=be([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),kde=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=B(Cde);tt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),tt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["c"],()=>{i()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),tt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),i=()=>e(ea("colorPicker")),c=()=>e(E5()),d=()=>e(O5());return a.jsxs(H,{flexDirection:"column",gap:2,children:[a.jsxs(rr,{children:[a.jsx(ze,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:a.jsx(sE,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),a.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:a.jsx(JI,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),a.jsxs(rr,{children:[a.jsx(ze,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:a.jsx(tE,{}),isDisabled:r,onClick:c}),a.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:a.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),a.jsx(ze,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:a.jsx(eE,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:i,width:"max-content"})]})},_de=()=>a.jsxs(H,{flexDirection:"column",rowGap:2,width:"min-content",children:[a.jsx(gde,{}),a.jsx(kde,{}),a.jsxs(H,{gap:2,children:[a.jsx(bde,{}),a.jsx(wde,{})]}),a.jsxs(H,{columnGap:2,children:[a.jsx(vde,{}),a.jsx(Sde,{})]}),a.jsxs(H,{columnGap:2,children:[a.jsx(fde,{}),a.jsx(pde,{})]}),a.jsxs(H,{gap:2,children:[a.jsx(O8,{}),a.jsx(I8,{})]}),a.jsxs(H,{gap:2,children:[a.jsx(hde,{}),a.jsx(xde,{})]}),a.jsx(dde,{}),a.jsx(yde,{})]}),Pde=be([mn,Ua],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ke),Sv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},jde=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=B(Pde),{isOver:r,setNodeRef:o,active:s}=rb({id:"unifiedCanvas",data:Sv});return f.useLayoutEffect(()=>{const i=()=>{e(_o())};return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),n?a.jsx(Oe,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(H,{sx:{w:"full",h:"full",gap:4},children:[a.jsx(_de,{}),a.jsxs(H,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[a.jsx(cde,{}),a.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(__,{}):a.jsx(k_,{}),Fp(Sv,s)&&a.jsx(tm,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):a.jsx(Oe,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:a.jsxs(H,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[a.jsx(Kue,{}),a.jsx(H,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:a.jsxs(Oe,{sx:{w:"full",h:"full",position:"relative"},children:[t?a.jsx(__,{}):a.jsx(k_,{}),Fp(Sv,s)&&a.jsx(tm,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},Ide=f.memo(jde),Ede=be(at,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ke),Ode=()=>{const{shouldUseSliders:e,activeLabel:t}=B(Ede);return a.jsx(bo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:a.jsxs(H,{sx:{flexDirection:"column",gap:3},children:[e?a.jsxs(a.Fragment,{children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(cm,{})]}):a.jsxs(a.Fragment,{children:[a.jsxs(H,{gap:3,children:[a.jsx(ia,{}),a.jsx(ca,{}),a.jsx(aa,{})]}),a.jsx(la,{}),a.jsx(Oe,{pt:2,children:a.jsx(ua,{})}),a.jsx(cm,{})]}),a.jsx(qO,{})]})})},Rde=f.memo(Ode),M8=()=>a.jsxs(a.Fragment,{children:[a.jsx(dx,{}),a.jsx(Zc,{}),a.jsx(Rde,{}),a.jsx(Jc,{}),a.jsx(Qc,{}),a.jsx(Yc,{}),a.jsx(ux,{}),a.jsx(m8,{}),a.jsx(h8,{}),a.jsx(cx,{})]}),Mde=()=>{const e=B(t=>t.generation.model);return a.jsxs(H,{sx:{gap:4,w:"full",h:"full"},children:[a.jsx(lx,{children:e&&e.base_model==="sdxl"?a.jsx(Hle,{}):a.jsx(M8,{})}),a.jsx(Ide,{})]})},Dde=f.memo(Mde),Ade=[{id:"txt2img",translationKey:"common.txt2img",icon:a.jsx(fo,{as:GY,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(fle,{})},{id:"img2img",translationKey:"common.img2img",icon:a.jsx(fo,{as:Rc,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(dse,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:a.jsx(fo,{as:nte,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(Dde,{})},{id:"nodes",translationKey:"common.nodes",icon:a.jsx(fo,{as:tte,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(lle,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:a.jsx(fo,{as:BY,sx:{boxSize:6,pointerEvents:"none"}}),content:a.jsx(dae,{})}],Tde=be([bO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Ade.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),Nde=350,Cv=20,D8=["modelManager"],$de=()=>{const e=B(YD),t=B(Kn),n=B(Tde),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=B(y=>y.ui),{t:i}=ye(),c=te();tt("f",()=>{c(QD()),(r||o)&&c(_o())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(_o())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>a.jsx(vn,{hasArrow:!0,label:String(i(y.translationKey)),placement:"end",children:a.jsxs(_c,{onClick:p,children:[a.jsx(Z5,{children:String(i(y.translationKey))}),y.icon]})},y.id)),[n,i,p]),m=f.useMemo(()=>n.map(y=>a.jsx(zm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=_te(Nde,Cv,"app"),w=f.useCallback(y=>{const S=JD[y];S&&c(Ql(S))},[c]);return a.jsxs(Hd,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[a.jsxs(Wd,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,a.jsx(ml,{}),a.jsx(ite,{})]}),a.jsxs(tx,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[a.jsx(yd,{id:"main",children:a.jsx(Bm,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!D8.includes(t)&&a.jsxs(a.Fragment,{children:[a.jsx(WO,{}),a.jsx(yd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>Cv&&b<100?b:Cv,minSize:b,maxSize:50,children:a.jsx(hO,{})})]})]})]})},Lde=f.memo($de),zde=be([Kn,Ua],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:D8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Bde=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=B(zde),r=te(),o=()=>{r($v(!0)),t&&r(_o())};return n?a.jsx(ze,{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(rte,{})}):null},Fde=f.memo(Bde),kv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Hde=be([Ua,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",i=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:i}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wde=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=B(Hde),s=()=>{e(hb(!0)),o&&e(_o())};return r?a.jsxs(H,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[a.jsx(ze,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:kv,children:a.jsx(ky,{})}),n&&a.jsxs(a.Fragment,{children:[a.jsx(nx,{iconButton:!0,sx:kv}),a.jsx(cg,{sx:kv})]})]}):null},Vde=f.memo(Wde),Ude=be([Ua,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ke),Gde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=B(Ude),o=()=>{e(hb(!1))},s=B(c=>c.generation.model),i=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?a.jsx(f8,{}):a.jsx(p8,{}):r==="img2img"?s&&s.base_model==="sdxl"?a.jsx(FO,{}):a.jsx(KO,{}):r==="unifiedCanvas"?a.jsx(M8,{}):null,[r,s]);return t?null:a.jsx(GI,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:a.jsxs(H,{sx:{flexDir:"column",h:"full",w:ox,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[a.jsxs(H,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[a.jsx(gO,{}),a.jsx(HO,{})]}),a.jsx(H,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:i})]})})},qde=f.memo(Gde),Kde=be([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:Zt}}),Xde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=B(Kde),o=B(Kn);return tt("*",()=>{mP("shift")?!t&&e(Io(!0)):t&&e(Io(!1))},{keyup:!0,keydown:!0},[t]),tt("o",()=>{e(ZD()),o==="unifiedCanvas"&&n&&e(_o())}),tt(["shift+o"],()=>{e(e9()),o==="unifiedCanvas"&&e(_o())}),tt("g",()=>{e(t9()),o==="unifiedCanvas"&&r&&e(_o())}),tt(["shift+g"],()=>{e(G_()),o==="unifiedCanvas"&&e(_o())}),tt("1",()=>{e(Ql("txt2img"))}),tt("2",()=>{e(Ql("img2img"))}),tt("3",()=>{e(Ql("unifiedCanvas"))}),tt("4",()=>{e(Ql("nodes"))}),null},Yde=f.memo(Xde),Qde={},Jde=({config:e=Qde,headerComponent:t})=>{const n=B(rP),r=DF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{t5(e)&&(r.info({namespace:"App",config:e},"Received config"),o(n9(e)))},[o,e,r]),f.useEffect(()=>{o(r9())},[o]),a.jsxs(a.Fragment,{children:[a.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[a.jsx(VH,{children:a.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||a.jsx(Zee,{}),a.jsx(H,{sx:{gap:4,w:"full",h:"full"},children:a.jsx(Lde,{})})]})}),a.jsx(Ree,{}),a.jsx(qde,{}),a.jsx(rd,{children:a.jsx(Vde,{})}),a.jsx(rd,{children:a.jsx(Fde,{})})]}),a.jsx(lY,{}),a.jsx(rY,{}),a.jsx(AF,{}),a.jsx(Yde,{})]})},ofe=f.memo(Jde);export{ofe as default}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-bc3e6f20.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-bc3e6f20.js index 73988b1278..cfe460d9af 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-bc3e6f20.js @@ -1,4 +1,4 @@ -import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-deaa1f26.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-b4489359.js";var za=String.raw,Ca=za` +import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-2c171c8f.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-971c0572.js";var za=String.raw,Ca=za` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-2c171c8f.js b/invokeai/frontend/web/dist/assets/index-2c171c8f.js new file mode 100644 index 0000000000..4b38e2b112 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/index-2c171c8f.js @@ -0,0 +1,151 @@ +function $7(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 Ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function dQ(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 F7={exports:{}},D_={},B7={exports:{}},xt={};/** + * @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 dm=Symbol.for("react.element"),fQ=Symbol.for("react.portal"),hQ=Symbol.for("react.fragment"),pQ=Symbol.for("react.strict_mode"),gQ=Symbol.for("react.profiler"),mQ=Symbol.for("react.provider"),yQ=Symbol.for("react.context"),vQ=Symbol.for("react.forward_ref"),_Q=Symbol.for("react.suspense"),bQ=Symbol.for("react.memo"),SQ=Symbol.for("react.lazy"),VP=Symbol.iterator;function wQ(e){return e===null||typeof e!="object"?null:(e=VP&&e[VP]||e["@@iterator"],typeof e=="function"?e:null)}var U7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},z7=Object.assign,V7={};function Kf(e,t,n){this.props=e,this.context=t,this.refs=V7,this.updater=n||U7}Kf.prototype.isReactComponent={};Kf.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")};Kf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function j7(){}j7.prototype=Kf.prototype;function h4(e,t,n){this.props=e,this.context=t,this.refs=V7,this.updater=n||U7}var p4=h4.prototype=new j7;p4.constructor=h4;z7(p4,Kf.prototype);p4.isPureReactComponent=!0;var jP=Array.isArray,G7=Object.prototype.hasOwnProperty,g4={current:null},H7={key:!0,ref:!0,__self:!0,__source:!0};function W7(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)G7.call(t,r)&&!H7.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=$[q];if(0>>1;qi(se,G))lei(W,se)?($[q]=W,$[le]=G,q=le):($[q]=se,$[ie]=G,q=ie);else if(lei(W,G))$[q]=W,$[le]=G,q=le;else break e}}return j}function i($,j){var G=$.sortIndex-j.sortIndex;return G!==0?G:$.id-j.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=[],d=1,f=null,h=3,g=!1,m=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y($){for(var j=n(u);j!==null;){if(j.callback===null)r(u);else if(j.startTime<=$)r(u),j.sortIndex=j.expirationTime,t(l,j);else break;j=n(u)}}function S($){if(v=!1,y($),!m)if(n(l)!==null)m=!0,D(C);else{var j=n(u);j!==null&&U(S,j.startTime-$)}}function C($,j){m=!1,v&&(v=!1,_(P),P=-1),g=!0;var G=h;try{for(y(j),f=n(l);f!==null&&(!(f.expirationTime>j)||$&&!M());){var q=f.callback;if(typeof q=="function"){f.callback=null,h=f.priorityLevel;var Z=q(f.expirationTime<=j);j=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),y(j)}else r(l);f=n(l)}if(f!==null)var ee=!0;else{var ie=n(u);ie!==null&&U(S,ie.startTime-j),ee=!1}return ee}finally{f=null,h=G,g=!1}}var T=!1,E=null,P=-1,k=5,O=-1;function M(){return!(e.unstable_now()-O$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function($){switch(h){case 1:case 2:case 3:var j=3;break;default:j=h}var G=h;h=j;try{return $()}finally{h=G}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function($,j){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var G=h;h=$;try{return j()}finally{h=G}},e.unstable_scheduleCallback=function($,j,G){var q=e.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0q?($.sortIndex=G,t(u,$),n(l)===null&&$===n(u)&&(v?(_(P),P=-1):v=!0,U(S,G-q))):($.sortIndex=Z,t(l,$),m||g||(m=!0,D(C))),$},e.unstable_shouldYield=M,e.unstable_wrapCallback=function($){var j=h;return function(){var G=h;h=j;try{return $.apply(this,arguments)}finally{h=G}}}})(Y7);X7.exports=Y7;var MQ=X7.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 Q7=L,no=MQ;function ge(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"),RC=Object.prototype.hasOwnProperty,NQ=/^[: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]*$/,WP={},qP={};function LQ(e){return RC.call(qP,e)?!0:RC.call(WP,e)?!1:NQ.test(e)?qP[e]=!0:(WP[e]=!0,!1)}function DQ(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 $Q(e,t,n,r){if(t===null||typeof t>"u"||DQ(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 Si(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 Vr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Vr[e]=new Si(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Vr[t]=new Si(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Vr[e]=new Si(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Vr[e]=new Si(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){Vr[e]=new Si(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Vr[e]=new Si(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Vr[e]=new Si(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Vr[e]=new Si(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Vr[e]=new Si(e,5,!1,e.toLowerCase(),null,!1,!1)});var y4=/[\-:]([a-z])/g;function v4(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(y4,v4);Vr[t]=new Si(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(y4,v4);Vr[t]=new Si(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(y4,v4);Vr[t]=new Si(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Vr[e]=new Si(e,1,!1,e.toLowerCase(),null,!1,!1)});Vr.xlinkHref=new Si("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Vr[e]=new Si(e,1,!1,e.toLowerCase(),null,!0,!0)});function _4(e,t,n,r){var i=Vr.hasOwnProperty(t)?Vr[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{zw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Sp(e):""}function FQ(e){switch(e.tag){case 5:return Sp(e.type);case 16:return Sp("Lazy");case 13:return Sp("Suspense");case 19:return Sp("SuspenseList");case 0:case 2:case 15:return e=Vw(e.type,!1),e;case 11:return e=Vw(e.type.render,!1),e;case 1:return e=Vw(e.type,!0),e;default:return""}}function MC(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 Dd:return"Fragment";case Ld:return"Portal";case OC:return"Profiler";case b4:return"StrictMode";case kC:return"Suspense";case IC:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case eM:return(e.displayName||"Context")+".Consumer";case J7:return(e._context.displayName||"Context")+".Provider";case S4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case w4:return t=e.displayName||null,t!==null?t:MC(e.type)||"Memo";case Sl:t=e._payload,e=e._init;try{return MC(e(t))}catch{}}return null}function BQ(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 MC(t);case 8:return t===b4?"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 Xl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nM(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function UQ(e){var t=nM(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 u0(e){e._valueTracker||(e._valueTracker=UQ(e))}function rM(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=nM(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Wv(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 NC(e,t){var n=t.checked;return On({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function XP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Xl(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 iM(e,t){t=t.checked,t!=null&&_4(e,"checked",t,!1)}function LC(e,t){iM(e,t);var n=Xl(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")?DC(e,t.type,n):t.hasOwnProperty("defaultValue")&&DC(e,t.type,Xl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function YP(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 DC(e,t,n){(t!=="number"||Wv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var wp=Array.isArray;function Jd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=c0.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Jp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var kp={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},zQ=["Webkit","ms","Moz","O"];Object.keys(kp).forEach(function(e){zQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),kp[t]=kp[e]})});function lM(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||kp.hasOwnProperty(e)&&kp[e]?(""+t).trim():t+"px"}function uM(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=lM(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var VQ=On({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 BC(e,t){if(t){if(VQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function UC(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 zC=null;function x4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var VC=null,ef=null,tf=null;function JP(e){if(e=pm(e)){if(typeof VC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=z_(t),VC(e.stateNode,e.type,t))}}function cM(e){ef?tf?tf.push(e):tf=[e]:ef=e}function dM(){if(ef){var e=ef,t=tf;if(tf=ef=null,JP(e),t)for(e=0;e>>=0,e===0?32:31-(JQ(e)/eZ|0)|0}var d0=64,f0=4194304;function xp(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 Yv(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=xp(a):(o&=s,o!==0&&(r=xp(o)))}else s=n&~i,s!==0?r=xp(s):o!==0&&(r=xp(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 fm(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ss(t),e[t]=n}function iZ(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=Mp),l8=String.fromCharCode(32),u8=!1;function kM(e,t){switch(e){case"keyup":return IZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function IM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var $d=!1;function NZ(e,t){switch(e){case"compositionend":return IM(t);case"keypress":return t.which!==32?null:(u8=!0,l8);case"textInput":return e=t.data,e===l8&&u8?null:e;default:return null}}function LZ(e,t){if($d)return e==="compositionend"||!k4&&kM(e,t)?(e=RM(),fv=P4=kl=null,$d=!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=h8(n)}}function DM(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?DM(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $M(){for(var e=window,t=Wv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Wv(e.document)}return t}function I4(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 GZ(e){var t=$M(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&DM(n.ownerDocument.documentElement,n)){if(r!==null&&I4(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=p8(n,o);var s=p8(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,Fd=null,KC=null,Lp=null,XC=!1;function g8(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;XC||Fd==null||Fd!==Wv(r)||(r=Fd,"selectionStart"in r&&I4(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}),Lp&&og(Lp,r)||(Lp=r,r=Jv(KC,"onSelect"),0zd||(e.current=t3[zd],t3[zd]=null,zd--)}function ln(e,t){zd++,t3[zd]=e.current,e.current=t}var Yl={},ni=cu(Yl),Li=cu(!1),uc=Yl;function Cf(e,t){var n=e.type.contextTypes;if(!n)return Yl;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 Di(e){return e=e.childContextTypes,e!=null}function t1(){pn(Li),pn(ni)}function w8(e,t,n){if(ni.current!==Yl)throw Error(ge(168));ln(ni,t),ln(Li,n)}function WM(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(ge(108,BQ(e)||"Unknown",i));return On({},n,r)}function n1(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Yl,uc=ni.current,ln(ni,e),ln(Li,Li.current),!0}function x8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=WM(e,t,uc),r.__reactInternalMemoizedMergedChildContext=e,pn(Li),pn(ni),ln(ni,e)):pn(Li),ln(Li,n)}var Ta=null,V_=!1,nx=!1;function qM(e){Ta===null?Ta=[e]:Ta.push(e)}function nJ(e){V_=!0,qM(e)}function du(){if(!nx&&Ta!==null){nx=!0;var e=0,t=Gt;try{var n=Ta;for(Gt=1;e>=s,i-=s,Pa=1<<32-ss(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=h(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),_n&&Bu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=h(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),_n&&Bu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return _n&&Bu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(V){return t(_,V)}),_n&&Bu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Dd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case l0:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Dd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Sl&&O8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=Zh(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Dd?(b=nc(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=bv(y.type,y.key,y.props,null,_.mode,S),S.ref=Zh(_,b,y),S.return=_,_=S)}return s(_);case Ld:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=cx(y,_.mode,S),b.return=_,_=b}return s(_);case Sl:return T=y._init,x(_,b,T(y._payload),S)}if(wp(y))return m(_,b,y,S);if(qh(y))return v(_,b,y,S);_0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=ux(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var Ef=tN(!0),nN=tN(!1),gm={},Vs=cu(gm),ug=cu(gm),cg=cu(gm);function Xu(e){if(e===gm)throw Error(ge(174));return e}function z4(e,t){switch(ln(cg,t),ln(ug,e),ln(Vs,gm),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:FC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=FC(t,e)}pn(Vs),ln(Vs,t)}function Af(){pn(Vs),pn(ug),pn(cg)}function rN(e){Xu(cg.current);var t=Xu(Vs.current),n=FC(t,e.type);t!==n&&(ln(ug,e),ln(Vs,n))}function V4(e){ug.current===e&&(pn(Vs),pn(ug))}var En=cu(0);function l1(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 rx=[];function j4(){for(var e=0;en?n:4,e(!0);var r=ix.transition;ix.transition={};try{e(!1),t()}finally{Gt=n,ix.transition=r}}function _N(){return Mo().memoizedState}function sJ(e,t,n){var r=Vl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},bN(e))SN(t,n);else if(n=QM(e,t,n,r),n!==null){var i=gi();as(n,e,r,i),wN(n,t,r)}}function aJ(e,t,n){var r=Vl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(bN(e))SN(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,fs(a,s)){var l=t.interleaved;l===null?(i.next=i,B4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=QM(e,t,i,r),n!==null&&(i=gi(),as(n,e,r,i),wN(n,t,r))}}function bN(e){var t=e.alternate;return e===Rn||t!==null&&t===Rn}function SN(e,t){Dp=u1=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,T4(e,n)}}var c1={readContext:Io,useCallback:Kr,useContext:Kr,useEffect:Kr,useImperativeHandle:Kr,useInsertionEffect:Kr,useLayoutEffect:Kr,useMemo:Kr,useReducer:Kr,useRef:Kr,useState:Kr,useDebugValue:Kr,useDeferredValue:Kr,useTransition:Kr,useMutableSource:Kr,useSyncExternalStore:Kr,useId:Kr,unstable_isNewReconciler:!1},lJ={readContext:Io,useCallback:function(e,t){return As().memoizedState=[e,t===void 0?null:t],e},useContext:Io,useEffect:I8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,mv(4194308,4,pN.bind(null,t,e),n)},useLayoutEffect:function(e,t){return mv(4194308,4,e,t)},useInsertionEffect:function(e,t){return mv(4,2,e,t)},useMemo:function(e,t){var n=As();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=As();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=sJ.bind(null,Rn,e),[r.memoizedState,e]},useRef:function(e){var t=As();return e={current:e},t.memoizedState=e},useState:k8,useDebugValue:K4,useDeferredValue:function(e){return As().memoizedState=e},useTransition:function(){var e=k8(!1),t=e[0];return e=oJ.bind(null,e[1]),As().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Rn,i=As();if(_n){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),Tr===null)throw Error(ge(349));dc&30||sN(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,I8(lN.bind(null,r,o,e),[e]),r.flags|=2048,hg(9,aN.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=As(),t=Tr.identifierPrefix;if(_n){var n=Ra,r=Pa;n=(r&~(1<<32-ss(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=dg++,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[Is]=t,e[lg]=r,kN(e,t,!1,!1),t.stateNode=e;e:{switch(s=UC(n,r),n){case"dialog":cn("cancel",e),cn("close",e),i=r;break;case"iframe":case"object":case"embed":cn("load",e),i=r;break;case"video":case"audio":for(i=0;iRf&&(t.flags|=128,r=!0,Jh(o,!1),t.lanes=4194304)}else{if(!r)if(e=l1(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Jh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!_n)return Xr(t),null}else 2*jn()-o.renderingStartTime>Rf&&n!==1073741824&&(t.flags|=128,r=!0,Jh(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=jn(),t.sibling=null,n=En.current,ln(En,r?n&1|2:n&1),t):(Xr(t),null);case 22:case 23:return eT(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Qi&1073741824&&(Xr(t),t.subtreeFlags&6&&(t.flags|=8192)):Xr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function mJ(e,t){switch(N4(t),t.tag){case 1:return Di(t.type)&&t1(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Af(),pn(Li),pn(ni),j4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return V4(t),null;case 13:if(pn(En),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));Tf()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return pn(En),null;case 4:return Af(),null;case 10:return F4(t.type._context),null;case 22:case 23:return eT(),null;case 24:return null;default:return null}}var S0=!1,ei=!1,yJ=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function Hd(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ln(e,t,r)}else n.current=null}function h3(e,t,n){try{n()}catch(r){Ln(e,t,r)}}var z8=!1;function vJ(e,t){if(YC=Qv,e=$M(),I4(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,d=0,f=e,h=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)h=f,f=g;for(;;){if(f===e)break t;if(h===n&&++u===i&&(a=s),h===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(QC={focusedElem:e,selectionRange:n},Qv=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){t=Pe;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Zo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Ln(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}return m=z8,z8=!1,m}function $p(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&&h3(t,n,o)}i=i.next}while(i!==r)}}function H_(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 p3(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 NN(e){var t=e.alternate;t!==null&&(e.alternate=null,NN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Is],delete t[lg],delete t[e3],delete t[eJ],delete t[tJ])),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 LN(e){return e.tag===5||e.tag===3||e.tag===4}function V8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||LN(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 g3(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=e1));else if(r!==4&&(e=e.child,e!==null))for(g3(e,t,n),e=e.sibling;e!==null;)g3(e,t,n),e=e.sibling}function m3(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(m3(e,t,n),e=e.sibling;e!==null;)m3(e,t,n),e=e.sibling}var Fr=null,es=!1;function pl(e,t,n){for(n=n.child;n!==null;)DN(e,t,n),n=n.sibling}function DN(e,t,n){if(zs&&typeof zs.onCommitFiberUnmount=="function")try{zs.onCommitFiberUnmount($_,n)}catch{}switch(n.tag){case 5:ei||Hd(n,t);case 6:var r=Fr,i=es;Fr=null,pl(e,t,n),Fr=r,es=i,Fr!==null&&(es?(e=Fr,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Fr.removeChild(n.stateNode));break;case 18:Fr!==null&&(es?(e=Fr,n=n.stateNode,e.nodeType===8?tx(e.parentNode,n):e.nodeType===1&&tx(e,n),rg(e)):tx(Fr,n.stateNode));break;case 4:r=Fr,i=es,Fr=n.stateNode.containerInfo,es=!0,pl(e,t,n),Fr=r,es=i;break;case 0:case 11:case 14:case 15:if(!ei&&(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)&&h3(n,t,s),i=i.next}while(i!==r)}pl(e,t,n);break;case 1:if(!ei&&(Hd(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Ln(n,t,a)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:n.mode&1?(ei=(r=ei)||n.memoizedState!==null,pl(e,t,n),ei=r):pl(e,t,n);break;default:pl(e,t,n)}}function j8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new yJ),t.forEach(function(r){var i=AJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Yo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=jn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*bJ(r/1960))-r,10e?16:e,Il===null)var r=!1;else{if(e=Il,Il=null,h1=0,Pt&6)throw Error(ge(331));var i=Pt;for(Pt|=4,Pe=e.current;Pe!==null;){var o=Pe,s=o.child;if(Pe.flags&16){var a=o.deletions;if(a!==null){for(var l=0;ljn()-Z4?tc(e,0):Q4|=n),$i(e,t)}function GN(e,t){t===0&&(e.mode&1?(t=f0,f0<<=1,!(f0&130023424)&&(f0=4194304)):t=1);var n=gi();e=za(e,t),e!==null&&(fm(e,t,n),$i(e,n))}function EJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),GN(e,n)}function AJ(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(ge(314))}r!==null&&r.delete(t),GN(e,n)}var HN;HN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Li.current)ki=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ki=!1,pJ(e,t,n);ki=!!(e.flags&131072)}else ki=!1,_n&&t.flags&1048576&&KM(t,i1,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;yv(e,t),e=t.pendingProps;var i=Cf(t,ni.current);rf(t,n),i=H4(null,t,r,e,i,n);var o=W4();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,Di(r)?(o=!0,n1(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,U4(t),i.updater=j_,t.stateNode=i,i._reactInternals=t,s3(t,r,e,n),t=u3(null,t,r,!0,o,n)):(t.tag=0,_n&&o&&M4(t),pi(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(yv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=RJ(r),e=Zo(r,e),i){case 0:t=l3(null,t,r,e,n);break e;case 1:t=F8(null,t,r,e,n);break e;case 11:t=D8(null,t,r,e,n);break e;case 14:t=$8(null,t,r,Zo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Zo(r,i),l3(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Zo(r,i),F8(e,t,r,i,n);case 3:e:{if(PN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,ZM(e,t),a1(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=Pf(Error(ge(423)),t),t=B8(e,t,r,n,i);break e}else if(r!==i){i=Pf(Error(ge(424)),t),t=B8(e,t,r,n,i);break e}else for(Ji=Bl(t.stateNode.containerInfo.firstChild),eo=t,_n=!0,ns=null,n=nN(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Tf(),r===i){t=Va(e,t,n);break e}pi(e,t,r,n)}t=t.child}return t;case 5:return rN(t),e===null&&r3(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,ZC(r,i)?s=null:o!==null&&ZC(r,o)&&(t.flags|=32),AN(e,t),pi(e,t,s,n),t.child;case 6:return e===null&&r3(t),null;case 13:return RN(e,t,n);case 4:return z4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ef(t,null,r,n):pi(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Zo(r,i),D8(e,t,r,i,n);case 7:return pi(e,t,t.pendingProps,n),t.child;case 8:return pi(e,t,t.pendingProps.children,n),t.child;case 12:return pi(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,ln(o1,r._currentValue),r._currentValue=s,o!==null)if(fs(o.value,s)){if(o.children===i.children&&!Li.current){t=Va(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=Ia(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),i3(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(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),i3(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}pi(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,rf(t,n),i=Io(i),r=r(i),t.flags|=1,pi(e,t,r,n),t.child;case 14:return r=t.type,i=Zo(r,t.pendingProps),i=Zo(r.type,i),$8(e,t,r,i,n);case 15:return TN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Zo(r,i),yv(e,t),t.tag=1,Di(r)?(e=!0,n1(t)):e=!1,rf(t,n),eN(t,r,i),s3(t,r,i,n),u3(null,t,r,!0,e,n);case 19:return ON(e,t,n);case 22:return EN(e,t,n)}throw Error(ge(156,t.tag))};function WN(e,t){return vM(e,t)}function PJ(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 Po(e,t,n,r){return new PJ(e,t,n,r)}function nT(e){return e=e.prototype,!(!e||!e.isReactComponent)}function RJ(e){if(typeof e=="function")return nT(e)?1:0;if(e!=null){if(e=e.$$typeof,e===S4)return 11;if(e===w4)return 14}return 2}function jl(e,t){var n=e.alternate;return n===null?(n=Po(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 bv(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")nT(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Dd:return nc(n.children,i,o,t);case b4:s=8,i|=8;break;case OC:return e=Po(12,n,t,i|2),e.elementType=OC,e.lanes=o,e;case kC:return e=Po(13,n,t,i),e.elementType=kC,e.lanes=o,e;case IC:return e=Po(19,n,t,i),e.elementType=IC,e.lanes=o,e;case tM:return q_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case J7:s=10;break e;case eM:s=9;break e;case S4:s=11;break e;case w4:s=14;break e;case Sl:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=Po(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function nc(e,t,n,r){return e=Po(7,e,r,t),e.lanes=n,e}function q_(e,t,n,r){return e=Po(22,e,r,t),e.elementType=tM,e.lanes=n,e.stateNode={isHidden:!1},e}function ux(e,t,n){return e=Po(6,e,null,t),e.lanes=n,e}function cx(e,t,n){return t=Po(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function OJ(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=Gw(0),this.expirationTimes=Gw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function rT(e,t,n,r,i,o,s,a,l){return e=new OJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Po(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},U4(o),e}function kJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(YN)}catch(e){console.error(e)}}YN(),K7.exports=so;var Ms=K7.exports;const bRe=Tc(Ms);var Q8=Ms;PC.createRoot=Q8.createRoot,PC.hydrateRoot=Q8.hydrateRoot;const DJ="modulepreload",$J=function(e,t){return new URL(e,t).href},Z8={},QN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=$J(o,r),o in Z8)return;Z8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":DJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(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})};function Cr(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:Z_(e)?2:J_(e)?3:0}function Gl(e,t){return Ql(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Sv(e,t){return Ql(e)===2?e.get(t):e[t]}function ZN(e,t,n){var r=Ql(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function JN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Z_(e){return jJ&&e instanceof Map}function J_(e){return GJ&&e instanceof Set}function br(e){return e.o||e.t}function lT(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=tL(e);delete t[nt];for(var n=af(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=FJ),Object.freeze(e),t&&ja(e,function(n,r){return mm(r,!0)},!0)),e}function FJ(){Cr(2)}function uT(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function js(e){var t=w3[e];return t||Cr(18,e),t}function cT(e,t){w3[e]||(w3[e]=t)}function gg(){return yg}function dx(e,t){t&&(js("Patches"),e.u=[],e.s=[],e.v=t)}function m1(e){S3(e),e.p.forEach(BJ),e.p=null}function S3(e){e===yg&&(yg=e.l)}function J8(e){return yg={p:[],l:yg,h:e,m:!0,_:0}}function BJ(e){var t=e[nt];t.i===0||t.i===1?t.j():t.g=!0}function fx(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||js("ES5").S(t,e,r),r?(n[nt].P&&(m1(t),Cr(4)),Fi(e)&&(e=y1(t,e),t.l||v1(t,e)),t.u&&js("Patches").M(n[nt].t,e,t.u,t.s)):e=y1(t,n,[]),m1(t),t.u&&t.v(t.u,t.s),e!==tb?e:void 0}function y1(e,t,n){if(uT(t))return t;var r=t[nt];if(!r)return ja(t,function(a,l){return e9(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return v1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=lT(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),ja(o,function(a,l){return e9(e,r,i,a,l,n,s)}),v1(e,i,!1),n&&e.u&&js("Patches").N(r,n,e.u,e.s)}return r.o}function e9(e,t,n,r,i,o,s){if(yi(i)){var a=y1(e,i,o&&t&&t.i!==3&&!Gl(t.R,r)?o.concat(r):void 0);if(ZN(n,r,a),!yi(a))return;e.m=!1}else s&&n.add(i);if(Fi(i)&&!uT(i)){if(!e.h.D&&e._<1)return;y1(e,i),t&&t.A.l||v1(e,i)}}function v1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&mm(t,n)}function hx(e,t){var n=e[nt];return(n?br(n):e)[t]}function t9(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 Oi(e){e.P||(e.P=!0,e.l&&Oi(e.l))}function px(e){e.o||(e.o=lT(e.t))}function mg(e,t,n){var r=Z_(t)?js("MapSet").F(t,n):J_(t)?js("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:gg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=vg;s&&(l=[a],u=Tp);var d=Proxy.revocable(l,u),f=d.revoke,h=d.proxy;return a.k=h,a.j=f,h}(t,n):js("ES5").J(t,n);return(n?n.A:gg()).p.push(r),r}function eb(e){return yi(e)||Cr(22,e),function t(n){if(!Fi(n))return n;var r,i=n[nt],o=Ql(n);if(i){if(!i.P&&(i.i<4||!js("ES5").K(i)))return i.t;i.I=!0,r=n9(n,o),i.I=!1}else r=n9(n,o);return ja(r,function(s,a){i&&Sv(i.t,s)===a||ZN(r,s,t(a))}),o===3?new Set(r):r}(e)}function n9(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return lT(e)}function dT(){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[nt];return vg.get(l,o)},set:function(l){var u=this[nt];vg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][nt];if(!a.P)switch(a.i){case 5:r(a)&&Oi(a);break;case 4:n(a)&&Oi(a)}}}function n(o){for(var s=o.t,a=o.k,l=af(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==nt){var f=s[d];if(f===void 0&&!Gl(s,d))return!0;var h=a[d],g=h&&h[nt];if(g?g.t!==f:!JN(h,f))return!0}}var m=!!s[nt];return l.length!==af(s).length+(m?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?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&Cr(6),s!==void 0&&typeof s!="function"&&Cr(7),Fi(i)){var d=J8(r),f=mg(r,i,void 0),h=!0;try{u=o(f),h=!1}finally{h?m1(d):S3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return dx(d,s),fx(v,d)},function(v){throw m1(d),v}):(dx(d,s),fx(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===tb&&(u=void 0),r.D&&mm(u,!0),s){var g=[],m=[];js("Patches").M(i,u,g,m),s(g,m)}return u}Cr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),h=1;h=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=js("Patches").$;return yi(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),ro=new nL,rL=ro.produce,pT=ro.produceWithPatches.bind(ro),WJ=ro.setAutoFreeze.bind(ro),qJ=ro.setUseProxies.bind(ro),x3=ro.applyPatches.bind(ro),KJ=ro.createDraft.bind(ro),XJ=ro.finishDraft.bind(ro);const fu=rL,SRe=Object.freeze(Object.defineProperty({__proto__:null,Immer:nL,applyPatches:x3,castDraft:zJ,castImmutable:VJ,createDraft:KJ,current:eb,default:fu,enableAllPlugins:UJ,enableES5:dT,enableMapSet:eL,enablePatches:fT,finishDraft:XJ,freeze:mm,immerable:sf,isDraft:yi,isDraftable:Fi,nothing:tb,original:aT,produce:rL,produceWithPatches:pT,setAutoFreeze:WJ,setUseProxies:qJ},Symbol.toStringTag,{value:"Module"}));function _g(e){"@babel/helpers - typeof";return _g=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},_g(e)}function YJ(e,t){if(_g(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(_g(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function QJ(e){var t=YJ(e,"string");return _g(t)==="symbol"?t:String(t)}function ZJ(e,t,n){return t=QJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o9(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 s9(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Br(1));return n(ym)(e,t)}if(typeof e!="function")throw new Error(Br(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Br(3));return o}function f(v){if(typeof v!="function")throw new Error(Br(4));if(l)throw new Error(Br(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Br(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function h(v){if(!JJ(v))throw new Error(Br(7));if(typeof v.type>"u")throw new Error(Br(8));if(l)throw new Error(Br(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Br(12));if(typeof n(void 0,{type:Of.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Br(13))})}function Qf(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Br(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function l9(e,t){return function(){return t(e.apply(this,arguments))}}function oL(e,t){if(typeof e=="function")return l9(e,t);if(typeof e!="object"||e===null)throw new Error(Br(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=l9(i,t))}return n}function kf(){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 _1}function i(a,l){r(a)===_1&&(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 sL=function(t,n){return t===n};function iee(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(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=pL(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function bee(e){return""+e}function _L(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 See(e){return typeof e=="function"}function bL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?_L(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(See(e))l=function(){return C3(e())};else{var u=C3(e);l=function(){return u}}function d(f,h){f===void 0&&(f=l());var g=Zl([o[h.type]],s.filter(function(m){var v=m.matcher;return v(h)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(yi(m)){var x=m,_=v(x,h);return _===void 0?m:_}else{if(Fi(m))return fu(m,function(b){return v(b,h)});var _=v(m,h);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function wee(e,t){return e+"/"+t}function An(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:C3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],h=wee(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[h]=g,a[d]=m?Me(h,m):Me(h)});function l(){var d=typeof e.extraReducers=="function"?_L(e.extraReducers):[e.extraReducers],f=d[0],h=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=Ii(Ii({},h),s);return bL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function h(m,v){return g([m],v)}function g(m,v){var x=SL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:Eee(l),addOne:zn(t),addMany:zn(n),setOne:zn(r),setMany:zn(i),setAll:zn(o),updateOne:zn(d),updateMany:zn(f),upsertOne:zn(h),upsertMany:zn(g),removeOne:zn(s),removeMany:zn(a)}}function Aee(e,t){var n=wL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=rc(b);var S=b.filter(function(C){return!(Up(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=rc(b),b.length!==0&&x(b,y)}function d(b,y){b=rc(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return h([b],y)}function h(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function bm(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function ib(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ns=(e,t)=>Math.round(e/t)*t;var Hee=typeof global=="object"&&global&&global.Object===Object&&global;const UL=Hee;var Wee=typeof self=="object"&&self&&self.Object===Object&&self,qee=UL||Wee||Function("return this")();const Js=qee;var Kee=Js.Symbol;const No=Kee;var zL=Object.prototype,Xee=zL.hasOwnProperty,Yee=zL.toString,tp=No?No.toStringTag:void 0;function Qee(e){var t=Xee.call(e,tp),n=e[tp];try{e[tp]=void 0;var r=!0}catch{}var i=Yee.call(e);return r&&(t?e[tp]=n:delete e[tp]),i}var Zee=Object.prototype,Jee=Zee.toString;function ete(e){return Jee.call(e)}var tte="[object Null]",nte="[object Undefined]",m9=No?No.toStringTag:void 0;function gu(e){return e==null?e===void 0?nte:tte:m9&&m9 in Object(e)?Qee(e):ete(e)}function ps(e){return e!=null&&typeof e=="object"}var rte="[object Symbol]";function ob(e){return typeof e=="symbol"||ps(e)&&gu(e)==rte}function VL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=Lte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Bte(e){return function(){return e}}var Ute=function(){try{var e=Rc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const x1=Ute;var zte=x1?function(e,t){return x1(e,"toString",{configurable:!0,enumerable:!1,value:Bte(t),writable:!0})}:sb;const Vte=zte;var jte=Fte(Vte);const WL=jte;function qL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Xte=9007199254740991,Yte=/^(?:0|[1-9]\d*)$/;function bT(e,t){var n=typeof e;return t=t??Xte,!!t&&(n=="number"||n!="symbol"&&Yte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Jte}function Jf(e){return e!=null&&wT(e.length)&&!_T(e)}function QL(e,t,n){if(!vi(n))return!1;var r=typeof t;return(r=="number"?Jf(n)&&bT(t,n.length):r=="string"&&t in n)?Cm(n[t],e):!1}function ZL(e){return YL(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&&QL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function pre(e,t){var n=this.__data__,r=ab(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ka(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?oD(a,t-1,n,r,i):RT(i,a):r||(i[i.length]=a)}return i}function Ire(e){var t=e==null?0:e.length;return t?oD(e,1):[]}function Mre(e){return WL(XL(e,void 0,Ire),e+"")}var Nre=rD(Object.getPrototypeOf,Object);const OT=Nre;var Lre="[object Object]",Dre=Function.prototype,$re=Object.prototype,sD=Dre.toString,Fre=$re.hasOwnProperty,Bre=sD.call(Object);function aD(e){if(!ps(e)||gu(e)!=Lre)return!1;var t=OT(e);if(t===null)return!0;var n=Fre.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&sD.call(n)==Bre}function lD(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:lD(e,t,n)}var zre="\\ud800-\\udfff",Vre="\\u0300-\\u036f",jre="\\ufe20-\\ufe2f",Gre="\\u20d0-\\u20ff",Hre=Vre+jre+Gre,Wre="\\ufe0e\\ufe0f",qre="\\u200d",Kre=RegExp("["+qre+zre+Hre+Wre+"]");function kT(e){return Kre.test(e)}function Xre(e){return e.split("")}var uD="\\ud800-\\udfff",Yre="\\u0300-\\u036f",Qre="\\ufe20-\\ufe2f",Zre="\\u20d0-\\u20ff",Jre=Yre+Qre+Zre,eie="\\ufe0e\\ufe0f",tie="["+uD+"]",P3="["+Jre+"]",R3="\\ud83c[\\udffb-\\udfff]",nie="(?:"+P3+"|"+R3+")",cD="[^"+uD+"]",dD="(?:\\ud83c[\\udde6-\\uddff]){2}",fD="[\\ud800-\\udbff][\\udc00-\\udfff]",rie="\\u200d",hD=nie+"?",pD="["+eie+"]?",iie="(?:"+rie+"(?:"+[cD,dD,fD].join("|")+")"+pD+hD+")*",oie=pD+hD+iie,sie="(?:"+[cD+P3+"?",P3,dD,fD,tie].join("|")+")",aie=RegExp(R3+"(?="+R3+")|"+sie+oie,"g");function lie(e){return e.match(aie)||[]}function uie(e){return kT(e)?lie(e):Xre(e)}function cie(e){return function(t){t=ub(t);var n=kT(t)?uie(t):void 0,r=n?n[0]:t.charAt(0),i=n?Ure(n,1).join(""):t.slice(1);return r[e]()+i}}var die=cie("toUpperCase");const fie=die;function gD(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 Ml(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=vx(n),n=n===n?n:0),t!==void 0&&(t=vx(t),t=t===t?t:0),noe(vx(e),t,n)}function roe(){this.__data__=new Ka,this.size=0}function ioe(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function ooe(e){return this.__data__.get(e)}function soe(e){return this.__data__.has(e)}var aoe=200;function loe(e,t){var n=this.__data__;if(n instanceof Ka){var r=n.__data__;if(!xg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,g=n&Vse?new Cg:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Zf(e,LD(e),n),r&&(n=Vp(n,Wae|qae|Kae,Hae));for(var i=t.length;i--;)YD(n,t[i]);return n});const mb=Xae;var Yae=WD("length");const Qae=Yae;var QD="\\ud800-\\udfff",Zae="\\u0300-\\u036f",Jae="\\ufe20-\\ufe2f",ele="\\u20d0-\\u20ff",tle=Zae+Jae+ele,nle="\\ufe0e\\ufe0f",rle="["+QD+"]",L3="["+tle+"]",D3="\\ud83c[\\udffb-\\udfff]",ile="(?:"+L3+"|"+D3+")",ZD="[^"+QD+"]",JD="(?:\\ud83c[\\udde6-\\uddff]){2}",e$="[\\ud800-\\udbff][\\udc00-\\udfff]",ole="\\u200d",t$=ile+"?",n$="["+nle+"]?",sle="(?:"+ole+"(?:"+[ZD,JD,e$].join("|")+")"+n$+t$+")*",ale=n$+t$+sle,lle="(?:"+[ZD+L3+"?",L3,JD,e$,rle].join("|")+")",X9=RegExp(D3+"(?="+D3+")|"+lle+ale,"g");function ule(e){for(var t=X9.lastIndex=0;X9.test(e);)++t;return t}function cle(e){return kT(e)?ule(e):Qae(e)}function dle(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function LT(e,t,n){var r=Er(e)?gD:dle,i=arguments.length<3;return r(e,fb(t),n,i,hb)}var fle="[object Map]",hle="[object Set]";function DT(e){if(e==null)return 0;if(Jf(e))return zae(e)?cle(e):e.length;var t=Nf(e);return t==fle||t==hle?e.size:iD(e).length}function ple(e,t){var n;return hb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Hu(e,t,n){var r=Er(e)?zD:ple;return n&&QL(e,t,n)&&(t=void 0),r(e,fb(t))}var gle=toe(function(e,t,n){return e+(n?" ":"")+fie(t)});const mle=gle;var yle=1/0,vle=df&&1/NT(new df([,-0]))[1]==yle?function(e){return new df(e)}:Nte;const _le=vle;var ble=200;function Sle(e,t,n){var r=-1,i=Kte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=Dae;else if(o>=ble){var u=t?null:_le(e);if(u)return NT(u);s=!1,i=VD,l=new Cg}else l=t?[]:a;e:for(;++r{Gae(e,t.payload)}}}),{configChanged:Cle}=i$.actions,Tle=i$.reducer,CRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},TRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},Ele={"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]}},ERe={lycoris:"LyCORIS",diffusers:"Diffusers"},ARe=0,Ale=4294967295;var kt;(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})(kt||(kt={}));var $3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})($3||($3={}));const Ce=kt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Rl=e=>{switch(typeof e){case"undefined":return Ce.undefined;case"string":return Ce.string;case"number":return isNaN(e)?Ce.nan:Ce.number;case"boolean":return Ce.boolean;case"function":return Ce.function;case"bigint":return Ce.bigint;case"symbol":return Ce.symbol;case"object":return Array.isArray(e)?Ce.array:e===null?Ce.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?Ce.promise:typeof Map<"u"&&e instanceof Map?Ce.map:typeof Set<"u"&&e instanceof Set?Ce.set:typeof Date<"u"&&e instanceof Date?Ce.date:Ce.object;default:return Ce.unknown}},me=kt.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"]),Ple=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class us 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()}}us.create=e=>new us(e);const Tg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===Ce.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,kt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${kt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${kt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${kt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.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}"`:kt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.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 me.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 me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,kt.assertNever(e)}return{message:n}};let o$=Tg;function Rle(e){o$=e}function T1(){return o$}const E1=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}},Ole=[];function Ee(e,t){const n=E1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,T1(),Tg].filter(r=>!!r)});e.common.issues.push(n)}class ri{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 Ye;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 ri.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 Ye;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 Ye=Object.freeze({status:"aborted"}),s$=e=>({status:"dirty",value:e}),_i=e=>({status:"valid",value:e}),F3=e=>e.status==="aborted",B3=e=>e.status==="dirty",A1=e=>e.status==="valid",P1=e=>typeof Promise<"u"&&e instanceof Promise;var ze;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ze||(ze={}));class Ks{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 Y9=(e,t)=>{if(A1(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 us(e.common.issues);return this._error=n,this._error}}};function ot(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 ct{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 Rl(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Rl(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new ri,ctx:{common:t.parent.common,data:t.data,parsedType:Rl(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(P1(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:Rl(t)},o=this._parseSync({data:t,path:i.path,parent:i});return Y9(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:Rl(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(P1(i)?i:Promise.resolve(i));return Y9(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:me.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 gs({schema:this,typeName:qe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Ma.create(this,this._def)}nullable(){return vc.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return cs.create(this,this._def)}promise(){return Df.create(this,this._def)}or(t){return Rg.create([this,t],this._def)}and(t){return Og.create(this,t,this._def)}transform(t){return new gs({...ot(this._def),schema:this,typeName:qe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Lg({...ot(this._def),innerType:this,defaultValue:n,typeName:qe.ZodDefault})}brand(){return new l$({typeName:qe.ZodBranded,type:this,...ot(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new I1({...ot(this._def),innerType:this,catchValue:n,typeName:qe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Pm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const kle=/^c[^\s-]{8,}$/i,Ile=/^[a-z][a-z0-9]*$/,Mle=/[0-9A-HJKMNP-TV-Z]{26}/,Nle=/^([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,Lle=/^(([^<>()[\]\\.,;:\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,})+))$/,Dle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,$le=/^(((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}))$/,Fle=/^(([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})))$/,Ble=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 Ule(e,t){return!!((t==="v4"||!t)&&$le.test(e)||(t==="v6"||!t)&&Fle.test(e))}class os extends ct{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...ze.errToObj(r)}),this.nonempty=t=>this.min(1,ze.errToObj(t)),this.trim=()=>new os({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new os({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new os({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==Ce.string){const o=this._getOrReturnCtx(t);return Ee(o,{code:me.invalid_type,expected:Ce.string,received:o.parsedType}),Ye}const r=new ri;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Ee(i,{code:me.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,...ze.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ze.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ze.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ze.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ze.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ze.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ze.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ze.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 os({checks:[],typeName:qe.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...ot(e)})};function zle(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 eu extends ct{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)!==Ce.number){const o=this._getOrReturnCtx(t);return Ee(o,{code:me.invalid_type,expected:Ce.number,received:o.parsedType}),Ye}let r;const i=new ri;for(const o of this._def.checks)o.kind==="int"?kt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Ee(r,{code:me.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),Ee(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?zle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Ee(r,{code:me.not_finite,message:o.message}),i.dirty()):kt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ze.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ze.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ze.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ze.toString(n))}setLimit(t,n,r,i){return new eu({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ze.toString(i)}]})}_addCheck(t){return new eu({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ze.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ze.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ze.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ze.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ze.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ze.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ze.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ze.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ze.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"&&kt.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 eu({checks:[],typeName:qe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...ot(e)});class tu extends ct{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)!==Ce.bigint){const o=this._getOrReturnCtx(t);return Ee(o,{code:me.invalid_type,expected:Ce.bigint,received:o.parsedType}),Ye}let r;const i=new ri;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:me.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),Ee(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):kt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ze.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ze.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ze.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ze.toString(n))}setLimit(t,n,r,i){return new tu({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ze.toString(i)}]})}_addCheck(t){return new tu({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ze.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ze.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ze.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ze.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ze.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 tu({checks:[],typeName:qe.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...ot(e)})};class Eg extends ct{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==Ce.boolean){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.boolean,received:r.parsedType}),Ye}return _i(t.data)}}Eg.create=e=>new Eg({typeName:qe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...ot(e)});class mc extends ct{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==Ce.date){const o=this._getOrReturnCtx(t);return Ee(o,{code:me.invalid_type,expected:Ce.date,received:o.parsedType}),Ye}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Ee(o,{code:me.invalid_date}),Ye}const r=new ri;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Ee(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):kt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new mc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ze.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ze.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 mc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:qe.ZodDate,...ot(e)});class R1 extends ct{_parse(t){if(this._getType(t)!==Ce.symbol){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.symbol,received:r.parsedType}),Ye}return _i(t.data)}}R1.create=e=>new R1({typeName:qe.ZodSymbol,...ot(e)});class Ag extends ct{_parse(t){if(this._getType(t)!==Ce.undefined){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.undefined,received:r.parsedType}),Ye}return _i(t.data)}}Ag.create=e=>new Ag({typeName:qe.ZodUndefined,...ot(e)});class Pg extends ct{_parse(t){if(this._getType(t)!==Ce.null){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.null,received:r.parsedType}),Ye}return _i(t.data)}}Pg.create=e=>new Pg({typeName:qe.ZodNull,...ot(e)});class Lf extends ct{constructor(){super(...arguments),this._any=!0}_parse(t){return _i(t.data)}}Lf.create=e=>new Lf({typeName:qe.ZodAny,...ot(e)});class ic extends ct{constructor(){super(...arguments),this._unknown=!0}_parse(t){return _i(t.data)}}ic.create=e=>new ic({typeName:qe.ZodUnknown,...ot(e)});class Ga extends ct{_parse(t){const n=this._getOrReturnCtx(t);return Ee(n,{code:me.invalid_type,expected:Ce.never,received:n.parsedType}),Ye}}Ga.create=e=>new Ga({typeName:qe.ZodNever,...ot(e)});class O1 extends ct{_parse(t){if(this._getType(t)!==Ce.undefined){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.void,received:r.parsedType}),Ye}return _i(t.data)}}O1.create=e=>new O1({typeName:qe.ZodVoid,...ot(e)});class cs extends ct{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==Ce.array)return Ee(n,{code:me.invalid_type,expected:Ce.array,received:n.parsedType}),Ye;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Ee(n,{code:me.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 Ks(n,s,n.path,a)))).then(s=>ri.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ks(n,s,n.path,a)));return ri.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new cs({...this._def,minLength:{value:t,message:ze.toString(n)}})}max(t,n){return new cs({...this._def,maxLength:{value:t,message:ze.toString(n)}})}length(t,n){return new cs({...this._def,exactLength:{value:t,message:ze.toString(n)}})}nonempty(t){return this.min(1,t)}}cs.create=(e,t)=>new cs({type:e,minLength:null,maxLength:null,exactLength:null,typeName:qe.ZodArray,...ot(t)});function Rd(e){if(e instanceof Tn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ma.create(Rd(r))}return new Tn({...e._def,shape:()=>t})}else return e instanceof cs?new cs({...e._def,type:Rd(e.element)}):e instanceof Ma?Ma.create(Rd(e.unwrap())):e instanceof vc?vc.create(Rd(e.unwrap())):e instanceof Xs?Xs.create(e.items.map(t=>Rd(t))):e}class Tn extends ct{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=kt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==Ce.object){const u=this._getOrReturnCtx(t);return Ee(u,{code:me.invalid_type,expected:Ce.object,received:u.parsedType}),Ye}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ga&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ks(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Ga){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Ee(i,{code:me.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 d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ks(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>ri.mergeObjectSync(r,u)):ri.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ze.errToObj,new Tn({...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=ze.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tn({...this._def,unknownKeys:"strip"})}passthrough(){return new Tn({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:qe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tn({...this._def,catchall:t})}pick(t){const n={};return kt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tn({...this._def,shape:()=>n})}omit(t){const n={};return kt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tn({...this._def,shape:()=>n})}deepPartial(){return Rd(this)}partial(t){const n={};return kt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tn({...this._def,shape:()=>n})}required(t){const n={};return kt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Ma;)o=o._def.innerType;n[r]=o}}),new Tn({...this._def,shape:()=>n})}keyof(){return a$(kt.objectKeys(this.shape))}}Tn.create=(e,t)=>new Tn({shape:()=>e,unknownKeys:"strip",catchall:Ga.create(),typeName:qe.ZodObject,...ot(t)});Tn.strictCreate=(e,t)=>new Tn({shape:()=>e,unknownKeys:"strict",catchall:Ga.create(),typeName:qe.ZodObject,...ot(t)});Tn.lazycreate=(e,t)=>new Tn({shape:e,unknownKeys:"strip",catchall:Ga.create(),typeName:qe.ZodObject,...ot(t)});class Rg extends ct{_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 us(a.ctx.common.issues));return Ee(n,{code:me.invalid_union,unionErrors:s}),Ye}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},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,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 us(l));return Ee(n,{code:me.invalid_union,unionErrors:a}),Ye}}get options(){return this._def.options}}Rg.create=(e,t)=>new Rg({options:e,typeName:qe.ZodUnion,...ot(t)});const xv=e=>e instanceof Ig?xv(e.schema):e instanceof gs?xv(e.innerType()):e instanceof Mg?[e.value]:e instanceof nu?e.options:e instanceof Ng?Object.keys(e.enum):e instanceof Lg?xv(e._def.innerType):e instanceof Ag?[void 0]:e instanceof Pg?[null]:null;class yb extends ct{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==Ce.object)return Ee(n,{code:me.invalid_type,expected:Ce.object,received:n.parsedType}),Ye;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}):(Ee(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Ye)}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=xv(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 yb({typeName:qe.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...ot(r)})}}function U3(e,t){const n=Rl(e),r=Rl(t);if(e===t)return{valid:!0,data:e};if(n===Ce.object&&r===Ce.object){const i=kt.objectKeys(t),o=kt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=U3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===Ce.array&&r===Ce.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(F3(o)||F3(s))return Ye;const a=U3(o.value,s.value);return a.valid?((B3(o)||B3(s))&&n.dirty(),{status:n.value,value:a.data}):(Ee(r,{code:me.invalid_intersection_types}),Ye)};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}))}}Og.create=(e,t,n)=>new Og({left:e,right:t,typeName:qe.ZodIntersection,...ot(n)});class Xs extends ct{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==Ce.array)return Ee(r,{code:me.invalid_type,expected:Ce.array,received:r.parsedType}),Ye;if(r.data.lengththis._def.items.length&&(Ee(r,{code:me.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 Ks(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>ri.mergeArray(n,s)):ri.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Xs({...this._def,rest:t})}}Xs.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Xs({items:e,typeName:qe.ZodTuple,rest:null,...ot(t)})};class kg extends ct{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!==Ce.object)return Ee(r,{code:me.invalid_type,expected:Ce.object,received:r.parsedType}),Ye;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ks(r,a,r.path,a)),value:s._parse(new Ks(r,r.data[a],r.path,a))});return r.common.async?ri.mergeObjectAsync(n,i):ri.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof ct?new kg({keyType:t,valueType:n,typeName:qe.ZodRecord,...ot(r)}):new kg({keyType:os.create(),valueType:t,typeName:qe.ZodRecord,...ot(n)})}}class k1 extends ct{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==Ce.map)return Ee(r,{code:me.invalid_type,expected:Ce.map,received:r.parsedType}),Ye;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ks(r,a,r.path,[u,"key"])),value:o._parse(new Ks(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,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return Ye;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return Ye;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}k1.create=(e,t,n)=>new k1({valueType:t,keyType:e,typeName:qe.ZodMap,...ot(n)});class yc extends ct{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==Ce.set)return Ee(r,{code:me.invalid_type,expected:Ce.set,received:r.parsedType}),Ye;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Ee(r,{code:me.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 d of l){if(d.status==="aborted")return Ye;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ks(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new yc({...this._def,minSize:{value:t,message:ze.toString(n)}})}max(t,n){return new yc({...this._def,maxSize:{value:t,message:ze.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}yc.create=(e,t)=>new yc({valueType:e,minSize:null,maxSize:null,typeName:qe.ZodSet,...ot(t)});class ff extends ct{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==Ce.function)return Ee(n,{code:me.invalid_type,expected:Ce.function,received:n.parsedType}),Ye;function r(a,l){return E1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,T1(),Tg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return E1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,T1(),Tg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof Df?_i(async(...a)=>{const l=new us([]),u=await this._def.args.parseAsync(a,o).catch(h=>{throw l.addIssue(r(a,h)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(h=>{throw l.addIssue(i(d,h)),l})}):_i((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new us([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new us([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new ff({...this._def,args:Xs.create(t).rest(ic.create())})}returns(t){return new ff({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new ff({args:t||Xs.create([]).rest(ic.create()),returns:n||ic.create(),typeName:qe.ZodFunction,...ot(r)})}}class Ig extends ct{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})}}Ig.create=(e,t)=>new Ig({getter:e,typeName:qe.ZodLazy,...ot(t)});class Mg extends ct{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Ee(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),Ye}return{status:"valid",value:t.data}}get value(){return this._def.value}}Mg.create=(e,t)=>new Mg({value:e,typeName:qe.ZodLiteral,...ot(t)});function a$(e,t){return new nu({values:e,typeName:qe.ZodEnum,...ot(t)})}class nu extends ct{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Ee(n,{expected:kt.joinValues(r),received:n.parsedType,code:me.invalid_type}),Ye}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Ee(n,{received:n.data,code:me.invalid_enum_value,options:r}),Ye}return _i(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 nu.create(t)}exclude(t){return nu.create(this.options.filter(n=>!t.includes(n)))}}nu.create=a$;class Ng extends ct{_parse(t){const n=kt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==Ce.string&&r.parsedType!==Ce.number){const i=kt.objectValues(n);return Ee(r,{expected:kt.joinValues(i),received:r.parsedType,code:me.invalid_type}),Ye}if(n.indexOf(t.data)===-1){const i=kt.objectValues(n);return Ee(r,{received:r.data,code:me.invalid_enum_value,options:i}),Ye}return _i(t.data)}get enum(){return this._def.values}}Ng.create=(e,t)=>new Ng({values:e,typeName:qe.ZodNativeEnum,...ot(t)});class Df extends ct{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==Ce.promise&&n.common.async===!1)return Ee(n,{code:me.invalid_type,expected:Ce.promise,received:n.parsedType}),Ye;const r=n.parsedType===Ce.promise?n.data:Promise.resolve(n.data);return _i(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Df.create=(e,t)=>new Df({type:e,typeName:qe.ZodPromise,...ot(t)});class gs extends ct{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===qe.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=>{Ee(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"?Ye:(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"?Ye:(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(!A1(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=>A1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);kt.assertNever(i)}}gs.create=(e,t,n)=>new gs({schema:e,typeName:qe.ZodEffects,effect:t,...ot(n)});gs.createWithPreprocess=(e,t,n)=>new gs({schema:t,effect:{type:"preprocess",transform:e},typeName:qe.ZodEffects,...ot(n)});class Ma extends ct{_parse(t){return this._getType(t)===Ce.undefined?_i(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ma.create=(e,t)=>new Ma({innerType:e,typeName:qe.ZodOptional,...ot(t)});class vc extends ct{_parse(t){return this._getType(t)===Ce.null?_i(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}vc.create=(e,t)=>new vc({innerType:e,typeName:qe.ZodNullable,...ot(t)});class Lg extends ct{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===Ce.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Lg.create=(e,t)=>new Lg({innerType:e,typeName:qe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...ot(t)});class I1 extends ct{_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 P1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new us(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new us(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}I1.create=(e,t)=>new I1({innerType:e,typeName:qe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...ot(t)});class M1 extends ct{_parse(t){if(this._getType(t)!==Ce.nan){const r=this._getOrReturnCtx(t);return Ee(r,{code:me.invalid_type,expected:Ce.nan,received:r.parsedType}),Ye}return{status:"valid",value:t.data}}}M1.create=e=>new M1({typeName:qe.ZodNaN,...ot(e)});const Vle=Symbol("zod_brand");class l$ extends ct{_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 Pm extends ct{_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"?Ye:o.status==="dirty"?(n.dirty(),s$(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"?Ye: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 Pm({in:t,out:n,typeName:qe.ZodPipeline})}}const u$=(e,t={},n)=>e?Lf.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})}}):Lf.create(),jle={object:Tn.lazycreate};var qe;(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"})(qe||(qe={}));const Gle=(e,t={message:`Input not instance of ${e.name}`})=>u$(n=>n instanceof e,t),c$=os.create,d$=eu.create,Hle=M1.create,Wle=tu.create,f$=Eg.create,qle=mc.create,Kle=R1.create,Xle=Ag.create,Yle=Pg.create,Qle=Lf.create,Zle=ic.create,Jle=Ga.create,eue=O1.create,tue=cs.create,nue=Tn.create,rue=Tn.strictCreate,iue=Rg.create,oue=yb.create,sue=Og.create,aue=Xs.create,lue=kg.create,uue=k1.create,cue=yc.create,due=ff.create,fue=Ig.create,hue=Mg.create,pue=nu.create,gue=Ng.create,mue=Df.create,Q9=gs.create,yue=Ma.create,vue=vc.create,_ue=gs.createWithPreprocess,bue=Pm.create,Sue=()=>c$().optional(),wue=()=>d$().optional(),xue=()=>f$().optional(),Cue={string:e=>os.create({...e,coerce:!0}),number:e=>eu.create({...e,coerce:!0}),boolean:e=>Eg.create({...e,coerce:!0}),bigint:e=>tu.create({...e,coerce:!0}),date:e=>mc.create({...e,coerce:!0})},Tue=Ye;var Et=Object.freeze({__proto__:null,defaultErrorMap:Tg,setErrorMap:Rle,getErrorMap:T1,makeIssue:E1,EMPTY_PATH:Ole,addIssueToContext:Ee,ParseStatus:ri,INVALID:Ye,DIRTY:s$,OK:_i,isAborted:F3,isDirty:B3,isValid:A1,isAsync:P1,get util(){return kt},get objectUtil(){return $3},ZodParsedType:Ce,getParsedType:Rl,ZodType:ct,ZodString:os,ZodNumber:eu,ZodBigInt:tu,ZodBoolean:Eg,ZodDate:mc,ZodSymbol:R1,ZodUndefined:Ag,ZodNull:Pg,ZodAny:Lf,ZodUnknown:ic,ZodNever:Ga,ZodVoid:O1,ZodArray:cs,ZodObject:Tn,ZodUnion:Rg,ZodDiscriminatedUnion:yb,ZodIntersection:Og,ZodTuple:Xs,ZodRecord:kg,ZodMap:k1,ZodSet:yc,ZodFunction:ff,ZodLazy:Ig,ZodLiteral:Mg,ZodEnum:nu,ZodNativeEnum:Ng,ZodPromise:Df,ZodEffects:gs,ZodTransformer:gs,ZodOptional:Ma,ZodNullable:vc,ZodDefault:Lg,ZodCatch:I1,ZodNaN:M1,BRAND:Vle,ZodBranded:l$,ZodPipeline:Pm,custom:u$,Schema:ct,ZodSchema:ct,late:jle,get ZodFirstPartyTypeKind(){return qe},coerce:Cue,any:Qle,array:tue,bigint:Wle,boolean:f$,date:qle,discriminatedUnion:oue,effect:Q9,enum:pue,function:due,instanceof:Gle,intersection:sue,lazy:fue,literal:hue,map:uue,nan:Hle,nativeEnum:gue,never:Jle,null:Yle,nullable:vue,number:d$,object:nue,oboolean:xue,onumber:wue,optional:yue,ostring:Sue,pipeline:bue,preprocess:_ue,promise:mue,record:lue,set:cue,strictObject:rue,string:c$,symbol:Kle,transformer:Q9,tuple:aue,undefined:Xle,union:iue,unknown:Zle,void:eue,NEVER:Tue,ZodIssueCode:me,quotelessJson:Ple,ZodError:us});const Eue=Et.string(),PRe=e=>Eue.safeParse(e).success,Aue=Et.string(),RRe=e=>Aue.safeParse(e).success,Pue=Et.string(),ORe=e=>Pue.safeParse(e).success,Rue=Et.string(),kRe=e=>Rue.safeParse(e).success,Oue=Et.number().int().min(1),IRe=e=>Oue.safeParse(e).success,kue=Et.number().min(1),MRe=e=>kue.safeParse(e).success,Iue=Et.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"]),NRe=e=>Iue.safeParse(e).success,LRe={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"},Mue=Et.number().int().min(0).max(Ale),DRe=e=>Mue.safeParse(e).success,Nue=Et.number().multipleOf(8).min(64),$Re=e=>Nue.safeParse(e).success,Lue=Et.number().multipleOf(8).min(64),FRe=e=>Lue.safeParse(e).success,Rm=Et.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),$T=Et.object({model_name:Et.string().min(1),base_model:Rm,model_type:Et.literal("main")}),BRe=e=>$T.safeParse(e).success,h$=Et.object({model_name:Et.string().min(1),base_model:Et.literal("sdxl-refiner"),model_type:Et.literal("main")}),URe=e=>h$.safeParse(e).success,Due=Et.object({model_name:Et.string().min(1),base_model:Rm,model_type:Et.literal("onnx")}),p$=Et.union([$T,Due]),$ue=Et.object({model_name:Et.string().min(1),base_model:Rm}),zRe=Et.object({model_name:Et.string().min(1),base_model:Rm}),VRe=Et.object({model_name:Et.string().min(1),base_model:Rm}),Fue=Et.number().min(0).max(1),jRe=e=>Fue.safeParse(e).success;Et.enum(["fp16","fp32"]);const Bue=Et.number().min(1).max(10),GRe=e=>Bue.safeParse(e).success,Uue=Et.number().min(1).max(10),HRe=e=>Uue.safeParse(e).success,zue=Et.number().min(0).max(1),WRe=e=>zue.safeParse(e).success;Et.enum(["box","gaussian"]);const ys={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",maskBlur:16,maskBlurMethod:"box",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},Vue=ys,g$=An({name:"generation",initialState:Vue,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=Ml(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ml(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,...ys}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setMaskBlur:(e,t)=>{e.maskBlur=t.payload},setMaskBlurMethod:(e,t)=>{e.maskBlurMethod=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}=Ele[e.model.base_model];e.clipSkip=Ml(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=Ns(e.width/n,8))}},extraReducers:e=>{e.addCase(Cle,(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=$T.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Gue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:qRe,clearInitialImage:FT,resetParametersState:KRe,resetSeed:XRe,setCfgScale:YRe,setWidth:QRe,setHeight:ZRe,toggleSize:JRe,setImg2imgStrength:eOe,setInfillMethod:jue,setIterations:tOe,setPerlin:nOe,setPositivePrompt:rOe,setNegativePrompt:iOe,setScheduler:oOe,setMaskBlur:sOe,setMaskBlurMethod:aOe,setSeed:lOe,setSeedWeights:uOe,setShouldFitToWidthHeight:cOe,setShouldGenerateVariations:dOe,setShouldRandomizeSeed:fOe,setSteps:hOe,setThreshold:pOe,setTileSize:gOe,setVariationAmount:mOe,setShouldUseSymmetry:yOe,setHorizontalSymmetrySteps:vOe,setVerticalSymmetrySteps:_Oe,initialImageChanged:vb,modelChanged:Nl,vaeSelected:m$,setShouldUseNoiseSettings:bOe,setSeamlessXAxis:SOe,setSeamlessYAxis:wOe,setClipSkip:xOe,shouldUseCpuNoiseChanged:COe,setShouldShowAdvancedOptions:Gue,setAspectRatio:Hue,vaePrecisionChanged:TOe}=g$.actions,Wue=g$.reducer,y$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],Z9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=y$.indexOf(t)},v$={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:[]},_$=An({name:"ui",initialState:v$,reducers:{setActiveTab:(e,t)=>{Z9(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(vb,t=>{Z9(t,"img2img")})}}),{setActiveTab:b$,setShouldPinParametersPanel:EOe,setShouldShowParametersPanel:AOe,setShouldShowImageDetails:POe,setShouldUseCanvasBetaLayout:que,setShouldShowExistingModelsInSearch:ROe,setShouldUseSliders:OOe,setShouldHidePreview:kOe,setShouldShowGallery:IOe,togglePanels:MOe,togglePinGalleryPanel:NOe,togglePinParametersPanel:LOe,toggleParametersPanel:DOe,toggleGalleryPanel:$Oe,setShouldShowProgressInViewer:FOe,favoriteSchedulersChanged:BOe,toggleEmbeddingPicker:UOe}=_$.actions,Kue=_$.reducer;let fi=[],Om=(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=!fi.length;for(let s=0;s(e.events=e.events||{},e.events[n+P0]||(e.events[n+P0]=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+P0](),delete e.events[n+P0])}),Que=1e3,Zue=(e,t)=>Yue(e,r=>{let i=t(r);i&&e.events[A0].push(i)},Xue,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[A0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[A0])s();e.events[A0]=[]}},Que)},()=>{e.listen=i,e.off=o}}),Jue=(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=Om(void 0,Math.max(...e.map(o=>o.l))+1);return Zue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const ece={"Content-Type":"application/json"},tce=/\/*$/;function nce(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 rce(e){return JSON.stringify(e)}function ice(e,t){let n=`${t.baseUrl?t.baseUrl.replace(tce,""):""}${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 oce(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...ece,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:h="json",querySerializer:g=n??nce,bodySerializer:m=r??rce,...v}=l||{},x=ice(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(h!=="stream"){const E=S.clone();T=typeof E[h]=="function"?await E[h]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}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 Dg=Om(),$g=Om(),N1=Om(),_b=Jue([Dg,$g,N1],(e,t,n)=>oce({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),jr=Jl("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=_b.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}),sce=e=>vi(e)&&"status"in e,ace=e=>vi(e)&&"detail"in e,km=Jl("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=_b.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){if(sce(o)&&o.status===403)return t({arg:e,status:s.status,error:o.body.detail});if(ace(o)&&s.status===403)return t({arg:e,status:s.status,error:o.detail});if(o)return t({arg:e,status:s.status,error:o})}}),Oc=Jl("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=_b.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});Jl("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=_b.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const S$=Lo(jr.rejected,km.rejected),pd=(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}},gd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},zOe=.999,VOe=.1,jOe=20,np=.95,GOe=30,HOe=10,J9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),Nu=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=Ns(a/o,64)):o<1&&(r.height=a,r.width=Ns(a*o,64)),s=r.width*r.height;return r},lce=e=>({width:Ns(e.width,64),height:Ns(e.height,64)}),WOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],qOe=[{label:"None",value:"none"},{label:"Auto",value:"auto"},{label:"Manual",value:"manual"}],w$=e=>e.kind==="line"&&e.layer==="mask",KOe=e=>e.kind==="line"&&e.layer==="base",eR=e=>e.kind==="image"&&e.layer==="base",XOe=e=>e.kind==="fillRect"&&e.layer==="base",YOe=e=>e.kind==="eraseRect"&&e.layer==="base",uce=e=>e.kind==="line",Od={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},x$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"none",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:Od,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"},C$=An({name:"canvas",initialState:x$,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(Qr(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!w$(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:T0(Ml(r,64,512),64),height:T0(Ml(i,64,512),64)},a={x:Ns(r/2-s.width/2,64),y:Ns(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=Nu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Qr(e.layerState)),e.layerState={...Od,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=gd(o.width,o.height,r,i,np),u=pd(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=lce(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=Nu(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=J9(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(Qr(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(Qr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Od.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Qr(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(Qr(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(Qr(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(uce);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Qr(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Qr(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(Qr(e.layerState)),e.layerState=Od,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(eR),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=gd(i.width,i.height,512,512,np),f=pd(i.width,i.height,0,0,512,512,d),h={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=h,e.boundingBoxScaleMethod==="auto"){const g=Nu(h);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=gd(t,n,o,s,.95),u=pd(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=J9(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(eR)){const i=gd(r.width,r.height,512,512,np),o=pd(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=Nu(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 d=r?1:gd(i,o,l,u,np),f=pd(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=gd(i,o,512,512,np),f=pd(i,o,0,0,512,512,d),h={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=h,e.boundingBoxScaleMethod==="auto"){const g=Nu(h);e.scaledBoundingBoxDimensions=g}}},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(Qr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...Od.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:T0(Ml(o,64,512),64),height:T0(Ml(s,64,512),64)},l={x:Ns(o/2-a.width/2,64),y:Ns(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=Nu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=Nu(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(Qr(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(Oc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Od.stagingArea)}),e.addCase(que,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(b$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Hue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ns(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:QOe,addFillRect:ZOe,addImageToStagingArea:cce,addLine:JOe,addPointToCurrentLine:eke,clearCanvasHistory:tke,clearMask:nke,commitColorPickerColor:rke,commitStagingAreaImage:dce,discardStagedImages:ike,fitBoundingBoxToStage:oke,mouseLeftCanvas:ske,nextStagingAreaImage:ake,prevStagingAreaImage:lke,redo:uke,resetCanvas:BT,resetCanvasInteractionState:cke,resetCanvasView:dke,resizeAndScaleCanvas:fke,resizeCanvas:hke,setBoundingBoxCoordinates:pke,setBoundingBoxDimensions:gke,setBoundingBoxPreviewFill:mke,setBoundingBoxScaleMethod:yke,flipBoundingBoxAxes:vke,setBrushColor:_ke,setBrushSize:bke,setCanvasContainerDimensions:Ske,setColorPickerColor:wke,setCursorPosition:xke,setDoesCanvasNeedScaling:Cke,setInitialCanvasImage:T$,setIsDrawing:Tke,setIsMaskEnabled:Eke,setIsMouseOverBoundingBox:Ake,setIsMoveBoundingBoxKeyHeld:Pke,setIsMoveStageKeyHeld:Rke,setIsMovingBoundingBox:Oke,setIsMovingStage:kke,setIsTransformingBoundingBox:Ike,setLayer:Mke,setMaskColor:Nke,setMergedCanvas:fce,setShouldAutoSave:Lke,setShouldCropToBoundingBoxOnSave:Dke,setShouldDarkenOutsideBoundingBox:$ke,setShouldLockBoundingBox:Fke,setShouldPreserveMaskedArea:Bke,setShouldShowBoundingBox:Uke,setShouldShowBrush:zke,setShouldShowBrushPreview:Vke,setShouldShowCanvasDebugInfo:jke,setShouldShowCheckboardTransparency:Gke,setShouldShowGrid:Hke,setShouldShowIntermediates:Wke,setShouldShowStagingImage:qke,setShouldShowStagingOutline:Kke,setShouldSnapToGrid:Xke,setStageCoordinates:Yke,setStageScale:Qke,setTool:Zke,toggleShouldLockBoundingBox:Jke,toggleTool:eIe,undo:tIe,setScaledBoundingBoxDimensions:nIe,setShouldRestrictStrokesToBox:rIe,stagingAreaInitialized:hce,canvasSessionIdChanged:pce,setShouldAntialias:iIe}=C$.actions,gce=C$.reducer,Jr=["general"],Ll=["control","mask","user","other"],mce=100,tR=20;var L1={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */L1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,h=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",V=800,B=16,A=1,N=2,D=3,U=1/0,$=9007199254740991,j=17976931348623157e292,G=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",Je="[object GeneratorFunction]",Fe="[object Map]",Ae="[object Number]",vt="[object Null]",_e="[object Object]",Qt="[object Promise]",rr="[object Proxy]",qt="[object RegExp]",ht="[object Set]",At="[object String]",un="[object Symbol]",Gr="[object Undefined]",Pr="[object WeakMap]",Ci="[object WeakSet]",In="[object ArrayBuffer]",gn="[object DataView]",ir="[object Float32Array]",mn="[object Float64Array]",Zt="[object Int8Array]",Rr="[object Int16Array]",Hr="[object Int32Array]",si="[object Uint8Array]",Vi="[object Uint8ClampedArray]",$n="[object Uint16Array]",ai="[object Uint32Array]",ra=/\b__p \+= '';/g,uo=/\b(__p \+=) '' \+/g,ia=/(__e\(.*?\)|\b__t\)) \+\n'';/g,nn=/&(?:amp|lt|gt|quot|#39);/g,Ft=/[&<>"']/g,or=RegExp(nn.source),qn=RegExp(Ft.source),yr=/<%-([\s\S]+?)%>/g,Or=/<%([\s\S]+?)%>/g,kr=/<%=([\s\S]+?)%>/g,co=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ir=/^\w*$/,sr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ji=/[\\^$.*+?()[\]{}|]/g,bs=RegExp(ji.source),fo=/^\s+/,tl=/\s/,Vo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Mr=/\{\n\/\* \[wrapped with (.+)\] \*/,oa=/,? & /,hh=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ph=/[()=,{}\[\]\/\s]/,gh=/\\(\\)?/g,mh=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,jo=/\w*$/,yh=/^[-+]0x[0-9a-f]+$/i,vh=/^0b[01]+$/i,Gc=/^\[object .+?Constructor\]$/,_h=/^0o[0-7]+$/i,bh=/^(?:0|[1-9]\d*)$/,Sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ss=/($^)/,wh=/['\n\r\u2028\u2029\\]/g,Go="\\ud800-\\udfff",nl="\\u0300-\\u036f",xh="\\ufe20-\\ufe2f",rl="\\u20d0-\\u20ff",Cu=nl+xh+rl,Hc="\\u2700-\\u27bf",il="a-z\\xdf-\\xf6\\xf8-\\xff",A2="\\xac\\xb1\\xd7\\xf7",ry="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",P2="\\u2000-\\u206f",R2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iy="A-Z\\xc0-\\xd6\\xd8-\\xde",oy="\\ufe0e\\ufe0f",sy=A2+ry+P2+R2,Ch="['’]",O2="["+Go+"]",ay="["+sy+"]",Wc="["+Cu+"]",ly="\\d+",qc="["+Hc+"]",Kc="["+il+"]",uy="[^"+Go+sy+ly+Hc+il+iy+"]",Th="\\ud83c[\\udffb-\\udfff]",cy="(?:"+Wc+"|"+Th+")",dy="[^"+Go+"]",Eh="(?:\\ud83c[\\udde6-\\uddff]){2}",Ah="[\\ud800-\\udbff][\\udc00-\\udfff]",sa="["+iy+"]",fy="\\u200d",hy="(?:"+Kc+"|"+uy+")",k2="(?:"+sa+"|"+uy+")",Xc="(?:"+Ch+"(?:d|ll|m|re|s|t|ve))?",py="(?:"+Ch+"(?:D|LL|M|RE|S|T|VE))?",gy=cy+"?",my="["+oy+"]?",Yc="(?:"+fy+"(?:"+[dy,Eh,Ah].join("|")+")"+my+gy+")*",Ph="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Rh="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Qc=my+gy+Yc,I2="(?:"+[qc,Eh,Ah].join("|")+")"+Qc,yy="(?:"+[dy+Wc+"?",Wc,Eh,Ah,O2].join("|")+")",Oh=RegExp(Ch,"g"),vy=RegExp(Wc,"g"),Ho=RegExp(Th+"(?="+Th+")|"+yy+Qc,"g"),Tu=RegExp([sa+"?"+Kc+"+"+Xc+"(?="+[ay,sa,"$"].join("|")+")",k2+"+"+py+"(?="+[ay,sa+hy,"$"].join("|")+")",sa+"?"+hy+"+"+Xc,sa+"+"+py,Rh,Ph,ly,I2].join("|"),"g"),M2=RegExp("["+fy+Go+Cu+oy+"]"),_y=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,N2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],by=-1,Jt={};Jt[ir]=Jt[mn]=Jt[Zt]=Jt[Rr]=Jt[Hr]=Jt[si]=Jt[Vi]=Jt[$n]=Jt[ai]=!0,Jt[se]=Jt[le]=Jt[In]=Jt[ne]=Jt[gn]=Jt[fe]=Jt[ve]=Jt[ye]=Jt[Fe]=Jt[Ae]=Jt[_e]=Jt[qt]=Jt[ht]=Jt[At]=Jt[Pr]=!1;var Kt={};Kt[se]=Kt[le]=Kt[In]=Kt[gn]=Kt[ne]=Kt[fe]=Kt[ir]=Kt[mn]=Kt[Zt]=Kt[Rr]=Kt[Hr]=Kt[Fe]=Kt[Ae]=Kt[_e]=Kt[qt]=Kt[ht]=Kt[At]=Kt[un]=Kt[si]=Kt[Vi]=Kt[$n]=Kt[ai]=!0,Kt[ve]=Kt[ye]=Kt[Pr]=!1;var Sy={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},L2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,xe=parseInt,pt=typeof Ze=="object"&&Ze&&Ze.Object===Object&&Ze,Ut=typeof self=="object"&&self&&self.Object===Object&&self,et=pt||Ut||Function("return this")(),at=t&&!t.nodeType&&t,Rt=at&&!0&&e&&!e.nodeType&&e,li=Rt&&Rt.exports===at,Nr=li&&pt.process,vr=function(){try{var J=Rt&&Rt.require&&Rt.require("util").types;return J||Nr&&Nr.binding&&Nr.binding("util")}catch{}}(),Zc=vr&&vr.isArrayBuffer,Jc=vr&&vr.isDate,kh=vr&&vr.isMap,UA=vr&&vr.isRegExp,zA=vr&&vr.isSet,VA=vr&&vr.isTypedArray;function Gi(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function NG(J,ae,oe,Te){for(var Xe=-1,Nt=J==null?0:J.length;++Xe-1}function D2(J,ae,oe){for(var Te=-1,Xe=J==null?0:J.length;++Te-1;);return oe}function YA(J,ae){for(var oe=J.length;oe--&&ed(ae,J[oe],0)>-1;);return oe}function jG(J,ae){for(var oe=J.length,Te=0;oe--;)J[oe]===ae&&++Te;return Te}var GG=U2(Sy),HG=U2(L2);function WG(J){return"\\"+Y[J]}function qG(J,ae){return J==null?n:J[ae]}function td(J){return M2.test(J)}function KG(J){return _y.test(J)}function XG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function G2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Te,Xe){oe[++ae]=[Xe,Te]}),oe}function QA(J,ae){return function(oe){return J(ae(oe))}}function al(J,ae){for(var oe=-1,Te=J.length,Xe=0,Nt=[];++oe-1}function DH(c,p){var w=this.__data__,R=By(w,c);return R<0?(++this.size,w.push([c,p])):w[R][1]=p,this}aa.prototype.clear=IH,aa.prototype.delete=MH,aa.prototype.get=NH,aa.prototype.has=LH,aa.prototype.set=DH;function la(c){var p=-1,w=c==null?0:c.length;for(this.clear();++p=p?c:p)),c}function mo(c,p,w,R,I,z){var K,X=p&f,te=p&h,ce=p&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!xn(c))return c;var de=Qe(c);if(de){if(K=UW(c),!X)return Ti(c,K)}else{var he=qr(c),be=he==ye||he==Je;if(hl(c))return M6(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:Z6(c),!X)return te?RW(c,ZH(K,c)):PW(c,u6(K,c))}else{if(!Kt[he])return I?c:{};K=zW(c,he,X)}}z||(z=new qo);var Ne=z.get(c);if(Ne)return Ne;z.set(c,K),AP(c)?c.forEach(function(Ge){K.add(mo(Ge,p,w,Ge,c,z))}):TP(c)&&c.forEach(function(Ge,gt){K.set(gt,mo(Ge,p,w,gt,c,z))});var je=ce?te?mw:gw:te?Ai:_r,st=de?n:je(c);return ho(st||c,function(Ge,gt){st&&(gt=Ge,Ge=c[gt]),Fh(K,gt,mo(Ge,p,w,gt,c,z))}),K}function JH(c){var p=_r(c);return function(w){return c6(w,c,p)}}function c6(c,p,w){var R=w.length;if(c==null)return!R;for(c=en(c);R--;){var I=w[R],z=p[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function d6(c,p,w){if(typeof c!="function")throw new po(s);return Hh(function(){c.apply(n,w)},p)}function Bh(c,p,w,R){var I=-1,z=wy,K=!0,X=c.length,te=[],ce=p.length;if(!X)return te;w&&(p=yn(p,Hi(w))),R?(z=D2,K=!1):p.length>=i&&(z=Ih,K=!1,p=new Pu(p));e:for(;++II?0:I+w),R=R===n||R>I?I:rt(R),R<0&&(R+=I),R=w>R?0:RP(R);w0&&w(X)?p>1?Lr(X,p-1,w,R,I):sl(I,X):R||(I[I.length]=X)}return I}var Q2=B6(),p6=B6(!0);function ws(c,p){return c&&Q2(c,p,_r)}function Z2(c,p){return c&&p6(c,p,_r)}function zy(c,p){return ol(p,function(w){return ha(c[w])})}function Ou(c,p){p=dl(p,c);for(var w=0,R=p.length;c!=null&&wp}function nW(c,p){return c!=null&&zt.call(c,p)}function rW(c,p){return c!=null&&p in en(c)}function iW(c,p,w){return c>=Wr(p,w)&&c=120&&de.length>=120)?new Pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&Iy.call(X,te,1),Iy.call(c,te,1);return c}function T6(c,p){for(var w=c?p.length:0,R=w-1;w--;){var I=p[w];if(w==R||I!==z){var z=I;fa(I)?Iy.call(c,I,1):lw(c,I)}}return c}function ow(c,p){return c+Ly(o6()*(p-c+1))}function yW(c,p,w,R){for(var I=-1,z=lr(Ny((p-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function sw(c,p){var w="";if(!c||p<1||p>$)return w;do p%2&&(w+=c),p=Ly(p/2),p&&(c+=c);while(p);return w}function lt(c,p){return xw(tP(c,p,Pi),c+"")}function vW(c){return l6(fd(c))}function _W(c,p){var w=fd(c);return Zy(w,Ru(p,0,w.length))}function Vh(c,p,w,R){if(!xn(c))return c;p=dl(p,c);for(var I=-1,z=p.length,K=z-1,X=c;X!=null&&++II?0:I+p),w=w>I?I:w,w<0&&(w+=I),I=p>w?0:w-p>>>0,p>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!qi(K)&&(w?K<=p:K=i){var ce=p?null:MW(c);if(ce)return Cy(ce);K=!1,I=Ih,te=new Pu}else te=p?[]:X;e:for(;++R=R?c:yo(c,p,w)}var I6=cH||function(c){return et.clearTimeout(c)};function M6(c,p){if(p)return c.slice();var w=c.length,R=e6?e6(w):new c.constructor(w);return c.copy(R),R}function fw(c){var p=new c.constructor(c.byteLength);return new Oy(p).set(new Oy(c)),p}function CW(c,p){var w=p?fw(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function TW(c){var p=new c.constructor(c.source,jo.exec(c));return p.lastIndex=c.lastIndex,p}function EW(c){return $h?en($h.call(c)):{}}function N6(c,p){var w=p?fw(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function L6(c,p){if(c!==p){var w=c!==n,R=c===null,I=c===c,z=qi(c),K=p!==n,X=p===null,te=p===p,ce=qi(p);if(!X&&!ce&&!z&&c>p||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-p.index}function D6(c,p,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=p.length,ce=lr(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&ci(w[0],w[1],K)&&(z=I<3?n:z,I=1),p=en(p);++R-1?I[z?p[K]:K]:n}}function V6(c){return da(function(p){var w=p.length,R=w,I=go.prototype.thru;for(c&&p.reverse();R--;){var z=p[R];if(typeof z!="function")throw new po(s);if(I&&!K&&Yy(z)=="wrapper")var K=new go([],!0)}for(R=K?R:w;++R1&&Ct.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(p);if(ce&&de)return ce==p&&de==c;var he=-1,be=!0,Ne=w&v?new Pu:n;for(z.set(c,p),z.set(p,c);++he1?"& ":"")+p[R],p=p.join(w>2?", ":" "),c.replace(Vo,`{ +/* [wrapped with `+p+`] */ +`)}function jW(c){return Qe(c)||Mu(c)||!!(r6&&c&&c[r6])}function fa(c,p){var w=typeof c;return p=p??$,!!p&&(w=="number"||w!="symbol"&&bh.test(c))&&c>-1&&c%1==0&&c0){if(++p>=V)return arguments[0]}else p=0;return c.apply(n,arguments)}}function Zy(c,p){var w=-1,R=c.length,I=R-1;for(p=p===n?R:p;++w1?c[p-1]:n;return w=typeof w=="function"?(c.pop(),w):n,hP(c,w)});function pP(c){var p=F(c);return p.__chain__=!0,p}function eK(c,p){return p(c),c}function Jy(c,p){return p(c)}var tK=da(function(c){var p=c.length,w=p?c[0]:0,R=this.__wrapped__,I=function(z){return Y2(z,c)};return p>1||this.__actions__.length||!(R instanceof _t)||!fa(w)?this.thru(I):(R=R.slice(w,+w+(p?1:0)),R.__actions__.push({func:Jy,args:[I],thisArg:n}),new go(R,this.__chain__).thru(function(z){return p&&!z.length&&z.push(n),z}))});function nK(){return pP(this)}function rK(){return new go(this.value(),this.__chain__)}function iK(){this.__values__===n&&(this.__values__=PP(this.value()));var c=this.__index__>=this.__values__.length,p=c?n:this.__values__[this.__index__++];return{done:c,value:p}}function oK(){return this}function sK(c){for(var p,w=this;w instanceof Fy;){var R=aP(w);R.__index__=0,R.__values__=n,p?I.__wrapped__=R:p=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,p}function aK(){var c=this.__wrapped__;if(c instanceof _t){var p=c;return this.__actions__.length&&(p=new _t(this)),p=p.reverse(),p.__actions__.push({func:Jy,args:[Cw],thisArg:n}),new go(p,this.__chain__)}return this.thru(Cw)}function lK(){return O6(this.__wrapped__,this.__actions__)}var uK=Hy(function(c,p,w){zt.call(c,w)?++c[w]:ua(c,w,1)});function cK(c,p,w){var R=Qe(c)?jA:eW;return w&&ci(c,p,w)&&(p=n),R(c,Ve(p,3))}function dK(c,p){var w=Qe(c)?ol:h6;return w(c,Ve(p,3))}var fK=z6(lP),hK=z6(uP);function pK(c,p){return Lr(e0(c,p),1)}function gK(c,p){return Lr(e0(c,p),U)}function mK(c,p,w){return w=w===n?1:rt(w),Lr(e0(c,p),w)}function gP(c,p){var w=Qe(c)?ho:ul;return w(c,Ve(p,3))}function mP(c,p){var w=Qe(c)?LG:f6;return w(c,Ve(p,3))}var yK=Hy(function(c,p,w){zt.call(c,w)?c[w].push(p):ua(c,w,[p])});function vK(c,p,w,R){c=Ei(c)?c:fd(c),w=w&&!R?rt(w):0;var I=c.length;return w<0&&(w=lr(I+w,0)),o0(c)?w<=I&&c.indexOf(p,w)>-1:!!I&&ed(c,p,w)>-1}var _K=lt(function(c,p,w){var R=-1,I=typeof p=="function",z=Ei(c)?oe(c.length):[];return ul(c,function(K){z[++R]=I?Gi(p,K,w):Uh(K,p,w)}),z}),bK=Hy(function(c,p,w){ua(c,w,p)});function e0(c,p){var w=Qe(c)?yn:_6;return w(c,Ve(p,3))}function SK(c,p,w,R){return c==null?[]:(Qe(p)||(p=p==null?[]:[p]),w=R?n:w,Qe(w)||(w=w==null?[]:[w]),x6(c,p,w))}var wK=Hy(function(c,p,w){c[w?0:1].push(p)},function(){return[[],[]]});function xK(c,p,w){var R=Qe(c)?$2:qA,I=arguments.length<3;return R(c,Ve(p,4),w,I,ul)}function CK(c,p,w){var R=Qe(c)?DG:qA,I=arguments.length<3;return R(c,Ve(p,4),w,I,f6)}function TK(c,p){var w=Qe(c)?ol:h6;return w(c,r0(Ve(p,3)))}function EK(c){var p=Qe(c)?l6:vW;return p(c)}function AK(c,p,w){(w?ci(c,p,w):p===n)?p=1:p=rt(p);var R=Qe(c)?XH:_W;return R(c,p)}function PK(c){var p=Qe(c)?YH:SW;return p(c)}function RK(c){if(c==null)return 0;if(Ei(c))return o0(c)?nd(c):c.length;var p=qr(c);return p==Fe||p==ht?c.size:nw(c).length}function OK(c,p,w){var R=Qe(c)?F2:wW;return w&&ci(c,p,w)&&(p=n),R(c,Ve(p,3))}var kK=lt(function(c,p){if(c==null)return[];var w=p.length;return w>1&&ci(c,p[0],p[1])?p=[]:w>2&&ci(p[0],p[1],p[2])&&(p=[p[0]]),x6(c,Lr(p,1),[])}),t0=dH||function(){return et.Date.now()};function IK(c,p){if(typeof p!="function")throw new po(s);return c=rt(c),function(){if(--c<1)return p.apply(this,arguments)}}function yP(c,p,w){return p=w?n:p,p=c&&p==null?c.length:p,ca(c,E,n,n,n,n,p)}function vP(c,p){var w;if(typeof p!="function")throw new po(s);return c=rt(c),function(){return--c>0&&(w=p.apply(this,arguments)),c<=1&&(p=n),w}}var Ew=lt(function(c,p,w){var R=x;if(w.length){var I=al(w,cd(Ew));R|=C}return ca(c,R,p,w,I)}),_P=lt(function(c,p,w){var R=x|_;if(w.length){var I=al(w,cd(_P));R|=C}return ca(p,R,c,w,I)});function bP(c,p,w){p=w?n:p;var R=ca(c,y,n,n,n,n,n,p);return R.placeholder=bP.placeholder,R}function SP(c,p,w){p=w?n:p;var R=ca(c,S,n,n,n,n,n,p);return R.placeholder=SP.placeholder,R}function wP(c,p,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new po(s);p=_o(p)||0,xn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?lr(_o(w.maxWait)||0,p):z,be="trailing"in w?!!w.trailing:be);function Ne(Bn){var Xo=R,ga=I;return R=I=n,ce=Bn,K=c.apply(ga,Xo),K}function je(Bn){return ce=Bn,X=Hh(gt,p),de?Ne(Bn):K}function st(Bn){var Xo=Bn-te,ga=Bn-ce,zP=p-Xo;return he?Wr(zP,z-ga):zP}function Ge(Bn){var Xo=Bn-te,ga=Bn-ce;return te===n||Xo>=p||Xo<0||he&&ga>=z}function gt(){var Bn=t0();if(Ge(Bn))return Ct(Bn);X=Hh(gt,st(Bn))}function Ct(Bn){return X=n,be&&R?Ne(Bn):(R=I=n,K)}function Ki(){X!==n&&I6(X),ce=0,R=te=I=X=n}function di(){return X===n?K:Ct(t0())}function Xi(){var Bn=t0(),Xo=Ge(Bn);if(R=arguments,I=this,te=Bn,Xo){if(X===n)return je(te);if(he)return I6(X),X=Hh(gt,p),Ne(te)}return X===n&&(X=Hh(gt,p)),K}return Xi.cancel=Ki,Xi.flush=di,Xi}var MK=lt(function(c,p){return d6(c,1,p)}),NK=lt(function(c,p,w){return d6(c,_o(p)||0,w)});function LK(c){return ca(c,k)}function n0(c,p){if(typeof c!="function"||p!=null&&typeof p!="function")throw new po(s);var w=function(){var R=arguments,I=p?p.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(n0.Cache||la),w}n0.Cache=la;function r0(c){if(typeof c!="function")throw new po(s);return function(){var p=arguments;switch(p.length){case 0:return!c.call(this);case 1:return!c.call(this,p[0]);case 2:return!c.call(this,p[0],p[1]);case 3:return!c.call(this,p[0],p[1],p[2])}return!c.apply(this,p)}}function DK(c){return vP(2,c)}var $K=xW(function(c,p){p=p.length==1&&Qe(p[0])?yn(p[0],Hi(Ve())):yn(Lr(p,1),Hi(Ve()));var w=p.length;return lt(function(R){for(var I=-1,z=Wr(R.length,w);++I=p}),Mu=m6(function(){return arguments}())?m6:function(c){return Mn(c)&&zt.call(c,"callee")&&!n6.call(c,"callee")},Qe=oe.isArray,ZK=Zc?Hi(Zc):sW;function Ei(c){return c!=null&&i0(c.length)&&!ha(c)}function Fn(c){return Mn(c)&&Ei(c)}function JK(c){return c===!0||c===!1||Mn(c)&&ui(c)==ne}var hl=hH||Fw,eX=Jc?Hi(Jc):aW;function tX(c){return Mn(c)&&c.nodeType===1&&!Wh(c)}function nX(c){if(c==null)return!0;if(Ei(c)&&(Qe(c)||typeof c=="string"||typeof c.splice=="function"||hl(c)||dd(c)||Mu(c)))return!c.length;var p=qr(c);if(p==Fe||p==ht)return!c.size;if(Gh(c))return!nw(c).length;for(var w in c)if(zt.call(c,w))return!1;return!0}function rX(c,p){return zh(c,p)}function iX(c,p,w){w=typeof w=="function"?w:n;var R=w?w(c,p):n;return R===n?zh(c,p,n,w):!!R}function Pw(c){if(!Mn(c))return!1;var p=ui(c);return p==ve||p==pe||typeof c.message=="string"&&typeof c.name=="string"&&!Wh(c)}function oX(c){return typeof c=="number"&&i6(c)}function ha(c){if(!xn(c))return!1;var p=ui(c);return p==ye||p==Je||p==W||p==rr}function CP(c){return typeof c=="number"&&c==rt(c)}function i0(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=$}function xn(c){var p=typeof c;return c!=null&&(p=="object"||p=="function")}function Mn(c){return c!=null&&typeof c=="object"}var TP=kh?Hi(kh):uW;function sX(c,p){return c===p||tw(c,p,vw(p))}function aX(c,p,w){return w=typeof w=="function"?w:n,tw(c,p,vw(p),w)}function lX(c){return EP(c)&&c!=+c}function uX(c){if(WW(c))throw new Xe(o);return y6(c)}function cX(c){return c===null}function dX(c){return c==null}function EP(c){return typeof c=="number"||Mn(c)&&ui(c)==Ae}function Wh(c){if(!Mn(c)||ui(c)!=_e)return!1;var p=ky(c);if(p===null)return!0;var w=zt.call(p,"constructor")&&p.constructor;return typeof w=="function"&&w instanceof w&&Ay.call(w)==aH}var Rw=UA?Hi(UA):cW;function fX(c){return CP(c)&&c>=-$&&c<=$}var AP=zA?Hi(zA):dW;function o0(c){return typeof c=="string"||!Qe(c)&&Mn(c)&&ui(c)==At}function qi(c){return typeof c=="symbol"||Mn(c)&&ui(c)==un}var dd=VA?Hi(VA):fW;function hX(c){return c===n}function pX(c){return Mn(c)&&qr(c)==Pr}function gX(c){return Mn(c)&&ui(c)==Ci}var mX=Xy(rw),yX=Xy(function(c,p){return c<=p});function PP(c){if(!c)return[];if(Ei(c))return o0(c)?Wo(c):Ti(c);if(Mh&&c[Mh])return XG(c[Mh]());var p=qr(c),w=p==Fe?G2:p==ht?Cy:fd;return w(c)}function pa(c){if(!c)return c===0?c:0;if(c=_o(c),c===U||c===-U){var p=c<0?-1:1;return p*j}return c===c?c:0}function rt(c){var p=pa(c),w=p%1;return p===p?w?p-w:p:0}function RP(c){return c?Ru(rt(c),0,q):0}function _o(c){if(typeof c=="number")return c;if(qi(c))return G;if(xn(c)){var p=typeof c.valueOf=="function"?c.valueOf():c;c=xn(p)?p+"":p}if(typeof c!="string")return c===0?c:+c;c=KA(c);var w=vh.test(c);return w||_h.test(c)?xe(c.slice(2),w?2:8):yh.test(c)?G:+c}function OP(c){return xs(c,Ai(c))}function vX(c){return c?Ru(rt(c),-$,$):c===0?c:0}function Bt(c){return c==null?"":Wi(c)}var _X=ld(function(c,p){if(Gh(p)||Ei(p)){xs(p,_r(p),c);return}for(var w in p)zt.call(p,w)&&Fh(c,w,p[w])}),kP=ld(function(c,p){xs(p,Ai(p),c)}),s0=ld(function(c,p,w,R){xs(p,Ai(p),c,R)}),bX=ld(function(c,p,w,R){xs(p,_r(p),c,R)}),SX=da(Y2);function wX(c,p){var w=ad(c);return p==null?w:u6(w,p)}var xX=lt(function(c,p){c=en(c);var w=-1,R=p.length,I=R>2?p[2]:n;for(I&&ci(p[0],p[1],I)&&(R=1);++w1),z}),xs(c,mw(c),w),R&&(w=mo(w,f|h|g,NW));for(var I=p.length;I--;)lw(w,p[I]);return w});function zX(c,p){return MP(c,r0(Ve(p)))}var VX=da(function(c,p){return c==null?{}:gW(c,p)});function MP(c,p){if(c==null)return{};var w=yn(mw(c),function(R){return[R]});return p=Ve(p),C6(c,w,function(R,I){return p(R,I[0])})}function jX(c,p,w){p=dl(p,c);var R=-1,I=p.length;for(I||(I=1,c=n);++Rp){var R=c;c=p,p=R}if(w||c%1||p%1){var I=o6();return Wr(c+I*(p-c+re("1e-"+((I+"").length-1))),p)}return ow(c,p)}var eY=ud(function(c,p,w){return p=p.toLowerCase(),c+(w?DP(p):p)});function DP(c){return Iw(Bt(c).toLowerCase())}function $P(c){return c=Bt(c),c&&c.replace(Sh,GG).replace(vy,"")}function tY(c,p,w){c=Bt(c),p=Wi(p);var R=c.length;w=w===n?R:Ru(rt(w),0,R);var I=w;return w-=p.length,w>=0&&c.slice(w,I)==p}function nY(c){return c=Bt(c),c&&qn.test(c)?c.replace(Ft,HG):c}function rY(c){return c=Bt(c),c&&bs.test(c)?c.replace(ji,"\\$&"):c}var iY=ud(function(c,p,w){return c+(w?"-":"")+p.toLowerCase()}),oY=ud(function(c,p,w){return c+(w?" ":"")+p.toLowerCase()}),sY=U6("toLowerCase");function aY(c,p,w){c=Bt(c),p=rt(p);var R=p?nd(c):0;if(!p||R>=p)return c;var I=(p-R)/2;return Ky(Ly(I),w)+c+Ky(Ny(I),w)}function lY(c,p,w){c=Bt(c),p=rt(p);var R=p?nd(c):0;return p&&R>>0,w?(c=Bt(c),c&&(typeof p=="string"||p!=null&&!Rw(p))&&(p=Wi(p),!p&&td(c))?fl(Wo(c),0,w):c.split(p,w)):[]}var gY=ud(function(c,p,w){return c+(w?" ":"")+Iw(p)});function mY(c,p,w){return c=Bt(c),w=w==null?0:Ru(rt(w),0,c.length),p=Wi(p),c.slice(w,w+p.length)==p}function yY(c,p,w){var R=F.templateSettings;w&&ci(c,p,w)&&(p=n),c=Bt(c),p=s0({},p,R,q6);var I=s0({},p.imports,R.imports,q6),z=_r(I),K=j2(I,z),X,te,ce=0,de=p.interpolate||Ss,he="__p += '",be=H2((p.escape||Ss).source+"|"+de.source+"|"+(de===kr?mh:Ss).source+"|"+(p.evaluate||Ss).source+"|$","g"),Ne="//# sourceURL="+(zt.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++by+"]")+` +`;c.replace(be,function(Ge,gt,Ct,Ki,di,Xi){return Ct||(Ct=Ki),he+=c.slice(ce,Xi).replace(wh,WG),gt&&(X=!0,he+=`' + +__e(`+gt+`) + +'`),di&&(te=!0,he+=`'; +`+di+`; +__p += '`),Ct&&(he+=`' + +((__t = (`+Ct+`)) == null ? '' : __t) + +'`),ce=Xi+Ge.length,Ge}),he+=`'; +`;var je=zt.call(p,"variable")&&p.variable;if(!je)he=`with (obj) { +`+he+` +} +`;else if(ph.test(je))throw new Xe(a);he=(te?he.replace(ra,""):he).replace(uo,"$1").replace(ia,"$1;"),he="function("+(je||"obj")+`) { +`+(je?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+he+`return __p +}`;var st=BP(function(){return Nt(z,Ne+"return "+he).apply(n,K)});if(st.source=he,Pw(st))throw st;return st}function vY(c){return Bt(c).toLowerCase()}function _Y(c){return Bt(c).toUpperCase()}function bY(c,p,w){if(c=Bt(c),c&&(w||p===n))return KA(c);if(!c||!(p=Wi(p)))return c;var R=Wo(c),I=Wo(p),z=XA(R,I),K=YA(R,I)+1;return fl(R,z,K).join("")}function SY(c,p,w){if(c=Bt(c),c&&(w||p===n))return c.slice(0,ZA(c)+1);if(!c||!(p=Wi(p)))return c;var R=Wo(c),I=YA(R,Wo(p))+1;return fl(R,0,I).join("")}function wY(c,p,w){if(c=Bt(c),c&&(w||p===n))return c.replace(fo,"");if(!c||!(p=Wi(p)))return c;var R=Wo(c),I=XA(R,Wo(p));return fl(R,I).join("")}function xY(c,p){var w=O,R=M;if(xn(p)){var I="separator"in p?p.separator:I;w="length"in p?rt(p.length):w,R="omission"in p?Wi(p.omission):R}c=Bt(c);var z=c.length;if(td(c)){var K=Wo(c);z=K.length}if(w>=z)return c;var X=w-nd(R);if(X<1)return R;var te=K?fl(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),Rw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=H2(I.source,Bt(jo.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Wi(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function CY(c){return c=Bt(c),c&&or.test(c)?c.replace(nn,JG):c}var TY=ud(function(c,p,w){return c+(w?" ":"")+p.toUpperCase()}),Iw=U6("toUpperCase");function FP(c,p,w){return c=Bt(c),p=w?n:p,p===n?KG(c)?nH(c):BG(c):c.match(p)||[]}var BP=lt(function(c,p){try{return Gi(c,n,p)}catch(w){return Pw(w)?w:new Xe(w)}}),EY=da(function(c,p){return ho(p,function(w){w=Cs(w),ua(c,w,Ew(c[w],c))}),c});function AY(c){var p=c==null?0:c.length,w=Ve();return c=p?yn(c,function(R){if(typeof R[1]!="function")throw new po(s);return[w(R[0]),R[1]]}):[],lt(function(R){for(var I=-1;++I$)return[];var w=q,R=Wr(c,q);p=Ve(p),c-=q;for(var I=V2(R,p);++w0||p<0)?new _t(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),p!==n&&(p=rt(p),w=p<0?w.dropRight(-p):w.take(p-c)),w)},_t.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},_t.prototype.toArray=function(){return this.take(q)},ws(_t.prototype,function(c,p){var w=/^(?:filter|find|map|reject)|While$/.test(p),R=/^(?:head|last)$/.test(p),I=F[R?"take"+(p=="last"?"Right":""):p],z=R||/^find/.test(p);I&&(F.prototype[p]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof _t,ce=X[0],de=te||Qe(K),he=function(gt){var Ct=I.apply(F,sl([gt],X));return R&&be?Ct[0]:Ct};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Ne=!!this.__actions__.length,je=z&&!be,st=te&&!Ne;if(!z&&de){K=st?K:new _t(this);var Ge=c.apply(K,X);return Ge.__actions__.push({func:Jy,args:[he],thisArg:n}),new go(Ge,be)}return je&&st?c.apply(this,X):(Ge=this.thru(he),je?R?Ge.value()[0]:Ge.value():Ge)})}),ho(["pop","push","shift","sort","splice","unshift"],function(c){var p=Ty[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);F.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return p.apply(Qe(z)?z:[],I)}return this[w](function(K){return p.apply(Qe(K)?K:[],I)})}}),ws(_t.prototype,function(c,p){var w=F[p];if(w){var R=w.name+"";zt.call(sd,R)||(sd[R]=[]),sd[R].push({name:p,func:w})}}),sd[Wy(n,_).name]=[{name:"wrapper",func:n}],_t.prototype.clone=CH,_t.prototype.reverse=TH,_t.prototype.value=EH,F.prototype.at=tK,F.prototype.chain=nK,F.prototype.commit=rK,F.prototype.next=iK,F.prototype.plant=sK,F.prototype.reverse=aK,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=lK,F.prototype.first=F.prototype.head,Mh&&(F.prototype[Mh]=oK),F},rd=rH();Rt?((Rt.exports=rd)._=rd,at._=rd):et._=rd}).call(Ze)})(L1,L1.exports);var yce=L1.exports,D1=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(d){return l([u,d])}}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 Ace(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var oR=hs;function P$(e,t){if(e===t||!(oR(e)&&oR(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},Rce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function aR(e){if(!hs(e))return e;for(var t=Vn({},e),n=0,r=Object.entries(t);n"u"&&a===sR&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return B1(t,null,function(){var C,T,E,P,k,O,M,V,B,A,N,D,U,$,j,G,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,Je,Fe,Ae,vt,_e,Qt,rr,qt;return D1(this,function(ht){switch(ht.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,V=typeof y=="string"?{url:y}:y,B=V.url,A=V.headers,N=A===void 0?new Headers(_.headers):A,D=V.params,U=D===void 0?void 0:D,$=V.responseHandler,j=$===void 0?v??"json":$,G=V.validateStatus,q=G===void 0?x??Pce:G,Z=V.timeout,ee=Z===void 0?m:Z,ie=rR(V,["url","headers","params","responseHandler","validateStatus","timeout"]),se=Vn(Fs(Vn({},_),{signal:C}),ie),N=new Headers(aR(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=ht.sent()||N,W=function(At){return typeof At=="object"&&(hs(At)||Array.isArray(At)||typeof At.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",h),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),U&&(ne=~B.indexOf("?")?"&":"?",fe=l?l(U):new URLSearchParams(aR(U)),B+=ne+fe),B=Tce(r,B),pe=new Request(B,se),ve=pe.clone(),M={request:ve},Je=!1,Fe=ee&&setTimeout(function(){Je=!0,S.abort()},ee),ht.label=2;case 2:return ht.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=ht.sent(),[3,6];case 4:return Ae=ht.sent(),[2,{error:{status:Je?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ae)},meta:M}];case 5:return Fe&&clearTimeout(Fe),[7];case 6:vt=ye.clone(),M.response=vt,Qt="",ht.label=7;case 7:return ht.trys.push([7,9,,10]),[4,Promise.all([b(ye,j).then(function(At){return _e=At},function(At){return rr=At}),vt.text().then(function(At){return Qt=At},function(){})])];case 8:if(ht.sent(),rr)throw rr;return[3,10];case 9:return qt=ht.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:Qt,error:String(qt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return B1(this,null,function(){var C;return D1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var lR=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),UT=Me("__rtkq/focused"),R$=Me("__rtkq/unfocused"),zT=Me("__rtkq/online"),O$=Me("__rtkq/offline"),Ys;(function(e){e.query="query",e.mutation="mutation"})(Ys||(Ys={}));function k$(e){return e.type===Ys.query}function kce(e){return e.type===Ys.mutation}function I$(e,t,n,r,i,o){return Ice(e)?e(t,n,r,i).map(z3).map(o):Array.isArray(e)?e.map(z3).map(o):[]}function Ice(e){return typeof e=="function"}function z3(e){return typeof e=="string"?{type:e}:e}function wx(e){return e!=null}var Fg=Symbol("forceQueryFn"),V3=function(e){return typeof e[Fg]=="function"};function Mce(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,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:h};function h(){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 g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return $1($1([],S(s)),S(a)).filter(wx)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(wx)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(wx)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,V=k.forceRefetch,B=k.subscriptionOptions,A=Fg,N=k[A];return function(D,U){var $,j,G=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n(($={type:"query",subscribe:M,forceRefetch:V,subscriptionOptions:B,endpointName:S,originalArgs:E,queryCacheKey:G},$[Fg]=N,$)),Z=i.endpoints[S].select(E),ee=D(q),ie=Z(U()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(j=s.get(D))==null?void 0:j[G],fe=function(){return Z(U())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:B,queryCacheKey:G,abort:le,unwrap:function(){return B1(this,null,function(){var ye;return D1(this,function(Je){switch(Je.label){case 0:return[4,pe];case 1:if(ye=Je.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return D(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&D(u({queryCacheKey:G,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,D(f({endpointName:S,requestId:se,queryCacheKey:G,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(D)||{};ve[G]=pe,s.set(D,ve),pe.then(function(){delete ve[G],Object.keys(ve).length||s.delete(D)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,V){var B=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(B),N=A.requestId,D=A.abort,U=A.unwrap,$=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),j=function(){M(d({requestId:N,fixedCacheKey:O}))},G=Object.assign($,{arg:A.arg,requestId:N,abort:D,unwrap:U,unsubscribe:j,reset:j}),q=a.get(M)||{};return a.set(M,q),q[N]=G,G.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=G,G.then(function(){q[O]===G&&(delete q[O],Object.keys(q).length||a.delete(M))})),G}}}}function uR(e){return e}function Nce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===vn.uninitialized)return M;if("data"in O)if(Fi(O.data)){var V=pT(O.data,C),B=V[1],A=V[2];(P=M.patches).push.apply(P,B),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[Fg]=function(){return{data:C}},E)))}},d=function(y,S){return B1(t,[y,S],function(C,T){var E,P,k,O,M,V,B,A,N,D,U,$,j,G,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return D1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=uR,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[Fg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(Je){return r(Je,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new lR(k.error,k.meta);return U=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,U.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Yu]=!0,ee)])];case 8:if($=ye.sent(),j=$,!(j instanceof lR))return[3,12];G=uR,E.query&&E.transformErrorResponse&&(G=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,G(j.value,j.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:j.meta},ie[Yu]=!0,ie)])];case 11:return Z=ye.sent(),j=Z,[3,12];case 12:throw typeof process<"u",console.error(j),j;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,V=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return V?V===!0||(Number(new Date)-Number(M))/1e3>=V:!1}var h=Jl(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Yu]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,V=y.originalArgs,B=O==null?void 0:O.originalArgs,A=i[y.endpointName];return V3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||k$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:V,previousArg:B,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Jl(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Yu]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var V=M==null?void 0:M.fulfilledTimeStamp;if(!V){T(O());return}var B=(Number(new Date)-Number(new Date(V)))/1e3>=k;B&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:lf(ib(y),_(S)),matchFulfilled:lf(pu(y),_(S)),matchRejected:lf(If(y),_(S))}}return{queryThunk:h,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function M$(e,t,n,r){return I$(n[e.meta.arg.endpointName][t],pu(e)?e.payload:void 0,Sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function R0(e,t,n){var r=e[t];r&&n(r)}function Bg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function cR(e,t,n){var r=e[Bg(t)];r&&n(r)}var rp={};function Lce(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,d=e.config,f=Me(t+"/resetApiState"),h=An({name:t+"/queries",initialState:rp,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:wv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;R0(C,P,function(O){O.data=x3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,V=V3(k);(k.subscribe||V)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:vn.uninitialized,endpointName:k.endpointName})),R0(T,k.queryCacheKey,function(B){B.status=vn.pending,B.requestId=V&&B.requestId?B.requestId:P.requestId,k.originalArgs!==void 0&&(B.originalArgs=k.originalArgs),B.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;R0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!V3(P.arg))){var V=o[P.arg.endpointName].merge;if(O.status=vn.fulfilled,V)if(O.data!==void 0){var B=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,D=P.requestId,U=fu(O.data,function($){return V($,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:B,requestId:D})});O.data=U}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?P$(yi(O.data)?aT(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,V=E.error,B=E.payload;R0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=vn.rejected,A.error=B??V}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?ide:rde;D$.useSyncExternalStore=$f.useSyncExternalStore!==void 0?$f.useSyncExternalStore:ode;L$.exports=D$;var sde=L$.exports,$$={exports:{}},F$={};/** + * @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 bb=L,ade=sde;function lde(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ude=typeof Object.is=="function"?Object.is:lde,cde=ade.useSyncExternalStore,dde=bb.useRef,fde=bb.useEffect,hde=bb.useMemo,pde=bb.useDebugValue;F$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=dde(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=hde(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,ude(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,i]);var a=cde(e,o[0],o[1]);return fde(function(){s.hasValue=!0,s.value=a},[a]),pde(a),a};$$.exports=F$;var B$=$$.exports;const gde=Tc(B$);function mde(e){e()}let U$=mde;const yde=e=>U$=e,vde=()=>U$,yR=Symbol.for(`react-redux-context-${L.version}`),vR=globalThis;function _de(){let e=vR[yR];return e||(e=L.createContext(null),vR[yR]=e),e}const ru=new Proxy({},new Proxy({},{get(e,t){const n=_de();return(r,...i)=>Reflect[t](n,...i)}}));function VT(e=ru){return function(){return L.useContext(e)}}const z$=VT(),bde=()=>{throw new Error("uSES not initialized!")};let V$=bde;const Sde=e=>{V$=e},wde=(e,t)=>e===t;function xde(e=ru){const t=e===ru?z$:VT(e);return function(r,i={}){const{equalityFn:o=wde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:h}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=V$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const j$=xde();function U1(){return U1=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 _R={notify(){},get:()=>[]};function Lde(e,t){let n,r=_R;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=Nde())}function u(){n&&(n(),n=void 0,r.clear(),r=_R)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const Dde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",$de=Dde?L.useLayoutEffect:L.useEffect;function bR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function z1(e,t){if(bR(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=Lde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);$de(()=>{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||ru;return jt.createElement(l.Provider,{value:s},n)}function X$(e=ru){const t=e===ru?z$:VT(e);return function(){const{store:r}=t();return r}}const Y$=X$();function Bde(e=ru){const t=e===ru?Y$:X$(e);return function(){return t().dispatch}}const Q$=Bde();Sde(B$.useSyncExternalStoreWithSelector);yde(Ms.unstable_batchedUpdates);var Ude=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=$g.get(),i=Dg.get(),o=N1.get();return Oce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},iu=tfe({baseQuery:rfe,reducerPath:"api",tagTypes:nfe,endpoints:()=>({})}),ife=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,cfe=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),G3=Symbol("encodeFragmentIdentifier");function dfe(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,[Kn(t,e),"[",i,"]"].join("")]:[...n,[Kn(t,e),"[",Kn(i,e),"]=",Kn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Kn(t,e),"[]"].join("")]:[...n,[Kn(t,e),"[]=",Kn(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,[Kn(t,e),":list="].join("")]:[...n,[Kn(t,e),":list=",Kn(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?[[Kn(n,e),t,Kn(i,e)].join("")]:[[r,Kn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Kn(t,e)]:[...n,[Kn(t,e),"=",Kn(r,e)].join("")]}}function ffe(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&&Ea(r,e).includes(e.arrayFormatSeparator);r=s?Ea(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>Ea(l,e)):r===null?r:Ea(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&Ea(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>Ea(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 eF(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Kn(e,t){return t.encode?t.strict?cfe(e):encodeURIComponent(e):e}function Ea(e,t){return t.decode?afe(e):e}function tF(e){return Array.isArray(e)?e.sort():typeof e=="object"?tF(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function nF(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function hfe(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function ER(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 KT(e){e=nF(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function XT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},eF(t.arrayFormatSeparator);const n=ffe(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]=J$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:Ea(a,t),n(Ea(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]=ER(a,t);else r[i]=ER(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]=tF(s):i[o]=s,i},Object.create(null))}function rF(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},eF(t.arrayFormatSeparator);const n=s=>t.skipNull&&ufe(e[s])||t.skipEmptyString&&e[s]==="",r=dfe(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?Kn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Kn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Kn(s,t)+"="+Kn(a,t)}).filter(s=>s.length>0).join("&")}function iF(e,t){var i;t={decode:!0,...t};let[n,r]=J$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:XT(KT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:Ea(r,t)}:{}}}function oF(e,t){t={encode:!0,strict:!0,[G3]:!0,...t};const n=nF(e.url).split("?")[0]||"",r=KT(e.url),i={...XT(r,{sort:!1}),...e.query};let o=rF(i,t);o&&(o=`?${o}`);let s=hfe(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[G3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function sF(e,t,n){n={parseFragmentIdentifier:!0,[G3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=iF(e,n);return oF({url:r,query:lfe(i,t),fragmentIdentifier:o},n)}function pfe(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return sF(e,r,n)}const Tv=Object.freeze(Object.defineProperty({__proto__:null,exclude:pfe,extract:KT,parse:XT,parseUrl:iF,pick:sF,stringify:rF,stringifyUrl:oF},Symbol.toStringTag,{value:"Module"})),ip=(e,t)=>{if(!e)return!1;const n=j1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},ml=e=>Jr.includes(e.image_category)?Jr:Ll,Cn=hu({selectId:e=>e.image_name,sortComparer:(e,t)=>ife(t.updated_at,e.updated_at)}),j1=Cn.getSelectors(),Jo=e=>`images/?${Tv.stringify(e,{arrayFormat:"none"})}`,Yi=iu.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:tt}];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:tt}];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}),getBoardImagesTotal:e.query({query:t=>({url:Jo({board_id:t??"none",categories:Jr,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:Jo({board_id:t??"none",categories:Ll,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:tt}]}),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}]})})}),{useListBoardsQuery:oIe,useListAllBoardsQuery:sIe,useGetBoardImagesTotalQuery:aIe,useGetBoardAssetsTotalQuery:lIe,useCreateBoardMutation:uIe,useUpdateBoardMutation:cIe,useListAllImageNamesForBoardQuery:dIe}=Yi,we=iu.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Jo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Jo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Jo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return Cn.addMany(Cn.getInitialState(),n)},merge:(t,n)=>{Cn.addMany(t,j1.selectAll(n))},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;j1.selectAll(i).forEach(o=>{n(we.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Jo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${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={board_id:o??"none",categories:ml(t)},a=n(we.util.updateQueryData("listImages",s,l=>{Cn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=yce.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:ml(a)};n(we.util.updateQueryData("listImages",l,u=>{Cn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${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(we.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=ml(t);if(n)s.push(r(we.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{Cn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=we.endpoints.listImages.select(l)(o()),{data:d}=Jr.includes(t.image_category)?Yi.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Yi.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),h=ip(u.data,t);(f||h)&&s.push(r(we.util.updateQueryData("listImages",l,g=>{Cn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${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(we.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/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0: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(we.util.upsertQueryData("getImageDTO",u.image_name,u));const d=ml(u);a(we.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{Cn.addOne(f,u)})),a(we.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:tt},{type:"ImageList",id:Jo({board_id:"none",categories:Jr})},{type:"ImageList",id:Jo({board_id:"none",categories:Ll})},{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(we.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Jr},{categories:Ll}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(we.util.updateQueryData("listImages",u,d=>{Cn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:tt},{type:"ImageList",id:Jo({board_id:"none",categories:Jr})},{type:"ImageList",id:Jo({board_id:"none",categories:Ll})},{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:Jr},{categories:Ll}].forEach(l=>{n(we.util.updateQueryData("listImages",l,u=>{Cn.removeMany(u,s)}))})}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:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=ml(n);if(s.push(r(we.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(we.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{Cn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=we.endpoints.listImages.select(l)(o()),{data:d}=Jr.includes(n.image_category)?Yi.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Yi.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),h=ip(u.data,n);(f||h)&&s.push(r(we.util.updateQueryData("listImages",l,g=>{Cn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=ml(t),s=[];s.push(n(we.util.updateQueryData("getImageDTO",t.image_name,h=>{h.board_id=void 0}))),s.push(n(we.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},h=>{Cn.removeOne(h,t.image_name)})));const a={board_id:"none",categories:o},l=we.endpoints.listImages.select(a)(i()),{data:u}=Jr.includes(t.image_category)?Yi.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Yi.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=ip(l.data,t);(d||f)&&s.push(n(we.util.updateQueryData("listImages",a,h=>{Cn.upsertOne(h,t)})));try{await r}catch{s.forEach(h=>h.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(we.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=ml(u),f=u.board_id;r(we.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{Cn.removeOne(_,u.image_name)}));const h={board_id:t,categories:d},g=we.endpoints.listImages.select(h)(o()),{data:m}=Jr.includes(u.image_category)?Yi.endpoints.getBoardImagesTotal.select(t??"none")(o()):Yi.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=tR?ip(g.data,u):!0;(v||x)&&r(we.util.updateQueryData("listImages",h,_=>{Cn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(we.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=ml(l);n(we.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{Cn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=we.endpoints.listImages.select(d)(i()),{data:h}=Jr.includes(l.image_category)?Yi.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Yi.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(h??0),m=(h||0)>=tR?ip(f.data,l):!0;(g||m)&&n(we.util.updateQueryData("listImages",d,v=>{Cn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:fIe,useListImagesQuery:hIe,useLazyListImagesQuery:pIe,useGetImageDTOQuery:gIe,useGetImageMetadataQuery:mIe,useDeleteImageMutation:yIe,useDeleteImagesMutation:vIe,useUploadImageMutation:_Ie,useClearIntermediatesMutation:bIe,useAddImagesToBoardMutation:SIe,useRemoveImagesFromBoardMutation:wIe,useAddImageToBoardMutation:xIe,useRemoveImageFromBoardMutation:CIe,useChangeImageIsIntermediateMutation:TIe,useChangeImageSessionIdMutation:EIe,useDeleteBoardAndImagesMutation:AIe,useDeleteBoardMutation:PIe}=we,aF=Me("socket/socketConnected"),lF=Me("socket/appSocketConnected"),uF=Me("socket/socketDisconnected"),cF=Me("socket/appSocketDisconnected"),YT=Me("socket/socketSubscribed"),dF=Me("socket/appSocketSubscribed"),fF=Me("socket/socketUnsubscribed"),hF=Me("socket/appSocketUnsubscribed"),pF=Me("socket/socketInvocationStarted"),gF=Me("socket/appSocketInvocationStarted"),QT=Me("socket/socketInvocationComplete"),mF=Me("socket/appSocketInvocationComplete"),yF=Me("socket/socketInvocationError"),ZT=Me("socket/appSocketInvocationError"),vF=Me("socket/socketGraphExecutionStateComplete"),_F=Me("socket/appSocketGraphExecutionStateComplete"),bF=Me("socket/socketGeneratorProgress"),SF=Me("socket/appSocketGeneratorProgress"),wF=Me("socket/socketModelLoadStarted"),gfe=Me("socket/appSocketModelLoadStarted"),xF=Me("socket/socketModelLoadCompleted"),mfe=Me("socket/appSocketModelLoadCompleted"),CF=Me("socket/socketSessionRetrievalError"),TF=Me("socket/appSocketSessionRetrievalError"),EF=Me("socket/socketInvocationRetrievalError"),AF=Me("socket/appSocketInvocationRetrievalError"),JT=Me("controlNet/imageProcessed"),kd={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"}}},M0={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"},AR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:kd.canny_image_processor.default,shouldAutoConfig:!0},H3={controlNets:{},isEnabled:!1,pendingControlImages:[]},PF=An({name:"controlNet",initialState:H3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??AR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Qr(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...AR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in M0)if(r.model_name.includes(s)){o=M0[s];break}o?(i.processorType=o,i.processorNode=kd[o].default):(i.processorType="none",i.processorNode=kd.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=kd[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in M0)if((o=r.model)!=null&&o.model_name.includes(a)){s=M0[a];break}s?(r.processorType=s,r.processorNode=kd[s].default):(r.processorType="none",r.processorNode=kd.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...H3})},extraReducers:e=>{e.addCase(JT,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(ZT,t=>{t.pendingControlImages=[]}),e.addMatcher(S$,t=>{t.pendingControlImages=[]}),e.addMatcher(we.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;gc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:RIe,controlNetAdded:OIe,controlNetDuplicated:kIe,controlNetAddedFromImage:IIe,controlNetRemoved:RF,controlNetImageChanged:eE,controlNetProcessedImageChanged:yfe,controlNetToggled:MIe,controlNetModelChanged:PR,controlNetWeightChanged:NIe,controlNetBeginStepPctChanged:LIe,controlNetEndStepPctChanged:DIe,controlNetControlModeChanged:$Ie,controlNetResizeModeChanged:FIe,controlNetProcessorParamsChanged:vfe,controlNetProcessorTypeChanged:_fe,controlNetReset:tE,controlNetAutoConfigToggled:RR}=PF.actions,bfe=PF.reducer,OF={isEnabled:!1,maxPrompts:100,combinatorial:!0},Sfe=OF,kF=An({name:"dynamicPrompts",initialState:Sfe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=OF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:BIe,maxPromptsChanged:UIe,maxPromptsReset:zIe,combinatorialToggled:VIe}=kF.actions,wfe=kF.reducer,IF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},MF=An({name:"gallery",initialState:IF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(Cfe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Yi.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Gs,shouldAutoSwitchChanged:jIe,autoAssignBoardOnClickChanged:GIe,setGalleryImageMinimumWidth:HIe,boardIdSelected:W3,autoAddBoardIdChanged:WIe,galleryViewChanged:G1,selectionChanged:qIe,shouldShowDeleteButtonChanged:KIe,boardSearchTextChanged:XIe}=MF.actions,xfe=MF.reducer,Cfe=Lo(we.endpoints.deleteBoard.matchFulfilled,we.endpoints.deleteBoardAndImages.matchFulfilled),Tfe={imagesToDelete:[],isModalOpen:!1},NF=An({name:"deleteImageModal",initialState:Tfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:nE,imagesToDeleteSelected:Efe,imageDeletionCanceled:YIe}=NF.actions,Afe=NF.reducer,Pfe={isModalOpen:!1,imagesToChange:[]},LF=An({name:"changeBoardModal",initialState:Pfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:QIe,imagesToChangeSelected:ZIe,changeBoardReset:JIe}=LF.actions,Rfe=LF.reducer,OR={weight:.75},Ofe={loras:{}},DF=An({name:"lora",initialState:Ofe,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,...OR}},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,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=OR.weight)}}}),{loraAdded:e7e,loraRemoved:$F,loraWeightChanged:t7e,loraWeightReset:n7e,lorasCleared:r7e}=DF.actions,kfe=DF.reducer;function $o(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 d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(h=>h(t,f))}},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},Ife=e=>e?kR(e):kR,{useSyncExternalStoreWithSelector:Mfe}=gde;function Nfe(e,t=e.getState,n){const r=Mfe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Bi(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 zb(){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}})}Ev.prototype=zb.prototype={constructor:Ev,on:function(e,t){var n=this._,r=Dfe(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)),MR.hasOwnProperty(t)?{space:MR[t],local:e}:e}function Ffe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===q3&&t.documentElement.namespaceURI===q3?t.createElement(e):t.createElementNS(n,e)}}function Bfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function FF(e){var t=Vb(e);return(t.local?Bfe:Ffe)(t)}function Ufe(){}function rE(e){return e==null?Ufe:function(){return this.querySelector(e)}}function zfe(e){typeof e!="function"&&(e=rE(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function fhe(e){e||(e=hhe);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function phe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ghe(){return Array.from(this)}function mhe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Ahe:typeof t=="function"?Rhe:Phe)(e,t,n??"")):Ff(this.node(),e)}function Ff(e,t){return e.style.getPropertyValue(t)||jF(e).getComputedStyle(e,null).getPropertyValue(t)}function khe(e){return function(){delete this[e]}}function Ihe(e,t){return function(){this[e]=t}}function Mhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Nhe(e,t){return arguments.length>1?this.each((t==null?khe:typeof t=="function"?Mhe:Ihe)(e,t)):this.node()[e]}function GF(e){return e.trim().split(/^|\s+/)}function iE(e){return e.classList||new HF(e)}function HF(e){this._node=e,this._names=GF(e.getAttribute("class")||"")}HF.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 WF(e,t){for(var n=iE(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function lpe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function K3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){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:d}})}K3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function vpe(e){return!e.ctrlKey&&!e.button}function _pe(){return this.parentNode}function bpe(e,t){return t??{x:e.x,y:e.y}}function Spe(){return navigator.maxTouchPoints||"ontouchstart"in this}function wpe(){var e=vpe,t=_pe,n=bpe,r=Spe,i={},o=zb("start","drag","end"),s=0,a,l,u,d,f=0;function h(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,ype).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(rs(S.view).on("mousemove.drag",m,Ug).on("mouseup.drag",v,Ug),YF(S.view),Ax(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(hf(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){rs(S.view).on("mousemove.drag mouseup.drag",null),QF(S.view,u),hf(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?L0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?L0(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=Cpe.exec(e))?new Mi(t[1],t[2],t[3],1):(t=Tpe.exec(e))?new Mi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Epe.exec(e))?L0(t[1],t[2],t[3],t[4]):(t=Ape.exec(e))?L0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ppe.exec(e))?UR(t[1],t[2]/100,t[3]/100,1):(t=Rpe.exec(e))?UR(t[1],t[2]/100,t[3]/100,t[4]):NR.hasOwnProperty(e)?$R(NR[e]):e==="transparent"?new Mi(NaN,NaN,NaN,0):null}function $R(e){return new Mi(e>>16&255,e>>8&255,e&255,1)}function L0(e,t,n,r){return r<=0&&(e=t=n=NaN),new Mi(e,t,n,r)}function Ipe(e){return e instanceof Mm||(e=jg(e)),e?(e=e.rgb(),new Mi(e.r,e.g,e.b,e.opacity)):new Mi}function X3(e,t,n,r){return arguments.length===1?Ipe(e):new Mi(e,t,n,r??1)}function Mi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}oE(Mi,X3,ZF(Mm,{brighter(e){return e=e==null?W1:Math.pow(W1,e),new Mi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zg:Math.pow(zg,e),new Mi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Mi(oc(this.r),oc(this.g),oc(this.b),q1(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:FR,formatHex:FR,formatHex8:Mpe,formatRgb:BR,toString:BR}));function FR(){return`#${Zu(this.r)}${Zu(this.g)}${Zu(this.b)}`}function Mpe(){return`#${Zu(this.r)}${Zu(this.g)}${Zu(this.b)}${Zu((isNaN(this.opacity)?1:this.opacity)*255)}`}function BR(){const e=q1(this.opacity);return`${e===1?"rgb(":"rgba("}${oc(this.r)}, ${oc(this.g)}, ${oc(this.b)}${e===1?")":`, ${e})`}`}function q1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function oc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Zu(e){return e=oc(e),(e<16?"0":"")+e.toString(16)}function UR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new is(e,t,n,r)}function JF(e){if(e instanceof is)return new is(e.h,e.s,e.l,e.opacity);if(e instanceof Mm||(e=jg(e)),!e)return new is;if(e instanceof is)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 is(s,a,l,e.opacity)}function Npe(e,t,n,r){return arguments.length===1?JF(e):new is(e,t,n,r??1)}function is(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}oE(is,Npe,ZF(Mm,{brighter(e){return e=e==null?W1:Math.pow(W1,e),new is(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zg:Math.pow(zg,e),new is(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 Mi(Px(e>=240?e-240:e+120,i,r),Px(e,i,r),Px(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new is(zR(this.h),D0(this.s),D0(this.l),q1(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=q1(this.opacity);return`${e===1?"hsl(":"hsla("}${zR(this.h)}, ${D0(this.s)*100}%, ${D0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function zR(e){return e=(e||0)%360,e<0?e+360:e}function D0(e){return Math.max(0,Math.min(1,e||0))}function Px(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 eB=e=>()=>e;function Lpe(e,t){return function(n){return e+n*t}}function Dpe(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 $pe(e){return(e=+e)==1?tB:function(t,n){return n-t?Dpe(t,n,e):eB(isNaN(t)?n:t)}}function tB(e,t){var n=t-e;return n?Lpe(e,n):eB(isNaN(e)?t:e)}const VR=function e(t){var n=$pe(t);function r(i,o){var s=n((i=X3(i)).r,(o=X3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=tB(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function xl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Y3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Rx=new RegExp(Y3.source,"g");function Fpe(e){return function(){return e}}function Bpe(e){return function(t){return e(t)+""}}function Upe(e,t){var n=Y3.lastIndex=Rx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=Y3.exec(e))&&(i=Rx.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:xl(r,i)})),n=Rx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:xl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,h){u!==d?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:xl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,h,g,m){if(u!==f||d!==h){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:xl(u,f)},{i:v-2,x:xl(d,h)})}else(f!==1||h!==1)&&g.push(i(g)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,h),s(u.rotate,d.rotate,f,h),a(u.skewX,d.skewX,f,h),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(g){for(var m=-1,v=h.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Bf}function HR(){_c=(X1=Gg.now())+jb,Bf=Ep=0;try{Ype()}finally{Bf=0,Zpe(),_c=0}}function Qpe(){var e=Gg.now(),t=e-X1;t>iB&&(jb-=t,X1=e)}function Zpe(){for(var e,t=K1,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:K1=n);Ap=e,Z3(r)}function Z3(e){if(!Bf){Ep&&(Ep=clearTimeout(Ep));var t=e-_c;t>24?(e<1/0&&(Ep=setTimeout(HR,e-Gg.now()-jb)),op&&(op=clearInterval(op))):(op||(X1=Gg.now(),op=setInterval(Qpe,iB)),Bf=1,oB(HR))}}function WR(e,t,n){var r=new Y1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Jpe=zb("start","end","cancel","interrupt"),ege=[],aB=0,qR=1,J3=2,Av=3,KR=4,e5=5,Pv=6;function Gb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;tge(e,n,{name:t,index:r,group:i,on:Jpe,tween:ege,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:aB})}function aE(e,t){var n=vs(e,t);if(n.state>aB)throw new Error("too late; already scheduled");return n}function ea(e,t){var n=vs(e,t);if(n.state>Av)throw new Error("too late; already running");return n}function vs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function tge(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=sB(o,0,n.time);function o(u){n.state=qR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,h,g;if(n.state!==qR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===Av)return WR(s);g.state===KR?(g.state=Pv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dJ3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function kge(e,t,n){var r,i,o=Oge(t)?aE:ea;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function Ige(e,t){var n=this._id;return arguments.length<2?vs(this.node(),n).on.on(e):this.each(kge(n,e,t))}function Mge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Nge(){return this.on("end.remove",Mge(this._id))}function Lge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=rE(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function sme(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 Oa(e,t,n){this.k=e,this.x=t,this.y=n}Oa.prototype={constructor:Oa,scale:function(e){return e===1?this:new Oa(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Oa(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 Hl=new Oa(1,0,0);Oa.prototype;function Ox(e){e.stopImmediatePropagation()}function sp(e){e.preventDefault(),e.stopImmediatePropagation()}function ame(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function lme(){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 XR(){return this.__zoom||Hl}function ume(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function cme(){return navigator.maxTouchPoints||"ontouchstart"in this}function dme(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 fme(){var e=ame,t=lme,n=dme,r=ume,i=cme,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Kpe,u=zb("start","zoom","end"),d,f,h,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",XR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",V).on("touchend.zoom touchcancel.zoom",B).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,D,U){var $=A.selection?A.selection():A;$.property("__zoom",XR),A!==$?C(A,N,D,U):$.interrupt().each(function(){T(this,arguments).event(U).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,D,U){_.scaleTo(A,function(){var $=this.__zoom.k,j=typeof N=="function"?N.apply(this,arguments):N;return $*j},D,U)},_.scaleTo=function(A,N,D,U){_.transform(A,function(){var $=t.apply(this,arguments),j=this.__zoom,G=D==null?S($):typeof D=="function"?D.apply(this,arguments):D,q=j.invert(G),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(j,Z),G,q),$,s)},D,U)},_.translateBy=function(A,N,D,U){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof D=="function"?D.apply(this,arguments):D),t.apply(this,arguments),s)},null,U)},_.translateTo=function(A,N,D,U,$){_.transform(A,function(){var j=t.apply(this,arguments),G=this.__zoom,q=U==null?S(j):typeof U=="function"?U.apply(this,arguments):U;return n(Hl.translate(q[0],q[1]).scale(G.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof D=="function"?-D.apply(this,arguments):-D),j,s)},U,$)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new Oa(N,A.x,A.y)}function y(A,N,D){var U=N[0]-D[0]*A.k,$=N[1]-D[1]*A.k;return U===A.x&&$===A.y?A:new Oa(A.k,U,$)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,D,U){A.on("start.zoom",function(){T(this,arguments).event(U).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(U).end()}).tween("zoom",function(){var $=this,j=arguments,G=T($,j).event(U),q=t.apply($,j),Z=D==null?S(q):typeof D=="function"?D.apply($,j):D,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=$.__zoom,se=typeof N=="function"?N.apply($,j):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new Oa(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}G.zoom(null,W)}})}function T(A,N,D){return!D&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=rs(this.that).datum();u.call(A,this.that,new sme(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var D=T(this,N).event(A),U=this.__zoom,$=Math.max(o[0],Math.min(o[1],U.k*Math.pow(2,r.apply(this,arguments)))),j=Rs(A);if(D.wheel)(D.mouse[0][0]!==j[0]||D.mouse[0][1]!==j[1])&&(D.mouse[1]=U.invert(D.mouse[0]=j)),clearTimeout(D.wheel);else{if(U.k===$)return;D.mouse=[j,U.invert(j)],Rv(this),D.start()}sp(A),D.wheel=setTimeout(G,m),D.zoom("mouse",n(y(b(U,$),D.mouse[0],D.mouse[1]),D.extent,s));function G(){D.wheel=null,D.end()}}function k(A,...N){if(h||!e.apply(this,arguments))return;var D=A.currentTarget,U=T(this,N,!0).event(A),$=rs(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),j=Rs(A,D),G=A.clientX,q=A.clientY;YF(A.view),Ox(A),U.mouse=[j,this.__zoom.invert(j)],Rv(this),U.start();function Z(ie){if(sp(ie),!U.moved){var se=ie.clientX-G,le=ie.clientY-q;U.moved=se*se+le*le>v}U.event(ie).zoom("mouse",n(y(U.that.__zoom,U.mouse[0]=Rs(ie,D),U.mouse[1]),U.extent,s))}function ee(ie){$.on("mousemove.zoom mouseup.zoom",null),QF(ie.view,U.moved),sp(ie),U.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var D=this.__zoom,U=Rs(A.changedTouches?A.changedTouches[0]:A,this),$=D.invert(U),j=D.k*(A.shiftKey?.5:2),G=n(y(b(D,j),U,$),t.apply(this,N),s);sp(A),a>0?rs(this).transition().duration(a).call(C,G,U,A):rs(this).call(_.transform,G,U,A)}}function M(A,...N){if(e.apply(this,arguments)){var D=A.touches,U=D.length,$=T(this,N,A.changedTouches.length===U).event(A),j,G,q,Z;for(Ox(A),G=0;G"[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".`},dB=ou.error001();function Gn(e,t){const n=L.useContext(Hb);if(n===null)throw new Error(dB);return Nfe(n,e,t)}const ii=()=>{const e=L.useContext(Hb);if(e===null)throw new Error(dB);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},pme=e=>e.userSelectionActive?"none":"all";function gme({position:e,children:t,className:n,style:r,...i}){const o=Gn(pme),s=`${e}`.split("-");return ue.jsx("div",{className:$o(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function mme({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(gme,{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:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const yme=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[h,g]=L.useState({x:0,y:0,width:0,height:0}),m=$o(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:m,visibility:h.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:h.width+2*s[0],x:-s[0],y:-s[1],height:h.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var vme=L.memo(yme);const uE=e=>({width:e.offsetWidth,height:e.offsetHeight}),Uf=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),cE=(e={x:0,y:0},t)=>({x:Uf(e.x,t[0][0],t[1][0]),y:Uf(e.y,t[0][1],t[1][1])}),YR=(e,t,n)=>en?-Uf(Math.abs(e-n),1,50)/50:0,fB=(e,t)=>{const n=YR(e.x,35,t.width-35)*20,r=YR(e.y,35,t.height-35)*20;return[n,r]},hB=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},pB=(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)}),Q1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),gB=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),QR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),i7e=(e,t)=>gB(pB(Q1(e),Q1(t))),t5=(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)},_me=e=>Ro(e.width)&&Ro(e.height)&&Ro(e.x)&&Ro(e.y),Ro=e=>!isNaN(e)&&isFinite(e),pr=Symbol.for("internals"),mB=["Enter"," ","Escape"],bme=(e,t)=>{},Sme=e=>"nativeEvent"in e;function n5(e){var i,o;const t=Sme(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 yB=e=>"clientX"in e,Wl=(e,t)=>{var o,s;const n=yB(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)}},Nm=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:h,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&Ro(n)&&Ro(r)?ue.jsx(vme,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Nm.displayName="BaseEdge";function ap(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function vB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=bB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(Nm,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:m,interactionWidth:v})});dE.displayName="SimpleBezierEdge";const JR={[Ue.Left]:{x:-1,y:0},[Ue.Right]:{x:1,y:0},[Ue.Top]:{x:0,y:-1},[Ue.Bottom]:{x:0,y:1}},wme=({source:e,sourcePosition:t=Ue.Bottom,target:n})=>t===Ue.Left||t===Ue.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function xme({source:e,sourcePosition:t=Ue.Bottom,target:n,targetPosition:r=Ue.Top,center:i,offset:o}){const s=JR[t],a=JR[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},d=wme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",h=d[f];let g=[],m,v;const[x,_,b,y]=vB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===h?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===h?T:C:g=s.y===h?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=r5({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:h,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(Nm,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Wb.displayName="SmoothStepEdge";const fE=L.memo(e=>{var t;return ue.jsx(Wb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});fE.displayName="StepEdge";function Tme({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=vB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const hE=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:h,interactionWidth:g})=>{const[m,v,x]=Tme({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(Nm,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:h,interactionWidth:g})});hE.displayName="StraightEdge";function B0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function tO({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ue.Left:return[t-B0(t-r,o),n];case Ue.Right:return[t+B0(r-t,o),n];case Ue.Top:return[t,n-B0(n-i,o)];case Ue.Bottom:return[t,n+B0(i-n,o)]}}function SB({sourceX:e,sourceY:t,sourcePosition:n=Ue.Bottom,targetX:r,targetY:i,targetPosition:o=Ue.Top,curvature:s=.25}){const[a,l]=tO({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=tO({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,h,g,m]=_B({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,h,g,m]}const J1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ue.Bottom,targetPosition:o=Ue.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=SB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(Nm,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:m,interactionWidth:x})});J1.displayName="BezierEdge";const pE=L.createContext(null),Eme=pE.Provider;pE.Consumer;const Ame=()=>L.useContext(pE),Pme=e=>"id"in e&&"source"in e&&"target"in e,Rme=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,i5=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,Ome=(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)),wB=(e,t)=>{if(!e.source||!e.target)return t;let n;return Pme(e)?n={...e}:n={...e,id:Rme(e)},Ome(n,t)?t:t.concat(n)},xB=({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},kme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),mf=(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}},CB=(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}=mf(i,t).positionAbsolute;return pB(r,Q1({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 gB(n)},TB=(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(d=>{const{width:f,height:h,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=mf(d,a),x={x:v.x,y:v.y,width:f||0,height:h||0},_=t5(l,x),b=typeof f>"u"||typeof h>"u"||f===null||h===null,y=o&&_>0,S=(f||0)*(h||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},EB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},AB=(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=Uf(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,h=t/2-d*u,g=n/2-f*u;return[h,g,u]},Vu=(e,t=0)=>e.transition().duration(t);function nO(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 Ime(e,t,n,r,i,o){const{x:s,y:a}=Wl(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=gE(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":h?v.isValid:!0)||d[0]}const Mme={source:null,target:null,sourceHandle:null,targetHandle:null},PB=()=>({handleDomNode:null,isValid:!1,connection:Mme,endHandle:null});function RB(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={...PB(),handleDomNode:l};if(l){const d=gE(void 0,l),f=l.getAttribute("data-nodeid"),h=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?h:r,target:a?n:f,targetHandle:a?r:h};u.connection=v,g&&m&&(t===bc.Strict?a&&d==="source"||!a&&d==="target":f!==n||h!==r)&&(u.endHandle={nodeId:f,handleId:h,type:d},u.isValid=o(v))}return u}function Nme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[pr]){const{handleBounds:s}=o[pr];let a=[],l=[];s&&(a=nO(o,s,"source",`${t}-${n}-${r}`),l=nO(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function gE(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function kx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Lme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function OB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=hB(e.target),{connectionMode:f,domNode:h,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Wl(e),E=d==null?void 0:d.elementFromPoint(C,T),P=gE(l,E),k=h==null?void 0:h.getBoundingClientRect();if(!k||!P)return;let O,M=Wl(e,k),V=!1,B=null,A=!1,N=null;const D=Nme({nodes:_(),nodeId:n,handleId:t,handleType:P}),U=()=>{if(!g)return;const[G,q]=fB(M,k);x({x:G,y:q}),y=requestAnimationFrame(U)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function $(G){const{transform:q}=o();M=Wl(G,k);const{handle:Z,validHandleResult:ee}=Ime(G,d,xB(M,q,!1,[1,1]),m,D,ie=>RB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,V||(U(),V=!0),N=ee.handleDomNode,B=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?kme({x:S.x,y:S.y},q):M,connectionStatus:Lme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return kx(O);B.source!==B.target&&N&&(kx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function j(G){var q,Z;(S||N)&&B&&A&&(r==null||r(B)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,G),l&&(u==null||u(G)),kx(O),b(),cancelAnimationFrame(y),V=!1,A=!1,B=null,N=null,d.removeEventListener("mousemove",$),d.removeEventListener("mouseup",j),d.removeEventListener("touchmove",$),d.removeEventListener("touchend",j)}d.addEventListener("mousemove",$),d.addEventListener("mouseup",j),d.addEventListener("touchmove",$),d.addEventListener("touchend",j)}const rO=()=>!0,Dme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),$me=(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}},kB=L.forwardRef(({type:e="source",position:t=Ue.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...h},g)=>{var k,O;const m=s||null,v=e==="target",x=ii(),_=Ame(),{connectOnClick:b,noPanClassName:y}=Gn(Dme,Bi),{connecting:S,clickConnecting:C}=Gn($me(_,m,e),Bi);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",ou.error010());const T=M=>{const{defaultEdgeOptions:V,onConnect:B,hasDefaultEdges:A}=x.getState(),N={...V,...M};if(A){const{edges:D,setEdges:U}=x.getState();U(wB(N,D))}B==null||B(N),a==null||a(N)},E=M=>{if(!_)return;const V=yB(M);i&&(V&&M.button===0||!V)&&OB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||rO}),V?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:V,onClickConnectEnd:B,connectionClickStartHandle:A,connectionMode:N,isValidConnection:D}=x.getState();if(!_||!A&&!i)return;if(!A){V==null||V(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const U=hB(M.target),$=n||D||rO,{connection:j,isValid:G}=RB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,$,U);G&&T(j),B==null||B(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:$o(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...h,children:l})});kB.displayName="Handle";var e_=L.memo(kB);const IB=({data:e,isConnectable:t,targetPosition:n=Ue.Top,sourcePosition:r=Ue.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(e_,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(e_,{type:"source",position:r,isConnectable:t})]});IB.displayName="DefaultNode";var o5=L.memo(IB);const MB=({data:e,isConnectable:t,sourcePosition:n=Ue.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(e_,{type:"source",position:n,isConnectable:t})]});MB.displayName="InputNode";var NB=L.memo(MB);const LB=({data:e,isConnectable:t,targetPosition:n=Ue.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(e_,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});LB.displayName="OutputNode";var DB=L.memo(LB);const mE=()=>null;mE.displayName="GroupNode";const Fme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),U0=e=>e.id;function Bme(e,t){return Bi(e.selectedNodes.map(U0),t.selectedNodes.map(U0))&&Bi(e.selectedEdges.map(U0),t.selectedEdges.map(U0))}const $B=L.memo(({onSelectionChange:e})=>{const t=ii(),{selectedNodes:n,selectedEdges:r}=Gn(Fme,Bme);return L.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});$B.displayName="SelectionListener";const Ume=e=>!!e.onSelectionChange;function zme({onSelectionChange:e}){const t=Gn(Ume);return e||t?ue.jsx($B,{onSelectionChange:e}):null}const Vme=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 md(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function mt(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const jme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:h,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:V,onNodesDelete:B,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:D,onNodeDragStop:U,onSelectionDrag:$,onSelectionDragStart:j,onSelectionDragStop:G,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:Je,setTranslateExtent:Fe,setNodeExtent:Ae,reset:vt}=Gn(Vme,Bi),_e=ii();return L.useEffect(()=>{const Qt=r==null?void 0:r.map(rr=>({...rr,...O}));return ve(n,Qt),()=>{vt()}},[]),mt("defaultEdgeOptions",O,_e.setState),mt("connectionMode",C,_e.setState),mt("onConnect",i,_e.setState),mt("onConnectStart",o,_e.setState),mt("onConnectEnd",s,_e.setState),mt("onClickConnectStart",a,_e.setState),mt("onClickConnectEnd",l,_e.setState),mt("nodesDraggable",u,_e.setState),mt("nodesConnectable",d,_e.setState),mt("nodesFocusable",f,_e.setState),mt("edgesFocusable",h,_e.setState),mt("edgesUpdatable",g,_e.setState),mt("elementsSelectable",S,_e.setState),mt("elevateNodesOnSelect",m,_e.setState),mt("snapToGrid",E,_e.setState),mt("snapGrid",T,_e.setState),mt("onNodesChange",b,_e.setState),mt("onEdgesChange",y,_e.setState),mt("connectOnClick",k,_e.setState),mt("fitViewOnInit",M,_e.setState),mt("fitViewOnInitOptions",V,_e.setState),mt("onNodesDelete",B,_e.setState),mt("onEdgesDelete",A,_e.setState),mt("onNodeDrag",N,_e.setState),mt("onNodeDragStart",D,_e.setState),mt("onNodeDragStop",U,_e.setState),mt("onSelectionDrag",$,_e.setState),mt("onSelectionDragStart",j,_e.setState),mt("onSelectionDragStop",G,_e.setState),mt("noPanClassName",q,_e.setState),mt("nodeOrigin",Z,_e.setState),mt("rfId",ee,_e.setState),mt("autoPanOnConnect",ie,_e.setState),mt("autoPanOnNodeDrag",se,_e.setState),mt("onError",le,_e.setState),mt("connectionRadius",W,_e.setState),mt("isValidConnection",ne,_e.setState),md(e,fe),md(t,pe),md(v,ye),md(x,Je),md(P,Fe),md(_,Ae),null},iO={display:"none"},Gme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},FB="react-flow__node-desc",BB="react-flow__edge-desc",Hme="react-flow__aria-live",Wme=e=>e.ariaLiveMessage;function qme({rfId:e}){const t=Gn(Wme);return ue.jsx("div",{id:`${Hme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Gme,children:t})}function Kme({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${FB}-${e}`,style:iO,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."," "]}),ue.jsx("div",{id:`${BB}-${e}`,style:iO,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(qme,{rfId:e})]})}const Xme=(e,t,n)=>n===Ue.Left?e-t:n===Ue.Right?e+t:e,Yme=(e,t,n)=>n===Ue.Top?e-t:n===Ue.Bottom?e+t:e,oO="react-flow__edgeupdater",sO=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:$o([oO,`${oO}-${a}`]),cx:Xme(t,r,e),cy:Yme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Qme=()=>!0;var yd=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:h,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:V,onContextMenu:B,onMouseEnter:A,onMouseMove:N,onMouseLeave:D,edgeUpdaterRadius:U,onEdgeUpdate:$,onEdgeUpdateStart:j,onEdgeUpdateEnd:G,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,Je]=L.useState(!1),Fe=ii(),Ae=L.useMemo(()=>`url(#${i5(Z,ee)})`,[Z,ee]),vt=L.useMemo(()=>`url(#${i5(q,ee)})`,[q,ee]);if(O)return null;const _e=mn=>{const{edges:Zt,addSelectedEdges:Rr}=Fe.getState();if(k&&(Fe.setState({nodesSelectionActive:!1}),Rr([n])),s){const Hr=Zt.find(si=>si.id===n);s(mn,Hr)}},Qt=ap(n,Fe.getState,a),rr=ap(n,Fe.getState,B),qt=ap(n,Fe.getState,A),ht=ap(n,Fe.getState,N),At=ap(n,Fe.getState,D),un=(mn,Zt)=>{if(mn.button!==0)return;const{edges:Rr,isValidConnection:Hr}=Fe.getState(),si=Zt?b:_,Vi=(Zt?V:M)||null,$n=Zt?"target":"source",ai=Hr||Qme,ra=Zt,uo=Rr.find(Ft=>Ft.id===n);Je(!0),j==null||j(mn,uo,$n);const ia=Ft=>{Je(!1),G==null||G(Ft,uo,$n)};OB({event:mn,handleId:Vi,nodeId:si,onConnect:Ft=>$==null?void 0:$(uo,Ft),isTarget:ra,getState:Fe.getState,setState:Fe.setState,isValidConnection:ai,edgeUpdaterType:$n,onEdgeUpdateEnd:ia})},Gr=mn=>un(mn,!0),Pr=mn=>un(mn,!1),Ci=()=>ve(!0),In=()=>ve(!1),gn=!k&&!s,ir=mn=>{var Zt;if(mB.includes(mn.key)&&k){const{unselectNodesAndEdges:Rr,addSelectedEdges:Hr,edges:si}=Fe.getState();mn.key==="Escape"?((Zt=fe.current)==null||Zt.blur(),Rr({edges:[si.find($n=>$n.id===n)]})):Hr([n])}};return ue.jsxs("g",{className:$o(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:gn,updating:pe}]),onClick:_e,onDoubleClick:Qt,onContextMenu:rr,onMouseEnter:qt,onMouseMove:ht,onMouseLeave:At,onKeyDown:se?ir:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${BB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:h,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:V,markerStart:Ae,markerEnd:vt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(sO,{position:E,centerX:y,centerY:S,radius:U,onMouseDown:Gr,onMouseEnter:Ci,onMouseOut:In,type:"source"}),(le==="target"||le===!0)&&ue.jsx(sO,{position:P,centerX:C,centerY:T,radius:U,onMouseDown:Pr,onMouseEnter:Ci,onMouseOut:In,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function Zme(e){const t={default:yd(e.default||J1),straight:yd(e.bezier||hE),step:yd(e.step||fE),smoothstep:yd(e.step||Wb),simplebezier:yd(e.simplebezier||dE)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=yd(e[o]||J1),i),n);return{...t,...r}}function aO(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 Ue.Top:return{x:r+o/2,y:i};case Ue.Right:return{x:r+o,y:i+s/2};case Ue.Bottom:return{x:r+o/2,y:i+s};case Ue.Left:return{x:r,y:i+s/2}}}function lO(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Jme=(e,t,n,r,i,o)=>{const s=aO(n,e,t),a=aO(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function eye({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 d=Q1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),h=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*h)>0}function uO(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[pr])==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 UB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:UB(n,t):!1}function cO(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 tye(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!UB(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 nye(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function zB(e,t,n,r,i=[0,0],o){const s=nye(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:h}=mf(d,i).positionAbsolute;a=d&&Ro(f)&&Ro(h)&&Ro(d.width)&&Ro(d.height)?[[f+e.width*i[0],h+e.height*i[1]],[f+d.width-e.width+e.width*i[0],h+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",ou.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:h}=mf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+h],[e.extent[1][0]+f,e.extent[1][1]+h]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=mf(d,i).positionAbsolute}const u=a?cE(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Ix({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 dO=(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,...uE(l)}})};function lp(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function s5({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 rye(){const e=ii();return L.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 Mx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function VB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=ii(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),h=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=rye();return L.useEffect(()=>{if(e!=null&&e.current){const b=rs(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:V,snapToGrid:B,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let D=!1;if(d.current=d.current.map($=>{const j={x:C-$.distance.x,y:T-$.distance.y};B&&(j.x=V[0]*Math.round(j.x/V[0]),j.y=V[1]*Math.round(j.y/V[1]));const G=zB($,j,E,M,A,N);return D=D||$.position.x!==G.position.x||$.position.y!==G.position.y,$.position=G.position,$.positionAbsolute=G.positionAbsolute,$}),!D)return;O(d.current,!0,!0),u(!0);const U=i?P:Mx(k);if(U&&v.current){const[$,j]=Ix({nodeId:i,dragItems:d.current,nodeInternals:E});U(v.current,$,j)}},S=()=>{if(!g.current)return;const[C,T]=fB(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}h.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=wpe().on("start",T=>{var D;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:V,onSelectionDragStart:B}=a.getState(),A=i?V:Mx(B);!s&&!P&&i&&((D=E.get(i))!=null&&D.selected||M()),i&&o&&s&&s5({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=tye(E,O,N,i),A&&d.current){const[U,$]=Ix({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,U,$)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Wl(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Wl(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(h.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:Mx(O);if(E(d.current,!1,!1),M){const[V,B]=Ix({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,V,B)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!cO(E,`.${n}`,e))&&(!r||cO(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function jB(){const e=ii();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),h=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*h*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=zB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const yf={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var up=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:h,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:V,isParent:B,noDragClassName:A,noPanClassName:N,initialized:D,disableKeyboardA11y:U,ariaLabel:$,rfId:j})=>{const G=ii(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||h||g,le=jB(),W=lp(n,G.getState,f),ne=lp(n,G.getState,h),fe=lp(n,G.getState,g),pe=lp(n,G.getState,m),ve=lp(n,G.getState,v),ye=Ae=>{if(y&&(!T||!b)&&s5({id:n,store:G,nodeRef:q}),d){const vt=G.getState().nodeInternals.get(n);d(Ae,{...vt})}},Je=Ae=>{if(!n5(Ae))if(mB.includes(Ae.key)&&y){const vt=Ae.key==="Escape";s5({id:n,store:G,unselect:vt,nodeRef:q})}else!U&&b&&u&&Object.prototype.hasOwnProperty.call(yf,Ae.key)&&(G.setState({ariaLiveMessage:`Moved selected node ${Ae.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:yf[Ae.key].x,y:yf[Ae.key].y,isShiftPressed:Ae.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ae=q.current;return O==null||O.observe(Ae),()=>O==null?void 0:O.unobserve(Ae)}},[k]),L.useEffect(()=>{const Ae=ie.current!==r,vt=Z.current!==E,_e=ee.current!==P;q.current&&(Ae||vt||_e)&&(Ae&&(ie.current=r),vt&&(Z.current=E),_e&&(ee.current=P),G.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Fe=VB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:$o(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:B,dragging:Fe}]),ref:q,style:{zIndex:V,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:D?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?Je:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":U?void 0:`${FB}-${j}`,"aria-label":$,children:ue.jsx(Eme,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Fe,dragHandle:M,zIndex:V})})})};return t.displayName="NodeWrapper",L.memo(t)};function iye(e){const t={input:up(e.input||NB),default:up(e.default||o5),output:up(e.output||DB),group:up(e.group||mE)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=up(e[o]||o5),i),n);return{...t,...r}}const oye=({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]},sye=typeof document<"u"?document:null;var Wg=(e=null,t={target:sye})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,h)=>f.concat(...h),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&n5(g))return!1;const m=hO(g.code,a);o.current.add(g[m]),fO(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&n5(g))return!1;const m=hO(g.code,a);fO(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},h=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",h),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",h)}}},[e,r]),n};function fO(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function hO(e,t){return t.includes(e)?"code":"key"}function GB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=mf(i,r);return GB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[pr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[pr])==null?void 0:a.z)??0:n.z??0},r)}function HB(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}=GB(r,e,{...r.position,z:((i=r[pr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[pr].z=a,n!=null&&n[r.id]&&(r[pr].isParent=!0)}})}function Nx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(Ro(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={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&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,pr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[pr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),HB(i,n,o),i}function WB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),h=t.initial&&!u&&d;if(a&&l&&(h||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=CB(m,f),[_,b,y]=AB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=Hl.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Vu(l,t.duration),S):a.transform(l,S),!0}}return!1}function aye(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[pr]:r[pr],selected:n.selected})}),new Map(t)}function lye(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function z0({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:aye(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:lye(t,o)}),a==null||a(t))}const vd=()=>{},uye={zoomIn:vd,zoomOut:vd,zoomTo:vd,getZoom:()=>1,setViewport:vd,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:vd,fitBounds:vd,project:e=>e,viewportInitialized:!1},cye=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),dye=()=>{const e=ii(),{d3Zoom:t,d3Selection:n}=Gn(cye,Bi);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Vu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Vu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Vu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Hl.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Vu(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=>WB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,h=l/2-o*d,g=Hl.translate(f,h).scale(d);t.transform(Vu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,h]=AB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=Hl.translate(d,f).scale(h);t.transform(Vu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return xB(i,o,s,a)},viewportInitialized:!0}:uye,[t,n])};function qB(){const e=dye(),t=ii(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),V=b().reduce((N,D)=>{const U=!O.includes(D.id)&&D.parentNode&&N.find(j=>j.id===D.parentNode);return(typeof D.deletable=="boolean"?D.deletable:!0)&&(O.includes(D.id)||U)&&N.push(D),N},[]),B=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=B.filter(N=>M.includes(N.id));if(V||A){const N=EB(V,B),D=[...A,...N],U=D.reduce(($,j)=>($.includes(j.id)||$.push(j.id),$),[]);if((C||S)&&(C&&t.setState({edges:y.filter($=>!U.includes($.id))}),S&&(V.forEach($=>{_.delete($.id)}),t.setState({nodeInternals:new Map(_)}))),U.length>0&&(E==null||E(D),k&&k(U.map($=>({id:$,type:"remove"})))),V.length>0&&(T==null||T(V),P)){const $=V.map(j=>({id:j.id,type:"remove"}));P($)}}},[]),h=L.useCallback(v=>{const x=_me(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:QR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=h(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=QR(C),E=t5(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=h(v);if(!b)return!1;const y=t5(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var fye=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=ii(),{deleteElements:r}=qB(),i=Wg(e),o=Wg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function hye(e){const t=ii();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=uE(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",ou.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 yE={position:"absolute",width:"100%",height:"100%",top:0,left:0},pye=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Lx=e=>({x:e.x,y:e.y,zoom:e.k}),_d=(e,t)=>e.target.closest(`.${t}`),pO=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),gye=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),mye=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=gf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:h,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=ii(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:V,d3ZoomHandler:B,userSelectionActive:A}=Gn(gye,Bi),N=Wg(x),D=L.useRef(0);return hye(k),L.useEffect(()=>{if(k.current){const U=k.current.getBoundingClientRect(),$=fme().scaleExtent([m,v]).translateExtent(g),j=rs(k.current).call($),G=Hl.translate(h.x,h.y).scale(Uf(h.zoom,m,v)),q=[[0,0],[U.width,U.height]],Z=$.constrain()(G,q,g);$.transform(j,Z),T.setState({d3Zoom:$,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{V&&M&&(s&&!N&&!A?V.on("wheel.zoom",U=>{if(_d(U,y))return!1;U.preventDefault(),U.stopImmediatePropagation();const $=V.property("__zoom").k||1;if(U.ctrlKey&&o){const Z=Rs(U),ee=-U.deltaY*(U.deltaMode===1?.05:U.deltaMode?1:.002)*10,ie=$*Math.pow(2,ee);M.scaleTo(V,ie,Z);return}const j=U.deltaMode===1?20:1,G=l===gf.Vertical?0:U.deltaX*j,q=l===gf.Horizontal?0:U.deltaY*j;M.translateBy(V,-(G/$)*a,-(q/$)*a)},{passive:!1}):typeof B<"u"&&V.on("wheel.zoom",function(U,$){if(!_||_d(U,y))return null;U.preventDefault(),B.call(this,U,$)},{passive:!1}))},[A,s,l,V,M,B,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",U=>{var j;if(!U.sourceEvent)return null;D.current=U.sourceEvent.button;const{onViewportChangeStart:$}=T.getState();if(E.current=!0,((j=U.sourceEvent)==null?void 0:j.type)==="mousedown"&&T.setState({paneDragging:!0}),t||$){const G=Lx(U.transform);O.current=G,$==null||$(G),t==null||t(U.sourceEvent,G)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",U=>{const{onViewportChange:$}=T.getState();if(T.setState({transform:[U.transform.x,U.transform.y,U.transform.k]}),P.current=!!(r&&pO(f,D.current??0)),e||$){const j=Lx(U.transform);$==null||$(j),e==null||e(U.sourceEvent,j)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",U=>{if(!U.sourceEvent)return null;const{onViewportChangeEnd:$}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&pO(f,D.current??0)&&!P.current&&r(U.sourceEvent),P.current=!1,(n||$)&&pye(O.current,U.transform)){const j=Lx(U.transform);O.current=j,clearTimeout(C.current),C.current=setTimeout(()=>{$==null||$(j),n==null||n(U.sourceEvent,j)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(U=>{const $=N||i,j=o&&U.ctrlKey;if(U.button===1&&U.type==="mousedown"&&(_d(U,"react-flow__node")||_d(U,"react-flow__edge")))return!0;if(!f&&!$&&!s&&!u&&!o||A||!u&&U.type==="dblclick"||_d(U,y)&&U.type==="wheel"||_d(U,S)&&U.type!=="wheel"||!o&&U.ctrlKey&&U.type==="wheel"||!$&&!s&&!j&&U.type==="wheel"||!f&&(U.type==="mousedown"||U.type==="touchstart")||Array.isArray(f)&&!f.includes(U.button)&&(U.type==="mousedown"||U.type==="touchstart"))return!1;const G=Array.isArray(f)&&f.includes(U.button)||!U.button||U.button<=1;return(!U.ctrlKey||U.type==="wheel")&&G})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:yE,children:b})},yye=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function vye(){const{userSelectionActive:e,userSelectionRect:t}=Gn(yye,Bi);return e&&t?ue.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 gO(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 KB(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&&gO(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&&gO(r,s);break}case"remove":return r}return r.push(s),r},n)}function XB(e,t){return KB(e,t)}function _ye(e,t){return KB(e,t)}const Cl=(e,t)=>({id:e,type:"select",selected:t});function qd(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Cl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Cl(r.id,!1))),n},[])}const Dx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},bye=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),YB=L.memo(({isSelecting:e,selectionMode:t=Hg.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const h=L.useRef(null),g=ii(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Gn(bye,Bi),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=B=>{o==null||o(B),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=B=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){B.preventDefault();return}s==null||s(B)},E=a?B=>a(B):void 0,P=B=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||B.button!==0||B.target!==h.current||!x.current)return;const{x:D,y:U}=Wl(B,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:D,startY:U,x:D,y:U}}),r==null||r(B)},k=B=>{const{userSelectionRect:A,nodeInternals:N,edges:D,transform:U,onNodesChange:$,onEdgesChange:j,nodeOrigin:G,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Wl(B,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=qd(le,fe);pe.length&&($==null||$(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=qd(D,ne);pe.length&&(j==null||j(pe))}g.setState({userSelectionRect:se})},O=B=>{if(B.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&B.target===h.current&&(C==null||C(B)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(B)},M=B=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(B)),S()},V=b&&(e||_);return ue.jsxs("div",{className:$o(["react-flow__pane",{dragging:y,selection:e}]),onClick:V?void 0:Dx(C,h),onContextMenu:Dx(T,h),onWheel:Dx(E,h),onMouseEnter:V?void 0:l,onMouseDown:V?P:void 0,onMouseMove:V?k:u,onMouseUp:V?O:void 0,onMouseLeave:V?M:d,ref:h,style:yE,children:[f,ue.jsx(vye,{})]})});YB.displayName="Pane";const Sye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...CB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function wye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=ii(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Gn(Sye,Bi),d=jB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),VB({nodeRef:f}),u||!i||!o)return null;const h=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(yf,m.key)&&d({x:yf[m.key].x,y:yf[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:$o(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var xye=L.memo(wye);const Cye=e=>e.nodesSelectionActive,QB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:h,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:V,minZoom:B,maxZoom:A,preventScrolling:N,onSelectionContextMenu:D,noWheelClassName:U,noPanClassName:$,disableKeyboardA11y:j})=>{const G=Gn(Cye),q=Wg(f),ee=Wg(_)||O,ie=q||h&&ee!==!0;return fye({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(mye,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:V,minZoom:B,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:U,noPanClassName:$,children:ue.jsxs(YB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,G&&ue.jsx(xye,{onSelectionContextMenu:D,noPanClassName:$,disableKeyboardA11y:j})]})})};QB.displayName="FlowRenderer";var Tye=L.memo(QB);function Eye(e){return Gn(L.useCallback(n=>e?TB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const Aye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),ZB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Gn(Aye,Bi),a=Eye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const h=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(h)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:yE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",ou.error003(f)),f="default");const h=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?cE(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=oye({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(h,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ue.Bottom,targetPosition:d.targetPosition||Ue.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[pr])==null?void 0:C.z)??0,isParent:!!((T=d[pr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};ZB.displayName="NodeRenderer";var Pye=L.memo(ZB);const Rye=[{level:0,isMaxLevel:!0,edges:[]}];function Oye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=Ro(a.zIndex);let u=l?a.zIndex:0;if(n){const h=t.get(a.target),g=t.get(a.source),m=a.selected||(h==null?void 0:h.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[pr])==null?void 0:d.z)||0,((f=h==null?void 0:h[pr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v: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?Rye:o}function kye(e,t,n){const r=Gn(L.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)&&eye({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 Oye(r,t,n)}const Iye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),Mye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),mO={[Z1.Arrow]:Iye,[Z1.ArrowClosed]:Mye};function Nye(e){const t=ii();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(mO,e)?mO[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",ou.error009(e)),null)},[e])}const Lye=({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=Nye(t);return l?ue.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:ue.jsx(l,{color:n,strokeWidth:s})}):null},Dye=({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=i5(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))},JB=({defaultColor:e,rfId:t})=>{const n=Gn(L.useCallback(Dye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(Lye,{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))})};JB.displayName="MarkerDefinitions";var $ye=L.memo(JB);const Fye=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}),eU=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Gn(Fye,Bi),k=kye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:V})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[V&&ue.jsx($ye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(B=>{const[A,N,D]=uO(E.get(B.source)),[U,$,j]=uO(E.get(B.target));if(!D||!j)return null;let G=B.type||"default";i[G]||(P==null||P("011",ou.error011(G)),G="default");const q=i[G]||i.default,Z=T===bc.Strict?$.target:($.target??[]).concat($.source??[]),ee=lO(N.source,B.sourceHandle),ie=lO(Z,B.targetHandle),se=(ee==null?void 0:ee.position)||Ue.Bottom,le=(ie==null?void 0:ie.position)||Ue.Top,W=!!(B.focusable||_&&typeof B.focusable>"u"),ne=typeof s<"u"&&(B.updatable||b&&typeof B.updatable>"u");if(!ee||!ie)return P==null||P("008",ou.error008(ee,B)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Jme(A,ee,se,U,ie,le);return ue.jsx(q,{id:B.id,className:$o([B.className,o]),type:G,data:B.data,selected:!!B.selected,animated:!!B.animated,hidden:!!B.hidden,label:B.label,labelStyle:B.labelStyle,labelShowBg:B.labelShowBg,labelBgStyle:B.labelBgStyle,labelBgPadding:B.labelBgPadding,labelBgBorderRadius:B.labelBgBorderRadius,style:B.style,source:B.source,target:B.target,sourceHandleId:B.sourceHandle,targetHandleId:B.targetHandle,markerEnd:B.markerEnd,markerStart:B.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:B.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in B?B.pathOptions:void 0,interactionWidth:B.interactionWidth},B.id)})})]},O)),x]}):null};eU.displayName="EdgeRenderer";var Bye=L.memo(eU);const Uye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function zye({children:e}){const t=Gn(Uye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Vye(e){const t=qB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const jye={[Ue.Left]:Ue.Right,[Ue.Right]:Ue.Left,[Ue.Top]:Ue.Bottom,[Ue.Bottom]:Ue.Top},tU=({nodeId:e,handleType:t,style:n,type:r=Ol.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Gn(L.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]),Bi),f=(T=s==null?void 0:s[pr])==null?void 0:T.handleBounds;let h=f==null?void 0:f[t];if(d===bc.Loose&&(h=h||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!h)return null;const g=a?h.find(k=>k.id===a):h[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?jye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===Ol.Bezier?[S]=SB(C):r===Ol.Step?[S]=r5({...C,borderRadius:0}):r===Ol.SmoothStep?[S]=r5(C):r===Ol.SimpleBezier?[S]=bB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};tU.displayName="ConnectionLine";const Gye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Hye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Gn(Gye,Bi);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:$o(["react-flow__connection",u]),children:ue.jsx(tU,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const nU=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:V,elementsSelectable:B,selectNodesOnDrag:A,defaultViewport:N,translateExtent:D,minZoom:U,maxZoom:$,preventScrolling:j,defaultMarkerColor:G,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:Je,onEdgeUpdate:Fe,onEdgeContextMenu:Ae,onEdgeMouseEnter:vt,onEdgeMouseMove:_e,onEdgeMouseLeave:Qt,edgeUpdaterRadius:rr,onEdgeUpdateStart:qt,onEdgeUpdateEnd:ht,noDragClassName:At,noWheelClassName:un,noPanClassName:Gr,elevateEdgesOnSelect:Pr,disableKeyboardA11y:Ci,nodeOrigin:In,nodeExtent:gn,rfId:ir})=>(Vye(o),ue.jsx(Tye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:Je,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:B,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:D,minZoom:U,maxZoom:$,onSelectionContextMenu:m,preventScrolling:j,noDragClassName:At,noWheelClassName:un,noPanClassName:Gr,disableKeyboardA11y:Ci,children:ue.jsxs(zye,{children:[ue.jsx(Bye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Fe,onlyRenderVisibleElements:V,onEdgeContextMenu:Ae,onEdgeMouseEnter:vt,onEdgeMouseMove:_e,onEdgeMouseLeave:Qt,onEdgeUpdateStart:qt,onEdgeUpdateEnd:ht,edgeUpdaterRadius:rr,defaultMarkerColor:G,noPanClassName:Gr,elevateEdgesOnSelect:!!Pr,disableKeyboardA11y:Ci,rfId:ir,children:ue.jsx(Hye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(Pye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:V,noPanClassName:Gr,noDragClassName:At,disableKeyboardA11y:Ci,nodeOrigin:In,nodeExtent:gn,rfId:ir})]})}));nU.displayName="GraphView";var Wye=L.memo(nU);const a5=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],yl={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:a5,nodeExtent:a5,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:bc.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:bme,isValidConnection:void 0},qye=()=>Ife((e,t)=>({...yl,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Nx(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?Nx(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(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:h}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=uE(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[pr]:{..._[pr],handleBounds:{source:dO(".source",x.nodeElement,h,u),target:dO(".target",x.nodeElement,h,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);HB(i,u);const m=s||o&&!s&&WB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},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=XB(n,a()),d=Nx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>Cl(l,!0)):(s=qd(o(),n),a=qd(i,[])),z0({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=>Cl(l,!0)):(s=qd(i,n),a=qd(o(),[])),z0({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(d=>(d.selected=!1,Cl(d.id,!1))),u=a.map(d=>Cl(d.id,!1));z0({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=>Cl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>Cl(a.id,!1));z0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=cE(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=Hl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:yl.connectionNodeId,connectionHandleId:yl.connectionHandleId,connectionHandleType:yl.connectionHandleType,connectionStatus:yl.connectionStatus,connectionStartHandle:yl.connectionStartHandle,connectionEndHandle:yl.connectionEndHandle}),reset:()=>e({...yl})})),rU=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=qye()),ue.jsx(hme,{value:t.current,children:e})};rU.displayName="ReactFlowProvider";const iU=({children:e})=>L.useContext(Hb)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(rU,{children:e});iU.displayName="ReactFlowWrapper";function yO(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Kye={input:NB,default:o5,output:DB,group:mE},Xye={default:J1,straight:hE,step:fE,smoothstep:Wb,simplebezier:dE},Yye=[0,0],Qye=[15,15],Zye={x:0,y:0,zoom:1},Jye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},e0e=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Kye,edgeTypes:s=Xye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:V,onSelectionDragStart:B,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:D,onSelectionStart:U,onSelectionEnd:$,connectionMode:j=bc.Strict,connectionLineType:G=Ol.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Hg.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Qye,onlyRenderVisibleElements:Je=!1,selectNodesOnDrag:Fe=!0,nodesDraggable:Ae,nodesConnectable:vt,nodesFocusable:_e,nodeOrigin:Qt=Yye,edgesFocusable:rr,edgesUpdatable:qt,elementsSelectable:ht,defaultViewport:At=Zye,minZoom:un=.5,maxZoom:Gr=2,translateExtent:Pr=a5,preventScrolling:Ci=!0,nodeExtent:In,defaultMarkerColor:gn="#b1b1b7",zoomOnScroll:ir=!0,zoomOnPinch:mn=!0,panOnScroll:Zt=!1,panOnScrollSpeed:Rr=.5,panOnScrollMode:Hr=gf.Free,zoomOnDoubleClick:si=!0,panOnDrag:Vi=!0,onPaneClick:$n,onPaneMouseEnter:ai,onPaneMouseMove:ra,onPaneMouseLeave:uo,onPaneScroll:ia,onPaneContextMenu:nn,children:Ft,onEdgeUpdate:or,onEdgeContextMenu:qn,onEdgeDoubleClick:yr,onEdgeMouseEnter:Or,onEdgeMouseMove:kr,onEdgeMouseLeave:co,onEdgeUpdateStart:Ir,onEdgeUpdateEnd:sr,edgeUpdaterRadius:ji=10,onNodesChange:bs,onEdgesChange:fo,noDragClassName:tl="nodrag",noWheelClassName:Vo="nowheel",noPanClassName:Mr="nopan",fitView:oa=!1,fitViewOptions:hh,connectOnClick:ph=!0,attributionPosition:gh,proOptions:mh,defaultEdgeOptions:jo,elevateNodesOnSelect:yh=!0,elevateEdgesOnSelect:vh=!1,disableKeyboardA11y:Gc=!1,autoPanOnConnect:_h=!0,autoPanOnNodeDrag:bh=!0,connectionRadius:Sh=20,isValidConnection:Ss,onError:wh,style:Go,id:nl,...xh},rl)=>{const Cu=yO(o,iye),Hc=yO(s,Zme),il=nl||"1";return ue.jsx("div",{...xh,style:{...Go,...Jye},ref:rl,className:$o(["react-flow",i]),"data-testid":"rf__wrapper",id:nl,children:ue.jsxs(iU,{children:[ue.jsx(Wye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:Cu,edgeTypes:Hc,connectionLineType:G,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:Je,selectNodesOnDrag:Fe,defaultViewport:At,translateExtent:Pr,minZoom:un,maxZoom:Gr,preventScrolling:Ci,zoomOnScroll:ir,zoomOnPinch:mn,zoomOnDoubleClick:si,panOnScroll:Zt,panOnScrollSpeed:Rr,panOnScrollMode:Hr,panOnDrag:Vi,onPaneClick:$n,onPaneMouseEnter:ai,onPaneMouseMove:ra,onPaneMouseLeave:uo,onPaneScroll:ia,onPaneContextMenu:nn,onSelectionContextMenu:D,onSelectionStart:U,onSelectionEnd:$,onEdgeUpdate:or,onEdgeContextMenu:qn,onEdgeDoubleClick:yr,onEdgeMouseEnter:Or,onEdgeMouseMove:kr,onEdgeMouseLeave:co,onEdgeUpdateStart:Ir,onEdgeUpdateEnd:sr,edgeUpdaterRadius:ji,defaultMarkerColor:gn,noDragClassName:tl,noWheelClassName:Vo,noPanClassName:Mr,elevateEdgesOnSelect:vh,rfId:il,disableKeyboardA11y:Gc,nodeOrigin:Qt,nodeExtent:In}),ue.jsx(jme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ae,nodesConnectable:vt,nodesFocusable:_e,edgesFocusable:rr,edgesUpdatable:qt,elementsSelectable:ht,elevateNodesOnSelect:yh,minZoom:un,maxZoom:Gr,nodeExtent:In,onNodesChange:bs,onEdgesChange:fo,snapToGrid:ve,snapGrid:ye,connectionMode:j,translateExtent:Pr,connectOnClick:ph,defaultEdgeOptions:jo,fitView:oa,fitViewOptions:hh,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:B,onSelectionDragStop:N,noPanClassName:Mr,nodeOrigin:Qt,rfId:il,autoPanOnConnect:_h,autoPanOnNodeDrag:bh,onError:wh,connectionRadius:Sh,isValidConnection:Ss}),ue.jsx(zme,{onSelectionChange:V}),Ft,ue.jsx(mme,{proOptions:mh,position:gh}),ue.jsx(Kme,{rfId:il,disableKeyboardA11y:Gc})]})})});e0e.displayName="ReactFlow";var oU={},qb={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.createLogMethods=void 0;var t0e=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)}};Kb.createLogMethods=t0e;var vE={},Xb={};Object.defineProperty(Xb,"__esModule",{value:!0});Xb.boolean=void 0;const n0e=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}};Xb.boolean=n0e;var Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.isBooleanable=void 0;const r0e=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}};Yb.isBooleanable=r0e;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Xb;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=Yb;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(vE);var vO=Object.prototype.toString,sU=function(t){var n=vO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&vO.call(t.callee)==="[object Function]"),r},$x,_O;function i0e(){if(_O)return $x;_O=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=sU,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(h){var g=h.constructor;return g&&g.prototype===h},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},d=function(){if(typeof window>"u")return!1;for(var h in window)try{if(!u["$"+h]&&t.call(window,h)&&window[h]!==null&&typeof window[h]=="object")try{l(window[h])}catch{return!0}}catch{return!0}return!1}(),f=function(h){if(typeof window>"u"||!d)return l(h);try{return l(h)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!Sr?St:Sr(Uint8Array),ac={"%AggregateError%":typeof AggregateError>"u"?St:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?St:ArrayBuffer,"%ArrayIteratorPrototype%":bd&&Sr?Sr([][Symbol.iterator]()):St,"%AsyncFromSyncIteratorPrototype%":St,"%AsyncFunction%":Id,"%AsyncGenerator%":Id,"%AsyncGeneratorFunction%":Id,"%AsyncIteratorPrototype%":Id,"%Atomics%":typeof Atomics>"u"?St:Atomics,"%BigInt%":typeof BigInt>"u"?St:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?St:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?St:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?St:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?St:Float32Array,"%Float64Array%":typeof Float64Array>"u"?St:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?St:FinalizationRegistry,"%Function%":lU,"%GeneratorFunction%":Id,"%Int8Array%":typeof Int8Array>"u"?St:Int8Array,"%Int16Array%":typeof Int16Array>"u"?St:Int16Array,"%Int32Array%":typeof Int32Array>"u"?St:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":bd&&Sr?Sr(Sr([][Symbol.iterator]())):St,"%JSON%":typeof JSON=="object"?JSON:St,"%Map%":typeof Map>"u"?St:Map,"%MapIteratorPrototype%":typeof Map>"u"||!bd||!Sr?St:Sr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?St:Promise,"%Proxy%":typeof Proxy>"u"?St:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?St:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?St:Set,"%SetIteratorPrototype%":typeof Set>"u"||!bd||!Sr?St:Sr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?St:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":bd&&Sr?Sr(""[Symbol.iterator]()):St,"%Symbol%":bd?Symbol:St,"%SyntaxError%":zf,"%ThrowTypeError%":b0e,"%TypedArray%":w0e,"%TypeError%":vf,"%Uint8Array%":typeof Uint8Array>"u"?St:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?St:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?St:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?St:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?St:WeakMap,"%WeakRef%":typeof WeakRef>"u"?St:WeakRef,"%WeakSet%":typeof WeakSet>"u"?St:WeakSet};if(Sr)try{null.error}catch(e){var x0e=Sr(Sr(e));ac["%Error.prototype%"]=x0e}var C0e=function e(t){var n;if(t==="%AsyncFunction%")n=Bx("async function () {}");else if(t==="%GeneratorFunction%")n=Bx("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Bx("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&Sr&&(n=Sr(i.prototype))}return ac[t]=n,n},CO={"%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"]},Lm=aU,t_=_0e,T0e=Lm.call(Function.call,Array.prototype.concat),E0e=Lm.call(Function.apply,Array.prototype.splice),TO=Lm.call(Function.call,String.prototype.replace),n_=Lm.call(Function.call,String.prototype.slice),A0e=Lm.call(Function.call,RegExp.prototype.exec),P0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,R0e=/\\(\\)?/g,O0e=function(t){var n=n_(t,0,1),r=n_(t,-1);if(n==="%"&&r!=="%")throw new zf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new zf("invalid intrinsic syntax, expected opening `%`");var i=[];return TO(t,P0e,function(o,s,a,l){i[i.length]=a?TO(l,R0e,"$1"):s||o}),i},k0e=function(t,n){var r=t,i;if(t_(CO,r)&&(i=CO[r],r="%"+i[0]+"%"),t_(ac,r)){var o=ac[r];if(o===Id&&(o=C0e(r)),typeof o>"u"&&!n)throw new vf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new zf("intrinsic "+t+" does not exist!")},I0e=function(t,n){if(typeof t!="string"||t.length===0)throw new vf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new vf('"allowMissing" argument must be a boolean');if(A0e(/^%?[^%]*%?$/,t)===null)throw new zf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=O0e(t),i=r.length>0?r[0]:"",o=k0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],E0e(r,T0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=sc(a,h);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[h]}else f=t_(a,h),a=a[h];f&&!l&&(ac[s]=a)}}return a},M0e=I0e,l5=M0e("%Object.defineProperty%",!0),u5=function(){if(l5)try{return l5({},"a",{value:1}),!0}catch{return!1}return!1};u5.hasArrayLengthDefineBug=function(){if(!u5())return null;try{return l5([],"length",{value:1}).length!==1}catch{return!0}};var N0e=u5,L0e=a0e,D0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",$0e=Object.prototype.toString,F0e=Array.prototype.concat,uU=Object.defineProperty,B0e=function(e){return typeof e=="function"&&$0e.call(e)==="[object Function]"},U0e=N0e(),cU=uU&&U0e,z0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!B0e(r)||!r())return}cU?uU(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},dU=function(e,t){var n=arguments.length>2?arguments[2]:{},r=L0e(t);D0e&&(r=F0e.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))}};eS.testComparisonRange=lve;var tS={};Object.defineProperty(tS,"__esModule",{value:!0});tS.testRange=void 0;var uve=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};tS.testRange=uve;(function(e){var t=Ze&&Ze.__assign||function(){return t=Object.assign||function(d){for(var f,h=1,g=arguments.length;h0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,fve.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};nS.highlight=pve;var rS={},vU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ze,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=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+" → "+d};function n(u,d,f,h){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=h,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 d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.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,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,h=this.completed,g=0;g0&&d.push(" ^ "+h+" more lines identical to this"),h=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],h=[u].concat(d),g=this.buildFirstStateStack(f,h);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+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=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(h){h.rule.name===d&&h.dot===h.rule.symbols.length&&h.reference===0&&h.data!==s.fail&&u.push(h)}),u.map(function(h){return h.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="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 d=typeof u;if(d==="string")return u;if(d==="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}})})(vU);var gve=vU.exports,Sc={},_U={},mu={};mu.__esModule=void 0;mu.__esModule=!0;var mve=typeof Object.setPrototypeOf=="function",yve=typeof Object.getPrototypeOf=="function",vve=typeof Object.defineProperty=="function",_ve=typeof Object.create=="function",bve=typeof Object.prototype.hasOwnProperty=="function",Sve=function(t,n){mve?Object.setPrototypeOf(t,n):t.__proto__=n};mu.setPrototypeOf=Sve;var wve=function(t){return yve?Object.getPrototypeOf(t):t.__proto__||t.prototype};mu.getPrototypeOf=wve;var EO=!1,xve=function e(t,n,r){if(vve&&!EO)try{Object.defineProperty(t,n,r)}catch{EO=!0,e(t,n,r)}else t[n]=r.value};mu.defineProperty=xve;var bU=function(t,n){return bve?t.hasOwnProperty(t,n):t[n]===void 0};mu.hasOwnProperty=bU;var Cve=function(t,n){if(_ve)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)bU(n,o)&&(i[o]=n[o].value);return i};mu.objectCreate=Cve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=mu,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),h=f==="Error",g=h?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,h?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}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})(_U);var SU=Ze&&Ze.__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(Sc,"__esModule",{value:!0});Sc.SyntaxError=Sc.LiqeError=void 0;var Tve=_U,wU=function(e){SU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Tve.ExtendableError);Sc.LiqeError=wU;var Eve=function(e){SU(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}(wU);Sc.SyntaxError=Eve;var SE={},r_=Ze&&Ze.__assign||function(){return r_=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:ya},{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"};SE.default=Ave;var xU={},iS={},Fm={};Object.defineProperty(Fm,"__esModule",{value:!0});Fm.isSafePath=void 0;var Pve=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,Rve=function(e){return Pve.test(e)};Fm.isSafePath=Rve;Object.defineProperty(iS,"__esModule",{value:!0});iS.createGetValueFunctionBody=void 0;var Ove=Fm,kve=function(e){if(!(0,Ove.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};iS.createGetValueFunctionBody=kve;(function(e){var t=Ze&&Ze.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,$ve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new TU.default.Parser(Lve),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(Dve);throw r?new Ive.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,Nve.hydrateAst)(n[0]);return i};rS.parse=$ve;var oS={};Object.defineProperty(oS,"__esModule",{value:!0});oS.test=void 0;var Fve=Dm,Bve=function(e,t){return(0,Fve.filter)(e,[t]).length===1};oS.test=Bve;var EU={};(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,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}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,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+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})(EU);var sS={};Object.defineProperty(sS,"__esModule",{value:!0});sS.isSafeUnquotedExpression=void 0;var Uve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};sS.isSafeUnquotedExpression=Uve;(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=Dm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=nS;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=rS;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=oS;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=Sc;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=EU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=sS;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(yU);var Bm={},AU={},wc={};Object.defineProperty(wc,"__esModule",{value:!0});wc.ROARR_LOG_FORMAT_VERSION=wc.ROARR_VERSION=void 0;wc.ROARR_VERSION="5.0.0";wc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Um={};Object.defineProperty(Um,"__esModule",{value:!0});Um.logLevels=void 0;Um.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var PU={},aS={};Object.defineProperty(aS,"__esModule",{value:!0});aS.hasOwnProperty=void 0;const zve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);aS.hasOwnProperty=zve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=aS;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(PU);var RU={},lS={},uS={};Object.defineProperty(uS,"__esModule",{value:!0});uS.tokenize=void 0;const Vve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,jve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Vve.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};uS.tokenize=jve;Object.defineProperty(lS,"__esModule",{value:!0});lS.createPrintf=void 0;const AO=vE,Gve=uS,Hve=(e,t)=>t.placeholder,Wve=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:Hve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Gve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=AO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=AO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};lS.createPrintf=Wve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=lS;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(RU);var c5={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=h(_,"maximumDepth"),E=h(_,"maximumBreadth");function P(B,A,N,D,U,$){let j=A[B];switch(typeof j=="object"&&j!==null&&typeof j.toJSON=="function"&&(j=j.toJSON(B)),j=D.call(A,B,j),typeof j){case"string":return o(j);case"object":{if(j===null)return"null";if(N.indexOf(j)!==-1)return y;let G="",q=",";const Z=$;if(Array.isArray(j)){if(j.length===0)return"[]";if(TE){const ve=j.length-E-1;G+=`${q}"... ${g(ve)} not stringified"`}return U!==""&&(G+=` +${Z}`),N.pop(),`[${G}]`}let ee=Object.keys(j);const ie=ee.length;if(ie===0)return"{}";if(TE){const ne=ie-E;G+=`${le}"...":${se}"${g(ne)} not stringified"`,le=q}return U!==""&&le.length>1&&(G=` +${$}${G} +${Z}`),N.pop(),`{${G}}`}case"number":return isFinite(j)?String(j):b?b(j):"null";case"boolean":return j===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(j);default:return b?b(j):void 0}}function k(B,A,N,D,U,$){switch(typeof A=="object"&&A!==null&&typeof A.toJSON=="function"&&(A=A.toJSON(B)),typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(N.indexOf(A)!==-1)return y;const j=$;let G="",q=",";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const W=A.length-E-1;G+=`${q}"... ${g(W)} not stringified"`}return U!==""&&(G+=` +${j}`),N.pop(),`[${G}]`}N.push(A);let Z="";U!==""&&($+=U,q=`, +${$}`,Z=" ");let ee="";for(const ie of D){const se=k(ie,A[ie],N,D,U,$);se!==void 0&&(G+=`${ee}${o(ie)}:${Z}${se}`,ee=q)}return U!==""&&ee.length>1&&(G=` +${$}${G} +${j}`),N.pop(),`{${G}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function O(B,A,N,D,U){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(B),typeof A!="object")return O(B,A,N,D,U);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;const $=U;if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const pe=A.length-E-1;se+=`${le}"... ${g(pe)} not stringified"`}return se+=` +${$}`,N.pop(),`[${se}]`}let j=Object.keys(A);const G=j.length;if(G===0)return"{}";if(TE){const se=G-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` +${U}${Z} +${$}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(B,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(B),typeof A!="object")return M(B,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let D="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;D+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${D}]`}let U=Object.keys(A);const $=U.length;if($===0)return"{}";if(TE){const q=$-E;D+=`${j}"...":"${g(q)} not stringified"`}return N.pop(),`{${D}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function V(B,A,N){if(arguments.length>1){let D="";if(typeof N=="number"?D=" ".repeat(Math.min(N,10)):typeof N=="string"&&(D=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":B},[],A,D,"");if(Array.isArray(A))return k("",B,[],m(A),D,"")}if(D.length!==0)return O("",B,[],D,"")}return M("",B,[])}return V}})(c5,c5.exports);var qve=c5.exports;(function(e){var t=Ze&&Ze.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=wc,r=Um,i=PU,o=RU,s=t(_E),a=t(qve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),h=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=h();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,V,B,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,V,B,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,V,B,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:V,i:B,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const D=d().onceLog;D.has(N)||(D.add(N),D.size>x&&D.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,V,B,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,V,B,A,N,D)=>{const U=Date.now(),$=m();let j;g()?j=h():j=f();let G,q;if(typeof E=="string"?G={...j.messageContext,...S}:G={...j.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.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.");q=(0,o.printf)(E,P,k,O,M,V,B,A,N,D)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,V,B,A,N,D)}let Z={context:G,message:q,sequence:$,time:U,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...j.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=h():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=h():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=h();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const V=[...k.transforms];typeof P=="function"?V.push(P):M={...M,...P};const B=d().asyncLocalStorage;if(!B)throw new Error("Async local context unavailable.");return B.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:V},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(AU);var cS={},Kve=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},Xve=Ze&&Ze.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(cS,"__esModule",{value:!0});cS.createRoarrInitialGlobalStateBrowser=void 0;const PO=wc,RO=Xve(Kve),Yve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(RO.default),t.includes(PO.ROARR_VERSION)||t.push(PO.ROARR_VERSION),t.sort(RO.default),{sequence:0,...e,versions:t}};cS.createRoarrInitialGlobalStateBrowser=Yve;var dS={};Object.defineProperty(dS,"__esModule",{value:!0});dS.getLogLevelName=void 0;const Qve=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";dS.getLogLevelName=Qve;(function(e){var t=Ze&&Ze.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=AU,r=cS,o=(0,t(_E).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var h;s.write&&s.write(((h=s.serializeMessage)!==null&&h!==void 0?h:a)(f))});e.Roarr=l;var u=Um;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=dS;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Bm);var Zve=Ze&&Ze.__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?g("%c ".concat(h," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(h," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};qb.createLogWriter=a1e;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=qb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(oU);Bm.ROARR.write=oU.createLogWriter();const kU={};Bm.Roarr.child(kU);const fS=Om(Bm.Roarr.child(kU)),ke=e=>fS.get().child({namespace:e}),o7e=["trace","debug","info","warn","error","fatal"],s7e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function l1e(){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 qg=Jl("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=ke("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,l1e()))}catch(i){return n({error:i})}}),IU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},MU=An({name:"nodes",initialState:IU,reducers:{nodesChanged:(e,t)=>{e.nodes=XB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=_ye(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=wB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Qr(s.value);if(!a){s.value=i;return}s.value=wle(a.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(qg.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:a7e,edgesChanged:l7e,nodeAdded:u7e,fieldValueChanged:NU,connectionMade:c7e,connectionStarted:d7e,connectionEnded:f7e,shouldShowGraphOverlayChanged:h7e,shouldShowFieldTypeLegendChanged:p7e,shouldShowMinimapPanelChanged:g7e,nodeTemplatesBuilt:wE,nodeEditorReset:xE,imageCollectionFieldValueChanged:m7e,setEditorInstance:y7e,loadFileNodes:v7e,loadFileEdges:_7e,setProgressNodeSize:b7e}=MU.actions,u1e=MU.reducer,LU={esrganModelName:"RealESRGAN_x4plus.pth"},DU=An({name:"postprocessing",initialState:LU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:S7e}=DU.actions,c1e=DU.reducer,d1e={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerPositiveAestheticScore:6,refinerNegativeAestheticScore:2.5,refinerStart:.7},$U=An({name:"sdxl",initialState:d1e,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},setRefinerPositiveAestheticScore:(e,t)=>{e.refinerPositiveAestheticScore=t.payload},setRefinerNegativeAestheticScore:(e,t)=>{e.refinerNegativeAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:w7e,setNegativeStylePromptSDXL:x7e,setShouldConcatSDXLStylePrompt:C7e,setShouldUseSDXLRefiner:f1e,setSDXLImg2ImgDenoisingStrength:T7e,refinerModelChanged:kO,setRefinerSteps:E7e,setRefinerCFGScale:A7e,setRefinerScheduler:P7e,setRefinerPositiveAestheticScore:R7e,setRefinerNegativeAestheticScore:O7e,setRefinerStart:k7e}=$U.actions,h1e=$U.reducer,zm=Me("app/userInvoked"),p1e={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 i_{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||p1e,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 cp(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function IO(e){return e==null?"":""+e}function g1e(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function CE(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 MO(e,t,n){const{obj:r,k:i}=CE(e,t,Object);r[i]=n}function m1e(e,t,n,r){const{obj:i,k:o}=CE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function o_(e,t){const{obj:n,k:r}=CE(e,t);if(n)return n[r]}function y1e(e,t,n){const r=o_(e,n);return r!==void 0?r:o_(t,n)}function FU(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]):FU(e[r],t[r],n):e[r]=t[r]);return e}function Sd(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var v1e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function _1e(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>v1e[t]):e}const b1e=[" ",",","?","!",";"];function S1e(e,t,n){t=t||"",n=n||"";const r=b1e.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 s_(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?s_(l,u,n):void 0}i=i[r[o]]}return i}function a_(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class NO extends hS{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=o_(this.data,a);return l||!s||typeof r!="string"?l:s_(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),MO(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=o_(this.data,a)||{};i?FU(l,r,o):l={...l,...r},MO(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 BU={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 LO={};class l_ extends hS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),g1e(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Bs.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&&!S1e(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,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let h=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(h),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&h&&(typeof h!="string"&&typeof h!="boolean"&&typeof h!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,h,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in h)if(Object.prototype.hasOwnProperty.call(h,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=h[E])}h=C}}else if(b&&typeof _=="string"&&v==="[object Array]")h=h.join(_),h&&(h=this.extendTranslation(h,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=l_.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(h)&&E&&(S=!0,h=O),this.isValidLookup(h)||(C=!0,h=s);const V=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:h,B=E&&O!==h&&this.options.updateMissing;if(C||S||B){if(this.logger.log(B?"updateKey":"missingKey",u,l,s,B?O:h),o){const U=this.resolve(s,{...n,keySeparator:!1});U&&U.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 A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let U=0;U{const G=E&&j!==h?j:V;this.options.missingKeyHandler?this.options.missingKeyHandler(U,l,$,G,B,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(U,l,$,G,B,n),this.emit("missingKey",U,l,$,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(U=>{this.pluralResolver.getSuffixes(U,n).forEach($=>{D([U],s+$,n[`defaultValue${$}`]||O)})}):D(A,s,O))}h=this.extendTranslation(h,t,n,f,r),C&&h===s&&this.options.appendNamespaceToMissingKey&&(h=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?h:void 0):h=this.options.parseMissingKeyHandler(h))}return i?(f.res=h,f):h}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 d;if(u){const h=t.match(this.interpolator.nestingRegexp);d=h&&h.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const h=t.match(this.interpolator.nestingRegexp),g=h&&h.length;d1&&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),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const h=n.count!==void 0&&typeof n.count!="string",g=h&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!LO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(LO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.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!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;h&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),h&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,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 Vx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class DO{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Bs.create("languageUtils")}getScriptPartFromCode(t){if(t=a_(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=a_(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]=Vx(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]=Vx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Vx(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 w1e=[{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}],x1e={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 C1e=["v1","v2","v3"],T1e=["v4"],$O={zero:0,one:1,two:2,few:3,many:4,other:5};function E1e(){const e={};return w1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:x1e[t.fc]}})}),e}class A1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Bs.create("pluralResolver"),(!this.options.compatibilityJSON||T1e.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=E1e()}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(a_(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)=>$O[i]-$O[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!C1e.includes(this.options.compatibilityJSON)}}function FO(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=y1e(e,t,n);return!o&&i&&typeof n=="string"&&(o=s_(e,n,r),o===void 0&&(o=s_(t,n,r))),o}class P1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Bs.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:_1e,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?Sd(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?Sd(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?Sd(n.nestingPrefix):n.nestingPrefixEscaped||Sd("$t("),this.nestingSuffix=n.nestingSuffix?Sd(n.nestingSuffix):n.nestingSuffixEscaped||Sd(")"),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(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=FO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(FO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,h=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(h){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=IO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),h?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.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 d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let h=`{${f[1]}`;l=f[0],h=this.interpolate(h,s);const g=h.match(/'/g),m=h.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(h=h.replace(/'/g,'"'));try{s=JSON.parse(h),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${h}`}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 d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,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=IO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function R1e(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 wd(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(a_(i),o),t[s]=a),a(r)}}class O1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Bs.create("formatter"),this.options=t,this.formats={number:wd((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:wd((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:wd((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:wd((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:wd((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()]=wd(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:d}=R1e(l);if(this.formats[u]){let f=a;try{const h=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=h.locale||h.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...h})}catch(h){this.logger.warn(h)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function k1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class I1e extends hS{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=Bs.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 d=!0;n.forEach(f=>{const h=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?s[h]===void 0&&(s[h]=!0):(this.state[h]=1,d=!1,s[h]===void 0&&(s[h]=!0),o[h]===void 0&&(o[h]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(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=>{m1e(l.loaded,[o],s),k1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!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,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).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 d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function BO(){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 UO(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 V0(){}function M1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Kg extends hS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=UO(t),this.services={},this.logger=Bs,this.modules={external:[]},M1e(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=BO();this.options={...i,...this.options,...UO(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(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Bs.init(o(this.modules.logger),this.options):Bs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=O1e);const f=new DO(this.options);this.store=new NO(this.options.resources,this.options);const h=this.services;h.logger=Bs,h.resourceStore=this.store,h.languageUtils=f,h.pluralResolver=new A1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(h.formatter=o(d),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new P1e(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new I1e(o(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=V0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[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(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=cp(),u=()=>{const d=(f,h)=>{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(h),r(f,h)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};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]:V0;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=cp();return t||(t=this.languages),n||(n=this.options.ns),r||(r=V0),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"&&BU.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=cp();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,d=>{s(d,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,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${h}${m}`):g=l.keyPrefix?`${l.keyPrefix}${h}${s}`:s,i.t(g,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=cp();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=cp();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 DO(BO());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 Kg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:V0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Kg(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 NO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new l_(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},UU={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},zU=An({name:"system",initialState:UU,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(dF,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(hF,t=>{t.sessionId=null}),e.addCase(lF,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(cF,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(gF,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(SF,(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(mF,(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(_F,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(zm,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(Oc.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(lc({title:jp("toast.canceled"),status:"warning"}))}),e.addCase(wE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(S$,(t,n)=>{var i,o,s;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null;let r;((i=n.payload)==null?void 0:i.status)===422?r="Validation Error":(o=n.payload)!=null&&o.error&&(r=(s=n.payload)==null?void 0:s.error),t.toastQueue.push(lc({title:jp("toast.serverError"),status:"error",description:r}))}),e.addMatcher(F1e,(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(lc({title:jp("toast.serverError"),status:"error",description:mle(n.payload.data.error_type)}))})}}),{setIsProcessing:I7e,setShouldConfirmOnDelete:M7e,setCurrentStatus:N7e,setIsCancelable:L7e,setEnableImageDebugging:D7e,addToast:Yn,clearToastQueue:$7e,cancelScheduled:F7e,scheduledCancelAborted:B7e,cancelTypeChanged:U7e,subscribedNodeIdsSet:z7e,consoleLogLevelChanged:V7e,shouldLogToConsoleChanged:j7e,isPersistedChanged:G7e,shouldAntialiasProgressImageChanged:H7e,languageChanged:W7e,progressImageSet:N1e,setIsNodesEnabled:q7e,shouldUseNSFWCheckerChanged:L1e,shouldUseWatermarkerChanged:D1e}=zU.actions,$1e=zU.reducer,F1e=Lo(ZT,TF,AF),B1e={searchFolder:null,advancedAddScanModel:null},VU=An({name:"modelmanager",initialState:B1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:K7e,setAdvancedAddScanModel:X7e}=VU.actions,U1e=VU.reducer,jU={shift:!1},GU=An({name:"hotkeys",initialState:jU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:Y7e}=GU.actions,z1e=GU.reducer,V1e=dQ(tee);HU=d5=void 0;var j1e=V1e,G1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return j1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,h=Array(f),g=0;g=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 qU(e,t){if(e){if(typeof e=="string")return VO(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 VO(e,t)}}function VO(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?i_e:o_e;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 WO(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 qO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){WO(o,r,i,s,a,"next",l)}function a(l){WO(o,r,i,s,a,"throw",l)}s(void 0)})}}var a_e=function(){var e=qO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield J1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},h=function(){var g=qO(function*(){var m=WU(t.getState(),n);yield s_e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),EE(m,f)||t.dispatch({type:K1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(Y1e(h,u)):t.subscribe(X1e(h,l))});return function(n,r,i){return e.apply(this,arguments)}}();const l_e=a_e;function Xg(e){"@babel/helpers - typeof";return Xg=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},Xg(e)}function KO(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 Hx(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=Hx({},r));var o=typeof t=="function"?t:Qf(t);switch(i.type){case f5:return n.state=o(Hx(Hx({},n.state),i.payload||{}),{type:f5}),n.state;default:return o(r,i)}}},h_e=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(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,h=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;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 v=function(_){return function(b,y,S){var C=_(b,y,S);return l_e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:h,persistWholeStore:m}),C}};return v};const Q7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],p_e="@@invokeai-",g_e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],m_e=["pendingControlImages"],y_e=["selection","selectedBoardId","galleryView"],v_e=["schema","invocationTemplates"],__e=[],b_e=[],S_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],w_e=["shouldShowImageDetails"],x_e={canvas:g_e,gallery:y_e,generation:__e,nodes:v_e,postprocessing:b_e,system:S_e,ui:w_e,controlNet:m_e},C_e=(e,t)=>{const n=mb(e,x_e[t]??[]);return JSON.stringify(n)},T_e={canvas:x$,gallery:IF,generation:ys,nodes:IU,postprocessing:LU,system:UU,config:r$,ui:v$,hotkeys:jU,controlNet:H3},E_e=(e,t)=>Lae(JSON.parse(e),T_e[t]),XU=Me("nodes/textToImageGraphBuilt"),YU=Me("nodes/imageToImageGraphBuilt"),QU=Me("nodes/canvasGraphBuilt"),ZU=Me("nodes/nodesGraphBuilt"),A_e=Lo(XU,YU,QU,ZU),P_e=e=>{if(A_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return qg.fulfilled.match(e)?{...e,payload:""}:wE.match(e)?{...e,payload:""}:e},R_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],O_e=e=>e,k_e=()=>{Oe({actionCreator:dce,effect:async(e,{dispatch:t,getState:n})=>{const r=ke("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(Oc({session_id:o}))}}})};Me("app/appStarted");const I_e=()=>{Oe({matcher:we.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Jo({board_id:"none",categories:Jr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=Cn.getSelectors().selectAll(i)[0];t(Gs(o??null))}}})},AE=iu.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:Z7e,useGetAppConfigQuery:J7e}=AE,M_e=()=>{Oe({matcher:AE.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(jue(r[0])),i.includes("nsfw_checker")||n(L1e(!1)),o.includes("invisible_watermark")||n(D1e(!1))}})},N_e=Me("app/appStarted"),L_e=()=>{Oe({actionCreator:N_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},PE={memoizeOptions:{resultEqualityCheck:gb}},JU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(h=>h.kind==="image"&&h.imageName===t),l=i.nodes.some(h=>Hu(h.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=Hu(o.controlNets,h=>h.controlImage===t||h.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},D_e=mi([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>JU(e,r.image_name)):[]},PE),$_e=()=>{Oe({matcher:we.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 d=JU(l,u);d.isInitialImage&&!i&&(t(FT()),i=!0),d.isCanvasImage&&!o&&(t(BT()),o=!0),d.isNodesImage&&!s&&(t(xE()),s=!0),d.isControlNetImage&&!a&&(t(tE()),a=!0)})}})},F_e=()=>{Oe({matcher:Lo(W3,G1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=W3.match(e)?e.payload:o.gallery.selectedBoardId,l=(G1.match(e)?e.payload:o.gallery.galleryView)==="images"?Jr:Ll,u={board_id:s??"none",categories:l};if(await r(()=>we.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=we.endpoints.listImages.select(u)(t());if(f){const h=j1.selectAll(f)[0];n(Gs(h??null))}else n(Gs(null))}else n(Gs(null))}})},B_e=Me("canvas/canvasSavedToGallery"),U_e=Me("canvas/canvasCopiedToClipboard"),z_e=Me("canvas/canvasDownloadedAsImage"),V_e=Me("canvas/canvasMerged"),j_e=Me("canvas/stagingAreaImageSaved");let ez=null,tz=null;const eMe=e=>{ez=e},gS=()=>ez,tMe=e=>{tz=e},G_e=()=>tz,H_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),c_=async(e,t)=>await H_e(e.toCanvas(t)),RE=async e=>{const t=gS();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 c_(o,a)},W_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},q_e=()=>{Oe({actionCreator:U_e,effect:async(e,{dispatch:t,getState:n})=>{const r=fS.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await RE(i);if(!o){r.error("Problem getting base layer blob"),t(Yn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}W_e(o),t(Yn({title:"Canvas Copied to Clipboard",status:"success"}))}})},K_e=(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()},X_e=()=>{Oe({actionCreator:z_e,effect:async(e,{dispatch:t,getState:n})=>{const r=fS.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await RE(i);if(!o){r.error("Problem getting base layer blob"),t(Yn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}K_e(o,"canvas.png"),t(Yn({title:"Canvas Downloaded",status:"success"}))}})},Y_e=async()=>{const e=gS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),c_(t,t.getClientRect())},Q_e=()=>{Oe({actionCreator:V_e,effect:async(e,{dispatch:t})=>{const n=fS.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await Y_e();if(!r){n.error("Problem getting base layer blob"),t(Yn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=gS();if(!i){n.error("Problem getting canvas base layer"),t(Yn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(we.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(fce({kind:"image",layer:"base",imageName:a,...o}))}})},Z_e=()=>{Oe({actionCreator:B_e,effect:async(e,{dispatch:t,getState:n})=>{const r=ke("canvas"),i=n(),o=await RE(i);if(!o){r.error("Problem getting base layer blob"),t(Yn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(we.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},J_e=(e,t,n)=>{var f;if(!(vfe.match(e)||PR.match(e)||eE.match(e)||_fe.match(e)||RR.match(e))||RR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(PR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},ebe=()=>{Oe({predicate:J_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=ke("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(JT({controlNetId:o}))}})},kc=Me("system/sessionReadyToInvoke"),nz=e=>(e==null?void 0:e.type)==="image_output",tbe=()=>{Oe({actionCreator:JT,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=ke("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&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(jr({graph:a})),[u]=await r(h=>jr.fulfilled.match(h)&&h.meta.requestId===l.requestId),d=u.payload.id;t(kc());const[f]=await r(h=>QT.match(h)&&h.payload.data.graph_execution_state_id===d);if(nz(f.payload.data.result)){const{image_name:h}=f.payload.data.result.image,[{payload:g}]=await r(v=>we.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===h),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(yfe({controlNetId:o,processedControlImage:m.image_name}))}}})},nbe=()=>{Oe({matcher:we.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=ke("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},rbe=()=>{Oe({matcher:we.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=ke("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},OE=Me("deleteImageModal/imageDeletionConfirmed"),nMe=e=>e.gallery,rMe=mi(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],PE),rz=mi([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Jr:Ll,offset:0,limit:mce,is_intermediate:!1}},PE),ibe=()=>{Oe({actionCreator:OE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var h;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(nE(!1));const l=n(),u=(h=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:h.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=rz(l),{data:v}=we.endpoints.listImages.select(m)(l),x=v?Cn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=Ml(_,0,b.length-1),S=b[y];t(Gs(S||null))}a.isCanvasImage&&t(BT()),a.isControlNetImage&&t(tE()),a.isInitialImage&&t(FT()),a.isNodesImage&&t(xE());const{requestId:d}=t(we.endpoints.deleteImage.initiate(s));await r(g=>we.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(iu.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},obe=()=>{Oe({actionCreator:OE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(we.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=rz(o),{data:a}=we.endpoints.listImages.select(s)(o),l=a?Cn.getSelectors().selectAll(a)[0]:void 0;t(Gs(l||null)),t(nE(!1)),i.some(u=>u.isCanvasImage)&&t(BT()),i.some(u=>u.isControlNetImage)&&t(tE()),i.some(u=>u.isInitialImage)&&t(FT()),i.some(u=>u.isNodesImage)&&t(xE())}catch{}}})},sbe=()=>{Oe({matcher:we.endpoints.deleteImage.matchPending,effect:()=>{}})},abe=()=>{Oe({matcher:we.endpoints.deleteImage.matchFulfilled,effect:e=>{ke("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},lbe=()=>{Oe({matcher:we.endpoints.deleteImage.matchRejected,effect:e=>{ke("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},iz=Me("dnd/dndDropped"),ube=()=>{Oe({actionCreator:iz,effect:async(e,{dispatch:t})=>{const n=ke("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Gs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(vb(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(eE({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(T$(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(NU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(we.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(we.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(we.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(we.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},cbe=()=>{Oe({matcher:we.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=ke("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},dbe=()=>{Oe({matcher:we.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=ke("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},fbe=()=>{Oe({actionCreator:Efe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=D_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(nE(!0));return}t(OE({imageDTOs:r,imagesUsage:s}))}})},xd={title:"Image Uploaded",status:"success"},hbe=()=>{Oe({matcher:we.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=ke("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||s==="none")t(Yn({...xd,...l}));else{t(we.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Yi.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(h=>h.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(Yn({...xd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(T$(i)),t(Yn({...xd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(eE({controlNetId:l,controlImage:i.image_name})),t(Yn({...xd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(vb(i)),t(Yn({...xd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(NU({nodeId:l,fieldName:u,value:i})),t(Yn({...xd,description:`Set as node field ${u}`}));return}}}})},pbe=()=>{Oe({matcher:we.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=ke("images"),r={arg:{...mb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Yn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},gbe=Me("generation/initialImageSelected"),mbe=Me("generation/modelSelected"),ybe=()=>{Oe({actionCreator:gbe,effect:(e,{dispatch:t})=>{if(!e.payload){t(Yn(lc({title:jp("toast.imageNotLoadedDesc"),status:"error"})));return}t(vb(e.payload)),t(Yn(lc(jp("toast.sentToImageToImage"))))}})},vbe=()=>{Oe({actionCreator:mbe,effect:(e,{getState:t,dispatch:n})=>{var l;const r=ke("models"),i=t(),o=p$.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;gc(i.lora.loras,(h,g)=>{h.base_model!==a&&(n($F(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(m$(null)),u+=1);const{controlNets:f}=i.controlNet;gc(f,(h,g)=>{var m;((m=h.model)==null?void 0:m.base_model)!==a&&(n(RF({controlNetId:g})),u+=1)}),u>0&&n(Yn(lc({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Nl(s))}})},p5=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),XO=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),YO=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),QO=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),ZO=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),g5=hu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),_be=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,Cd=e=>{const t=[];return e.forEach(n=>{const r={...Qr(n),id:_be(n)};t.push(r)}),t},Aa=iu.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${Tv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return XO.setAll(XO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${Tv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return p5.setAll(p5.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:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"OnnxModel",id:tt}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return YO.setAll(YO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:tt}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:tt}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return QO.setAll(QO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return g5.setAll(g5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:tt}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=Cd(t.models);return ZO.setAll(ZO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${Tv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:tt}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:iMe,useGetOnnxModelsQuery:oMe,useGetControlNetModelsQuery:sMe,useGetLoRAModelsQuery:aMe,useGetTextualInversionModelsQuery:lMe,useGetVaeModelsQuery:uMe,useUpdateMainModelsMutation:cMe,useDeleteMainModelsMutation:dMe,useImportMainModelsMutation:fMe,useAddMainModelsMutation:hMe,useConvertMainModelsMutation:pMe,useMergeMainModelsMutation:gMe,useDeleteLoRAModelsMutation:mMe,useUpdateLoRAModelsMutation:yMe,useSyncModelsMutation:vMe,useGetModelsInFolderQuery:_Me,useGetCheckpointConfigsQuery:bMe}=Aa,bbe=()=>{Oe({predicate:(e,t)=>Aa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=ke("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Hu(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)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Nl(null));return}const l=p$.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Nl(l.data))}}),Oe({predicate:(e,t)=>Aa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=ke("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Hu(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)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(kO(null)),n(f1e(!1));return}const l=h$.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(kO(l.data))}}),Oe({matcher:Aa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=ke("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Hu(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=g5.getSelectors().selectAll(e.payload)[0];if(!s){n(Nl(null));return}const a=$ue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(m$(a.data))}}),Oe({matcher:Aa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{ke("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;gc(i,(o,s)=>{Hu(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($F(s))})}}),Oe({matcher:Aa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{ke("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;gc(i,(o,s)=>{Hu(e.payload.entities,l=>{var u,d;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)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(RF({controlNetId:s}))})}}),Oe({matcher:Aa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{ke("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},Ya=e=>JSON.parse(JSON.stringify(e)),m5=e=>!("$ref"in e),Sbe=e=>!("$ref"in e),SMe=500,wbe={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"},xbe=500,Un=e=>`var(--invokeai-colors-${e}-${xbe})`,wMe={integer:{color:"red",colorCssVar:Un("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Un("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Un("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Un("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Un("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Un("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Un("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Un("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Un("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Un("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Un("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Un("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Un("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Un("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Un("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Un("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Un("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Un("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Un("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Un("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Un("gray"),title:"Color",description:"A RGBA color."}},xMe=250,Wx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},Cbe=({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},Tbe=({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},Ebe=({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},Abe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),Pbe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Rbe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_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}),kbe=({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}),Lbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Dbe=({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}),Ube=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),zbe=({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]}},JO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),ek=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Vbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),oz=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Wx(e.allOf[0]):e.anyOf?r=Wx(e.anyOf[0]):e.oneOf&&(r=Wx(e.oneOf[0]));const i=wbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},jbe=(e,t,n)=>{const r=oz(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 Lbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return Dbe({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 Ube({schemaObject:e,baseField:i});if(["model"].includes(r))return Pbe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return Rbe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return Obe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return kbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return Ibe({schemaObject:e,baseField:i});if(["enum"].includes(r))return zbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return Cbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return Tbe({schemaObject:e,baseField:i});if(["string"].includes(r))return Ebe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return Abe({schemaObject:e,baseField:i});if(["array"].includes(r))return JO({schemaObject:e,baseField:i});if(["item"].includes(r))return ek({schemaObject:e,baseField:i});if(["color"].includes(r))return Vbe({schemaObject:e,baseField:i});if(["array"].includes(r))return JO({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];if(!r)throw ke("nodes").error({refObject:Ya(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw ke("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return m5(i)?LT(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&m5(a)){const u=oz(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Hbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Wbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],qbe=e=>{var r;return XD((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Wbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(Sbe(o)){const f=o.properties.type.default,h=Hbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else LT(o.properties,(y,S,C)=>{if(!h.includes(C)&&m5(S)){const T=jbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=Gbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Kbe=()=>{Oe({actionCreator:qg.fulfilled,effect:(e,{dispatch:t})=>{const n=ke("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=qbe(r);n.debug({nodeTemplates:Ya(i)},`Built ${DT(i)} node templates`),t(wE(i))}}),Oe({actionCreator:qg.rejected,effect:()=>{ke("system").error("Problem dereferencing OpenAPI Schema")}})},Xbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Ybe=new Map(Xbe),Qbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],y5=Symbol(".toJSON was called"),Zbe=e=>{e[y5]=!0;const t=e.toJSON();return delete e[y5],t},Jbe=e=>Ybe.get(e)??Error,sz=({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&&tk(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[y5]!==!0)return Zbe(e);const l=u=>sz({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Qbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:tk(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function kE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?sz({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function tk(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const eSe=()=>{Oe({actionCreator:Oc.pending,effect:()=>{}})},tSe=()=>{Oe({actionCreator:Oc.fulfilled,effect:e=>{const t=ke("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},nSe=()=>{Oe({actionCreator:Oc.rejected,effect:e=>{const t=ke("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:kE(r)},"Problem canceling session")}}})},rSe=()=>{Oe({actionCreator:jr.pending,effect:()=>{}})},iSe=()=>{Oe({actionCreator:jr.fulfilled,effect:e=>{const t=ke("session"),n=e.payload;t.debug({session:Ya(n)},`Session created (${n.id})`)}})},oSe=()=>{Oe({actionCreator:jr.rejected,effect:e=>{const t=ke("session");if(e.payload){const{error:n,status:r}=e.payload,i=Ya(e.meta.arg);t.error({graph:i,status:r,error:kE(n)},"Problem creating session")}}})},sSe=()=>{Oe({actionCreator:km.pending,effect:()=>{}})},aSe=()=>{Oe({actionCreator:km.fulfilled,effect:e=>{const t=ke("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},lSe=()=>{Oe({actionCreator:km.rejected,effect:e=>{const t=ke("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:kE(r)},"Problem invoking session")}}})},uSe=()=>{Oe({actionCreator:kc,effect:(e,{getState:t,dispatch:n})=>{const r=ke("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(km({session_id:i})))}})},cSe=()=>{Oe({actionCreator:aF,effect:(e,{dispatch:t,getState:n})=>{ke("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(qg()),t(lF(e.payload)),t(Aa.util.invalidateTags([{type:"MainModel",id:tt},{type:"SDXLRefinerModel",id:tt},{type:"LoRAModel",id:tt},{type:"ControlNetModel",id:tt},{type:"VaeModel",id:tt},{type:"TextualInversionModel",id:tt},{type:"ScannedModels",id:tt}])),t(AE.util.invalidateTags(["AppConfig","AppVersion"]))}})},dSe=()=>{Oe({actionCreator:uF,effect:(e,{dispatch:t})=>{ke("socketio").debug("Disconnected"),t(cF(e.payload))}})},fSe=()=>{Oe({actionCreator:bF,effect:(e,{dispatch:t,getState:n})=>{const r=ke("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(SF(e.payload))}})},hSe=()=>{Oe({actionCreator:vF,effect:(e,{dispatch:t})=>{ke("socketio").debug(e.payload,"Session complete"),t(_F(e.payload))}})},$e="positive_conditioning",Be="negative_conditioning",Le="denoise_latents",it="latents_to_image",Kd="nsfw_checker",dp="invisible_watermark",Se="noise",dr="rand_int",bn="range_of_size",sn="iterate",an="main_model_loader",mS="onnx_model_loader",Lu="vae_loader",az="lora_loader",It="clip_skip",Vt="image_to_latents",Jn="resize_image",Ie="canvas_output",hn="inpaint_image",ko="inpaint_image_resize_up",ti="inpaint_image_resize_down",Nn="inpaint_infill",Ls="inpaint_infill_resize_down",_f="tomask",ut="mask_blur",Ds="mask_combine",Ni="mask_resize_up",er="mask_resize_down",wt="color_correct",j0="control_net_collect",qx="dynamic_prompt",yt="metadata_accumulator",nk="esrgan",We="sdxl_model_loader",Re="sdxl_denoise_latents",fp="sdxl_refiner_model_loader",G0="sdxl_refiner_positive_conditioning",H0="sdxl_refiner_negative_conditioning",va="sdxl_refiner_denoise_latents",lz="text_to_image_graph",v5="image_to_image_graph",uz="canvas_text_to_image_graph",_5="canvas_image_to_image_graph",cz="canvas_inpaint_graph",dz="canvas_outpaint_graph",fz="sdxl_text_to_image_graph",b5="sxdl_image_to_image_graph",IE="sdxl_canvas_text_to_image_graph",d_="sdxl_canvas_image_to_image_graph",ME="sdxl_canvas_inpaint_graph",NE="sdxl_canvas_outpaint_graph",pSe=["dataURL_image"],gSe=()=>{Oe({actionCreator:QT,effect:async(e,{dispatch:t,getState:n})=>{const r=ke("socketio"),{data:i}=e.payload;r.debug({data:Ya(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(Oc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(nz(l)&&!pSe.includes(u.type)){const{image_name:f}=l.image,{canvas:h,gallery:g}=n(),m=await t(we.endpoints.getImageDTO.initiate(f)).unwrap();if(d===h.layerState.stagingArea.sessionId&&[Ie].includes(i.source_node_id)&&t(cce(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?we.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):we.util.updateQueryData("listImages",{board_id:"none",categories:Jr},b=>{Cn.addOne(b,m)})),t(we.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(W3(v)),t(G1("images"))):v||t(G1("images")),t(Gs(m)))}t(N1e(null))}t(mF(e.payload))}})},mSe=()=>{Oe({actionCreator:yF,effect:(e,{dispatch:t})=>{ke("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(ZT(e.payload))}})},ySe=()=>{Oe({actionCreator:EF,effect:(e,{dispatch:t})=>{ke("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(AF(e.payload))}})},vSe=()=>{Oe({actionCreator:pF,effect:(e,{dispatch:t,getState:n})=>{const r=ke("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(gF(e.payload))}})},_Se=()=>{Oe({actionCreator:wF,effect:(e,{dispatch:t})=>{const n=ke("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(gfe(e.payload))}}),Oe({actionCreator:xF,effect:(e,{dispatch:t})=>{const n=ke("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(mfe(e.payload))}})},bSe=()=>{Oe({actionCreator:CF,effect:(e,{dispatch:t})=>{ke("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(TF(e.payload))}})},SSe=()=>{Oe({actionCreator:YT,effect:(e,{dispatch:t})=>{ke("socketio").debug(e.payload,"Subscribed"),t(dF(e.payload))}})},wSe=()=>{Oe({actionCreator:fF,effect:(e,{dispatch:t})=>{ke("socketio").debug(e.payload,"Unsubscribed"),t(hF(e.payload))}})},xSe=()=>{Oe({actionCreator:j_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(we.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&o!=="none"&&await t(we.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Yn({title:"Image Saved",status:"success"}))}catch(i){t(Yn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},CMe=["sd-1","sd-2","sdxl","sdxl-refiner"],CSe=["sd-1","sd-2","sdxl"],TMe=["sdxl-refiner"],TSe=()=>{Oe({actionCreator:b$,effect:async(e,{getState:t,dispatch:n})=>{var i;if(e.payload==="unifiedCanvas"){const o=(i=t().generation.model)==null?void 0:i.base_model;if(o&&["sd-1","sd-2","sdxl"].includes(o))return;try{const s=n(Aa.endpoints.getMainModels.initiate(CSe)),a=await s.unwrap();if(s.unsubscribe(),!a.ids.length){n(Nl(null));return}const u=p5.getSelectors().selectAll(a).filter(g=>["sd-1","sd-2","sxdl"].includes(g.base_model))[0];if(!u){n(Nl(null));return}const{base_model:d,model_name:f,model_type:h}=u;n(Nl({base_model:d,model_name:f,model_type:h}))}catch{n(Nl(null))}}}})},ESe=({image_name:e,esrganModelName:t})=>{const n={id:nk,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[nk]:n},edges:[]}},ASe=Me("upscale/upscaleRequested"),PSe=()=>{Oe({actionCreator:ASe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=ESe({image_name:i,esrganModelName:o});t(jr({graph:s})),await r(jr.fulfilled.match),t(kc())}})},RSe=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("

")})},rk=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 LE={exports:{}},yS={},hz={},ft={};(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 Ze<"u"?Ze: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)})(ft);var kn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=ft;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.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(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var V=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/V):-Math.acos(S/V),M.scaleX=V,M.scaleY=O/V,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var B=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/B):-Math.acos(T/B)),M.scaleX=O/B,M.scaleY=B,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}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="#",d="",f="0",h="Konva warning: ",g="Konva error: ",m="rgb(",v={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]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const V=2*P-k,B=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=V+(k-V)*6*O:2*O<1?M=k:3*O<2?M=V+(k-V)*(2/3-O)*6:M=V,B[A]=M*255;return{r:Math.round(B[0]),g:Math.round(B[1]),b:Math.round(B[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+B*(C-y),O=S+B*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),V=M[0],B=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(kn);var wn={},dt={},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 Qa=ft,Dn=kn;function Za(e){return Dn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Dn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function OSe(e){return e>255?255:e<0?0:Math.round(e)}De.RGBComponent=OSe;function kSe(e){return e>1?1:e<1e-4?1e-4:e}De.alphaComponent=kSe;function ISe(){if(Qa.Konva.isUnminified)return function(e,t){return Dn.Util._isNumber(e)||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}De.getNumberValidator=ISe;function MSe(e){if(Qa.Konva.isUnminified)return function(t,n){let r=Dn.Util._isNumber(t),i=Dn.Util._isArray(t)&&t.length==e;return!r&&!i&&Dn.Util.warn(Za(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}De.getNumberOrArrayOfNumbersValidator=MSe;function NSe(){if(Qa.Konva.isUnminified)return function(e,t){var n=Dn.Util._isNumber(e),r=e==="auto";return n||r||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}De.getNumberOrAutoValidator=NSe;function LSe(){if(Qa.Konva.isUnminified)return function(e,t){return Dn.Util._isString(e)||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}De.getStringValidator=LSe;function DSe(){if(Qa.Konva.isUnminified)return function(e,t){const n=Dn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}De.getStringOrGradientValidator=DSe;function $Se(){if(Qa.Konva.isUnminified)return function(e,t){return Dn.Util._isFunction(e)||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}De.getFunctionValidator=$Se;function FSe(){if(Qa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Dn.Util._isArray(e)?e.forEach(function(r){Dn.Util._isNumber(r)||Dn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}De.getNumberArrayValidator=FSe;function BSe(){if(Qa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Dn.Util.warn(Za(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}De.getBooleanValidator=BSe;function USe(e){if(Qa.Konva.isUnminified)return function(t,n){return t==null||Dn.Util.isObject(t)||Dn.Util.warn(Za(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}De.getComponentValidator=USe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=kn,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(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,h=r+f(s),g=i+f(s),m,v;o.prototype[h]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),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),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function h(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=h,o.prototype[d]=h,o.prototype[f]=h})},afterSetFilter(){this._filterUpToDate=!1}}})(dt);var ds={},Na={};Object.defineProperty(Na,"__esModule",{value:!0});Na.HitContext=Na.SceneContext=Na.Context=void 0;const pz=kn,zSe=ft;function VSe(e){var t=[],n=e.length,r=pz.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=jSe+u.join(ik)+GSe)):(o+=a.property,t||(o+=XSe+a.val)),o+=qSe;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 d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.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=ok.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=VSe(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(h=>h.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{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(d=>d.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))})(bS);Object.defineProperty(wn,"__esModule",{value:!0});wn.Node=void 0;const bt=kn,Vm=dt,q0=ds,Du=ft,bo=bS,Hn=De;var Iv="absoluteOpacity",K0="allEventListeners",xa="absoluteTransform",sk="absoluteScale",$u="canvas",o2e="Change",s2e="children",a2e="konva",S5="listening",ak="mouseenter",lk="mouseleave",uk="set",ck="Shape",Mv=" ",dk="stage",_l="transform",l2e="Stage",w5="visible",u2e=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(Mv);let c2e=1;class Ke{constructor(t){this._id=c2e++,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===_l||t===xa)&&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===_l||t===xa,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(Mv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get($u)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===xa&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has($u)){const{scene:t,filter:n,hit:r}=this._cache.get($u);bt.Util.releaseCanvas(t,n,r),this._cache.delete($u)}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,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){bt.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 h=new q0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new q0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new q0.HitCanvas({pixelRatio:f,width:i,height:o}),v=h.getContext(),x=m.getContext();return m.isCache=!0,h.isCache=!0,this._cache.delete($u),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(h.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(Iv),this._clearSelfAndDescendantCache(sk),this.drawScene(h,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set($u,{scene:h,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has($u)}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 d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.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 d=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()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==s2e&&(r=uk+bt.Util._capitalize(n),bt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(S5,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(w5,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;bo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Du.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!==l2e&&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(_l),this._clearSelfAndDescendantCache(xa)),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 bt.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(_l);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(_l),this._clearSelfAndDescendantCache(xa),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 bt.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 bt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&bt.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(Iv,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=bt.Util.isObject(i)&&!bt.Util._isPlainObject(i)&&!bt.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(),bt.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,bt.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():Du.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;bo.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=bo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&bo.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 bt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return bt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=Ke.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Du.Konva[r]||(bt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Du.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=Kx.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=Kx.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 d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),h=f.getMatrix();o.transform(h[0],h[1],h[2],h[3],h[4],h[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),h=f.copy().invert().getMatrix(),o.transform(h[0],h[1],h[2],h[3],h[4],h[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&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},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),h=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&G.pointer;if(W==="touch")return G.touch;if(W==="mouse")return G.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="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 se extends r.Container{constructor(W){super(ee(W)),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",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;fe$&&t.Util.warn("The stage has "+pe+" 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."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&j.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Fe=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Fe&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var Je=this._getTargetShape(fe);this._changedPointerPositions.forEach(Fe=>{const Ae=l.getCapturedShape(Fe.id)||this.getIntersection(Fe),vt=Fe.id,_e={evt:W,pointerId:vt};var Qt=Je!==Ae;if(Qt&&Je&&(Je._fireAndBubble(ne.pointerout,Object.assign({},_e),Ae),Je._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ae)),Ae){if(ve[Ae._id])return;ve[Ae._id]=!0}Ae&&Ae.isListening()?(ye=!0,Qt&&(Ae._fireAndBubble(ne.pointerover,Object.assign({},_e),Je),Ae._fireAndBubble(ne.pointerenter,Object.assign({},_e),Je),this[fe+"targetShape"]=Ae),Ae._fireAndBubble(ne.pointermove,Object.assign({},_e))):Je&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:vt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let Je=!1;this._changedPointerPositions.forEach(Fe=>{const Ae=l.getCapturedShape(Fe.id)||this.getIntersection(Fe);if(Ae){if(Ae.releaseCapture(Fe.id),ye[Ae._id])return;ye[Ae._id]=!0}const vt=Fe.id,_e={evt:W,pointerId:vt};let Qt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(Qt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ae&&Ae.isListening()?(Je=!0,this[fe+"ClickEndShape"]=Ae,Ae._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ae&&(Ae._fireAndBubble(ne.pointerclick,Object.assign({},_e)),Qt&&ve&&ve===Ae&&Ae._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:vt}),Qt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:vt}))}),Je||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(V,{evt:W}):this._fire(V,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(U,{evt:W}):this._fire(U,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.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 W=this.container();if(!W)throw"Stage has no container. A container is required.";W.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"),W.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(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(yz);var jm={},gr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=ft,n=kn,r=dt,i=wn,o=De,s=ft,a=Zi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",h="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(h)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=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(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const V=new n.Transform;V.translate(this.fillPatternX(),this.fillPatternY()),V.rotate(t.Konva.getAngle(this.fillPatternRotation())),V.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),V.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const B=V.getMatrix(),A=typeof DOMMatrix>"u"?{a:B[0],b:B[1],c:B[2],d:B[3],e:B[4],f:B[5]}:new DOMMatrix(B);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),V=this.fillLinearGradientStartPoint(),B=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(V.x,V.y,B.x,B.y),N=0;Nthis.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 O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),V=M.bufferHitCanvas,B;return V.getContext().clear(),this.drawHit(V,null,!0),B=V.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,B[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const B=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(B&&A&&N)return!0;const D=this.hasShadow(),U=this.shadowForStrokeEnabled();return!!(B&&A&&D&&U)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,V=O.relativeTo,B=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,D=B.width+N,U=B.height+N,$=!O.skipShadow&&this.hasShadow(),j=$?this.shadowOffsetX():0,G=$?this.shadowOffsetY():0,q=D+Math.abs(j),Z=U+Math.abs(G),ee=$&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(j,0)+B.x,y:-(N/2+ee)+Math.min(G,0)+B.y};return M?le:this._transformedRect(le,V)}drawScene(O,M){var V=this.getLayer(),B=O||V.getCanvas(),A=B.getContext(),N=this._getCanvasCache(),D=this.getSceneFunc(),U=this.hasShadow(),$,j,G,q=B.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!D)return this;if(A.save(),this._useBufferCanvas()&&!q){$=this.getStage(),j=$.bufferCanvas,G=j.getContext(),G.clear(),G.save(),G._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();G.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),D.call(this,G,this),G.restore();var se=j.pixelRatio;U&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(j._canvas,0,0,j.width/se,j.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}U&&A._applyShadow(this),D.call(this,A,this)}return A.restore(),this}drawHit(O,M,V=!1){if(!this.shouldDrawHit(M,V))return this;var B=this.getLayer(),A=O||B.hitCanvas,N=A&&A.getContext(),D=this.hitFunc()||this.sceneFunc(),U=this._getCanvasCache(),$=U&&U.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()"),$){N.save();var j=this.getAbsoluteTransform(M).getMatrix();return N.transform(j[0],j[1],j[2],j[3],j[4],j[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!D)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return D.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),V=this._getCachedSceneCanvas(),B=M.hit,A=B.getContext(),N=B.getWidth(),D=B.getHeight(),U,$,j,G,q,Z;A.clear(),A.drawImage(V._canvas,0,0,N,D);try{for(U=A.getImageData(0,0,N,D),$=U.data,j=$.length,G=n.Util._hexToRgb(this.colorKey),q=0;qO?($[q]=G.r,$[q+1]=G.g,$[q+2]=G.b,$[q+3]=255):$[q+3]=0;A.putImageData(U,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(gr);Object.defineProperty(jm,"__esModule",{value:!0});jm.Layer=void 0;const _a=kn,Xx=Ic,Td=wn,$E=dt,fk=ds,g2e=De,m2e=gr,y2e=ft;var v2e="#",_2e="beforeDraw",b2e="draw",bz=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],S2e=bz.length;class th extends Xx.Container{constructor(t){super(t),this.canvas=new fk.SceneCanvas,this.hitCanvas=new fk.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(_2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Xx.Container.prototype.drawScene.call(this,i,n),this._fire(b2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Xx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){_a.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return _a.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 _a.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}jm.Layer=th;th.prototype.nodeType="Layer";(0,y2e._registerNode)(th);$E.Factory.addGetterSetter(th,"imageSmoothingEnabled",!0);$E.Factory.addGetterSetter(th,"clearBeforeDraw",!0);$E.Factory.addGetterSetter(th,"hitGraphEnabled",!0,(0,g2e.getBooleanValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.FastLayer=void 0;const w2e=kn,x2e=jm,C2e=ft;class FE extends x2e.Layer{constructor(t){super(t),this.listening(!1),w2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}wS.FastLayer=FE;FE.prototype.nodeType="FastLayer";(0,C2e._registerNode)(FE);var nh={};Object.defineProperty(nh,"__esModule",{value:!0});nh.Group=void 0;const T2e=kn,E2e=Ic,A2e=ft;class BE extends E2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&T2e.Util.throw("You may only add groups and shapes to groups.")}}nh.Group=BE;BE.prototype.nodeType="Group";(0,A2e._registerNode)(BE);var rh={};Object.defineProperty(rh,"__esModule",{value:!0});rh.Animation=void 0;const Yx=ft,hk=kn;var Qx=function(){return Yx.glob.performance&&Yx.glob.performance.now?function(){return Yx.glob.performance.now()}:function(){return new Date().getTime()}}();class $s{constructor(t,n){this.id=$s.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Qx(),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():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,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(m){this.pause(),this._time=m,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 m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class h{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||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(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),h.attrs[_]||(h.attrs[_]={}),h.attrs[_][this._id]||(h.attrs[_][this._id]={}),h.tweens[_]||(h.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=h.tweens[_][m],S&&delete h.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=h.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=h.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.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(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=h.tweens[m],_;this.pause();for(_ in x)delete h.tweens[m][_];delete h.attrs[m][v]}}e.Tween=h,h.attrs={},h.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new h(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),h=l*(l>0?n:t);return{x:u,y:r?-1*h:f,width:d-u,height:h-f}}}xS.Arc=Ja;Ja.prototype._centroid=!0;Ja.prototype.className="Arc";Ja.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,R2e._registerNode)(Ja);CS.Factory.addGetterSetter(Ja,"innerRadius",0,(0,TS.getNumberValidator)());CS.Factory.addGetterSetter(Ja,"outerRadius",0,(0,TS.getNumberValidator)());CS.Factory.addGetterSetter(Ja,"angle",0,(0,TS.getNumberValidator)());CS.Factory.addGetterSetter(Ja,"clockwise",!1,(0,TS.getBooleanValidator)());var ES={},Gm={};Object.defineProperty(Gm,"__esModule",{value:!0});Gm.Line=void 0;const AS=dt,O2e=gr,wz=De,k2e=ft;function x5(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),d=s*l/(a+l),f=n-u*(i-e),h=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,h,g,m]}function gk(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,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],h=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*h),v=f*f+h*h;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let h=0;h<=u;h++)f+=e.binomialCoefficients[u][h]*Math.pow(1-a,u-h)*Math.pow(a,h)*l[h];return f}else{d=new Array(u);for(let h=0;h{let u=1,d=s/a,f=(s-l(d))/a,h=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(xz);Object.defineProperty(ih,"__esModule",{value:!0});ih.Path=void 0;const I2e=dt,M2e=gr,N2e=ft,Ed=xz;class ur extends M2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=ur.parsePathData(this.data()),this.pathLength=ur.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+h,1-m),t.scale(1/x,1/_),t.rotate(-g),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 d=u.points[4],f=u.points[5],h=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-h)h;m-=g){const v=ur.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[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 ur.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return ur.getPointOnCubicBezier((0,Ed.t2length)(t,ur.getPathLength(n),v=>(0,Ed.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return ur.getPointOnQuadraticBezier((0,Ed.t2length)(t,ur.getPathLength(n),v=>(0,Ed.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],h=a[4],g=a[5],m=a[6];return h+=g*t/s.pathLength,ur.getPointOnEllipticalArc(l,u,d,f,h,m)}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(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,V,B,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var D=m.shift(),U=m.shift();if(l+=D,u+=U,b="M",s.length>2&&s[s.length-1].command==="z"){for(var $=s.length-2;$>=0;$--)if(s[$].command==="M"){l=s[$].points[0]+D,u=s[$].points[1]+U;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),V=m.shift(),B=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,V,B,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),V=m.shift(),B=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,V,B,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="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=ur;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Ed.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Ed.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],h=i[4]+f,g=Math.PI/180;if(Math.abs(d-h)h;l-=g)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=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(h*h)-l*l*(f*f))/(a*a*(h*h)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*h/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}ih.Path=ur;ur.prototype.className="Path";ur.prototype._attrsAffectingSize=["data"];(0,N2e._registerNode)(ur);I2e.Factory.addGetterSetter(ur,"data");Object.defineProperty(ES,"__esModule",{value:!0});ES.Arrow=void 0;const PS=dt,L2e=Gm,Cz=De,D2e=ft,mk=ih;class Nc extends L2e.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 h=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=mk.Path.calcLength(i[i.length-4],i[i.length-3],"C",h),m=mk.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),h[0],h[1],h[2],h[3],h[4],h[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/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,f/2),t.lineTo(-s,-f/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}}}ES.Arrow=Nc;Nc.prototype.className="Arrow";(0,D2e._registerNode)(Nc);PS.Factory.addGetterSetter(Nc,"pointerLength",10,(0,Cz.getNumberValidator)());PS.Factory.addGetterSetter(Nc,"pointerWidth",10,(0,Cz.getNumberValidator)());PS.Factory.addGetterSetter(Nc,"pointerAtBeginning",!1);PS.Factory.addGetterSetter(Nc,"pointerAtEnding",!0);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Circle=void 0;const $2e=dt,F2e=gr,B2e=De,U2e=ft;let oh=class extends F2e.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)}};RS.Circle=oh;oh.prototype._centroid=!0;oh.prototype.className="Circle";oh.prototype._attrsAffectingSize=["radius"];(0,U2e._registerNode)(oh);$2e.Factory.addGetterSetter(oh,"radius",0,(0,B2e.getNumberValidator)());var OS={};Object.defineProperty(OS,"__esModule",{value:!0});OS.Ellipse=void 0;const UE=dt,z2e=gr,Tz=De,V2e=ft;class vu extends z2e.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)}}OS.Ellipse=vu;vu.prototype.className="Ellipse";vu.prototype._centroid=!0;vu.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,V2e._registerNode)(vu);UE.Factory.addComponentsGetterSetter(vu,"radius",["x","y"]);UE.Factory.addGetterSetter(vu,"radiusX",0,(0,Tz.getNumberValidator)());UE.Factory.addGetterSetter(vu,"radiusY",0,(0,Tz.getNumberValidator)());var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Image=void 0;const Zx=kn,Lc=dt,j2e=gr,G2e=ft,Hm=De;let ta=class Ez extends j2e.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?Zx.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?Zx.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=Zx.Util.createImageElement();i.onload=function(){var o=new Ez({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};kS.Image=ta;ta.prototype.className="Image";(0,G2e._registerNode)(ta);Lc.Factory.addGetterSetter(ta,"cornerRadius",0,(0,Hm.getNumberOrArrayOfNumbersValidator)(4));Lc.Factory.addGetterSetter(ta,"image");Lc.Factory.addComponentsGetterSetter(ta,"crop",["x","y","width","height"]);Lc.Factory.addGetterSetter(ta,"cropX",0,(0,Hm.getNumberValidator)());Lc.Factory.addGetterSetter(ta,"cropY",0,(0,Hm.getNumberValidator)());Lc.Factory.addGetterSetter(ta,"cropWidth",0,(0,Hm.getNumberValidator)());Lc.Factory.addGetterSetter(ta,"cropHeight",0,(0,Hm.getNumberValidator)());var Vf={};Object.defineProperty(Vf,"__esModule",{value:!0});Vf.Tag=Vf.Label=void 0;const IS=dt,H2e=gr,W2e=nh,zE=De,Az=ft;var Pz=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],q2e="Change.konva",K2e="none",C5="up",T5="right",E5="down",A5="left",X2e=Pz.length;class VE extends W2e.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)}}NS.RegularPolygon=$c;$c.prototype.className="RegularPolygon";$c.prototype._centroid=!0;$c.prototype._attrsAffectingSize=["radius"];(0,nwe._registerNode)($c);Rz.Factory.addGetterSetter($c,"radius",0,(0,Oz.getNumberValidator)());Rz.Factory.addGetterSetter($c,"sides",0,(0,Oz.getNumberValidator)());var LS={};Object.defineProperty(LS,"__esModule",{value:!0});LS.Ring=void 0;const kz=dt,rwe=gr,Iz=De,iwe=ft;var yk=Math.PI*2;class Fc extends rwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,yk,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),yk,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)}}LS.Ring=Fc;Fc.prototype.className="Ring";Fc.prototype._centroid=!0;Fc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,iwe._registerNode)(Fc);kz.Factory.addGetterSetter(Fc,"innerRadius",0,(0,Iz.getNumberValidator)());kz.Factory.addGetterSetter(Fc,"outerRadius",0,(0,Iz.getNumberValidator)());var DS={};Object.defineProperty(DS,"__esModule",{value:!0});DS.Sprite=void 0;const Bc=dt,owe=gr,swe=rh,Mz=De,awe=ft;class na extends owe.Shape{constructor(t){super(t),this._updated=!0,this.anim=new swe.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],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var h=s[n],g=r*2;t.drawImage(f,a,l,u,d,h[g+0],h[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_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],d=r*2;t.rect(u[d+0],u[d+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 Y0;function eC(){return Y0||(Y0=P5.Util.createCanvasElement().getContext(pwe),Y0)}function Twe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function Ewe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function Awe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Wn extends cwe.Shape{constructor(t){super(Awe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=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=P5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(gwe,n),this}getWidth(){var t=this.attrs.width===Ad||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Ad||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 P5.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=eC(),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()+X0+this.fontVariant()+X0+(this.fontSize()+_we)+Cwe(this.fontFamily())}_addTextLine(t){this.align()===hp&&(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 eC().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!==Ad&&o!==void 0,l=s!==Ad&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,h=0,g=this.wrap(),m=g!==bk,v=g!==wwe&&m,x=this.ellipsis();this.textArr=[],eC().font=this._getContextFont();for(var _=x?this._getTextWidth(Jx):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),V=this._getTextWidth(M)+_;V<=d?(T=O+1,P=M,k=V):E=O}if(P){if(v){var B,A=S[P.length],N=A===X0||A===vk;N&&k<=d?B=P.length:B=Math.max(P.lastIndexOf(X0),P.lastIndexOf(vk))+1,B>0&&(T=B,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),h+=i;var D=this._shouldHandleEllipsis(h);if(D){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),h+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),h+=i,r=Math.max(r,C),this._shouldHandleEllipsis(h)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==Ad&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==bk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Ad&&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+Jx)n?null:pp.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=pp.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+`.${Vz}`).join(" "),xk="nodesRect",Lwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],Dwe={"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 $we="ontouchstart"in Qo.Konva._global;function Fwe(e,t){if(e==="rotater")return"crosshair";t+=Xt.Util.degToRad(Dwe[e]||0);var n=(Xt.Util.radToDeg(t)%360+360)%360;return Xt.Util._inRange(n,315+22.5,360)||Xt.Util._inRange(n,0,22.5)?"ns-resize":Xt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Xt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Xt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Xt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Xt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Xt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Xt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Xt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var h_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],Ck=1e8;function Bwe(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 jz(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 Uwe(e,t){const n=Bwe(e);return jz(e,t,n)}function zwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Xt.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(Lwe.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=(Qo.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={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 jz(d,-Qo.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-Ck,y:-Ck,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],h=u.getAbsoluteTransform();f.forEach(function(g){var m=h.point(g);n.push(m)})});const r=new Xt.Transform;r.rotate(-Qo.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.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:Qo.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(),h_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new Iwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:$we?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=Qo.Konva.getAngle(this.rotation()),o=Fwe(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 kwe.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()*Xt.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 d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let B=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(B-=Math.PI);var h=Qo.Konva.getAngle(this.rotation());const A=h+B,N=Qo.Konva.getAngle(this.rotationSnapTolerance()),U=zwe(this.rotationSnaps(),A,N)-f.rotation,$=Uwe(f,U);this._fitNodesInto($,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{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(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{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()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.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(m){var v=y?{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(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Xt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Xt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Xt.Transform;if(s.rotate(Qo.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:Xt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Xt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Xt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var h;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new Xt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(h=f.getLayer())===null||h===void 0||h.batchDraw()}),this.rotation(Xt.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(Xt.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(f=>{f.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()*Xt.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 d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(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=""),wk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return Sk.Node.prototype.toObject.call(this)}clone(t){var n=Sk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}BS.Transformer=Mt;function Vwe(e){return e instanceof Array||Xt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){h_.indexOf(t)===-1&&Xt.Util.warn("Unknown anchor name: "+t+". Available names are: "+h_.join(", "))}),e||[]}Mt.prototype.className="Transformer";(0,Mwe._registerNode)(Mt);Wt.Factory.addGetterSetter(Mt,"enabledAnchors",h_,Vwe);Wt.Factory.addGetterSetter(Mt,"flipEnabled",!0,(0,Su.getBooleanValidator)());Wt.Factory.addGetterSetter(Mt,"resizeEnabled",!0);Wt.Factory.addGetterSetter(Mt,"anchorSize",10,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"rotateEnabled",!0);Wt.Factory.addGetterSetter(Mt,"rotationSnaps",[]);Wt.Factory.addGetterSetter(Mt,"rotateAnchorOffset",50,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"rotationSnapTolerance",5,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"borderEnabled",!0);Wt.Factory.addGetterSetter(Mt,"anchorStroke","rgb(0, 161, 255)");Wt.Factory.addGetterSetter(Mt,"anchorStrokeWidth",1,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"anchorFill","white");Wt.Factory.addGetterSetter(Mt,"anchorCornerRadius",0,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"borderStroke","rgb(0, 161, 255)");Wt.Factory.addGetterSetter(Mt,"borderStrokeWidth",1,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"borderDash");Wt.Factory.addGetterSetter(Mt,"keepRatio",!0);Wt.Factory.addGetterSetter(Mt,"shiftBehavior","default");Wt.Factory.addGetterSetter(Mt,"centeredScaling",!1);Wt.Factory.addGetterSetter(Mt,"ignoreStroke",!1);Wt.Factory.addGetterSetter(Mt,"padding",0,(0,Su.getNumberValidator)());Wt.Factory.addGetterSetter(Mt,"node");Wt.Factory.addGetterSetter(Mt,"nodes");Wt.Factory.addGetterSetter(Mt,"boundBoxFunc");Wt.Factory.addGetterSetter(Mt,"anchorDragBoundFunc");Wt.Factory.addGetterSetter(Mt,"anchorStyleFunc");Wt.Factory.addGetterSetter(Mt,"shouldOverdrawWholeArea",!1);Wt.Factory.addGetterSetter(Mt,"useSingleNodeRotation",!0);Wt.Factory.backCompat(Mt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var US={};Object.defineProperty(US,"__esModule",{value:!0});US.Wedge=void 0;const zS=dt,jwe=gr,Gwe=ft,Gz=De,Hwe=ft;class el extends jwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Gwe.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)}}US.Wedge=el;el.prototype.className="Wedge";el.prototype._centroid=!0;el.prototype._attrsAffectingSize=["radius"];(0,Hwe._registerNode)(el);zS.Factory.addGetterSetter(el,"radius",0,(0,Gz.getNumberValidator)());zS.Factory.addGetterSetter(el,"angle",0,(0,Gz.getNumberValidator)());zS.Factory.addGetterSetter(el,"clockwise",!1);zS.Factory.backCompat(el,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Blur=void 0;const Tk=dt,Wwe=wn,qwe=De;function Ek(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Kwe=[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],Xwe=[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 Ywe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,h,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,V,B=t+t+1,A=r-1,N=i-1,D=t+1,U=D*(D+1)/2,$=new Ek,j=null,G=$,q=null,Z=null,ee=Kwe[t],ie=Xwe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(h*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,h-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(h*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,h-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+D)0&&Ywe(t,n)};VS.Blur=Qwe;Tk.Factory.addGetterSetter(Wwe.Node,"blurRadius",0,(0,qwe.getNumberValidator)(),Tk.Factory.afterSetFilter);var jS={};Object.defineProperty(jS,"__esModule",{value:!0});jS.Brighten=void 0;const Ak=dt,Zwe=wn,Jwe=De,exe=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};GS.Contrast=rxe;Pk.Factory.addGetterSetter(txe.Node,"contrast",0,(0,nxe.getNumberValidator)(),Pk.Factory.afterSetFilter);var HS={};Object.defineProperty(HS,"__esModule",{value:!0});HS.Emboss=void 0;const su=dt,WS=wn,ixe=kn,Hz=De,oxe=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,d=l*4,f=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:ixe.Util.error("Unknown emboss direction: "+r)}do{var h=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=h+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,V=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=V>255?255:V<0?0:V}else{var B=n-T;B<0?B=0:B>255&&(B=255),a[x]=a[x+1]=a[x+2]=B}}while(--v)}while(--f)};HS.Emboss=oxe;su.Factory.addGetterSetter(WS.Node,"embossStrength",.5,(0,Hz.getNumberValidator)(),su.Factory.afterSetFilter);su.Factory.addGetterSetter(WS.Node,"embossWhiteLevel",.5,(0,Hz.getNumberValidator)(),su.Factory.afterSetFilter);su.Factory.addGetterSetter(WS.Node,"embossDirection","top-left",null,su.Factory.afterSetFilter);su.Factory.addGetterSetter(WS.Node,"embossBlend",!1,null,su.Factory.afterSetFilter);var qS={};Object.defineProperty(qS,"__esModule",{value:!0});qS.Enhance=void 0;const Rk=dt,sxe=wn,axe=De;function rC(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 lxe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,h,g=this.enhance();if(g!==0){for(h=0;hi&&(i=o),l=t[h+1],la&&(a=l),f=t[h+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),h=0;h_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function xxe(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&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};t2.Pixelate=kxe;Mk.Factory.addGetterSetter(Rxe.Node,"pixelSize",8,(0,Oxe.getNumberValidator)(),Mk.Factory.afterSetFilter);var n2={};Object.defineProperty(n2,"__esModule",{value:!0});n2.Posterize=void 0;const Nk=dt,Ixe=wn,Mxe=De,Nxe=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)});g_.Factory.addGetterSetter(XE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});g_.Factory.addGetterSetter(XE.Node,"blue",0,Lxe.RGBComponent,g_.Factory.afterSetFilter);var i2={};Object.defineProperty(i2,"__esModule",{value:!0});i2.RGBA=void 0;const Qg=dt,o2=wn,$xe=De,Fxe=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)});Qg.Factory.addGetterSetter(o2.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Qg.Factory.addGetterSetter(o2.Node,"blue",0,$xe.RGBComponent,Qg.Factory.afterSetFilter);Qg.Factory.addGetterSetter(o2.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var s2={};Object.defineProperty(s2,"__esModule",{value:!0});s2.Sepia=void 0;const Bxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};a2.Solarize=Uxe;var l2={};Object.defineProperty(l2,"__esModule",{value:!0});l2.Threshold=void 0;const Lk=dt,zxe=wn,Vxe=De,jxe=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 mp.Stage({container:o,width:r,height:i}),a=new mp.Layer,l=new mp.Layer;return a.add(new mp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new mp.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},RCe=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}),Fk=async(e,t)=>{const n=e.toDataURL(t);return await RCe(n,t.width,t.height)},OCe=async(e,t,n,r,i)=>{const o=ke("canvas"),s=gS(),a=G_e();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 d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},h=await c_(u,f),g=await Fk(u,f),m=await PCe(r?e.objects.filter(w$):[],l,i),v=await c_(m,l),x=await Fk(m,l);return{baseBlob:h,baseImageData:g,maskBlob:v,maskImageData:x}},kCe=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}=kCe(e.data),i=ICe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},NCe=e=>XD(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Fo=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=NCe(i),s=t.nodes[yt];if(r&&o.length&&o.length){const a={id:j0,type:"collect",is_intermediate:!0};t.nodes[j0]=a,t.edges.push({source:{node_id:j0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:h,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:h,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=mb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:j0,field:"item"}})})}},wu=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[yt];if(a){xle(t.nodes[$e],"prompt");const d={id:qx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:sn,type:"iterate",is_intermediate:!0};if(t.nodes[qx]=d,t.nodes[sn]=f,t.edges.push({source:{node_id:qx,field:"prompt_collection"},destination:{node_id:sn,field:"collection"}},{source:{node_id:sn,field:"item"},destination:{node_id:$e,field:"prompt"}}),u&&t.edges.push({source:{node_id:sn,field:"item"},destination:{node_id:yt,field:"positive_prompt"}}),o){const h={id:dr,type:"rand_int",is_intermediate:!0};t.nodes[dr]=h,t.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:Se,field:"seed"}}),u&&t.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:yt,field:"seed"}})}else t.nodes[Se].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:bn,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:sn,type:"iterate",is_intermediate:!0};if(t.nodes[sn]=f,t.nodes[bn]=d,t.edges.push({source:{node_id:bn,field:"collection"},destination:{node_id:sn,field:"collection"}}),t.edges.push({source:{node_id:sn,field:"item"},destination:{node_id:Se,field:"seed"}}),u&&t.edges.push({source:{node_id:sn,field:"item"},destination:{node_id:yt,field:"seed"}}),o){const h={id:dr,type:"rand_int",is_intermediate:!0};t.nodes[dr]=h,t.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:bn,field:"start"}})}else d.start=i}},sh=(e,t,n,r=an)=>{const{loras:i}=e.lora,o=DT(i),s=t.nodes[yt];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===It&&["clip"].includes(u.source.field))));let a="",l=0;gc(i,u=>{const{model_name:d,base_model:f,weight:h}=u,g=`${az}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:h};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:h}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:It,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:$e,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:Be,field:"clip"}})),a=g,l+=1})},Kz=mi(e=>e.ui,e=>y$[e.activeTab],{memoizeOptions:{equalityCheck:gb}}),PMe=mi(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:gb}}),RMe=mi(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:gb}}),Bo=(e,t,n=it)=>{const i=Kz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[yt];if(!o)return;o.is_intermediate=!0;const a={id:Kd,type:"img_nsfw",is_intermediate:i};t.nodes[Kd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Kd,field:"image"}}),s&&t.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:Kd,field:"metadata"}})},Uo=(e,t,n=an)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[yt];i||(t.nodes[Lu]={type:"vae_loader",id:Lu,is_intermediate:!0,vae_model:r});const s=n==mS;(t.id===lz||t.id===v5||t.id===fz||t.id===b5)&&t.edges.push({source:{node_id:i?n:Lu,field:i&&s?"vae_decoder":"vae"},destination:{node_id:it,field:"vae"}}),(t.id===uz||t.id===_5||t.id===IE||t.id==d_)&&t.edges.push({source:{node_id:i?n:Lu,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Ie,field:"vae"}}),(t.id===v5||t.id===b5||t.id===_5||t.id===d_)&&t.edges.push({source:{node_id:i?n:Lu,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Vt,field:"vae"}}),(t.id===cz||t.id===dz||t.id===ME||t.id===NE)&&t.edges.push({source:{node_id:i?n:Lu,field:i&&s?"vae_decoder":"vae"},destination:{node_id:hn,field:"vae"}},{source:{node_id:i?n:Lu,field:i&&s?"vae_decoder":"vae"},destination:{node_id:it,field:"vae"}}),r&&o&&(o.vae=r)},zo=(e,t,n=it)=>{const i=Kz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Kd],a=t.nodes[yt];if(!o)return;const l={id:dp,type:"img_watermark",is_intermediate:i};t.nodes[dp]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Kd,field:"image"},destination:{node_id:dp,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:dp,field:"image"}}),a&&t.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:dp,field:"metadata"}})},LCe=(e,t)=>{const n=ke("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:h}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=h?f:ys.shouldUseCpuNoise,_={id:_5,nodes:{[an]:{type:"main_model_loader",id:an,is_intermediate:!0,model:o},[It]:{type:"clip_skip",id:It,is_intermediate:!0,skipped_layers:d},[$e]:{type:"compel",id:$e,is_intermediate:!0,prompt:r},[Be]:{type:"compel",id:Be,is_intermediate:!0,prompt:i},[Se]:{type:"noise",id:Se,is_intermediate:!0,use_cpu:x},[Vt]:{type:"i2l",id:Vt,is_intermediate:!0},[Le]:{type:"denoise_latents",id:Le,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,denoising_start:1-u,denoising_end:1},[Ie]:{type:"l2i",id:Ie,is_intermediate:!v}},edges:[{source:{node_id:an,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:an,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:Vt,field:"latents"},destination:{node_id:Le,field:"latents"}},{source:{node_id:Le,field:"latents"},destination:{node_id:Ie,field:"latents"}}]};if(t.width!==g||t.height!==m){const b={id:Jn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[Jn]=b,_.edges.push({source:{node_id:Jn,field:"image"},destination:{node_id:Vt,field:"image"}}),_.edges.push({source:{node_id:Jn,field:"width"},destination:{node_id:Se,field:"width"}}),_.edges.push({source:{node_id:Jn,field:"height"},destination:{node_id:Se,field:"height"}})}else _.nodes[Vt].image={image_name:t.image_name},_.edges.push({source:{node_id:Vt,field:"width"},destination:{node_id:Se,field:"width"}}),_.edges.push({source:{node_id:Vt,field:"height"},destination:{node_id:Se,field:"height"}});return _.nodes[yt]={id:yt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:Ie,field:"metadata"}}),sh(e,_,Le),Uo(e,_,an),wu(e,_),Fo(e,_,Le),e.system.shouldUseNSFWChecker&&Bo(e,_,Ie),e.system.shouldUseWatermarker&&zo(e,_,Ie),_},DCe=(e,t,n)=>{const r=ke("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,iterations:f,seed:h,shouldRandomizeSeed:g,vaePrecision:m,shouldUseNoiseSettings:v,shouldUseCpuNoise:x,maskBlur:_,maskBlurMethod:b,clipSkip:y}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:S,height:C}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:E,shouldAutoSave:P}=e.canvas,k=x,O={id:cz,nodes:{[an]:{type:"main_model_loader",id:an,is_intermediate:!0,model:s},[It]:{type:"clip_skip",id:It,is_intermediate:!0,skipped_layers:y},[$e]:{type:"compel",id:$e,is_intermediate:!0,prompt:i},[Be]:{type:"compel",id:Be,is_intermediate:!0,prompt:o},[ut]:{type:"img_blur",id:ut,is_intermediate:!0,radius:_,blur_type:b},[hn]:{type:"i2l",id:hn,is_intermediate:!0,fp32:m==="fp32"},[Se]:{type:"noise",id:Se,use_cpu:k,is_intermediate:!0},[Le]:{type:"denoise_latents",id:Le,is_intermediate:!0,steps:u,cfg_scale:a,scheduler:l,denoising_start:1-d,denoising_end:1},[it]:{type:"l2i",id:it,is_intermediate:!0,fp32:m==="fp32"},[wt]:{type:"color_correct",id:wt,is_intermediate:!0,reference:t},[Ie]:{type:"img_paste",id:Ie,is_intermediate:!P,base_image:t},[bn]:{type:"range_of_size",id:bn,is_intermediate:!0,size:f,step:1},[sn]:{type:"iterate",id:sn,is_intermediate:!0}},edges:[{source:{node_id:an,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:an,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:hn,field:"latents"},destination:{node_id:Le,field:"latents"}},{source:{node_id:ut,field:"image"},destination:{node_id:Le,field:"mask"}},{source:{node_id:bn,field:"collection"},destination:{node_id:sn,field:"collection"}},{source:{node_id:sn,field:"item"},destination:{node_id:Se,field:"seed"}},{source:{node_id:Le,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(["auto","manual"].includes(E)){const M=T.width,V=T.height;O.nodes[ko]={type:"img_resize",id:ko,is_intermediate:!0,width:M,height:V,image:t},O.nodes[Ni]={type:"img_resize",id:Ni,is_intermediate:!0,width:M,height:V,image:n},O.nodes[ti]={type:"img_resize",id:ti,is_intermediate:!0,width:S,height:C},O.nodes[er]={type:"img_resize",id:er,is_intermediate:!0,width:S,height:C},O.nodes[Se]={...O.nodes[Se],width:M,height:V},O.edges.push({source:{node_id:ko,field:"image"},destination:{node_id:hn,field:"image"}},{source:{node_id:Ni,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:it,field:"image"},destination:{node_id:ti,field:"image"}},{source:{node_id:ti,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:er,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:Ie,field:"mask"}})}else O.nodes[Se]={...O.nodes[Se],width:S,height:C},O.nodes[hn]={...O.nodes[hn],image:t},O.nodes[ut]={...O.nodes[ut],image:n},O.edges.push({source:{node_id:it,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:Ie,field:"mask"}});if(g){const M={id:dr,type:"rand_int"};O.nodes[dr]=M,O.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:bn,field:"start"}})}else O.nodes[bn].start=h;return Uo(e,O,an),sh(e,O,Le,an),Fo(e,O,Le),e.system.shouldUseNSFWChecker&&Bo(e,O,Ie),e.system.shouldUseWatermarker&&zo(e,O,Ie),O},$Ce=(e,t,n)=>{const r=ke("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,iterations:f,seed:h,shouldRandomizeSeed:g,vaePrecision:m,shouldUseNoiseSettings:v,shouldUseCpuNoise:x,maskBlur:_,maskBlurMethod:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M=x,V={id:dz,nodes:{[an]:{type:"main_model_loader",id:an,is_intermediate:!0,model:s},[It]:{type:"clip_skip",id:It,is_intermediate:!0,skipped_layers:C},[$e]:{type:"compel",id:$e,is_intermediate:!0,prompt:i},[Be]:{type:"compel",id:Be,is_intermediate:!0,prompt:o},[_f]:{type:"tomask",id:_f,is_intermediate:!0,image:t},[Ds]:{type:"mask_combine",id:Ds,is_intermediate:!0,mask2:n},[ut]:{type:"img_blur",id:ut,is_intermediate:!0,radius:_,blur_type:b},[Nn]:{type:"infill_tile",id:Nn,is_intermediate:!0,tile_size:y},[hn]:{type:"i2l",id:hn,is_intermediate:!0,fp32:m==="fp32"},[Se]:{type:"noise",id:Se,use_cpu:M,is_intermediate:!0},[Le]:{type:"denoise_latents",id:Le,is_intermediate:!0,steps:u,cfg_scale:a,scheduler:l,denoising_start:1-d,denoising_end:1},[it]:{type:"l2i",id:it,is_intermediate:!0,fp32:m==="fp32"},[wt]:{type:"color_correct",id:wt,is_intermediate:!0},[Ie]:{type:"img_paste",id:Ie,is_intermediate:!O},[bn]:{type:"range_of_size",id:bn,is_intermediate:!0,size:f,step:1},[sn]:{type:"iterate",id:sn,is_intermediate:!0}},edges:[{source:{node_id:an,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:an,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:Nn,field:"image"},destination:{node_id:hn,field:"image"}},{source:{node_id:_f,field:"mask"},destination:{node_id:Ds,field:"mask1"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:hn,field:"latents"},destination:{node_id:Le,field:"latents"}},{source:{node_id:ut,field:"image"},destination:{node_id:Le,field:"mask"}},{source:{node_id:bn,field:"collection"},destination:{node_id:sn,field:"collection"}},{source:{node_id:sn,field:"item"},destination:{node_id:Se,field:"seed"}},{source:{node_id:Le,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(S==="patchmatch"&&(V.nodes[Nn]={type:"infill_patchmatch",id:Nn,is_intermediate:!0}),["auto","manual"].includes(k)){const B=P.width,A=P.height;V.nodes[ko]={type:"img_resize",id:ko,is_intermediate:!0,width:B,height:A,image:t},V.nodes[Ni]={type:"img_resize",id:Ni,is_intermediate:!0,width:B,height:A},V.nodes[ti]={type:"img_resize",id:ti,is_intermediate:!0,width:T,height:E},V.nodes[Ls]={type:"img_resize",id:Ls,is_intermediate:!0,width:T,height:E},V.nodes[er]={type:"img_resize",id:er,is_intermediate:!0,width:T,height:E},V.nodes[Se]={...V.nodes[Se],width:B,height:A},V.edges.push({source:{node_id:ko,field:"image"},destination:{node_id:Nn,field:"image"}},{source:{node_id:Ds,field:"image"},destination:{node_id:Ni,field:"image"}},{source:{node_id:Ni,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:it,field:"image"},destination:{node_id:ti,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:er,field:"image"}},{source:{node_id:Nn,field:"image"},destination:{node_id:Ls,field:"image"}},{source:{node_id:Ls,field:"image"},destination:{node_id:wt,field:"reference"}},{source:{node_id:ti,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:Ls,field:"image"},destination:{node_id:Ie,field:"base_image"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:Ie,field:"mask"}})}else V.nodes[Nn]={...V.nodes[Nn],image:t},V.nodes[Se]={...V.nodes[Se],width:T,height:E},V.nodes[hn]={...V.nodes[hn],image:t},V.nodes[ut]={...V.nodes[ut],image:n},V.edges.push({source:{node_id:Ds,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:Nn,field:"image"},destination:{node_id:wt,field:"reference"}},{source:{node_id:it,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:Nn,field:"image"},destination:{node_id:Ie,field:"base_image"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:Ie,field:"mask"}});if(g){const B={id:dr,type:"rand_int"};V.nodes[dr]=B,V.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:bn,field:"start"}})}else V.nodes[bn].start=h;return Uo(e,V,an),sh(e,V,Le,an),Fo(e,V,Le),e.system.shouldUseNSFWChecker&&Bo(e,V,Ie),e.system.shouldUseWatermarker&&zo(e,V,Ie),V},ah=(e,t,n,r=We)=>{const{loras:i}=e.lora,o=DT(i),s=t.nodes[yt];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;gc(i,u=>{const{model_name:d,base_model:f,weight:h}=u,g=`${az}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:h};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:h}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:$e,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:Be,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:$e,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:Be,field:"clip2"}})),a=g,l+=1})},Uc=(e,t)=>{const{positivePrompt:n,negativePrompt:r}=e.generation,{positiveStylePrompt:i,negativeStylePrompt:o}=e.sdxl;let s=i,a=o;return t&&(i.length>0?s=`${n} ${i}`:s=n,o.length>0?a=`${r} ${o}`:a=r),{craftedPositiveStylePrompt:s,craftedNegativeStylePrompt:a}},lh=(e,t,n)=>{const{refinerModel:r,refinerPositiveAestheticScore:i,refinerNegativeAestheticScore:o,refinerSteps:s,refinerScheduler:a,refinerCFGScale:l,refinerStart:u}=e.sdxl;if(!r)return;const d=t.nodes[yt];d&&(d.refiner_model=r,d.refiner_positive_aesthetic_score=i,d.refiner_negative_aesthetic_score=o,d.refiner_cfg_scale=l,d.refiner_scheduler=a,d.refiner_start=u,d.refiner_steps=s);const{craftedPositiveStylePrompt:f,craftedNegativeStylePrompt:h}=Uc(e,!0);t.edges=t.edges.filter(g=>!(g.source.node_id===n&&["latents"].includes(g.source.field))),t.edges=t.edges.filter(g=>!(g.source.node_id===We&&["vae"].includes(g.source.field))),t.nodes[fp]={type:"sdxl_refiner_model_loader",id:fp,model:r},t.nodes[G0]={type:"sdxl_refiner_compel_prompt",id:G0,style:f,aesthetic_score:i},t.nodes[H0]={type:"sdxl_refiner_compel_prompt",id:H0,style:h,aesthetic_score:o},t.nodes[va]={type:"denoise_latents",id:va,cfg_scale:l,steps:s,scheduler:a,denoising_start:u,denoising_end:1},t.edges.push({source:{node_id:fp,field:"unet"},destination:{node_id:va,field:"unet"}},{source:{node_id:fp,field:"clip2"},destination:{node_id:G0,field:"clip2"}},{source:{node_id:fp,field:"clip2"},destination:{node_id:H0,field:"clip2"}},{source:{node_id:G0,field:"conditioning"},destination:{node_id:va,field:"positive_conditioning"}},{source:{node_id:H0,field:"conditioning"},destination:{node_id:va,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:va,field:"latents"}}),t.id===IE||t.id===d_?t.edges.push({source:{node_id:va,field:"latents"},destination:{node_id:Ie,field:"latents"}}):t.edges.push({source:{node_id:va,field:"latents"},destination:{node_id:it,field:"latents"}}),(t.id===ME||t.id===NE)&&t.edges.push({source:{node_id:ut,field:"image"},destination:{node_id:va,field:"mask"}})},FCe=(e,t)=>{const n=ke("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,vaePrecision:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:h}=e.generation,{shouldUseSDXLRefiner:g,refinerStart:m,sdxlImg2ImgDenoisingStrength:v,shouldConcatSDXLStylePrompt:x}=e.sdxl,{width:_,height:b}=e.canvas.boundingBoxDimensions,{shouldAutoSave:y}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=h?f:ys.shouldUseCpuNoise,{craftedPositiveStylePrompt:C,craftedNegativeStylePrompt:T}=Uc(e,x),E={id:d_,nodes:{[We]:{type:"sdxl_model_loader",id:We,model:o},[$e]:{type:"sdxl_compel_prompt",id:$e,prompt:r,style:C},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:i,style:T},[Se]:{type:"noise",id:Se,is_intermediate:!0,use_cpu:S},[Vt]:{type:"i2l",id:Vt,is_intermediate:!0,fp32:u==="fp32"},[Re]:{type:"denoise_latents",id:Re,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,denoising_start:g?Math.min(m,1-v):1-v,denoising_end:g?m:1},[Ie]:{type:"l2i",id:Ie,is_intermediate:!y,fp32:u==="fp32"}},edges:[{source:{node_id:We,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:We,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:We,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:Vt,field:"latents"},destination:{node_id:Re,field:"latents"}},{source:{node_id:Re,field:"latents"},destination:{node_id:Ie,field:"latents"}}]};if(t.width!==_||t.height!==b){const P={id:Jn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:_,height:b};E.nodes[Jn]=P,E.edges.push({source:{node_id:Jn,field:"image"},destination:{node_id:Vt,field:"image"}}),E.edges.push({source:{node_id:Jn,field:"width"},destination:{node_id:Se,field:"width"}}),E.edges.push({source:{node_id:Jn,field:"height"},destination:{node_id:Se,field:"height"}})}else E.nodes[Vt].image={image_name:t.image_name},E.edges.push({source:{node_id:Vt,field:"width"},destination:{node_id:Se,field:"width"}}),E.edges.push({source:{node_id:Vt,field:"height"},destination:{node_id:Se,field:"height"}});return E.nodes[yt]={id:yt,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:b,width:_,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:d,strength:v,init_image:t.image_name},E.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:Ie,field:"metadata"}}),ah(e,E,Re,We),g&&lh(e,E,Re),Uo(e,E,We),wu(e,E),Fo(e,E,Re),e.system.shouldUseNSFWChecker&&Bo(e,E,Ie),e.system.shouldUseWatermarker&&zo(e,E,Ie),E},BCe=(e,t,n)=>{const r=ke("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,iterations:d,seed:f,shouldRandomizeSeed:h,vaePrecision:g,shouldUseNoiseSettings:m,shouldUseCpuNoise:v,maskBlur:x,maskBlurMethod:_}=e.generation,{sdxlImg2ImgDenoisingStrength:b,shouldUseSDXLRefiner:y,refinerStart:S,shouldConcatSDXLStylePrompt:C}=e.sdxl;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M=v,{craftedPositiveStylePrompt:V,craftedNegativeStylePrompt:B}=Uc(e,C),A={id:ME,nodes:{[We]:{type:"sdxl_model_loader",id:We,model:s},[$e]:{type:"sdxl_compel_prompt",id:$e,prompt:i,style:V},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:o,style:B},[ut]:{type:"img_blur",id:ut,is_intermediate:!0,radius:x,blur_type:_},[hn]:{type:"i2l",id:hn,is_intermediate:!0,fp32:g==="fp32"},[Se]:{type:"noise",id:Se,use_cpu:M,is_intermediate:!0},[Re]:{type:"denoise_latents",id:Re,is_intermediate:!0,steps:u,cfg_scale:a,scheduler:l,denoising_start:y?Math.min(S,1-b):1-b,denoising_end:y?S:1},[it]:{type:"l2i",id:it,is_intermediate:!0,fp32:g==="fp32"},[wt]:{type:"color_correct",id:wt,is_intermediate:!0,reference:t},[Ie]:{type:"img_paste",id:Ie,is_intermediate:!O,base_image:t},[bn]:{type:"range_of_size",id:bn,is_intermediate:!0,size:d,step:1},[sn]:{type:"iterate",id:sn,is_intermediate:!0}},edges:[{source:{node_id:We,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:We,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:We,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:hn,field:"latents"},destination:{node_id:Re,field:"latents"}},{source:{node_id:ut,field:"image"},destination:{node_id:Re,field:"mask"}},{source:{node_id:bn,field:"collection"},destination:{node_id:sn,field:"collection"}},{source:{node_id:sn,field:"item"},destination:{node_id:Se,field:"seed"}},{source:{node_id:Re,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(["auto","manual"].includes(k)){const N=P.width,D=P.height;A.nodes[ko]={type:"img_resize",id:ko,is_intermediate:!0,width:N,height:D,image:t},A.nodes[Ni]={type:"img_resize",id:Ni,is_intermediate:!0,width:N,height:D,image:n},A.nodes[ti]={type:"img_resize",id:ti,is_intermediate:!0,width:T,height:E},A.nodes[er]={type:"img_resize",id:er,is_intermediate:!0,width:T,height:E},A.nodes[Se]={...A.nodes[Se],width:N,height:D},A.edges.push({source:{node_id:ko,field:"image"},destination:{node_id:hn,field:"image"}},{source:{node_id:Ni,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:it,field:"image"},destination:{node_id:ti,field:"image"}},{source:{node_id:ti,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:er,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:Ie,field:"mask"}})}else A.nodes[Se]={...A.nodes[Se],width:T,height:E},A.nodes[hn]={...A.nodes[hn],image:t},A.nodes[ut]={...A.nodes[ut],image:n},A.edges.push({source:{node_id:it,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:Ie,field:"mask"}});if(h){const N={id:dr,type:"rand_int"};A.nodes[dr]=N,A.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:bn,field:"start"}})}else A.nodes[bn].start=f;return y&&lh(e,A,Re),Uo(e,A,We),ah(e,A,Re,We),Fo(e,A,Re),e.system.shouldUseNSFWChecker&&Bo(e,A,Ie),e.system.shouldUseWatermarker&&zo(e,A,Ie),A},UCe=(e,t,n)=>{const r=ke("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,iterations:d,seed:f,shouldRandomizeSeed:h,vaePrecision:g,shouldUseNoiseSettings:m,shouldUseCpuNoise:v,maskBlur:x,maskBlurMethod:_,tileSize:b,infillMethod:y}=e.generation,{sdxlImg2ImgDenoisingStrength:S,shouldUseSDXLRefiner:C,refinerStart:T,shouldConcatSDXLStylePrompt:E}=e.sdxl;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:P,height:k}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:O,boundingBoxScaleMethod:M,shouldAutoSave:V}=e.canvas,B=v,{craftedPositiveStylePrompt:A,craftedNegativeStylePrompt:N}=Uc(e,E),D={id:NE,nodes:{[We]:{type:"sdxl_model_loader",id:We,model:s},[$e]:{type:"sdxl_compel_prompt",id:$e,prompt:i,style:A},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:o,style:N},[_f]:{type:"tomask",id:_f,is_intermediate:!0,image:t},[Ds]:{type:"mask_combine",id:Ds,is_intermediate:!0,mask2:n},[ut]:{type:"img_blur",id:ut,is_intermediate:!0,radius:x,blur_type:_},[Nn]:{type:"infill_tile",id:Nn,is_intermediate:!0,tile_size:b},[hn]:{type:"i2l",id:hn,is_intermediate:!0,fp32:g==="fp32"},[Se]:{type:"noise",id:Se,use_cpu:B,is_intermediate:!0},[Re]:{type:"denoise_latents",id:Re,is_intermediate:!0,steps:u,cfg_scale:a,scheduler:l,denoising_start:C?Math.min(T,1-S):1-S,denoising_end:C?T:1},[it]:{type:"l2i",id:it,is_intermediate:!0,fp32:g==="fp32"},[wt]:{type:"color_correct",id:wt,is_intermediate:!0},[Ie]:{type:"img_paste",id:Ie,is_intermediate:!V},[bn]:{type:"range_of_size",id:bn,is_intermediate:!0,size:d,step:1},[sn]:{type:"iterate",id:sn,is_intermediate:!0}},edges:[{source:{node_id:We,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:We,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:We,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:Nn,field:"image"},destination:{node_id:hn,field:"image"}},{source:{node_id:_f,field:"mask"},destination:{node_id:Ds,field:"mask1"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:hn,field:"latents"},destination:{node_id:Re,field:"latents"}},{source:{node_id:ut,field:"image"},destination:{node_id:Re,field:"mask"}},{source:{node_id:bn,field:"collection"},destination:{node_id:sn,field:"collection"}},{source:{node_id:sn,field:"item"},destination:{node_id:Se,field:"seed"}},{source:{node_id:Re,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(y==="patchmatch"&&(D.nodes[Nn]={type:"infill_patchmatch",id:Nn,is_intermediate:!0}),["auto","manual"].includes(M)){const U=O.width,$=O.height;D.nodes[ko]={type:"img_resize",id:ko,is_intermediate:!0,width:U,height:$,image:t},D.nodes[Ni]={type:"img_resize",id:Ni,is_intermediate:!0,width:U,height:$},D.nodes[ti]={type:"img_resize",id:ti,is_intermediate:!0,width:P,height:k},D.nodes[Ls]={type:"img_resize",id:Ls,is_intermediate:!0,width:P,height:k},D.nodes[er]={type:"img_resize",id:er,is_intermediate:!0,width:P,height:k},D.nodes[Se]={...D.nodes[Se],width:U,height:$},D.edges.push({source:{node_id:ko,field:"image"},destination:{node_id:Nn,field:"image"}},{source:{node_id:Ds,field:"image"},destination:{node_id:Ni,field:"image"}},{source:{node_id:Ni,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:it,field:"image"},destination:{node_id:ti,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:er,field:"image"}},{source:{node_id:Nn,field:"image"},destination:{node_id:Ls,field:"image"}},{source:{node_id:Ls,field:"image"},destination:{node_id:wt,field:"reference"}},{source:{node_id:ti,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:Ls,field:"image"},destination:{node_id:Ie,field:"base_image"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:er,field:"image"},destination:{node_id:Ie,field:"mask"}})}else D.nodes[Nn]={...D.nodes[Nn],image:t},D.nodes[Se]={...D.nodes[Se],width:P,height:k},D.nodes[hn]={...D.nodes[hn],image:t},D.nodes[ut]={...D.nodes[ut],image:n},D.edges.push({source:{node_id:Ds,field:"image"},destination:{node_id:ut,field:"image"}},{source:{node_id:Nn,field:"image"},destination:{node_id:wt,field:"reference"}},{source:{node_id:it,field:"image"},destination:{node_id:wt,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:wt,field:"mask"}},{source:{node_id:Nn,field:"image"},destination:{node_id:Ie,field:"base_image"}},{source:{node_id:wt,field:"image"},destination:{node_id:Ie,field:"image"}},{source:{node_id:ut,field:"image"},destination:{node_id:Ie,field:"mask"}});if(h){const U={id:dr,type:"rand_int"};D.nodes[dr]=U,D.edges.push({source:{node_id:dr,field:"a"},destination:{node_id:bn,field:"start"}})}else D.nodes[bn].start=f;return C&&lh(e,D,Re),Uo(e,D,We),ah(e,D,Re,We),Fo(e,D,Re),e.system.shouldUseNSFWChecker&&Bo(e,D,Ie),e.system.shouldUseWatermarker&&zo(e,D,Ie),D},zCe=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,vaePrecision:l,clipSkip:u,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:g}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas,{shouldUseSDXLRefiner:v,refinerStart:x,shouldConcatSDXLStylePrompt:_}=e.sdxl;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const b=f?d:ys.shouldUseCpuNoise,y=i.model_type==="onnx",S=y?mS:We,C=y?"onnx_model_loader":"sdxl_model_loader",T=y?{type:"t2l_onnx",id:Re,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"denoise_latents",id:Re,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,denoising_start:0,denoising_end:v?x:1},{craftedPositiveStylePrompt:E,craftedNegativeStylePrompt:P}=Uc(e,_),k={id:IE,nodes:{[S]:{type:C,id:S,is_intermediate:!0,model:i},[$e]:{type:y?"prompt_onnx":"sdxl_compel_prompt",id:$e,is_intermediate:!0,prompt:n,style:E},[Be]:{type:y?"prompt_onnx":"sdxl_compel_prompt",id:Be,is_intermediate:!0,prompt:r,style:P},[Se]:{type:"noise",id:Se,is_intermediate:!0,width:h,height:g,use_cpu:b},[T.id]:T,[Ie]:{type:y?"l2i_onnx":"l2i",id:Ie,is_intermediate:!m,fp32:l==="fp32"}},edges:[{source:{node_id:S,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:S,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:S,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:S,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:S,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:Re,field:"latents"},destination:{node_id:Ie,field:"latents"}}]};return k.nodes[yt]={id:yt,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:g,width:h,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:b?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:u},k.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:Ie,field:"metadata"}}),v&&lh(e,k,Re),ah(e,k,Re,S),Uo(e,k,S),wu(e,k),Fo(e,k,Re),e.system.shouldUseNSFWChecker&&Bo(e,k,Ie),e.system.shouldUseWatermarker&&zo(e,k,Ie),k},VCe=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:h}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:ys.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?mS:an,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:Le,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"denoise_latents",id:Le,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,denoising_start:0,denoising_end:1},y={id:uz,nodes:{[x]:{type:_,id:x,is_intermediate:!0,model:i},[It]:{type:"clip_skip",id:It,is_intermediate:!0,skipped_layers:l},[$e]:{type:v?"prompt_onnx":"compel",id:$e,is_intermediate:!0,prompt:n},[Be]:{type:v?"prompt_onnx":"compel",id:Be,is_intermediate:!0,prompt:r},[Se]:{type:"noise",id:Se,is_intermediate:!0,width:f,height:h,use_cpu:m},[b.id]:b,[Ie]:{type:v?"l2i_onnx":"l2i",id:Ie,is_intermediate:!g}},edges:[{source:{node_id:x,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:x,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:Le,field:"latents"},destination:{node_id:Ie,field:"latents"}}]};return y.nodes[yt]={id:yt,type:"metadata_accumulator",generation_mode:"txt2img",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:l},y.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:Ie,field:"metadata"}}),Uo(e,y,x),sh(e,y,Le,x),wu(e,y),Fo(e,y,Le),e.system.shouldUseNSFWChecker&&Bo(e,y,Ie),e.system.shouldUseWatermarker&&zo(e,y,Ie),y},jCe=(e,t,n,r)=>{let i;if(t==="txt2img")e.generation.model&&e.generation.model.base_model==="sdxl"?i=zCe(e):i=VCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");e.generation.model&&e.generation.model.base_model==="sdxl"?i=FCe(e,n):i=LCe(e,n)}else if(t==="inpaint"){if(!n||!r)throw new Error("Missing canvas init and mask images");e.generation.model&&e.generation.model.base_model==="sdxl"?i=BCe(e,n,r):i=DCe(e,n,r)}else{if(!n)throw new Error("Missing canvas init image");e.generation.model&&e.generation.model.base_model==="sdxl"?i=UCe(e,n,r):i=$Ce(e,n,r)}return i},GCe=()=>{Oe({predicate:e=>zm.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=ke("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await OCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:h,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=MCe(g,v);if(o.system.enableImageDebugging){const E=await rk(h),P=await rk(m);RSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(we.endpoints.uploadImage.initiate({file:new File([h],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(we.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=jCe(o,x,_,b);i.debug({graph:Ya(y)},"Canvas graph built"),n(QU(y));const{requestId:S}=n(jr({graph:y})),[C]=await r(E=>jr.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(we.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(we.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(hce({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(pce(T)),n(kc())}})},HCe=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:h,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=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:ys.shouldUseCpuNoise,b={id:v5,nodes:{[an]:{type:"main_model_loader",id:an,model:i},[It]:{type:"clip_skip",id:It,skipped_layers:g},[$e]:{type:"compel",id:$e,prompt:n},[Be]:{type:"compel",id:Be,prompt:r},[Se]:{type:"noise",id:Se,use_cpu:_},[it]:{type:"l2i",id:it,fp32:x==="fp32"},[Le]:{type:"denoise_latents",id:Le,cfg_scale:o,scheduler:s,steps:a,denoising_start:1-u,denoising_end:1},[Vt]:{type:"i2l",id:Vt,fp32:x==="fp32"}},edges:[{source:{node_id:an,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:an,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:Vt,field:"latents"},destination:{node_id:Le,field:"latents"}},{source:{node_id:Le,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(d&&(l.width!==f||l.height!==h)){const y={id:Jn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:h};b.nodes[Jn]=y,b.edges.push({source:{node_id:Jn,field:"image"},destination:{node_id:Vt,field:"image"}}),b.edges.push({source:{node_id:Jn,field:"width"},destination:{node_id:Se,field:"width"}}),b.edges.push({source:{node_id:Jn,field:"height"},destination:{node_id:Se,field:"height"}})}else b.nodes[Vt].image={image_name:l.imageName},b.edges.push({source:{node_id:Vt,field:"width"},destination:{node_id:Se,field:"width"}}),b.edges.push({source:{node_id:Vt,field:"height"},destination:{node_id:Se,field:"height"}});return b.nodes[yt]={id:yt,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:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:it,field:"metadata"}}),Uo(e,b,an),sh(e,b,Le),wu(e,b),Fo(e,b,Le),e.system.shouldUseNSFWChecker&&Bo(e,b),e.system.shouldUseWatermarker&&zo(e,b),b},WCe=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:h,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=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 T=m?g:ys.shouldUseCpuNoise,{craftedPositiveStylePrompt:E,craftedNegativeStylePrompt:P}=Uc(e,b),k={id:b5,nodes:{[We]:{type:"sdxl_model_loader",id:We,model:i},[$e]:{type:"sdxl_compel_prompt",id:$e,prompt:n,style:E},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:r,style:P},[Se]:{type:"noise",id:Se,use_cpu:T},[it]:{type:"l2i",id:it,fp32:v==="fp32"},[Re]:{type:"denoise_latents",id:Re,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[Vt]:{type:"i2l",id:Vt,fp32:v==="fp32"}},edges:[{source:{node_id:We,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:We,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:We,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:Vt,field:"latents"},destination:{node_id:Re,field:"latents"}},{source:{node_id:Re,field:"latents"},destination:{node_id:it,field:"latents"}}]};if(u&&(l.width!==d||l.height!==f)){const O={id:Jn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};k.nodes[Jn]=O,k.edges.push({source:{node_id:Jn,field:"image"},destination:{node_id:Vt,field:"image"}}),k.edges.push({source:{node_id:Jn,field:"width"},destination:{node_id:Se,field:"width"}}),k.edges.push({source:{node_id:Jn,field:"height"},destination:{node_id:Se,field:"height"}})}else k.nodes[Vt].image={image_name:l.imageName},k.edges.push({source:{node_id:Vt,field:"width"},destination:{node_id:Se,field:"width"}}),k.edges.push({source:{node_id:Vt,field:"height"},destination:{node_id:Se,field:"height"}});return k.nodes[yt]={id:yt,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},k.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:it,field:"metadata"}}),ah(e,k,Re,We),y&&lh(e,k,Re),Uo(e,k,We),Fo(e,k,Re),wu(e,k),e.system.shouldUseNSFWChecker&&Bo(e,k),e.system.shouldUseWatermarker&&zo(e,k),k},qCe=()=>{Oe({predicate:e=>zm.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=ke("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=WCe(o):a=HCe(o),n(YU(a)),i.debug({graph:Ya(a)},"Image to Image graph built"),n(jr({graph:a})),await r(jr.fulfilled.match),n(kc())}})};let Z0;const KCe=new Uint8Array(16);function XCe(){if(!Z0&&(Z0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Z0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Z0(KCe)}const $r=[];for(let e=0;e<256;++e)$r.push((e+256).toString(16).slice(1));function YCe(e,t=0){return($r[e[t+0]]+$r[e[t+1]]+$r[e[t+2]]+$r[e[t+3]]+"-"+$r[e[t+4]]+$r[e[t+5]]+"-"+$r[e[t+6]]+$r[e[t+7]]+"-"+$r[e[t+8]]+$r[e[t+9]]+"-"+$r[e[t+10]]+$r[e[t+11]]+$r[e[t+12]]+$r[e[t+13]]+$r[e[t+14]]+$r[e[t+15]]).toLowerCase()}const QCe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Bk={randomUUID:QCe};function ZCe(e,t,n){if(Bk.randomUUID&&!t&&!e)return Bk.randomUUID();e=e||{};const r=e.random||(e.rng||XCe)();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 YCe(r)}const JCe=e=>{if(e.type==="color"&&e.value){const t=Qr(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},e3e=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:h}=d,g=LT(h,(v,x,_)=>{const b=JCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:h}=l;return a.push({source:{node_id:u,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]=mb(l,u)}),{id:ZCe(),nodes:i,edges:o}},t3e=()=>{Oe({predicate:e=>zm.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=ke("session"),o=t(),s=e3e(o);n(ZU(s)),i.debug({graph:Ya(s)},"Nodes graph built"),n(jr({graph:s})),await r(jr.fulfilled.match),n(kc())}})},n3e=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:h,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldUseSDXLRefiner:x,shouldConcatSDXLStylePrompt:_,refinerStart:b}=e.sdxl,y=h?f:ys.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const{craftedPositiveStylePrompt:S,craftedNegativeStylePrompt:C}=Uc(e,_),T={id:fz,nodes:{[We]:{type:"sdxl_model_loader",id:We,model:i},[$e]:{type:"sdxl_compel_prompt",id:$e,prompt:n,style:S},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:r,style:C},[Se]:{type:"noise",id:Se,width:l,height:u,use_cpu:y},[Re]:{type:"denoise_latents",id:Re,cfg_scale:o,scheduler:s,steps:a,denoising_start:0,denoising_end:x?b:1},[it]:{type:"l2i",id:it,fp32:g==="fp32"}},edges:[{source:{node_id:We,field:"unet"},destination:{node_id:Re,field:"unet"}},{source:{node_id:We,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:$e,field:"clip2"}},{source:{node_id:We,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:We,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Re,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Re,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Re,field:"noise"}},{source:{node_id:Re,field:"latents"},destination:{node_id:it,field:"latents"}}]};return T.nodes[yt]={id:yt,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:d,positive_style_prompt:m,negative_style_prompt:v},T.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:it,field:"metadata"}}),x&&lh(e,T,Re),Uo(e,T,We),ah(e,T,Re,We),Fo(e,T,Re),wu(e,T),e.system.shouldUseNSFWChecker&&Bo(e,T),e.system.shouldUseWatermarker&&zo(e,T),T},r3e=e=>{const t=ke("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:h,vaePrecision:g}=e.generation,m=h?f:ys.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?mS:an,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:Le,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"denoise_latents",id:Le,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a,denoising_start:0,denoising_end:1},y={id:lz,nodes:{[x]:{type:_,id:x,is_intermediate:!0,model:i},[It]:{type:"clip_skip",id:It,skipped_layers:d,is_intermediate:!0},[$e]:{type:v?"prompt_onnx":"compel",id:$e,prompt:n,is_intermediate:!0},[Be]:{type:v?"prompt_onnx":"compel",id:Be,prompt:r,is_intermediate:!0},[Se]:{type:"noise",id:Se,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[it]:{type:v?"l2i_onnx":"l2i",id:it,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"unet"},destination:{node_id:Le,field:"unet"}},{source:{node_id:x,field:"clip"},destination:{node_id:It,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:$e,field:"clip"}},{source:{node_id:It,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:$e,field:"conditioning"},destination:{node_id:Le,field:"positive_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Le,field:"negative_conditioning"}},{source:{node_id:Se,field:"noise"},destination:{node_id:Le,field:"noise"}},{source:{node_id:Le,field:"latents"},destination:{node_id:it,field:"latents"}}]};return y.nodes[yt]={id:yt,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:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:yt,field:"metadata"},destination:{node_id:it,field:"metadata"}}),Uo(e,y,x),sh(e,y,Le,x),wu(e,y),Fo(e,y,Le),e.system.shouldUseNSFWChecker&&Bo(e,y),e.system.shouldUseWatermarker&&zo(e,y),y},i3e=()=>{Oe({predicate:e=>zm.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=ke("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=n3e(o):a=r3e(o),n(XU(a)),i.debug({graph:Ya(a)},"Text to Image graph built"),n(jr({graph:a})),await r(jr.fulfilled.match),n(kc())}})},Xz=$L(),Oe=Xz.startListening;hbe();pbe();ybe();ibe();obe();sbe();abe();lbe();$_e();fbe();GCe();t3e();i3e();qCe();uSe();Z_e();X_e();q_e();Q_e();xSe();k_e();fSe();hSe();gSe();mSe();vSe();cSe();dSe();SSe();wSe();_Se();bSe();ySe();rSe();iSe();oSe();sSe();aSe();lSe();eSe();tSe();nSe();tbe();ebe();nbe();rbe();cbe();dbe();F_e();Kbe();ube();vbe();L_e();bbe();M_e();I_e();PSe();TSe();const o3e={canvas:gce,gallery:xfe,generation:Wue,nodes:u1e,postprocessing:c1e,system:$1e,config:Tle,ui:Kue,hotkeys:z1e,controlNet:bfe,dynamicPrompts:wfe,deleteImageModal:Afe,changeBoardModal:Rfe,lora:kfe,modelmanager:U1e,sdxl:h1e,[iu.reducerPath]:iu.reducer},s3e=Qf(o3e),a3e=f_e(s3e),l3e=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],u3e=yL({reducer:a3e,enhancers:e=>e.concat(h_e(window.localStorage,l3e,{persistDebounce:300,serialize:C_e,unserialize:E_e,prefix:p_e})).concat(BL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(iu.middleware).concat(H1e).prepend(Xz.middleware),devTools:{actionSanitizer:P_e,stateSanitizer:O_e,trace:!0,predicate:(e,t)=>!R_e.includes(t.type)}}),OMe=e=>e,c3e=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{ke("socketio").debug("Connected"),r(aF());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(YT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Yn(lc({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(uF())}),t.on("invocation_started",o=>{r(pF({data:o}))}),t.on("generator_progress",o=>{r(bF({data:o}))}),t.on("invocation_error",o=>{r(yF({data:o}))}),t.on("invocation_complete",o=>{r(QT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(vF({data:o}))}),t.on("model_load_started",o=>{r(wF({data:o}))}),t.on("model_load_completed",o=>{r(xF({data:o}))}),t.on("session_retrieval_error",o=>{r(CF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(EF({data:o}))})},Qs=Object.create(null);Qs.open="0";Qs.close="1";Qs.ping="2";Qs.pong="3";Qs.message="4";Qs.upgrade="5";Qs.noop="6";const Nv=Object.create(null);Object.keys(Qs).forEach(e=>{Nv[Qs[e]]=e});const d3e={type:"error",data:"parser error"},Yz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Qz=typeof ArrayBuffer=="function",Zz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,YE=({type:e,data:t},n,r)=>Yz&&t instanceof Blob?n?r(t):Uk(t,r):Qz&&(t instanceof ArrayBuffer||Zz(t))?n?r(t):Uk(new Blob([t]),r):r(Qs[e]+(t||"")),Uk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function zk(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let iC;function f3e(e,t){if(Yz&&e.data instanceof Blob)return e.data.arrayBuffer().then(zk).then(t);if(Qz&&(e.data instanceof ArrayBuffer||Zz(e.data)))return t(zk(e.data));YE(e,!1,n=>{iC||(iC=new TextEncoder),t(iC.encode(n))})}const Vk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Pp=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),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},p3e=typeof ArrayBuffer=="function",QE=(e,t)=>{if(typeof e!="string")return{type:"message",data:Jz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:g3e(e.substring(1),t)}:Nv[n]?e.length>1?{type:Nv[n],data:e.substring(1)}:{type:Nv[n]}:d3e},g3e=(e,t)=>{if(p3e){const n=h3e(e);return Jz(n,t)}else return{base64:!0,data:e}},Jz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},eV=String.fromCharCode(30),m3e=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{YE(o,!1,a=>{r[s]=a,++i===n&&t(r.join(eV))})})},y3e=(e,t)=>{const n=e.split(eV),r=[];for(let i=0;i54;return QE(r?e:oC.decode(e),n)}const tV=4;function nr(e){if(e)return _3e(e)}function _3e(e){for(var t in nr.prototype)e[t]=nr.prototype[t];return e}nr.prototype.on=nr.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};nr.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};nr.prototype.off=nr.prototype.removeListener=nr.prototype.removeAllListeners=nr.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 nV(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const b3e=Ao.setTimeout,S3e=Ao.clearTimeout;function u2(e,t){t.useNativeTimers?(e.setTimeoutFn=b3e.bind(Ao),e.clearTimeoutFn=S3e.bind(Ao)):(e.setTimeoutFn=Ao.setTimeout.bind(Ao),e.clearTimeoutFn=Ao.clearTimeout.bind(Ao))}const w3e=1.33;function x3e(e){return typeof e=="string"?C3e(e):Math.ceil((e.byteLength||e.size)*w3e)}function C3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function T3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function E3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function iV(){const e=Hk(+new Date);return e!==Gk?(jk=0,Gk=e):e+"."+Hk(jk++)}for(;J0{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)};y3e(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,m3e(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]=iV()),!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 bf(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 bf=class Lv extends nr{constructor(t,n){super(),u2(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=nV(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new sV(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=Lv.requestsCount++,Lv.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=O3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Lv.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()}};bf.requestsCount=0;bf.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Wk);else if(typeof addEventListener=="function"){const e="onpagehide"in Ao?"pagehide":"unload";addEventListener(e,Wk,!1)}}function Wk(){for(let e in bf.requests)bf.requests.hasOwnProperty(e)&&bf.requests[e].abort()}const JE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),ev=Ao.WebSocket||Ao.MozWebSocket,qk=!0,M3e="arraybuffer",Kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class N3e extends ZE{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=Kk?{}:nV(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=qk&&!Kk?n?new ev(t,n):new ev(t):new ev(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||M3e,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{qk&&this.ws.send(o)}catch{}i&&JE(()=>{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]=iV()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!ev}}function L3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class D3e extends ZE{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(v3e(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{L3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&JE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const $3e={websocket:N3e,webtransport:D3e,polling:I3e},F3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,B3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function O5(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=F3e.exec(e||""),o={},s=14;for(;s--;)o[B3e[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=U3e(o,o.path),o.queryKey=z3e(o,o.query),o}function U3e(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 z3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let aV=class Md extends nr{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=O5(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=O5(n.host).host),u2(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=E3e(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=tV,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 $3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Md.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;Md.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Md.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const h=new Error("probe error");h.transport=n.name,this.emitReserved("upgradeError",h)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const h=new Error("probe error: "+f);h.transport=n.name,o(),this.emitReserved("upgradeError",h)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{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",Md.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){Md.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,lV=Object.prototype.toString,H3e=typeof Blob=="function"||typeof Blob<"u"&&lV.call(Blob)==="[object BlobConstructor]",W3e=typeof File=="function"||typeof File<"u"&&lV.call(File)==="[object FileConstructor]";function eA(e){return j3e&&(e instanceof ArrayBuffer||G3e(e))||H3e&&e instanceof Blob||W3e&&e instanceof File}function Dv(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:Tt.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 Tt.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 Tt.EVENT:case Tt.BINARY_EVENT:this.onevent(t);break;case Tt.ACK:case Tt.BINARY_ACK:this.onack(t);break;case Tt.DISCONNECT:this.ondisconnect();break;case Tt.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:Tt.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:Tt.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}uh.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};uh.prototype.reset=function(){this.attempts=0};uh.prototype.setMin=function(e){this.ms=e};uh.prototype.setMax=function(e){this.max=e};uh.prototype.setJitter=function(e){this.jitter=e};class M5 extends nr{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,u2(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 uh({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||J3e;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 aV(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ts(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ts(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(ts(t,"ping",this.onping.bind(this)),ts(t,"data",this.ondata.bind(this)),ts(t,"error",this.onerror.bind(this)),ts(t,"close",this.onclose.bind(this)),ts(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){JE(()=>{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 uV(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 yp={};function $v(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=V3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=yp[i]&&o in yp[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new M5(r,t):(yp[i]||(yp[i]=new M5(r,t)),l=yp[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign($v,{Manager:M5,Socket:uV,io:$v,connect:$v});const Yk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=$g.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Dg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=$v(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(c3e({storeApi:s,socket:i}),e=!0,i.connect()),jr.fulfilled.match(l)){const f=l.payload.id,h=d().system.sessionId;h&&(i.emit("unsubscribe",{session:h}),u(fF({sessionId:h}))),i.emit("subscribe",{session:f}),u(YT({sessionId:f}))}a(l)}};function t5e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ur(ch,--Ui):0,Hf--,Qn===10&&(Hf=1,d2--),Qn}function to(){return Qn=Ui2||Jg(Qn)>3?"":" "}function p5e(e,t){for(;--t&&to()&&!(Qn<48||Qn>102||Qn>57&&Qn<65||Qn>70&&Qn<97););return qm(e,Fv()+(t<6&&Ws()==32&&to()==32))}function L5(e){for(;to();)switch(Qn){case e:return Ui;case 34:case 39:e!==34&&e!==39&&L5(Qn);break;case 40:e===41&&L5(e);break;case 92:to();break}return Ui}function g5e(e,t){for(;to()&&e+Qn!==47+10;)if(e+Qn===42+42&&Ws()===47)break;return"/*"+qm(t,Ui-1)+"*"+c2(e===47?e:to())}function m5e(e){for(;!Jg(Ws());)to();return qm(e,Ui)}function y5e(e){return gV(Uv("",null,null,null,[""],e=pV(e),0,[0],e))}function Uv(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,h=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=to()){case 40:if(m!=108&&Ur(E,f-1)==58){N5(E+=$t(Bv(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Bv(b);break;case 9:case 10:case 13:case 32:E+=h5e(m);break;case 92:E+=p5e(Fv()-1,7);continue;case 47:switch(Ws()){case 42:case 47:tv(v5e(g5e(to(),Fv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=Os(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=$t(E,/\f/g,"")),g>0&&Os(E)-f&&tv(g>32?Zk(E+";",r,n,f-1):Zk($t(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(tv(T=Qk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Uv(E,t,T,T,S,o,f,a,C);else switch(h===99&&Ur(E,3)===110?100:h){case 100:case 108:case 109:case 115:Uv(e,T,T,r&&tv(Qk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Uv(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+Os(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&f5e()==125)continue}switch(E+=c2(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(Os(E)-1)*_,_=1;break;case 64:Ws()===45&&(E+=Bv(to())),h=Ws(),d=f=Os(y=E+=m5e(Fv())),b++;break;case 45:m===45&&Os(E)==2&&(v=0)}}return o}function Qk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,h=i===0?o:[""],g=iA(h),m=0,v=0,x=0;m0?h[_]+" "+b:$t(b,/&\f/g,h[_])))&&(l[x++]=y);return f2(e,t,n,i===0?nA:a,l,u,d)}function v5e(e,t,n){return f2(e,t,n,cV,c2(d5e()),Zg(e,2,-2),0)}function Zk(e,t,n,r){return f2(e,t,n,rA,Zg(e,0,r),Zg(e,r+1,-1),r)}function Sf(e,t){for(var n="",r=iA(e),i=0;i6)switch(Ur(e,t+1)){case 109:if(Ur(e,t+4)!==45)break;case 102:return $t(e,/(.+:)(.+)-([^]+)/,"$1"+Dt+"$2-$3$1"+m_+(Ur(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~N5(e,"stretch")?yV($t(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ur(e,t+1)!==115)break;case 6444:switch(Ur(e,Os(e)-3-(~N5(e,"!important")&&10))){case 107:return $t(e,":",":"+Dt)+e;case 101:return $t(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Dt+(Ur(e,14)===45?"inline-":"")+"box$3$1"+Dt+"$2$3$1"+Yr+"$2box$3")+e}break;case 5936:switch(Ur(e,t+11)){case 114:return Dt+e+Yr+$t(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Dt+e+Yr+$t(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Dt+e+Yr+$t(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Dt+e+Yr+e+e}return e}var A5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case rA:t.return=yV(t.value,t.length);break;case dV:return Sf([vp(t,{value:$t(t.value,"@","@"+Dt)})],i);case nA:if(t.length)return c5e(t.props,function(o){switch(u5e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Sf([vp(t,{props:[$t(o,/:(read-\w+)/,":"+m_+"$1")]})],i);case"::placeholder":return Sf([vp(t,{props:[$t(o,/:(plac\w+)/,":"+Dt+"input-$1")]}),vp(t,{props:[$t(o,/:(plac\w+)/,":"+m_+"$1")]}),vp(t,{props:[$t(o,/:(plac\w+)/,Yr+"input-$1")]})],i)}return""})}},P5e=[A5e],R5e=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(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||P5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=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 M5e={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},N5e=/[A-Z]|^ms/g,L5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,bV=function(t){return t.charCodeAt(1)===45},tI=function(t){return t!=null&&typeof t!="boolean"},sC=mV(function(e){return bV(e)?e:e.replace(N5e,"-$&").toLowerCase()}),nI=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(L5e,function(r,i,o){return ks={name:i,styles:o,next:ks},i})}return M5e[t]!==1&&!bV(t)&&typeof n=="number"&&n!==0?n+"px":n};function em(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 ks={name:n.name,styles:n.styles,next:ks},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ks={name:r.name,styles:r.styles,next:ks},r=r.next;var i=n.styles+";";return i}return D5e(e,t,n)}case"function":{if(e!==void 0){var o=ks,s=n(e);return ks=o,em(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function D5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var TV=L.createContext({});TV.displayName="ColorModeContext";function sA(){const e=L.useContext(TV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function MMe(e,t){const{colorMode:n}=sA();return n==="dark"?t:e}function G5e(){const e=sA(),t=CV();return{...e,theme:t}}function H5e(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 W5e(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 NMe(e,t,n){const r=CV();return q5e(e,t,n)(r)}function q5e(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 d,f;if(e==="breakpoints")return H5e(o,l,(d=s[u])!=null?d:l);const h=`${e}.${l}`;return W5e(o,h,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var EV=(...e)=>e.filter(Boolean).join(" ");function K5e(){return!1}function La(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var LMe=e=>{const{condition:t,message:n}=e;t&&K5e()&&console.warn(n)};function Ju(e,...t){return X5e(e)?e(...t):e}var X5e=e=>typeof e=="function",DMe=e=>e?"":void 0,$Me=e=>e?!0:void 0;function FMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function BMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var y_={exports:{}};y_.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]",d="[object Boolean]",f="[object Date]",h="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",V="[object Float64Array]",B="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",D="[object Uint8Array]",U="[object Uint8ClampedArray]",$="[object Uint16Array]",j="[object Uint32Array]",G=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[V]=ee[B]=ee[A]=ee[N]=ee[D]=ee[U]=ee[$]=ee[j]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[h]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof Ze=="object"&&Ze&&Ze.Object===Object&&Ze,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function Je(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Fe(H,Y){for(var re=-1,xe=Array(H);++re-1}function Vo(H,Y){var re=this.__data__,xe=Go(re,H);return xe<0?(++this.size,re.push([H,Y])):re[xe][1]=Y,this}sr.prototype.clear=ji,sr.prototype.delete=bs,sr.prototype.get=fo,sr.prototype.has=tl,sr.prototype.set=Vo;function Mr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[pt-1]:void 0,et=pt>2?re[2]:void 0;for(Ut=H.length>3&&typeof Ut=="function"?(pt--,Ut):void 0,et&&dy(re[0],re[1],et)&&(Ut=pt<3?void 0:Ut,pt=1),Y=Object(Y);++xe-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function my(H){if(H!=null){try{return At.call(H)}catch{}try{return H+""}catch{}}return""}function Yc(H,Y){return H===Y||H!==H&&Y!==Y}var Ph=Cu(function(){return arguments}())?Cu:function(H){return Tu(H)&&un.call(H,"callee")&&!si.call(H,"callee")},Rh=Array.isArray;function Qc(H){return H!=null&&vy(H.length)&&!Oh(H)}function I2(H){return Tu(H)&&Qc(H)}var yy=ra||L2;function Oh(H){if(!Ho(H))return!1;var Y=rl(H);return Y==g||Y==m||Y==u||Y==y}function vy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Ho(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function Tu(H){return H!=null&&typeof H=="object"}function M2(H){if(!Tu(H)||rl(H)!=b)return!1;var Y=Rr(H);if(Y===null)return!0;var re=un.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&At.call(re)==Ci}var _y=ye?Ae(ye):il;function N2(H){return ay(H,by(H))}function by(H){return Qc(H)?Sh(H,!0):A2(H)}var Jt=Wc(function(H,Y,re,xe){ry(H,Y,re,xe)});function Kt(H){return function(){return H}}function Sy(H){return H}function L2(){return!1}e.exports=Jt})(y_,y_.exports);var Y5e=y_.exports;const Us=Tc(Y5e);var Q5e=e=>/!(important)?$/.test(e),oI=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,Z5e=(e,t)=>n=>{const r=String(t),i=Q5e(r),o=oI(r),s=e?`${e}.${o}`:o;let a=La(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=oI(a),i?`${a} !important`:a};function aA(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=Z5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var nv=(...e)=>t=>e.reduce((n,r)=>r(n),t);function So(e,t){return n=>{const r={property:n,scale:e};return r.transform=aA({scale:e,transform:t}),r}}var J5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function e4e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:J5e(t),transform:n?aA({scale:n,compose:r}):r}}var AV=["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 t4e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...AV].join(" ")}function n4e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...AV].join(" ")}var r4e={"--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(" ")},i4e={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 o4e(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 s4e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},D5={"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"},a4e=new Set(Object.values(D5)),$5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),l4e=e=>e.trim();function u4e(e,t){if(e==null||$5.has(e))return e;if(!(F5(e)||$5.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(l4e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in D5?D5[l]:l;u.unshift(d);const f=u.map(h=>{if(a4e.has(h))return h;const g=h.indexOf(" "),[m,v]=g!==-1?[h.substr(0,g),h.substr(g+1)]:[h],x=F5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var F5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),c4e=(e,t)=>u4e(e,t??{});function d4e(e){return/^var\(--.+\)$/.test(e)}var f4e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Es=e=>t=>`${e}(${t})`,Ot={filter(e){return e!=="auto"?e:r4e},backdropFilter(e){return e!=="auto"?e:i4e},ring(e){return o4e(Ot.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?t4e():e==="auto-gpu"?n4e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=f4e(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(d4e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:c4e,blur:Es("blur"),opacity:Es("opacity"),brightness:Es("brightness"),contrast:Es("contrast"),dropShadow:Es("drop-shadow"),grayscale:Es("grayscale"),hueRotate:Es("hue-rotate"),invert:Es("invert"),saturate:Es("saturate"),sepia:Es("sepia"),bgImage(e){return e==null||F5(e)||$5.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=s4e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:So("borderWidths"),borderStyles:So("borderStyles"),colors:So("colors"),borders:So("borders"),gradients:So("gradients",Ot.gradient),radii:So("radii",Ot.px),space:So("space",nv(Ot.vh,Ot.px)),spaceT:So("space",nv(Ot.vh,Ot.px)),degreeT(e){return{property:e,transform:Ot.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:aA({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:So("sizes",nv(Ot.vh,Ot.px)),sizesT:So("sizes",nv(Ot.vh,Ot.fraction)),shadows:So("shadows"),logical:e4e,blur:So("blur",Ot.blur)},zv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:Ot.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:Ot.bgClip}};Object.assign(zv,{bgImage:zv.backgroundImage,bgImg:zv.backgroundImage});var Lt={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Lt,{rounded:Lt.borderRadius,roundedTop:Lt.borderTopRadius,roundedTopLeft:Lt.borderTopLeftRadius,roundedTopRight:Lt.borderTopRightRadius,roundedTopStart:Lt.borderStartStartRadius,roundedTopEnd:Lt.borderStartEndRadius,roundedBottom:Lt.borderBottomRadius,roundedBottomLeft:Lt.borderBottomLeftRadius,roundedBottomRight:Lt.borderBottomRightRadius,roundedBottomStart:Lt.borderEndStartRadius,roundedBottomEnd:Lt.borderEndEndRadius,roundedLeft:Lt.borderLeftRadius,roundedRight:Lt.borderRightRadius,roundedStart:Lt.borderInlineStartRadius,roundedEnd:Lt.borderInlineEndRadius,borderStart:Lt.borderInlineStart,borderEnd:Lt.borderInlineEnd,borderTopStartRadius:Lt.borderStartStartRadius,borderTopEndRadius:Lt.borderStartEndRadius,borderBottomStartRadius:Lt.borderEndStartRadius,borderBottomEndRadius:Lt.borderEndEndRadius,borderStartRadius:Lt.borderInlineStartRadius,borderEndRadius:Lt.borderInlineEndRadius,borderStartWidth:Lt.borderInlineStartWidth,borderEndWidth:Lt.borderInlineEndWidth,borderStartColor:Lt.borderInlineStartColor,borderEndColor:Lt.borderInlineEndColor,borderStartStyle:Lt.borderInlineStartStyle,borderEndStyle:Lt.borderInlineEndStyle});var h4e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},B5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(B5,{shadow:B5.boxShadow});var p4e={filter:{transform:Ot.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",Ot.brightness),contrast:Q.propT("--chakra-contrast",Ot.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",Ot.invert),saturate:Q.propT("--chakra-saturate",Ot.saturate),dropShadow:Q.propT("--chakra-drop-shadow",Ot.dropShadow),backdropFilter:{transform:Ot.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",Ot.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",Ot.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",Ot.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",Ot.saturate)},v_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:Ot.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(v_,{flexDir:v_.flexDirection});var PV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.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},g4e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:Ot.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},xo={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.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:Q.propT("float",Ot.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(xo,{w:xo.width,h:xo.height,minW:xo.minWidth,maxW:xo.maxWidth,minH:xo.minHeight,maxH:xo.maxHeight,overscroll:xo.overscrollBehavior,overscrollX:xo.overscrollBehaviorX,overscrollY:xo.overscrollBehaviorY});var m4e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function y4e(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}},_4e=v4e(y4e),b4e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},S4e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},aC=(e,t,n)=>{const r={},i=_4e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},w4e={srOnly:{transform(e){return e===!0?b4e:e==="focusable"?S4e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>aC(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>aC(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>aC(t,e,n)}},Gp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Gp,{insetStart:Gp.insetInlineStart,insetEnd:Gp.insetInlineEnd});var x4e={ring:{transform:Ot.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},dn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(dn,{m:dn.margin,mt:dn.marginTop,mr:dn.marginRight,me:dn.marginInlineEnd,marginEnd:dn.marginInlineEnd,mb:dn.marginBottom,ml:dn.marginLeft,ms:dn.marginInlineStart,marginStart:dn.marginInlineStart,mx:dn.marginX,my:dn.marginY,p:dn.padding,pt:dn.paddingTop,py:dn.paddingY,px:dn.paddingX,pb:dn.paddingBottom,pl:dn.paddingLeft,ps:dn.paddingInlineStart,paddingStart:dn.paddingInlineStart,pr:dn.paddingRight,pe:dn.paddingInlineEnd,paddingEnd:dn.paddingInlineEnd});var C4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},T4e={clipPath:!0,transform:Q.propT("transform",Ot.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},E4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},A4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",Ot.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.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"}},P4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function RV(e){return La(e)&&e.reference?e.reference:String(e)}var h2=(e,...t)=>t.map(RV).join(` ${e} `).replace(/calc/g,""),sI=(...e)=>`calc(${h2("+",...e)})`,aI=(...e)=>`calc(${h2("-",...e)})`,U5=(...e)=>`calc(${h2("*",...e)})`,lI=(...e)=>`calc(${h2("/",...e)})`,uI=e=>{const t=RV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:U5(t,-1)},Wu=Object.assign(e=>({add:(...t)=>Wu(sI(e,...t)),subtract:(...t)=>Wu(aI(e,...t)),multiply:(...t)=>Wu(U5(e,...t)),divide:(...t)=>Wu(lI(e,...t)),negate:()=>Wu(uI(e)),toString:()=>e.toString()}),{add:sI,subtract:aI,multiply:U5,divide:lI,negate:uI});function R4e(e,t="-"){return e.replace(/\s+/g,t)}function O4e(e){const t=R4e(e.toString());return I4e(k4e(t))}function k4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function I4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function M4e(e,t=""){return[t,e].filter(Boolean).join("-")}function N4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function L4e(e,t=""){return O4e(`--${M4e(e,t)}`)}function z5(e,t,n){const r=L4e(e,n);return{variable:r,reference:N4e(r,t)}}function UMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=z5(`${e}-${i}`,o);continue}n[r]=z5(`${e}-${r}`)}return n}function D4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function $4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function V5(e){if(e==null)return e;const{unitless:t}=$4e(e);return t||typeof e=="number"?`${e}px`:e}var OV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,lA=e=>Object.fromEntries(Object.entries(e).sort(OV));function cI(e){const t=lA(e);return Object.assign(Object.values(t),t)}function F4e(e){const t=Object.keys(lA(e));return new Set(t)}function dI(e){var t;if(!e)return e;e=(t=V5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function Rp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${V5(e)})`),t&&n.push("and",`(max-width: ${V5(t)})`),n.join(" ")}function B4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=cI(e),r=Object.entries(e).sort(OV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?dI(f):void 0,{_minW:dI(a),breakpoint:s,minW:a,maxW:f,maxWQuery:Rp(null,f),minWQuery:Rp(a),minMaxQuery:Rp(a,f)}}),i=F4e(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:lA(e),asArray:cI(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>Rp(s)).slice(1)],toArrayValue(s){if(!La(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(;D4e(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 d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Dr={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}`},vl=e=>kV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),ba=e=>kV(t=>e(t,"~ &"),"[data-peer]",".peer"),kV=(e,...t)=>t.map(e).join(", "),p2={_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:vl(Dr.hover),_peerHover:ba(Dr.hover),_groupFocus:vl(Dr.focus),_peerFocus:ba(Dr.focus),_groupFocusVisible:vl(Dr.focusVisible),_peerFocusVisible:ba(Dr.focusVisible),_groupActive:vl(Dr.active),_peerActive:ba(Dr.active),_groupDisabled:vl(Dr.disabled),_peerDisabled:ba(Dr.disabled),_groupInvalid:vl(Dr.invalid),_peerInvalid:ba(Dr.invalid),_groupChecked:vl(Dr.checked),_peerChecked:ba(Dr.checked),_groupFocusWithin:vl(Dr.focusWithin),_peerFocusWithin:ba(Dr.focusWithin),_peerPlaceholderShown:ba(Dr.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]"},IV=Object.keys(p2);function fI(e,t){return z5(String(e).replace(/\./g,"-"),void 0,t)}function U4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=fI(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const h=i.split("."),[g,...m]=h,v=`${g}.-${m.join(".")}`,x=Wu.negate(a),_=Wu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=h=>{const m=[String(i).split(".")[0],h].join(".");if(!e[m])return h;const{reference:x}=fI(m,t==null?void 0:t.cssVarPrefix);return x},f=La(a)?a:{default:a};n=Us(n,Object.entries(f).reduce((h,[g,m])=>{var v,x;if(!m)return h;const _=d(`${m}`);if(g==="default")return h[l]=_,h;const b=(x=(v=p2)==null?void 0:v[g])!=null?x:g;return h[b]={[l]:_},h},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function z4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function V4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function j4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function hI(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(j4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const h=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,h];if(r!=null&&r(s,g))return t(s,a);u[h]=o(f,g)}return u}return t(s,a)}return o(e)}var G4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function H4e(e){return V4e(e,G4e)}function W4e(e){return e.semanticTokens}function q4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var K4e=e=>IV.includes(e)||e==="default";function X4e({tokens:e,semanticTokens:t}){const n={};return hI(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),hI(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(K4e)}),n}function zMe(e){var t;const n=q4e(e),r=H4e(n),i=W4e(n),o=X4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=U4e(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:B4e(n.breakpoints)}),n}var uA=Us({},zv,Lt,h4e,v_,xo,p4e,x4e,g4e,PV,w4e,Gp,B5,dn,P4e,A4e,C4e,T4e,m4e,E4e),Y4e=Object.assign({},dn,xo,v_,PV,Gp),VMe=Object.keys(Y4e),Q4e=[...Object.keys(uA),...IV],Z4e={...uA,...p2},J4e=e=>e in Z4e,eTe=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Ju(e[s],t);if(a==null)continue;if(a=La(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"&&!nTe(t),iTe=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=tTe(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function oTe(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Ju(o,r),f=eTe(d)(r);let h={};for(let g in f){const m=f[g];let v=Ju(m,r);g in n&&(g=n[g]),rTe(g,v)&&(v=iTe(r,v));let x=t[g];if(x===!0&&(x={property:g}),La(v)){h[g]=(a=h[g])!=null?a:{},h[g]=Us({},h[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Ju(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Ju(x.static,r);h=Us({},h,y)}if(b&&Array.isArray(b)){for(const y of b)h[y]=_;continue}if(b){b==="&"&&La(_)?h=Us({},h,_):h[b]=_;continue}if(La(_)){h=Us({},h,_);continue}h[g]=_}return h};return i}var sTe=e=>t=>oTe({theme:t,pseudos:p2,configs:uA})(e);function jMe(e){return e}function GMe(e){return e}function HMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function aTe(e,t){if(Array.isArray(e))return e;if(La(e))return t(e);if(e!=null)return[e]}function lTe(e,t){for(let n=t+1;n{Us(u,{[y]:h?b[y]:{[_]:b[y]}})});continue}if(!g){h?Us(u,b):u[_]=b;continue}u[_]=b}}return u}}function cTe(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=uTe(o);return Us({},Ju((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function WMe(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 MV(e){return z4e(e,["styleConfig","size","variant","colorScheme"])}function dTe(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function fTe(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}},pTe=hTe(fTe);function NV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var LV=e=>NV(e,t=>t!=null);function gTe(e){return typeof e=="function"}function mTe(e,...t){return gTe(e)?e(...t):e}function qMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var yTe=typeof Element<"u",vTe=typeof Map=="function",_Te=typeof Set=="function",bTe=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Vv(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(!Vv(e[r],t[r]))return!1;return!0}var o;if(vTe&&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(!Vv(r.value[1],t.get(r.value[0])))return!1;return!0}if(_Te&&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(bTe&&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(yTe&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Vv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var STe=function(t,n){try{return Vv(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 wTe=Tc(STe);function DV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=G5e(),a=e?pTe(o,`components.${e}`):void 0,l=r||a,u=Us({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},LV(dTe(i,["children"]))),d=L.useRef({});if(l){const h=cTe(l)(u);wTe(d.current,h)||(d.current=h)}return d.current}function $V(e,t={}){return DV(e,t)}function KMe(e,t={}){return DV(e,t)}var xTe=new Set([...Q4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),CTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function TTe(e){return CTe.has(e)||!xTe.has(e)}function ETe(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 ATe=/^((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)-.*))$/,PTe=mV(function(e){return ATe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),RTe=PTe,OTe=function(t){return t!=="theme"},pI=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?RTe:OTe},gI=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},kTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return vV(n,r,i),F5e(function(){return _V(n,r,i)}),null},ITe=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=gI(t,n,r),l=a||pI(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var h=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=NV(s,(f,h)=>J4e(h)),l=mTe(e,t),u=ETe({},i,l,LV(a),o),d=sTe(u)(t.theme);return r?[d,r]:d};function lC(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=TTe);const i=LTe({baseStyle:n}),o=NTe(e,r)(i);return jt.forwardRef(function(l,u){const{colorMode:d,forced:f}=sA();return jt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function DTe(){const e=new Map;return new Proxy(lC,{apply(t,n,r){return lC(...r)},get(t,n){return e.has(n)||e.set(n,lC(n)),e.get(n)}})}var Cc=DTe();function zc(e){return L.forwardRef(e)}const FV=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),g2=L.createContext({}),Km=L.createContext(null),m2=typeof document<"u",b_=m2?L.useLayoutEffect:L.useEffect,BV=L.createContext({strict:!1});function $Te(e,t,n,r){const{visualElement:i}=L.useContext(g2),o=L.useContext(BV),s=L.useContext(Km),a=L.useContext(FV).reducedMotion,l=L.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 L.useInsertionEffect(()=>{u&&u.update(n,s)}),b_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?b_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function Xd(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function FTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):Xd(n)&&(n.current=r))},[t])}function nm(e){return typeof e=="string"||Array.isArray(e)}function y2(e){return typeof e=="object"&&typeof e.start=="function"}const cA=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],dA=["initial",...cA];function v2(e){return y2(e.animate)||dA.some(t=>nm(e[t]))}function UV(e){return!!(v2(e)||e.variants)}function BTe(e,t){if(v2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||nm(n)?n:void 0,animate:nm(r)?r:void 0}}return e.inherit!==!1?t:{}}function UTe(e){const{initial:t,animate:n}=BTe(e,L.useContext(g2));return L.useMemo(()=>({initial:t,animate:n}),[yI(t),yI(n)])}function yI(e){return Array.isArray(e)?e.join(" "):e}const vI={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"]},rm={};for(const e in vI)rm[e]={isEnabled:t=>vI[e].some(n=>!!t[n])};function zTe(e){for(const t in e)rm[t]={...rm[t],...e[t]}}const fA=L.createContext({}),zV=L.createContext({}),VTe=Symbol.for("motionComponentSymbol");function jTe({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&zTe(e);function o(a,l){let u;const d={...L.useContext(FV),...a,layoutId:GTe(a)},{isStatic:f}=d,h=UTe(a),g=r(a,f);if(!f&&m2){h.visualElement=$Te(i,g,d,t);const m=L.useContext(zV),v=L.useContext(BV).strict;h.visualElement&&(u=h.visualElement.loadFeatures(d,v,e,m))}return L.createElement(g2.Provider,{value:h},u&&h.visualElement?L.createElement(u,{visualElement:h.visualElement,...d}):null,n(i,a,FTe(g,h.visualElement,l),g,f,h.visualElement))}const s=L.forwardRef(o);return s[VTe]=i,s}function GTe({layoutId:e}){const t=L.useContext(fA).id;return t&&e!==void 0?t+"-"+e:e}function HTe(e){function t(r,i={}){return jTe(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 WTe=["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 hA(e){return typeof e!="string"||e.includes("-")?!1:!!(WTe.indexOf(e)>-1||/[A-Z]/.test(e))}const S_={};function qTe(e){Object.assign(S_,e)}const Xm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Vc=new Set(Xm);function VV(e,{layout:t,layoutId:n}){return Vc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!S_[e]||e==="opacity")}const zi=e=>!!(e&&e.getVelocity),KTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},XTe=Xm.length;function YTe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),GV=jV("--"),j5=jV("var(--"),QTe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,ZTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,au=(e,t,n)=>Math.min(Math.max(n,e),t),jc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Hp={...jc,transform:e=>au(0,1,e)},rv={...jc,default:1},Wp=e=>Math.round(e*1e5)/1e5,_2=/(-)?([\d]*\.?[\d])+/g,HV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,JTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Ym(e){return typeof e=="string"}const Qm=e=>({test:t=>Ym(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),bl=Qm("deg"),qs=Qm("%"),He=Qm("px"),eEe=Qm("vh"),tEe=Qm("vw"),_I={...qs,parse:e=>qs.parse(e)/100,transform:e=>qs.transform(e*100)},bI={...jc,transform:Math.round},WV={borderWidth:He,borderTopWidth:He,borderRightWidth:He,borderBottomWidth:He,borderLeftWidth:He,borderRadius:He,radius:He,borderTopLeftRadius:He,borderTopRightRadius:He,borderBottomRightRadius:He,borderBottomLeftRadius:He,width:He,maxWidth:He,height:He,maxHeight:He,size:He,top:He,right:He,bottom:He,left:He,padding:He,paddingTop:He,paddingRight:He,paddingBottom:He,paddingLeft:He,margin:He,marginTop:He,marginRight:He,marginBottom:He,marginLeft:He,rotate:bl,rotateX:bl,rotateY:bl,rotateZ:bl,scale:rv,scaleX:rv,scaleY:rv,scaleZ:rv,skew:bl,skewX:bl,skewY:bl,distance:He,translateX:He,translateY:He,translateZ:He,x:He,y:He,z:He,perspective:He,transformPerspective:He,opacity:Hp,originX:_I,originY:_I,originZ:He,zIndex:bI,fillOpacity:Hp,strokeOpacity:Hp,numOctaves:bI};function pA(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const h=t[f];if(GV(f)){o[f]=h;continue}const g=WV[f],m=ZTe(h,g);if(Vc.has(f)){if(l=!0,s[f]=m,!d)continue;h!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=YTe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:h="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${h} ${g}`}}const gA=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function qV(e,t,n){for(const r in t)!zi(t[r])&&!VV(r,n)&&(e[r]=t[r])}function nEe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=gA();return pA(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function rEe(e,t,n){const r=e.style||{},i={};return qV(i,r,e),Object.assign(i,nEe(e,t,n)),e.transformValues?e.transformValues(i):i}function iEe(e,t,n){const r={},i=rEe(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 oEe=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 w_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||oEe.has(e)}let KV=e=>!w_(e);function sEe(e){e&&(KV=t=>t.startsWith("on")?!w_(t):e(t))}try{sEe(require("@emotion/is-prop-valid").default)}catch{}function aEe(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(KV(i)||n===!0&&w_(i)||!t&&!w_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function SI(e,t,n){return typeof e=="string"?e:He.transform(t+n*e)}function lEe(e,t,n){const r=SI(t,e.x,e.width),i=SI(n,e.y,e.height);return`${r} ${i}`}const uEe={offset:"stroke-dashoffset",array:"stroke-dasharray"},cEe={offset:"strokeDashoffset",array:"strokeDasharray"};function dEe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?uEe:cEe;e[o.offset]=He.transform(-r);const s=He.transform(t),a=He.transform(n);e[o.array]=`${s} ${a}`}function mA(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,h){if(pA(e,u,d,h),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=lEe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&dEe(g,s,a,l,!1)}const XV=()=>({...gA(),attrs:{}}),yA=e=>typeof e=="string"&&e.toLowerCase()==="svg";function fEe(e,t,n,r){const i=L.useMemo(()=>{const o=XV();return mA(o,t,{enableHardwareAcceleration:!1},yA(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};qV(o,e.style,e),i.style={...o,...i.style}}return i}function hEe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(hA(n)?fEe:iEe)(r,o,s,n),d={...aEe(r,typeof n=="string",e),...l,ref:i},{children:f}=r,h=L.useMemo(()=>zi(f)?f.get():f,[f]);return L.createElement(n,{...d,children:h})}}const vA=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function YV(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 QV=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 ZV(e,t,n,r){YV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(QV.has(i)?i:vA(i),t.attrs[i])}function _A(e,t){const{style:n}=e,r={};for(const i in n)(zi(n[i])||t.style&&zi(t.style[i])||VV(i,e))&&(r[i]=n[i]);return r}function JV(e,t){const n=_A(e,t);for(const r in e)if(zi(e[r])||zi(t[r])){const i=Xm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function bA(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 ej(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const x_=e=>Array.isArray(e),pEe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),gEe=e=>x_(e)?e[e.length-1]||0:e;function jv(e){const t=zi(e)?e.get():e;return pEe(t)?t.toValue():t}function mEe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:yEe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const tj=e=>(t,n)=>{const r=L.useContext(g2),i=L.useContext(Km),o=()=>mEe(e,t,r,i);return n?o():ej(o)};function yEe(e,t,n,r){const i={},o=r(e,{});for(const h in o)i[h]=jv(o[h]);let{initial:s,animate:a}=e;const l=v2(e),u=UV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!y2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=bA(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const vEe={useVisualState:tj({scrapeMotionValuesFromProps:JV,createRenderState:XV,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}}mA(n,r,{enableHardwareAcceleration:!1},yA(t.tagName),e.transformTemplate),ZV(t,n)}})},_Ee={useVisualState:tj({scrapeMotionValuesFromProps:_A,createRenderState:gA})};function bEe(e,{forwardMotionProps:t=!1},n,r){return{...hA(e)?vEe:_Ee,preloadedFeatures:n,useRender:hEe(t),createVisualElement:r,Component:e}}function ka(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const nj=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function b2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const SEe=e=>t=>nj(t)&&e(t,b2(t));function Da(e,t,n,r){return ka(e,t,SEe(n),r)}const wEe=(e,t)=>n=>t(e(n)),ql=(...e)=>e.reduce(wEe);function rj(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const wI=rj("dragHorizontal"),xI=rj("dragVertical");function ij(e){let t=!1;if(e==="y")t=xI();else if(e==="x")t=wI();else{const n=wI(),r=xI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function oj(){const e=ij(!0);return e?(e(),!1):!0}class xu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const tr=e=>e;function xEe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,h=f?t:n;return u&&s.add(l),h.indexOf(l)===-1&&(h.push(l),f&&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(f[h]=xEe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,CEe),1),i.timestamp=f,i.isProcessing=!0,iv.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:iv.reduce((f,h)=>{const g=o[h];return f[h]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>iv.forEach(h=>o[h].cancel(f)),state:i,steps:o}}const{schedule:Sn,cancel:Wa,state:Zr,steps:uC}=TEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:tr,!0);function CI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||oj())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&Sn.update(()=>a[r](o,s))};return Da(e.current,n,i,{passive:!e.getProps()[r]})}class EEe extends xu{mount(){this.unmount=ql(CI(this.node,!0),CI(this.node,!1))}unmount(){}}class AEe extends xu{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=ql(ka(this.node.current,"focus",()=>this.onFocus()),ka(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const sj=(e,t)=>t?e===t?!0:sj(e,t.parentElement):!1;function cC(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,b2(n))}class PEe extends xu{constructor(){super(...arguments),this.removeStartListeners=tr,this.removeEndListeners=tr,this.removeAccessibleListeners=tr,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Da(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();Sn.update(()=>{sj(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Da(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=ql(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()||cC("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&Sn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ka(this.node.current,"keyup",s),cC("down",(a,l)=>{this.startPress(a,l)})},n=ka(this.node.current,"keydown",t),r=()=>{this.isPressing&&cC("cancel",(o,s)=>this.cancelPress(o,s))},i=ka(this.node.current,"blur",r);this.removeAccessibleListeners=ql(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&&Sn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!oj()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&Sn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Da(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ka(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=ql(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const G5=new WeakMap,dC=new WeakMap,REe=e=>{const t=G5.get(e.target);t&&t(e)},OEe=e=>{e.forEach(REe)};function kEe({root:e,...t}){const n=e||document;dC.has(n)||dC.set(n,{});const r=dC.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(OEe,{root:e,...t})),r[i]}function IEe(e,t,n){const r=kEe(t);return G5.set(e,n),r.observe(e),()=>{G5.delete(e),r.unobserve(e)}}const MEe={some:0,all:1};class NEe extends xu{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:MEe[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:d,onViewportLeave:f}=this.node.getProps(),h=u?d:f;h&&h(l)};return IEe(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(LEe(t,n))&&this.startObserver()}unmount(){}}function LEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const DEe={inView:{Feature:NEe},tap:{Feature:PEe},focus:{Feature:AEe},hover:{Feature:EEe}};function aj(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 FEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function S2(e,t,n){const r=e.getProps();return bA(r,t,n!==void 0?n:r.custom,$Ee(e),FEe(e))}const BEe="framerAppearId",UEe="data-"+vA(BEe);let zEe=tr,SA=tr;const Kl=e=>e*1e3,$a=e=>e/1e3,VEe={current:!1},lj=e=>Array.isArray(e)&&typeof e[0]=="number";function uj(e){return!!(!e||typeof e=="string"&&cj[e]||lj(e)||Array.isArray(e)&&e.every(uj))}const Op=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,cj={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Op([0,.65,.55,1]),circOut:Op([.55,0,1,.45]),backIn:Op([.31,.01,.66,-.59]),backOut:Op([.33,1.53,.69,.99])};function dj(e){if(e)return lj(e)?Op(e):Array.isArray(e)?e.map(dj):cj[e]}function jEe(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 d=dj(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const TI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},fC={},fj={};for(const e in TI)fj[e]=()=>(fC[e]===void 0&&(fC[e]=TI[e]()),fC[e]);function GEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const hj=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,HEe=1e-7,WEe=12;function qEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=hj(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>HEe&&++aqEe(o,0,1,e,n);return o=>o===0||o===1?o:hj(i(o),t,r)}const KEe=Zm(.42,0,1,1),XEe=Zm(0,0,.58,1),pj=Zm(.42,0,.58,1),YEe=e=>Array.isArray(e)&&typeof e[0]!="number",gj=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,mj=e=>t=>1-e(1-t),yj=e=>1-Math.sin(Math.acos(e)),wA=mj(yj),QEe=gj(wA),vj=Zm(.33,1.53,.69,.99),xA=mj(vj),ZEe=gj(xA),JEe=e=>(e*=2)<1?.5*xA(e):.5*(2-Math.pow(2,-10*(e-1))),eAe={linear:tr,easeIn:KEe,easeInOut:pj,easeOut:XEe,circIn:yj,circInOut:QEe,circOut:wA,backIn:xA,backInOut:ZEe,backOut:vj,anticipate:JEe},EI=e=>{if(Array.isArray(e)){SA(e.length===4);const[t,n,r,i]=e;return Zm(t,n,r,i)}else if(typeof e=="string")return eAe[e];return e},CA=(e,t)=>n=>!!(Ym(n)&&JTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),_j=(e,t,n)=>r=>{if(!Ym(r))return r;const[i,o,s,a]=r.match(_2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},tAe=e=>au(0,255,e),hC={...jc,transform:e=>Math.round(tAe(e))},ec={test:CA("rgb","red"),parse:_j("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+hC.transform(e)+", "+hC.transform(t)+", "+hC.transform(n)+", "+Wp(Hp.transform(r))+")"};function nAe(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 H5={test:CA("#"),parse:nAe,transform:ec.transform},Yd={test:CA("hsl","hue"),parse:_j("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+qs.transform(Wp(t))+", "+qs.transform(Wp(n))+", "+Wp(Hp.transform(r))+")"},hi={test:e=>ec.test(e)||H5.test(e)||Yd.test(e),parse:e=>ec.test(e)?ec.parse(e):Yd.test(e)?Yd.parse(e):H5.parse(e),transform:e=>Ym(e)?e:e.hasOwnProperty("red")?ec.transform(e):Yd.transform(e)},Pn=(e,t,n)=>-n*e+n*t+e;function pC(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 rAe({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=pC(l,a,e+1/3),o=pC(l,a,e),s=pC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const gC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},iAe=[H5,ec,Yd],oAe=e=>iAe.find(t=>t.test(e));function AI(e){const t=oAe(e);let n=t.parse(e);return t===Yd&&(n=rAe(n)),n}const bj=(e,t)=>{const n=AI(e),r=AI(t),i={...n};return o=>(i.red=gC(n.red,r.red,o),i.green=gC(n.green,r.green,o),i.blue=gC(n.blue,r.blue,o),i.alpha=Pn(n.alpha,r.alpha,o),ec.transform(i))};function sAe(e){var t,n;return isNaN(e)&&Ym(e)&&(((t=e.match(_2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(HV))===null||n===void 0?void 0:n.length)||0)>0}const Sj={regex:QTe,countKey:"Vars",token:"${v}",parse:tr},wj={regex:HV,countKey:"Colors",token:"${c}",parse:hi.parse},xj={regex:_2,countKey:"Numbers",token:"${n}",parse:jc.parse};function mC(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 C_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&mC(n,Sj),mC(n,wj),mC(n,xj),n}function Cj(e){return C_(e).values}function Tj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=C_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function lAe(e){const t=Cj(e);return Tj(e)(t.map(aAe))}const lu={test:sAe,parse:Cj,createTransformer:Tj,getAnimatableNone:lAe},Ej=(e,t)=>n=>`${n>0?t:e}`;function Aj(e,t){return typeof e=="number"?n=>Pn(e,t,n):hi.test(e)?bj(e,t):e.startsWith("var(")?Ej(e,t):Rj(e,t)}const Pj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>Aj(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]=Aj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},Rj=(e,t)=>{const n=lu.createTransformer(t),r=C_(e),i=C_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?ql(Pj(r.values,i.values),n):Ej(e,t)},im=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},PI=(e,t)=>n=>Pn(e,t,n);function cAe(e){return typeof e=="number"?PI:typeof e=="string"?hi.test(e)?bj:Rj:Array.isArray(e)?Pj:typeof e=="object"?uAe:PI}function dAe(e,t,n){const r=[],i=n||cAe(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=dAe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(au(e[0],e[o-1],u)):l}function fAe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=im(0,t,r);e.push(Pn(n,1,i))}}function hAe(e){const t=[0];return fAe(t,e.length-1),t}function pAe(e,t){return e.map(n=>n*t)}function gAe(e,t){return e.map(()=>t||pj).splice(0,e.length-1)}function T_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=YEe(r)?r.map(EI):EI(r),o={done:!1,value:t[0]},s=pAe(n&&n.length===t.length?n:hAe(t),e),a=Oj(s,t,{ease:Array.isArray(i)?i:gAe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function kj(e,t){return t?e*(1e3/t):0}const mAe=5;function Ij(e,t,n){const r=Math.max(t-mAe,0);return kj(n-e(r),t-r)}const yC=.001,yAe=.01,RI=10,vAe=.05,_Ae=1;function bAe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;zEe(e<=Kl(RI));let s=1-t;s=au(vAe,_Ae,s),e=au(yAe,RI,$a(e)),s<1?(i=u=>{const d=u*s,f=d*e,h=d-n,g=W5(u,s),m=Math.exp(-f);return yC-h/g*m},o=u=>{const f=u*s*e,h=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=W5(Math.pow(u,2),s);return(-i(u)+yC>0?-1:1)*((h-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-yC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=wAe(i,o,a);if(e=Kl(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 SAe=12;function wAe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function TAe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!OI(e,CAe)&&OI(e,xAe)){const n=bAe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function Mj({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:d,duration:f,isResolvedFromDuration:h}=TAe(r),g=d?-$a(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=$a(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=W5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:h&&f||null,next:y=>{const S=b(y);if(h)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=Ij(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function kI({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:d}){const f=e[0],h={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);h.done=Math.abs(k)<=u,h.value=h.done?_:O};let C,T;const E=P=>{g(h.value)&&(C=P,T=Mj({keyframes:[h.value,m(h.value)],velocity:Ij(y,P,h.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),h)}}}const EAe=e=>{const t=({timestamp:n})=>e(n);return{start:()=>Sn.update(t,!0),stop:()=>Wa(t),now:()=>Zr.isProcessing?Zr.timestamp:performance.now()}},II=2e4;function MI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=II?1/0:t}const AAe={decay:kI,inertia:kI,tween:T_,keyframes:T_,spring:Mj};function E_({autoplay:e=!0,delay:t=0,driver:n=EAe,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...h}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=AAe[i]||T_;let S;y!==T_&&typeof r[0]!="number"&&(S=Oj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...h,keyframes:r});let T;a==="mirror"&&(T=y({...h,keyframes:[...r].reverse(),velocity:-(h.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=MI(C));const{calculatedDuration:M}=C;let V=1/0,B=1/0;M!==null&&(V=M+s,B=V*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-B/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>B;A=Math.max(Z,0),E==="finished"&&P===null&&(A=B);let ie=A,se=C;if(o){const fe=A/V;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/V)):a==="mirror"&&(se=T));let Je=au(0,1,ve);A>B&&(Je=a==="reverse"&&ye?1:0),ie=Je*V}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=B:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&$(),le},D=()=>{b&&b.stop(),b=void 0},U=()=>{E="idle",D(),v(),_(),k=O=null},$=()=>{E="finished",d&&d(),D(),v()},j=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&j();const G={then(q,Z){return x.then(q,Z)},get time(){return $a(A)},set time(q){q=Kl(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?MI(C):C.calculatedDuration;return $a(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,G.time=$a(A))},get state(){return E},play:j,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),U())},cancel:()=>{O!==null&&N(O),U()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return G}const PAe=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),ov=10,RAe=2e4,OAe=(e,t)=>t.type==="spring"||e==="backgroundColor"||!uj(t.ease);function kAe(e,t,{onUpdate:n,onComplete:r,...i}){if(!(fj.waapi()&&PAe.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(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:h,times:g}=i;if(OAe(t,i)){const _=E_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{Sn.update(v),a(),u()};return m.onfinish=()=>{e.set(GEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return $a(m.currentTime||0)},set time(_){m.currentTime=Kl(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return $a(f)},play:()=>{s||(m.play(),Wa(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=E_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-ov).value,b.sample(_).value,ov)}x()},complete:()=>m.finish(),cancel:x}}function IAe({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:tr,pause:tr,stop:tr,then:o=>(o(),Promise.resolve()),cancel:tr,complete:tr});return t?E_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const MAe={type:"spring",stiffness:500,damping:25,restSpeed:10},NAe=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),LAe={type:"keyframes",duration:.8},DAe={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},$Ae=(e,{keyframes:t})=>t.length>2?LAe:Vc.has(e)?e.startsWith("scale")?NAe(t[1]):MAe:DAe,q5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(lu.test(t)||t==="0")&&!t.startsWith("url(")),FAe=new Set(["brightness","contrast","saturate","opacity"]);function BAe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(_2)||[];if(!r)return e;const i=n.replace(r,"");let o=FAe.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const UAe=/([a-z-]*)\(.*?\)/g,K5={...lu,getAnimatableNone:e=>{const t=e.match(UAe);return t?t.map(BAe).join(" "):e}},zAe={...WV,color:hi,backgroundColor:hi,outlineColor:hi,fill:hi,stroke:hi,borderColor:hi,borderTopColor:hi,borderRightColor:hi,borderBottomColor:hi,borderLeftColor:hi,filter:K5,WebkitFilter:K5},TA=e=>zAe[e];function Nj(e,t){let n=TA(e);return n!==K5&&(n=lu),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Lj=e=>/^0[^.\s]+$/.test(e);function VAe(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||Lj(e)}function jAe(e,t,n,r){const i=q5(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=Dj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Kl(s);const l=jAe(t,e,n,o),u=l[0],d=l[l.length-1],f=q5(e,u),h=q5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(GAe(o)||(g={...g,...$Ae(e,g)}),g.duration&&(g.duration=Kl(g.duration)),g.repeatDelay&&(g.repeatDelay=Kl(g.repeatDelay)),!f||!h||VEe.current||o.type===!1)return IAe(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=kAe(t,e,g);if(m)return m}return E_(g)};function A_(e){return!!(zi(e)&&e.add)}const HAe=e=>/^\-?\d*\.?\d+$/.test(e);function AA(e,t){e.indexOf(t)===-1&&e.push(t)}function PA(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class RA{constructor(){this.subscriptions=[]}add(t){return AA(this.subscriptions,t),()=>PA(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 qAe{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}=Zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,Sn.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=()=>Sn.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=WAe(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new RA);const r=this.events[t].add(n);return t==="change"?()=>{r(),Sn.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?kj(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 Wf(e,t){return new qAe(e,t)}const $j=e=>t=>t.test(e),KAe={test:e=>e==="auto",parse:e=>e},Fj=[jc,He,qs,bl,tEe,eEe,KAe],_p=e=>Fj.find($j(e)),XAe=[...Fj,hi,lu],YAe=e=>XAe.find($j(e));function QAe(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Wf(n))}function ZAe(e,t){const n=S2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=gEe(o[s]);QAe(e,s,a)}}function JAe(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(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&ZAe(e,s)}),u}function X5(e,t,n={}){const r=S2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(Bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return r6e(e,t,u+l,d,f,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 r6e(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(i6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(X5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function i6e(e,t){return e.sortNodePosition(t)}function o6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>X5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=X5(e,t,n);else{const i=typeof t=="function"?S2(e,t,n.custom):t;r=Promise.all(Bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const s6e=[...cA].reverse(),a6e=cA.length;function l6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>o6e(e,n,r)))}function u6e(e){let t=l6e(e);const n=d6e();let r=!0;const i=(l,u)=>{const d=S2(e,u);if(d){const{transition:f,transitionEnd:h,...g}=d;l={...l,...g,...h}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},h=[],g=new Set;let m={},v=1/0;for(let _=0;_v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:V={}}=y,B={...V,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in B){const D=M[N],U=V[N];m.hasOwnProperty(N)||(D!==U?x_(D)&&x_(U)?!aj(D,U)||P?A(N):y.protectedKeys[N]=!0:D!==void 0?A(N):g.add(N):D!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&h.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),h.push({animation:_})}let x=!!h.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(h):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const h=s(d,l);for(const g in n)n[g].protectedKeys={};return h}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function c6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!aj(t,e):!1}function Fu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function d6e(){return{animate:Fu(!0),whileInView:Fu(),whileHover:Fu(),whileTap:Fu(),whileDrag:Fu(),whileFocus:Fu(),exit:Fu()}}class f6e extends xu{constructor(t){super(t),t.animationState||(t.animationState=u6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),y2(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 h6e=0;class p6e extends xu{constructor(){super(...arguments),this.id=h6e++}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 g6e={animation:{Feature:f6e},exit:{Feature:p6e}},NI=(e,t)=>Math.abs(e-t);function m6e(e,t){const n=NI(e.x,t.x),r=NI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Uj{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=_C(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=m6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:h}=u,{timestamp:g}=Zr;this.history.push({...h,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=vC(d,this.transformPagePoint),Sn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:h}=this.handlers,g=_C(u.type==="pointercancel"?this.lastMoveEventInfo:vC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),h&&h(u,g)},!nj(t))return;this.handlers=n,this.transformPagePoint=r;const i=b2(t),o=vC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,_C(o,this.history)),this.removeListeners=ql(Da(window,"pointermove",this.handlePointerMove),Da(window,"pointerup",this.handlePointerUp),Da(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Wa(this.updatePoint)}}function vC(e,t){return t?{point:t(e.point)}:e}function LI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _C({point:e},t){return{point:e,delta:LI(e,zj(t)),offset:LI(e,y6e(t)),velocity:v6e(t,.1)}}function y6e(e){return e[0]}function zj(e){return e[e.length-1]}function v6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=zj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Kl(t)));)n--;if(!r)return{x:0,y:0};const o=$a(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 oo(e){return e.max-e.min}function Y5(e,t=0,n=.01){return Math.abs(e-t)<=n}function DI(e,t,n,r=.5){e.origin=r,e.originPoint=Pn(t.min,t.max,e.origin),e.scale=oo(n)/oo(t),(Y5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Pn(n.min,n.max,e.origin)-e.originPoint,(Y5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function qp(e,t,n,r){DI(e.x,t.x,n.x,r?r.originX:void 0),DI(e.y,t.y,n.y,r?r.originY:void 0)}function $I(e,t,n){e.min=n.min+t.min,e.max=e.min+oo(t)}function _6e(e,t,n){$I(e.x,t.x,n.x),$I(e.y,t.y,n.y)}function FI(e,t,n){e.min=t.min-n.min,e.max=e.min+oo(t)}function Kp(e,t,n){FI(e.x,t.x,n.x),FI(e.y,t.y,n.y)}function b6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?Pn(n,e,r.max):Math.min(e,n)),e}function BI(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 S6e(e,{top:t,left:n,bottom:r,right:i}){return{x:BI(e.x,n,i),y:BI(e.y,t,r)}}function UI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=im(t.min,t.max-r,e.min):r>i&&(n=im(e.min,e.max-i,t.min)),au(0,1,n)}function C6e(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 Q5=.35;function T6e(e=Q5){return e===!1?e=0:e===!0&&(e=Q5),{x:zI(e,"left","right"),y:zI(e,"top","bottom")}}function zI(e,t,n){return{min:VI(e,t),max:VI(e,n)}}function VI(e,t){return typeof e=="number"?e:e[t]||0}const jI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Qd=()=>({x:jI(),y:jI()}),GI=()=>({min:0,max:0}),Xn=()=>({x:GI(),y:GI()});function Ps(e){return[e("x"),e("y")]}function Vj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function E6e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function A6e(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 bC(e){return e===void 0||e===1}function Z5({scale:e,scaleX:t,scaleY:n}){return!bC(e)||!bC(t)||!bC(n)}function ju(e){return Z5(e)||jj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function jj(e){return HI(e.x)||HI(e.y)}function HI(e){return e&&e!=="0%"}function P_(e,t,n){const r=e-n,i=t*r;return n+i}function WI(e,t,n,r,i){return i!==void 0&&(e=P_(e,i,r)),P_(e,n,r)+t}function J5(e,t=0,n=1,r,i){e.min=WI(e.min,t,n,r,i),e.max=WI(e.max,t,n,r,i)}function Gj(e,{x:t,y:n}){J5(e.x,t.translate,t.scale,t.originPoint),J5(e.y,n.translate,n.scale,n.originPoint)}function P6e(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 Tl(e,t){e.min=e.min+t,e.max=e.max+t}function KI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=Pn(e.min,e.max,o);J5(e,t[n],t[r],s,t.scale)}const R6e=["x","scaleX","originX"],O6e=["y","scaleY","originY"];function Zd(e,t){KI(e.x,t,R6e),KI(e.y,t,O6e)}function Hj(e,t){return Vj(A6e(e.getBoundingClientRect(),t))}function k6e(e,t,n){const r=Hj(e,n),{scroll:i}=t;return i&&(Tl(r.x,i.offset.x),Tl(r.y,i.offset.y)),r}const I6e=new WeakMap;class M6e{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=Xn(),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(b2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:h}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=ij(d),!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),Ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(qs.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=oo(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),h&&Sn.update(()=>h(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:h,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=N6e(m),this.currentDirection!==null&&h&&h(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Uj(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&&Sn.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||!sv(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=b6e(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&&Xd(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=S6e(r.layoutBox,t):this.constraints=!1,this.elastic=T6e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=C6e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Xd(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=k6e(r,i.root,this.visualElement.getTransformPagePoint());let s=w6e(i.layout.layoutBox,o);if(n){const a=n(E6e(s));this.hasMutatedConstraints=!!a,a&&(s=Vj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Ps(d=>{if(!sv(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const h=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:h,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(EA(t,r,0,n))}stopAnimation(){Ps(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){Ps(n=>{const{drag:r}=this.getProps();if(!sv(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]-Pn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Xd(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=x6e({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(),Ps(s=>{if(!sv(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(Pn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;I6e.set(this.visualElement,this);const t=this.visualElement.current,n=Da(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();Xd(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=ka(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].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=Q5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function sv(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function N6e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class L6e extends xu{constructor(t){super(t),this.removeGroupControls=tr,this.removeListeners=tr,this.controls=new M6e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||tr}unmount(){this.removeGroupControls(),this.removeListeners()}}const XI=e=>(t,n)=>{e&&Sn.update(()=>e(t,n))};class D6e extends xu{constructor(){super(...arguments),this.removePointerDownListener=tr}onPointerDown(t){this.session=new Uj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:XI(t),onStart:XI(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&Sn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Da(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 $6e(){const e=L.useContext(Km);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function XMe(){return F6e(L.useContext(Km))}function F6e(e){return e===null?!0:e.isPresent}const Gv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function YI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bp={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(He.test(e))e=parseFloat(e);else return e;const n=YI(e,t.target.x),r=YI(e,t.target.y);return`${n}% ${r}%`}},B6e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=lu.parse(e);if(i.length>5)return r;const o=lu.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=Pn(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 U6e extends jt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;qTe(z6e),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()})),Gv.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()||Sn.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 Wj(e){const[t,n]=$6e(),r=L.useContext(fA);return jt.createElement(U6e,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(zV),isPresent:t,safeToRemove:n})}const z6e={borderRadius:{...bp,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:bp,borderTopRightRadius:bp,borderBottomLeftRadius:bp,borderBottomRightRadius:bp,boxShadow:B6e},qj=["TopLeft","TopRight","BottomLeft","BottomRight"],V6e=qj.length,QI=e=>typeof e=="string"?parseFloat(e):e,ZI=e=>typeof e=="number"||He.test(e);function j6e(e,t,n,r,i,o){i?(e.opacity=Pn(0,n.opacity!==void 0?n.opacity:1,G6e(r)),e.opacityExit=Pn(t.opacity!==void 0?t.opacity:1,0,H6e(r))):o&&(e.opacity=Pn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(im(e,t,r))}function e7(e,t){e.min=t.min,e.max=t.max}function wo(e,t){e7(e.x,t.x),e7(e.y,t.y)}function t7(e,t,n,r,i){return e-=t,e=P_(e,1/n,r),i!==void 0&&(e=P_(e,1/i,r)),e}function W6e(e,t=0,n=1,r=.5,i,o=e,s=e){if(qs.test(t)&&(t=parseFloat(t),t=Pn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=Pn(o.min,o.max,r);e===o&&(a-=t),e.min=t7(e.min,t,n,a,i),e.max=t7(e.max,t,n,a,i)}function n7(e,t,[n,r,i],o,s){W6e(e,t[n],t[r],t[i],t.scale,o,s)}const q6e=["x","scaleX","originX"],K6e=["y","scaleY","originY"];function r7(e,t,n,r){n7(e.x,t,q6e,n?n.x:void 0,r?r.x:void 0),n7(e.y,t,K6e,n?n.y:void 0,r?r.y:void 0)}function i7(e){return e.translate===0&&e.scale===1}function Xj(e){return i7(e.x)&&i7(e.y)}function e4(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 o7(e){return oo(e.x)/oo(e.y)}class X6e{constructor(){this.members=[]}add(t){AA(this.members,t),t.scheduleRender()}remove(t){if(PA(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 s7(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:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}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 Y6e=(e,t)=>e.depth-t.depth;class Q6e{constructor(){this.children=[],this.isDirty=!1}add(t){AA(this.children,t),this.isDirty=!0}remove(t){PA(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Y6e),this.isDirty=!1,this.children.forEach(t)}}function Z6e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Wa(r),e(o-t))};return Sn.read(r,!0),()=>Wa(r)}function J6e(e){window.MotionDebug&&window.MotionDebug.record(e)}function ePe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function tPe(e,t,n){const r=zi(e)?e:Wf(e);return r.start(EA("",r,t,n)),r.animation}const a7=["","X","Y","Z"],l7=1e3;let nPe=0;const Gu={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function Yj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=nPe++,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=()=>{Gu.totalNodes=Gu.resolvedTargetDeltas=Gu.recalculatedProjection=0,this.nodes.forEach(oPe),this.nodes.forEach(cPe),this.nodes.forEach(dPe),this.nodes.forEach(sPe),J6e(Gu)},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,f&&f(),f=Z6e(h,250),Gv.hasAnimatedSinceResize&&(Gv.hasAnimatedSinceResize=!1,this.nodes.forEach(c7))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||mPe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!e4(this.targetLayout,m)||g,y=!h&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||h&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...Dj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else h||c7(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}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,Wa(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(fPe),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 d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach(aPe),this.sharedNodes.forEach(hPe)}scheduleUpdateProjection(){Sn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){Sn.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 C=S/1e3;d7(f.x,s.x,C),d7(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Kp(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),pPe(this.relativeTarget,this.relativeTargetOrigin,h,C),y&&e4(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Xn()),wo(y,this.relativeTarget)),v&&(this.animationValues=d,j6e(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},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&&(Wa(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Sn.update(()=>{Gv.hasAnimatedSinceResize=!0,this.currentAnimation=tPe(0,l7,{...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(l7),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Qj(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Xn();const f=oo(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const h=oo(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+h}wo(a,l),Zd(a,d),qp(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new X6e),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 d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(u7),this.root.sharedNodes.clear()}}}function rPe(e){e.updateLayout()}function iPe(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"?Ps(f=>{const h=s?n.measuredBox[f]:n.layoutBox[f],g=oo(h);h.min=r[f].min,h.max=h.min+g}):Qj(o,n.layoutBox,r)&&Ps(f=>{const h=s?n.measuredBox[f]:n.layoutBox[f],g=oo(r[f]);h.max=h.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Qd();qp(a,r,n.layoutBox);const l=Qd();s?qp(l,e.applyTransform(i,!0),n.measuredBox):qp(l,r,n.layoutBox);const u=!Xj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:g}=f;if(h&&g){const m=Xn();Kp(m,n.layoutBox,h.layoutBox);const v=Xn();Kp(v,r,g.layoutBox),e4(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function oPe(e){Gu.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 sPe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function aPe(e){e.clearSnapshot()}function u7(e){e.clearMeasurements()}function lPe(e){e.isLayoutDirty=!1}function uPe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function c7(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function cPe(e){e.resolveTargetDelta()}function dPe(e){e.calcProjection()}function fPe(e){e.resetRotation()}function hPe(e){e.removeLeadSnapshot()}function d7(e,t,n){e.translate=Pn(t.translate,0,n),e.scale=Pn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function f7(e,t,n,r){e.min=Pn(t.min,n.min,r),e.max=Pn(t.max,n.max,r)}function pPe(e,t,n,r){f7(e.x,t.x,n.x,r),f7(e.y,t.y,n.y,r)}function gPe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const mPe={duration:.45,ease:[.4,0,.1,1]};function h7(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function yPe(e){h7(e.x),h7(e.y)}function Qj(e,t,n){return e==="position"||e==="preserve-aspect"&&!Y5(o7(t),o7(n),.2)}const vPe=Yj({attachResizeListener:(e,t)=>ka(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),SC={current:void 0},Zj=Yj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!SC.current){const e=new vPe({});e.mount(window),e.setOptions({layoutScroll:!0}),SC.current=e}return SC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),_Pe={pan:{Feature:D6e},drag:{Feature:L6e,ProjectionNode:Zj,MeasureLayout:Wj}},bPe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function SPe(e){const t=bPe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function t4(e,t,n=1){const[r,i]=SPe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():j5(i)?t4(i,t,n+1):i}function wPe(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(!j5(o))return;const s=t4(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!j5(o))continue;const s=t4(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const xPe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Jj=e=>xPe.has(e),CPe=e=>Object.keys(e).some(Jj),p7=e=>e===jc||e===He,g7=(e,t)=>parseFloat(e.split(", ")[t]),m7=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return g7(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?g7(o[1],e):0}},TPe=new Set(["x","y","z"]),EPe=Xm.filter(e=>!TPe.has(e));function APe(e){const t=[];return EPe.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 qf={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:m7(4,13),y:m7(5,14)};qf.translateX=qf.x;qf.translateY=qf.y;const PPe=(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]=qf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=qf[u](l,o)}),e},RPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Jj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=_p(d);const h=t[l];let g;if(x_(h)){const m=h.length,v=h[0]===null?1:0;d=h[v],f=_p(d);for(let x=v;x=0?window.pageYOffset:null,u=PPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),m2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function OPe(e,t,n,r){return CPe(t)?RPe(e,t,n,r):{target:t,transitionEnd:r}}const kPe=(e,t,n,r)=>{const i=wPe(e,t,r);return t=i.target,r=i.transitionEnd,OPe(e,t,n,r)},n4={current:null},eG={current:!1};function IPe(){if(eG.current=!0,!!m2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>n4.current=e.matches;e.addListener(t),t()}else n4.current=!1}function MPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(zi(o))e.addValue(i,o),A_(r)&&r.add(i);else if(zi(s))e.addValue(i,Wf(o,{owner:e})),A_(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,Wf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const y7=new WeakMap,tG=Object.keys(rm),NPe=tG.length,v7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],LPe=dA.length;class DPe{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=()=>Sn.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=v2(n),this.isVariantNode=UV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const h=d[f];a[f]!==void 0&&zi(h)&&(h.set(a[f],!1),A_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,y7.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)),eG.current||IPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:n4.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){y7.delete(this.current),this.projection&&this.projection.unmount(),Wa(this.notifyUpdate),Wa(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=Vc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&Sn.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:h,layoutRoot:g})}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):Xn()}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=Wf(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=bA(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&&!zi(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 RA),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class nG extends DPe{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=t6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){JAe(this,r,s);const a=kPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function $Pe(e){return window.getComputedStyle(e)}class FPe extends nG{readValueFromInstance(t,n){if(Vc.has(n)){const r=TA(n);return r&&r.default||0}else{const r=$Pe(t),i=(GV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Hj(t,n)}build(t,n,r,i){pA(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return _A(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;zi(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){YV(t,n,r,i)}}class BPe extends nG{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Vc.has(n)){const r=TA(n);return r&&r.default||0}return n=QV.has(n)?n:vA(n),t.getAttribute(n)}measureInstanceViewportBox(){return Xn()}scrapeMotionValuesFromProps(t,n){return JV(t,n)}build(t,n,r,i){mA(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){ZV(t,n,r,i)}mount(t){this.isSVGTag=yA(t.tagName),super.mount(t)}}const UPe=(e,t)=>hA(e)?new BPe(t,{enableHardwareAcceleration:!1}):new FPe(t,{enableHardwareAcceleration:!0}),zPe={layout:{ProjectionNode:Zj,MeasureLayout:Wj}},VPe={...g6e,...DEe,..._Pe,...zPe},jPe=HTe((e,t)=>bEe(e,t,VPe,UPe));function rG(){const e=L.useRef(!1);return b_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function GPe(){const e=rG(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>Sn.postRender(r),[r]),t]}class HPe extends L.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 WPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.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]),L.createElement(HPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const wC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=ej(qPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(WPe,{isPresent:n},e)),L.createElement(Km.Provider,{value:u},e)};function qPe(){return new Map}function KPe(e){return L.useEffect(()=>()=>e(),[])}const Nd=e=>e.key||"";function XPe(e,t){e.forEach(n=>{const r=Nd(n);t.set(r,n)})}function YPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const QPe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(fA).forceRender||GPe()[0],l=rG(),u=YPe(e);let d=u;const f=L.useRef(new Map).current,h=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(b_(()=>{m.current=!1,XPe(u,g),h.current=d}),KPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(wC,{key:Nd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=h.current.map(Nd),x=u.map(Nd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=h.current.findIndex(k=>k.key===y);if(h.current.splice(P,1),!f.size){if(h.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(wC,{key:Nd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(wC,{key:Nd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var ZPe=V5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),iG=zc((e,t)=>{const n=$V("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=MV(e),u=EV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${ZPe} ${o} linear infinite`,...n};return ue.jsx(Cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(Cc.span,{srOnly:!0,children:r})})});iG.displayName="Spinner";var r4=zc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});r4.displayName="NativeImage";function JPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),h=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return j5e(()=>{if(!l)return u==="loading"&&h(),()=>{g()}},[u,h,l]),l?"loaded":u}var e8e=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function t8e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var OA=zc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:h="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=JPe({...t,crossOrigin:f,ignoreFallback:x}),b=e8e(_,h),y={ref:n,objectFit:l,objectPosition:a,...x?m:t8e(m,["onError","onLoad"])};return b?i||ue.jsx(Cc.img,{as:r4,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(Cc.img,{as:r4,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});OA.displayName="Image";var i4=zc(function(t,n){const r=$V("Heading",t),{className:i,...o}=MV(t);return ue.jsx(Cc.h2,{ref:n,className:EV("chakra-heading",t.className),...o,__css:r})});i4.displayName="Heading";var kA=Cc("div");kA.displayName="Box";var oG=zc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(kA,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});oG.displayName="Square";var n8e=zc(function(t,n){const{size:r,...i}=t;return ue.jsx(oG,{size:r,ref:n,borderRadius:"9999px",...i})});n8e.displayName="Circle";var IA=zc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(Cc.div,{ref:n,__css:f,...d})});IA.displayName="Flex";const r8e=""+new URL("logo-13003d72.png",import.meta.url).href,i8e=()=>ue.jsxs(IA,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(OA,{src:r8e,w:"8rem",h:"8rem"}),ue.jsx(iG,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),o8e=L.memo(i8e);function o4(e){"@babel/helpers - typeof";return o4=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},o4(e)}var sG=[],s8e=sG.forEach,a8e=sG.slice;function s4(e){return s8e.call(a8e.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function aG(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":o4(XMLHttpRequest))==="object"}function l8e(e){return!!e&&typeof e.then=="function"}function u8e(e){return l8e(e)?e:Promise.resolve(e)}function c8e(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 a4={exports:{}},av={exports:{}},_7;function d8e(){return _7||(_7=1,function(e,t){var n=typeof self<"u"?self:Ze,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(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function h(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var D=A.shift();return{done:D===void 0,value:D}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,D){this.append(D,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=h(N);var D=this.map[A];this.map[A]=D?D+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=h(N)},m.prototype.forEach=function(A,N){for(var D in this.map)this.map.hasOwnProperty(D)&&A.call(N,this.map[D],D,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,D){A.push(D)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,D){A.push([D,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,D){A.onload=function(){N(A.result)},A.onerror=function(){D(A.error)}})}function _(A){var N=new FileReader,D=x(N);return N.readAsArrayBuffer(A),D}function b(A){var N=new FileReader,D=x(N);return N.readAsText(A),D}function y(A){for(var N=new Uint8Array(A),D=new Array(N.length),U=0;U-1?N:A}function P(A,N){N=N||{};var D=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!D&&A._bodyInit!=null&&(D=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&D)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(D)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(D){if(D){var U=D.split("="),$=U.shift().replace(/\+/g," "),j=U.join("=").replace(/\+/g," ");N.append(decodeURIComponent($),decodeURIComponent(j))}}),N}function O(A){var N=new m,D=A.replace(/\r?\n[\t ]+/g," ");return D.split(/\r?\n/).forEach(function(U){var $=U.split(":"),j=$.shift().trim();if(j){var G=$.join(":").trim();N.append(j,G)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var V=[301,302,303,307,308];M.redirect=function(A,N){if(V.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,D){this.message=N,this.name=D;var U=Error(N);this.stack=U.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function B(A,N){return new Promise(function(D,U){var $=new P(A,N);if($.signal&&$.signal.aborted)return U(new s.DOMException("Aborted","AbortError"));var j=new XMLHttpRequest;function G(){j.abort()}j.onload=function(){var q={status:j.status,statusText:j.statusText,headers:O(j.getAllResponseHeaders()||"")};q.url="responseURL"in j?j.responseURL:q.headers.get("X-Request-URL");var Z="response"in j?j.response:j.responseText;D(new M(Z,q))},j.onerror=function(){U(new TypeError("Network request failed"))},j.ontimeout=function(){U(new TypeError("Network request failed"))},j.onabort=function(){U(new s.DOMException("Aborted","AbortError"))},j.open($.method,$.url,!0),$.credentials==="include"?j.withCredentials=!0:$.credentials==="omit"&&(j.withCredentials=!1),"responseType"in j&&a.blob&&(j.responseType="blob"),$.headers.forEach(function(q,Z){j.setRequestHeader(Z,q)}),$.signal&&($.signal.addEventListener("abort",G),j.onreadystatechange=function(){j.readyState===4&&$.signal.removeEventListener("abort",G)}),j.send(typeof $._bodyInit>"u"?null:$._bodyInit)})}return B.polyfill=!0,o.fetch||(o.fetch=B,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=B,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}(av,av.exports)),av.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ze<"u"&&Ze.fetch?n=Ze.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof c8e<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||d8e();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(a4,a4.exports);var lG=a4.exports;const uG=Tc(lG),b7=$7({__proto__:null,default:uG},[lG]);function R_(e){"@babel/helpers - typeof";return R_=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},R_(e)}var Fa;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Fa=global.fetch:typeof window<"u"&&window.fetch?Fa=window.fetch:Fa=fetch);var om;aG()&&(typeof global<"u"&&global.XMLHttpRequest?om=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(om=window.XMLHttpRequest));var O_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?O_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(O_=window.ActiveXObject));!Fa&&b7&&!om&&!O_&&(Fa=uG||b7);typeof Fa!="function"&&(Fa=void 0);var l4=function(t,n){if(n&&R_(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},S7=function(t,n,r){Fa(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)},w7=!1,f8e=function(t,n,r,i){t.queryStringParams&&(n=l4(n,t.queryStringParams));var o=s4({},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=s4({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},w7?{}:s);try{S7(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]}),S7(n,a,i),w7=!0}catch(u){i(u)}}},h8e=function(t,n,r,i){r&&R_(r)==="object"&&(r=l4("",r).slice(1)),t.queryStringParams&&(n=l4(n,t.queryStringParams));try{var o;om?o=new om:o=new O_("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)}},p8e=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Fa&&n.indexOf("file:")!==0)return f8e(t,n,r,i);if(aG()||typeof ActiveXObject=="function")return h8e(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function sm(e){"@babel/helpers - typeof";return sm=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},sm(e)}function g8e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};g8e(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return m8e(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=s4(i,this.options||{},_8e()),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=u8e(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,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(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var h,g;try{typeof f.data=="string"?h=s.options.parse(f.data,i,o):h=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,h)})}},{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,d=[],f=[];n.forEach(function(h){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(h,r));var m=a.services.interpolator.interpolate(g,{lng:h,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{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(f){var h=o.toResolveHierarchy(f);h.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(h,g){h&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),h),!h&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),h,g)})})})}}}]),e}();dG.type="backend";const b8e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,S8e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},w8e=e=>S8e[e],x8e=e=>e.replace(b8e,w8e);let u4={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:x8e};function C8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};u4={...u4,...e}}function QMe(){return u4}let fG;function T8e(e){fG=e}function ZMe(){return fG}const E8e={type:"3rdParty",init(e){C8e(e.options.react),T8e(e)}};oi.use(dG).use(E8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const w2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function dh(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function MA(e){return"nodeType"in e}function xi(e){var t,n;return e?dh(e)?e:MA(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function NA(e){const{Document:t}=xi(e);return e instanceof t}function Jm(e){return dh(e)?!1:e instanceof xi(e).HTMLElement}function A8e(e){return e instanceof xi(e).SVGElement}function fh(e){return e?dh(e)?e.document:MA(e)?NA(e)?e:Jm(e)?e.ownerDocument:document:document:document}const Zs=w2?L.useLayoutEffect:L.useEffect;function x2(e){const t=L.useRef(e);return Zs(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function am(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return Zs(()=>{n.current!==e&&(n.current=e)},t),n}function ey(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function k_(e){const t=x2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function I_(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let xC={};function C2(e,t){return L.useMemo(()=>{if(t)return t;const n=xC[e]==null?0:xC[e]+1;return xC[e]=n,e+"-"+n},[e,t])}function hG(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 d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const wf=hG(1),M_=hG(-1);function R8e(e){return"clientX"in e&&"clientY"in e}function LA(e){if(!e)return!1;const{KeyboardEvent:t}=xi(e.target);return t&&e instanceof t}function O8e(e){if(!e)return!1;const{TouchEvent:t}=xi(e.target);return t&&e instanceof t}function lm(e){if(O8e(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 R8e(e)?{x:e.clientX,y:e.clientY}:null}const um=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[um.Translate.toString(e),um.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),C7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function k8e(e){return e.matches(C7)?e:e.querySelector(C7)}const I8e={display:"none"};function M8e(e){let{id:t,value:n}=e;return jt.createElement("div",{id:t,style:I8e},n)}const N8e={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 L8e(e){let{id:t,announcement:n}=e;return jt.createElement("div",{id:t,style:N8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function D8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const pG=L.createContext(null);function $8e(e){const t=L.useContext(pG);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function F8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.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 B8e={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. + `},U8e={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 z8e(e){let{announcements:t=U8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=B8e}=e;const{announce:o,announcement:s}=D8e(),a=C2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),$8e(L.useMemo(()=>({onDragStart(f){let{active:h}=f;o(t.onDragStart({active:h}))},onDragMove(f){let{active:h,over:g}=f;t.onDragMove&&o(t.onDragMove({active:h,over:g}))},onDragOver(f){let{active:h,over:g}=f;o(t.onDragOver({active:h,over:g}))},onDragEnd(f){let{active:h,over:g}=f;o(t.onDragEnd({active:h,over:g}))},onDragCancel(f){let{active:h,over:g}=f;o(t.onDragCancel({active:h,over:g}))}}),[o,t])),!l)return null;const d=jt.createElement(jt.Fragment,null,jt.createElement(M8e,{id:r,value:i.draggable}),jt.createElement(L8e,{id:a,announcement:s}));return n?Ms.createPortal(d,n):d}var fr;(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"})(fr||(fr={}));function N_(){}function T7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function V8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ms=Object.freeze({x:0,y:0});function j8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function G8e(e,t){const n=lm(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 H8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function W8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function q8e(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 K8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function X8e(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=X8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(W8e)};function Q8e(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 Z8e=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&&Q8e(r,a)){const u=q8e(a).reduce((f,h)=>f+j8e(r,h),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(H8e)};function J8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function gG(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ms}function e9e(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 t9e=e9e(1);function mG(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 n9e(e,t,n){const r=mG(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)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const r9e={ignoreTransform:!1};function ty(e,t){t===void 0&&(t=r9e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=xi(e).getComputedStyle(e);u&&(n=n9e(n,u,d))}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 E7(e){return ty(e,{ignoreTransform:!0})}function i9e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function o9e(e,t){return t===void 0&&(t=xi(e).getComputedStyle(e)),t.position==="fixed"}function s9e(e,t){t===void 0&&(t=xi(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 DA(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(NA(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Jm(i)||A8e(i)||n.includes(i))return n;const o=xi(e).getComputedStyle(i);return i!==e&&s9e(i,o)&&n.push(i),o9e(i,o)?n:r(i.parentNode)}return e?r(e):n}function yG(e){const[t]=DA(e,1);return t??null}function CC(e){return!w2||!e?null:dh(e)?e:MA(e)?NA(e)||e===fh(e).scrollingElement?window:Jm(e)?e:null:null}function vG(e){return dh(e)?e.scrollX:e.scrollLeft}function _G(e){return dh(e)?e.scrollY:e.scrollTop}function c4(e){return{x:vG(e),y:_G(e)}}var xr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(xr||(xr={}));function bG(e){return!w2||!e?!1:e===document.scrollingElement}function SG(e){const t={x:0,y:0},n=bG(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 a9e={x:.2,y:.2};function l9e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=a9e);const{isTop:u,isBottom:d,isLeft:f,isRight:h}=SG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=xr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=xr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!h&&a>=t.right-v.width?(g.x=xr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=xr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function u9e(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 wG(e){return e.reduce((t,n)=>wf(t,c4(n)),ms)}function c9e(e){return e.reduce((t,n)=>t+vG(n),0)}function d9e(e){return e.reduce((t,n)=>t+_G(n),0)}function xG(e,t){if(t===void 0&&(t=ty),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);yG(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const f9e=[["x",["left","right"],c9e],["y",["top","bottom"],d9e]];class $A{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=DA(n),i=wG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of f9e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Xp{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 h9e(e){const{EventTarget:t}=xi(e);return e instanceof t?e:fh(e)}function TC(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 Co;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Co||(Co={}));function A7(e){e.preventDefault()}function p9e(e){e.stopPropagation()}var on;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(on||(on={}));const CG={start:[on.Space,on.Enter],cancel:[on.Esc],end:[on.Space,on.Enter]},g9e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case on.Right:return{...n,x:n.x+25};case on.Left:return{...n,x:n.x-25};case on.Down:return{...n,y:n.y+25};case on.Up:return{...n,y:n.y-25}}};class TG{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 Xp(fh(n)),this.windowListeners=new Xp(xi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Co.Resize,this.handleCancel),this.windowListeners.add(Co.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Co.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&xG(r),n(ms)}handleKeyDown(t){if(LA(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=CG,coordinateGetter:s=g9e,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,d=u?{x:u.left,y:u.top}:ms;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const h=M_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=SG(v),E=u9e(v),P={x:Math.min(x===on.Right?E.right-E.width/2:E.right,Math.max(x===on.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===on.Down?E.bottom-E.height/2:E.bottom,Math.max(x===on.Down?E.top:E.top+E.height/2,f.y))},k=x===on.Right&&!b||x===on.Left&&!y,O=x===on.Down&&!S||x===on.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+h.x,V=x===on.Right&&M<=C.x||x===on.Left&&M>=T.x;if(V&&!h.y){v.scrollTo({left:M,behavior:a});return}V?g.x=v.scrollLeft-M:g.x=x===on.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+h.y,V=x===on.Down&&M<=C.y||x===on.Up&&M>=T.y;if(V&&!h.x){v.scrollTo({top:M,behavior:a});return}V?g.y=v.scrollTop-M:g.y=x===on.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,wf(M_(f,this.referenceCoordinates),g))}}}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()}}TG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=CG,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 P7(e){return!!(e&&"distance"in e)}function R7(e){return!!(e&&"delay"in e)}class FA{constructor(t,n,r){var i;r===void 0&&(r=h9e(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=fh(s),this.documentListeners=new Xp(this.document),this.listeners=new Xp(r),this.windowListeners=new Xp(xi(s)),this.initialCoordinates=(i=lm(o))!=null?i:ms,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(Co.Resize,this.handleCancel),this.windowListeners.add(Co.DragStart,A7),this.windowListeners.add(Co.VisibilityChange,this.handleCancel),this.windowListeners.add(Co.ContextMenu,A7),this.documentListeners.add(Co.Keydown,this.handleKeydown),n){if(P7(n))return;if(R7(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(Co.Click,p9e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Co.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=lm(t))!=null?n:ms,u=M_(i,l);if(!r&&a){if(R7(a))return TC(u,a.tolerance)?this.handleCancel():void 0;if(P7(a))return a.tolerance!=null&&TC(u,a.tolerance)?this.handleCancel():TC(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===on.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const m9e={move:{name:"pointermove"},end:{name:"pointerup"}};class EG extends FA{constructor(t){const{event:n}=t,r=fh(n.target);super(t,m9e,r)}}EG.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 y9e={move:{name:"mousemove"},end:{name:"mouseup"}};var d4;(function(e){e[e.RightClick=2]="RightClick"})(d4||(d4={}));class AG extends FA{constructor(t){super(t,y9e,fh(t.event.target))}}AG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===d4.RightClick?!1:(r==null||r({event:n}),!0)}}];const EC={move:{name:"touchmove"},end:{name:"touchend"}};class PG extends FA{constructor(t){super(t,EC)}static setup(){return window.addEventListener(EC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(EC.move.name,t)};function t(){}}}PG.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 Yp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Yp||(Yp={}));var L_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(L_||(L_={}));function v9e(e){let{acceleration:t,activator:n=Yp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=L_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:h}=e;const g=b9e({delta:f,disabled:!o}),[m,v]=P8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Yp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Yp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===L_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=l9e(T,P,b,t,h);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(h)])}const _9e={x:{[xr.Backward]:!1,[xr.Forward]:!1},y:{[xr.Backward]:!1,[xr.Forward]:!1}};function b9e(e){let{delta:t,disabled:n}=e;const r=I_(t);return ey(i=>{if(n||!r||!i)return _9e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[xr.Backward]:i.x[xr.Backward]||o.x===-1,[xr.Forward]:i.x[xr.Forward]||o.x===1},y:{[xr.Backward]:i.y[xr.Backward]||o.y===-1,[xr.Forward]:i.y[xr.Forward]||o.y===1}}},[n,t,r])}function S9e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return ey(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function w9e(e,t){return L.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 cm;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(cm||(cm={}));var f4;(function(e){e.Optimized="optimized"})(f4||(f4={}));const O7=new Map;function x9e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),h=am(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!h.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[h]),m=L.useRef(null),v=ey(_=>{if(f&&!n)return O7;if(!_||_===O7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new $A(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case cm.Always:return!1;case cm.BeforeDragging:return n;default:return!n}}}function BA(e,t){return ey(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function C9e(e,t){return BA(e,t)}function T9e(e){let{callback:t,disabled:n}=e;const r=x2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function T2(e){let{callback:t,disabled:n}=e;const r=x2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function E9e(e){return new $A(ty(e),e)}function k7(e,t,n){t===void 0&&(t=E9e);const[r,i]=L.useReducer(a,null),o=T9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=T2({callback:i});return Zs(()=>{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 d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function A9e(e){const t=BA(e);return gG(e,t)}const I7=[];function P9e(e){const t=L.useRef(e),n=ey(r=>e?r&&r!==I7&&e&&t.current&&e.parentNode===t.current.parentNode?r:DA(e):I7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function R9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=CC(o.target);s&&n(a=>a?(a.set(s,c4(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=CC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,c4(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=CC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>wf(o,s),ms):wG(e):ms,[e,t])}function M7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ms;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?M_(e,n.current):ms}function O9e(e){L.useEffect(()=>{if(!w2)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 k9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function RG(e){return L.useMemo(()=>e?i9e(e):null,[e])}const AC=[];function I9e(e,t){t===void 0&&(t=ty);const[n]=e,r=RG(n?xi(n):null),[i,o]=L.useReducer(a,AC),s=T2({callback:o});return e.length>0&&i===AC&&o(),Zs(()=>{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=>bG(l)?r:new $A(t(l),l)):AC}}function OG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Jm(t)?t:e}function M9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Jm(d)){r(f=>{const h=t(d);return f?{...f,width:h.width,height:h.height}:h});break}},[t]),o=T2({callback:i}),s=L.useCallback(u=>{const d=OG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=k_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const N9e=[{sensor:EG,options:{}},{sensor:TG,options:{}}],L9e={current:{}},Hv={draggable:{measure:E7},droppable:{measure:E7,strategy:cm.WhileDragging,frequency:f4.Optimized},dragOverlay:{measure:ty}};class Qp 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 D9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Qp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:N_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Hv,measureDroppableContainers:N_,windowRect:null,measuringScheduled:!1},kG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:N_,draggableNodes:new Map,over:null,measureDroppableContainers:N_},ny=L.createContext(kG),IG=L.createContext(D9e);function $9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Qp}}}function F9e(e,t){switch(t.type){case fr.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case fr.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 fr.DragEnd:case fr.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case fr.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Qp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case fr.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 Qp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case fr.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Qp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function B9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(ny),o=I_(r),s=I_(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!LA(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 d of[l.current,u.current]){if(!d)continue;const f=k8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function MG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function U9e(e){return L.useMemo(()=>({draggable:{...Hv.draggable,...e==null?void 0:e.draggable},droppable:{...Hv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Hv.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 z9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Zs(()=>{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 d=n(u),f=gG(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const h=yG(u);h&&h.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const E2=L.createContext({...ms,scaleX:1,scaleY:1});var El;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(El||(El={}));const V9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=N9e,collisionDetection:f=Y8e,measuring:h,modifiers:g,...m}=t;const v=L.useReducer(F9e,void 0,$9e),[x,_]=v,[b,y]=F8e(),[S,C]=L.useState(El.Uninitialized),T=S===El.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,V=L.useRef({initial:null,translated:null}),B=L.useMemo(()=>{var nn;return E!=null?{id:E,data:(nn=M==null?void 0:M.data)!=null?nn:L9e,rect:V}:null},[E,M]),A=L.useRef(null),[N,D]=L.useState(null),[U,$]=L.useState(null),j=am(m,Object.values(m)),G=C2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=U9e(h),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=x9e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=S9e(P,E),W=L.useMemo(()=>U?lm(U):null,[U]),ne=ia(),fe=C9e(le,Z.draggable.measure);z9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=k7(le,Z.draggable.measure,fe),ve=k7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Je=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Fe=M9e({measure:Z.dragOverlay.measure}),Ae=(r=Fe.nodeRef.current)!=null?r:le,vt=T?(i=Fe.rect)!=null?i:pe:null,_e=!!(Fe.nodeRef.current&&Fe.rect),Qt=A9e(_e?null:pe),rr=RG(Ae?xi(Ae):null),qt=P9e(T?Je??le:null),ht=I9e(qt),At=MG(g,{transform:{x:k.x-Qt.x,y:k.y-Qt.y,scaleX:1,scaleY:1},activatorEvent:U,active:B,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:vt,over:ye.current.over,overlayNodeRect:Fe.rect,scrollableAncestors:qt,scrollableAncestorRects:ht,windowRect:rr}),un=W?wf(W,k):null,Gr=R9e(qt),Pr=M7(Gr),Ci=M7(Gr,[pe]),In=wf(At,Pr),gn=vt?t9e(vt,At):null,ir=B&&gn?f({active:B,collisionRect:gn,droppableRects:ee,droppableContainers:q,pointerCoordinates:un}):null,mn=K8e(ir,"id"),[Zt,Rr]=L.useState(null),Hr=_e?At:wf(At,Ci),si=J8e(Hr,(o=Zt==null?void 0:Zt.rect)!=null?o:null,pe),Vi=L.useCallback((nn,Ft)=>{let{sensor:or,options:qn}=Ft;if(A.current==null)return;const yr=P.get(A.current);if(!yr)return;const Or=nn.nativeEvent,kr=new or({active:A.current,activeNode:yr,event:Or,options:qn,context:ye,onStart(Ir){const sr=A.current;if(sr==null)return;const ji=P.get(sr);if(!ji)return;const{onDragStart:bs}=j.current,fo={active:{id:sr,data:ji.data,rect:V}};Ms.unstable_batchedUpdates(()=>{bs==null||bs(fo),C(El.Initializing),_({type:fr.DragStart,initialCoordinates:Ir,active:sr}),b({type:"onDragStart",event:fo})})},onMove(Ir){_({type:fr.DragMove,coordinates:Ir})},onEnd:co(fr.DragEnd),onCancel:co(fr.DragCancel)});Ms.unstable_batchedUpdates(()=>{D(kr),$(nn.nativeEvent)});function co(Ir){return async function(){const{active:ji,collisions:bs,over:fo,scrollAdjustedTranslate:tl}=ye.current;let Vo=null;if(ji&&tl){const{cancelDrop:Mr}=j.current;Vo={activatorEvent:Or,active:ji,collisions:bs,delta:tl,over:fo},Ir===fr.DragEnd&&typeof Mr=="function"&&await Promise.resolve(Mr(Vo))&&(Ir=fr.DragCancel)}A.current=null,Ms.unstable_batchedUpdates(()=>{_({type:Ir}),C(El.Uninitialized),Rr(null),D(null),$(null);const Mr=Ir===fr.DragEnd?"onDragEnd":"onDragCancel";if(Vo){const oa=j.current[Mr];oa==null||oa(Vo),b({type:Mr,event:Vo})}})}}},[P]),$n=L.useCallback((nn,Ft)=>(or,qn)=>{const yr=or.nativeEvent,Or=P.get(qn);if(A.current!==null||!Or||yr.dndKit||yr.defaultPrevented)return;const kr={active:Or};nn(or,Ft.options,kr)===!0&&(yr.dndKit={capturedBy:Ft.sensor},A.current=qn,Vi(or,Ft))},[P,Vi]),ai=w9e(d,$n);O9e(d),Zs(()=>{pe&&S===El.Initializing&&C(El.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:nn}=j.current,{active:Ft,activatorEvent:or,collisions:qn,over:yr}=ye.current;if(!Ft||!or)return;const Or={active:Ft,activatorEvent:or,collisions:qn,delta:{x:In.x,y:In.y},over:yr};Ms.unstable_batchedUpdates(()=>{nn==null||nn(Or),b({type:"onDragMove",event:Or})})},[In.x,In.y]),L.useEffect(()=>{const{active:nn,activatorEvent:Ft,collisions:or,droppableContainers:qn,scrollAdjustedTranslate:yr}=ye.current;if(!nn||A.current==null||!Ft||!yr)return;const{onDragOver:Or}=j.current,kr=qn.get(mn),co=kr&&kr.rect.current?{id:kr.id,rect:kr.rect.current,data:kr.data,disabled:kr.disabled}:null,Ir={active:nn,activatorEvent:Ft,collisions:or,delta:{x:yr.x,y:yr.y},over:co};Ms.unstable_batchedUpdates(()=>{Rr(co),Or==null||Or(Ir),b({type:"onDragOver",event:Ir})})},[mn]),Zs(()=>{ye.current={activatorEvent:U,active:B,activeNode:le,collisionRect:gn,collisions:ir,droppableRects:ee,draggableNodes:P,draggingNode:Ae,draggingNodeRect:vt,droppableContainers:O,over:Zt,scrollableAncestors:qt,scrollAdjustedTranslate:In},V.current={initial:vt,translated:gn}},[B,le,ir,gn,P,Ae,vt,ee,O,Zt,qt,In]),v9e({...ne,delta:k,draggingRect:gn,pointerCoordinates:un,scrollableAncestors:qt,scrollableAncestorRects:ht});const ra=L.useMemo(()=>({active:B,activeNode:le,activeNodeRect:pe,activatorEvent:U,collisions:ir,containerNodeRect:ve,dragOverlay:Fe,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Zt,measureDroppableContainers:ie,scrollableAncestors:qt,scrollableAncestorRects:ht,measuringConfiguration:Z,measuringScheduled:se,windowRect:rr}),[B,le,pe,U,ir,ve,Fe,P,O,ee,Zt,ie,qt,ht,Z,se,rr]),uo=L.useMemo(()=>({activatorEvent:U,activators:ai,active:B,activeNodeRect:pe,ariaDescribedById:{draggable:G},dispatch:_,draggableNodes:P,over:Zt,measureDroppableContainers:ie}),[U,ai,B,pe,_,G,P,Zt,ie]);return jt.createElement(pG.Provider,{value:y},jt.createElement(ny.Provider,{value:uo},jt.createElement(IG.Provider,{value:ra},jt.createElement(E2.Provider,{value:si},u)),jt.createElement(B9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),jt.createElement(z8e,{...a,hiddenTextDescribedById:G}));function ia(){const nn=(N==null?void 0:N.autoScrollEnabled)===!1,Ft=typeof l=="object"?l.enabled===!1:l===!1,or=T&&!nn&&!Ft;return typeof l=="object"?{...l,enabled:or}:{enabled:or}}}),j9e=L.createContext(null),N7="button",G9e="Droppable";function H9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=C2(G9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:h}=L.useContext(ny),{role:g=N7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?E2:j9e),[b,y]=k_(),[S,C]=k_(),T=k9e(s,t),E=am(n);Zs(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===N7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:h,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function W9e(){return L.useContext(IG)}const q9e="Droppable",K9e={timeout:25};function X9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=C2(q9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(ny),d=L.useRef({disabled:n}),f=L.useRef(!1),h=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...K9e,...i},_=am(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=T2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=k_(S),E=am(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),Zs(()=>(a({type:fr.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:h,data:E}}),()=>a({type:fr.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:fr.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:h,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function Y9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=I_(n);return!n&&!r&&a&&i(a),Zs(()=>{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]),jt.createElement(jt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const Q9e={x:0,y:0,scaleX:1,scaleY:1};function Z9e(e){let{children:t}=e;return jt.createElement(ny.Provider,{value:kG},jt.createElement(E2.Provider,{value:Q9e},t))}const J9e={position:"fixed",touchAction:"none"},eRe=e=>LA(e)?"transform 250ms ease":void 0,tRe=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=eRe}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},h={...J9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:um.Transform.toString(f),transformOrigin:i&&r?G8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return jt.createElement(n,{className:s,style:h,ref:t},o)}),nRe=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)}},rRe=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:um.Transform.toString(t)},{transform:um.Transform.toString(n)}]},iRe={duration:250,easing:"ease",keyframes:rRe,sideEffects:nRe({styles:{active:{opacity:"0"}}})};function oRe(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return x2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=OG(s);if(!u)return;const{transform:d}=xi(s).getComputedStyle(s),f=mG(d);if(!f)return;const h=typeof t=="function"?t:sRe(t);return xG(l,i.draggable.measure),h({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:f})})}function sRe(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...iRe,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={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},h={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:h}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let L7=0;function aRe(e){return L.useMemo(()=>{if(e!=null)return L7++,L7},[e])}const lRe=jt.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:d,active:f,activeNodeRect:h,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=W9e(),T=L.useContext(E2),E=aRe(f==null?void 0:f.id),P=MG(s,{activatorEvent:d,active:f,activeNodeRect:h,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=BA(h),O=oRe({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return jt.createElement(Z9e,null,jt.createElement(Y9e,{animation:O},f&&E?jt.createElement(tRe,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),uRe=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=lm(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},cRe=()=>Q$(),JMe=j$,lv=28,D7={w:lv,h:lv,maxW:lv,maxH:lv,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},dRe=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 ue.jsx(kA,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(OA,{sx:{...D7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(IA,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...D7},children:[ue.jsx(i4,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(i4,{size:"sm",children:"Images"})]}):null},fRe=L.memo(dRe);function eNe(e){return X9e(e)}function tNe(e){return H9e(e)}const nNe=(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_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function hRe(e){return ue.jsx(V9e,{...e})}const pRe=e=>{const[t,n]=L.useState(null),r=ke("images"),i=cRe(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var h;r.trace({dragData:d.active.data.current},"Drag ended");const f=(h=d.over)==null?void 0:h.data.current;!t||!f||(i(iz({overData:f,activeData:t})),n(null))},[t,i,r]),a=T7(AG,{activationConstraint:{distance:10}}),l=T7(PG,{activationConstraint:{distance:10}}),u=V8e(a,l);return ue.jsxs(hRe,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:Z8e,children:[e.children,ue.jsx(lRe,{dropAnimation:null,modifiers:[uRe],children:ue.jsx(QPe,{children:t&&ue.jsx(jPe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(fRe,{dragData:t})},"overlay-drag-image")})})]})},gRe=L.memo(pRe),mRe=L.lazy(()=>QN(()=>import("./App-7d912410.js"),["./App-7d912410.js","./menu-971c0572.js","./App-6125620a.css"],import.meta.url)),yRe=L.lazy(()=>QN(()=>import("./ThemeLocaleProvider-bc3e6f20.js"),["./ThemeLocaleProvider-bc3e6f20.js","./menu-971c0572.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),vRe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Dg.set(t),e&&$g.set(e),o&&N1.set(o),HU(),i&&i.length>0?d5(Yk(),...i):d5(Yk()),()=>{$g.set(void 0),Dg.set(void 0),N1.set(void 0)}),[e,t,i,o]),ue.jsx(jt.StrictMode,{children:ue.jsx(Fde,{store:u3e,children:ue.jsx(jt.Suspense,{fallback:ue.jsx(o8e,{}),children:ue.jsx(yRe,{children:ue.jsx(gRe,{children:ue.jsx(mRe,{config:n,headerComponent:r})})})})})})),_Re=L.memo(vRe);PC.createRoot(document.getElementById("root")).render(ue.jsx(_Re,{}));export{KMe as $,L as A,ue as B,$o as C,Gn as D,mf as E,ii as F,rs as G,fme as H,Bi as I,Hl as J,Rs as K,i7e as L,CB as M,Ame as N,rye as O,gme as P,wpe as Q,Uf as R,Cg as S,G5e as T,zc as U,Cc as V,EV as W,FMe as X,LMe as Y,QPe as Z,jPe as _,VL as a,dQ as a$,MV as a0,iG as a1,$V as a2,DMe as a3,$Me as a4,j5e as a5,V5e as a6,BMe as a7,Ju as a8,Tc as a9,IA as aA,i4 as aB,OMe as aC,Kz as aD,_Ie as aE,R5e as aF,oA as aG,_V as aH,k5e as aI,Ms as aJ,HP as aK,sA as aL,Y7e as aM,sIe as aN,SIe as aO,wIe as aP,JIe as aQ,QIe as aR,Hu as aS,D_e as aT,JU as aU,M7e as aV,YIe as aW,nE as aX,OE as aY,eR as aZ,Cke as a_,U1 as aa,ZJ as ab,jt as ac,mTe as ad,qMe as ae,La as af,CV as ag,$6e as ah,VMe as ai,z5 as aj,NMe as ak,WMe as al,mi as am,PE as an,gb as ao,JMe as ap,s7e as aq,Bm as ar,oU as as,kU as at,fS as au,cRe as av,$7e as aw,Yn as ax,lc as ay,kA as az,CT as b,k7e as b$,xRe as b0,SRe as b1,wRe as b2,Ze as b3,dIe as b4,PIe as b5,AIe as b6,uIe as b7,XIe as b8,ZCe as b9,DRe as bA,lOe as bB,MRe as bC,YRe as bD,BRe as bE,mbe as bF,NRe as bG,oOe as bH,IRe as bI,hOe as bJ,$Re as bK,QRe as bL,FRe as bM,ZRe as bN,jRe as bO,eOe as bP,gbe as bQ,URe as bR,kO as bS,E7e as bT,A7e as bU,P7e as bV,GRe as bW,R7e as bX,HRe as bY,O7e as bZ,WRe as b_,eNe as ba,nNe as bb,WIe as bc,aIe as bd,lIe as be,gIe as bf,W3 as bg,cIe as bh,OA as bi,r8e as bj,NOe as bk,Ml as bl,T0 as bm,HIe as bn,jIe as bo,KIe as bp,GIe as bq,bRe as br,PRe as bs,RRe as bt,ORe as bu,kRe as bv,rOe as bw,iOe as bx,w7e as by,x7e as bz,Kte as c,kd as c$,Me as c0,mIe as c1,Efe as c2,T$ as c3,fke as c4,b$ as c5,ZIe as c6,tNe as c7,MMe as c8,rz as c9,D1e as cA,OOe as cB,FOe as cC,H7e as cD,que as cE,o7e as cF,D7e as cG,FT as cH,VIe as cI,BIe as cJ,UIe as cK,zIe as cL,t7e as cM,n7e as cN,$F as cO,aMe as cP,gc as cQ,CRe as cR,e7e as cS,DT as cT,ke as cU,VRe as cV,sMe as cW,PR as cX,NIe as cY,eE as cZ,vfe as c_,hIe as ca,j1 as cb,qIe as cc,pIe as cd,tR as ce,G1 as cf,RMe as cg,nMe as ch,IOe as ci,Z7e as cj,fIe as ck,bIe as cl,tE as cm,BT as cn,LRe as co,BOe as cp,oi as cq,j7e as cr,J7e as cs,Q7e as ct,p_e as cu,V7e as cv,W7e as cw,q7e as cx,Gue as cy,L1e as cz,Dae as d,bMe as d$,RR as d0,LIe as d1,DIe as d2,$Ie as d3,_fe as d4,FIe as d5,RF as d6,kIe as d7,MIe as d8,RIe as d9,uMe as dA,m$ as dB,TOe as dC,Hue as dD,Ns as dE,JRe as dF,cOe as dG,ARe as dH,Ale as dI,fOe as dJ,T7e as dK,EOe as dL,S7e as dM,ASe as dN,POe as dO,we as dP,Yi as dQ,Cn as dR,Gs as dS,rMe as dT,xOe as dU,Ele as dV,SOe as dW,wOe as dX,vOe as dY,_Oe as dZ,yOe as d_,NCe as da,QO as db,OIe as dc,COe as dd,pOe as de,bOe as df,nOe as dg,F7e as dh,Oc as di,U7e as dj,Aa as dk,CSe as dl,qRe as dm,zm as dn,lMe as dp,C7e as dq,iMe as dr,TMe as ds,h$ as dt,vMe as du,f1e as dv,tOe as dw,p$ as dx,oMe as dy,$ue as dz,VD as e,nke as e$,hMe as e0,X7e as e1,fMe as e2,CMe as e3,_Me as e4,K7e as e5,gMe as e6,pMe as e7,cMe as e8,yMe as e9,a7e as eA,l7e as eB,d7e as eC,c7e as eD,f7e as eE,y7e as eF,e0e as eG,rU as eH,jue as eI,gOe as eJ,qOe as eK,yke as eL,nIe as eM,sOe as eN,aOe as eO,gke as eP,vke as eQ,hz as eR,MQ as eS,ft as eT,kke as eU,Yke as eV,Xke as eW,cke as eX,Uke as eY,Zke as eZ,G_e as e_,ERe as ea,dMe as eb,mMe as ec,TRe as ed,qB as ee,LT as ef,SMe as eg,e_ as eh,Ue as ei,wMe as ej,NU as ek,zRe as el,xMe as em,j$ as en,Q$ as eo,b7e as ep,h7e as eq,p7e as er,g7e as es,xE as et,v7e as eu,_7e as ev,qg as ew,mb as ex,u7e as ey,e3e as ez,YL as f,PMe as f$,Eke as f0,mp as f1,wke as f2,rke as f3,gS as f4,Tke as f5,JOe as f6,xke as f7,eke as f8,ske as f9,Ske as fA,hke as fB,Mke as fC,Bke as fD,Nke as fE,uke as fF,tke as fG,Wke as fH,Hke as fI,$ke as fJ,Lke as fK,Dke as fL,rIe as fM,jke as fN,iIe as fO,bke as fP,_ke as fQ,ZOe as fR,QOe as fS,tIe as fT,dke as fU,V_e as fV,B_e as fW,U_e as fX,z_e as fY,WOe as fZ,AOe as f_,jOe as fa,VOe as fb,zOe as fc,Qke as fd,w$ as fe,Dg as ff,KOe as fg,XOe as fh,YOe as fi,Kke as fj,lke as fk,ake as fl,dce as fm,qke as fn,j_e as fo,ike as fp,OCe as fq,MCe as fr,pke as fs,Ike as ft,Oke as fu,Ake as fv,GOe as fw,HOe as fx,eMe as fy,tMe as fz,Rae as g,MOe as g0,y$ as g1,DOe as g2,LOe as g3,$Oe as g4,Cle as g5,N_e as g6,IMe as g7,TV as g8,HMe as g9,jMe as ga,UMe as gb,GMe as gc,Us as gd,zMe as ge,kMe as gf,pTe as gg,sTe as gh,XMe as gi,QMe as gj,ZMe as gk,oD as h,vi as i,Jf as j,hb as k,Er as l,fb as m,Tm as n,ps as o,gu as p,cb as q,Js as r,Am as s,vx as t,bT as u,KL as v,PT as w,LD as x,QL as y,Sle as z}; diff --git a/invokeai/frontend/web/dist/assets/index-deaa1f26.js b/invokeai/frontend/web/dist/assets/index-deaa1f26.js deleted file mode 100644 index 8fd9ea5a60..0000000000 --- a/invokeai/frontend/web/dist/assets/index-deaa1f26.js +++ /dev/null @@ -1,151 +0,0 @@ -function b7(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 He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function WY(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):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 S7={exports:{}},x_={},w7={exports:{}},ft={};/** - * @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 Yg=Symbol.for("react.element"),qY=Symbol.for("react.portal"),KY=Symbol.for("react.fragment"),XY=Symbol.for("react.strict_mode"),YY=Symbol.for("react.profiler"),QY=Symbol.for("react.provider"),ZY=Symbol.for("react.context"),JY=Symbol.for("react.forward_ref"),eQ=Symbol.for("react.suspense"),tQ=Symbol.for("react.memo"),nQ=Symbol.for("react.lazy"),TP=Symbol.iterator;function rQ(e){return e===null||typeof e!="object"?null:(e=TP&&e[TP]||e["@@iterator"],typeof e=="function"?e:null)}var x7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C7=Object.assign,T7={};function Lf(e,t,n){this.props=e,this.context=t,this.refs=T7,this.updater=n||x7}Lf.prototype.isReactComponent={};Lf.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")};Lf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function E7(){}E7.prototype=Lf.prototype;function Q5(e,t,n){this.props=e,this.context=t,this.refs=T7,this.updater=n||x7}var Z5=Q5.prototype=new E7;Z5.constructor=Q5;C7(Z5,Lf.prototype);Z5.isPureReactComponent=!0;var EP=Array.isArray,A7=Object.prototype.hasOwnProperty,J5={current:null},P7={key:!0,ref:!0,__self:!0,__source:!0};function R7(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)A7.call(t,r)&&!P7.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=D[q];if(0>>1;qi(se,j))lei(W,se)?(D[q]=W,D[le]=j,q=le):(D[q]=se,D[ie]=j,q=ie);else if(lei(W,j))D[q]=W,D[le]=j,q=le;else break e}}return V}function i(D,V){var j=D.sortIndex-V.sortIndex;return j!==0?j:D.id-V.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=[],d=1,f=null,p=3,g=!1,m=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var V=n(u);V!==null;){if(V.callback===null)r(u);else if(V.startTime<=D)r(u),V.sortIndex=V.expirationTime,t(l,V);else break;V=n(u)}}function S(D){if(v=!1,y(D),!m)if(n(l)!==null)m=!0,F(C);else{var V=n(u);V!==null&&B(S,V.startTime-D)}}function C(D,V){m=!1,v&&(v=!1,_(P),P=-1),g=!0;var j=p;try{for(y(V),f=n(l);f!==null&&(!(f.expirationTime>V)||D&&!M());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var Z=q(f.expirationTime<=V);V=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),y(V)}else r(l);f=n(l)}if(f!==null)var ee=!0;else{var ie=n(u);ie!==null&&B(S,ie.startTime-V),ee=!1}return ee}finally{f=null,p=j,g=!1}}var T=!1,E=null,P=-1,k=5,O=-1;function M(){return!(e.unstable_now()-OD||125q?(D.sortIndex=j,t(u,D),n(l)===null&&D===n(u)&&(v?(_(P),P=-1):v=!0,B(S,j-q))):(D.sortIndex=Z,t(l,D),m||g||(m=!0,F(C))),D},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(D){var V=p;return function(){var j=p;p=V;try{return D.apply(this,arguments)}finally{p=j}}}})(M7);I7.exports=M7;var pQ=I7.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 N7=L,Wi=pQ;function ge(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"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,RP={},OP={};function mQ(e){return mC.call(OP,e)?!0:mC.call(RP,e)?!1:gQ.test(e)?OP[e]=!0:(RP[e]=!0,!1)}function yQ(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 vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(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 di(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 kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new di(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new di(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new di(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new di(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){kr[e]=new di(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new di(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new di(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new di(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new di(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(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(t4,n4);kr[t]=new di(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(t4,n4);kr[t]=new di(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(t4,n4);kr[t]=new di(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new di(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new di("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new di(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[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{Pw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function _Q(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Rw(e.type,!1),e;case 11:return e=Rw(e.type.render,!1),e;case 1:return e=Rw(e.type,!0),e;default:return""}}function bC(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 Cd:return"Fragment";case xd:return"Portal";case yC:return"Profiler";case i4:return"StrictMode";case vC:return"Suspense";case _C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $7:return(e.displayName||"Context")+".Consumer";case D7:return(e._context.displayName||"Context")+".Provider";case o4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case s4:return t=e.displayName||null,t!==null?t:bC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return bC(e(t))}catch{}}return null}function bQ(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 bC(t);case 8:return t===i4?"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 Dl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function B7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SQ(e){var t=B7(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 Yy(e){e._valueTracker||(e._valueTracker=SQ(e))}function U7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=B7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(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 SC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function IP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Dl(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 z7(e,t){t=t.checked,t!=null&&r4(e,"checked",t,!1)}function wC(e,t){z7(e,t);var n=Dl(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")?xC(e,t.type,n):t.hasOwnProperty("defaultValue")&&xC(e,t.type,Dl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function MP(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 xC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},wQ=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){wQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function H7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function W7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=H7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var xQ=bn({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 EC(e,t){if(t){if(xQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function AC(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 PC=null;function a4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var RC=null,Vd=null,jd=null;function DP(e){if(e=Jg(e)){if(typeof RC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),RC(e.stateNode,e.type,t))}}function q7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function K7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,DP(e),t)for(e=0;e>>=0,e===0?32:31-(NQ(e)/LQ|0)|0}var Zy=64,Jy=4194304;function lp(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 $v(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=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(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 Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wo(t),e[t]=n}function BQ(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=vp),HP=String.fromCharCode(32),WP=!1;function pM(e,t){switch(e){case"keyup":return hZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function gZ(e,t){switch(e){case"compositionend":return gM(t);case"keypress":return t.which!==32?null:(WP=!0,HP);case"textInput":return e=t.data,e===HP&&WP?null:e;default:return null}}function mZ(e,t){if(Td)return e==="compositionend"||!g4&&pM(e,t)?(e=fM(),J0=f4=vl=null,Td=!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=YP(n)}}function _M(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_M(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function m4(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 TZ(e){var t=bM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&_M(n.ownerDocument.documentElement,n)){if(r!==null&&m4(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=QP(n,o);var s=QP(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,Ed=null,LC=null,bp=null,DC=!1;function ZP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;DC||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&m4(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}),bp&&Gp(bp,r)||(bp=r,r=Uv(LC,"onSelect"),0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var $l={},Hr=Ql($l),Ti=Ql(!1),Xu=$l;function df(e,t){var n=e.type.contextTypes;if(!n)return $l;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 Ei(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ti),rn(Hr)}function o8(e,t,n){if(Hr.current!==$l)throw Error(ge(168));Zt(Hr,t),Zt(Ti,n)}function RM(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(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$l,Xu=Hr.current,Zt(Hr,e),Zt(Ti,Ti.current),!0}function s8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ti),rn(Hr),Zt(Hr,e)):rn(Ti),Zt(Ti,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&h8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(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 Gw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Rl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Rl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(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,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:g8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:p8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=p8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,g8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,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[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(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=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(v4(t),t.tag){case 1:return Ei(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ti),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var C8=!1;function JZ(e,t){if($C=Fv,e=bM(),m4(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,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!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 m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=C8,C8=!1,m}function wp(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&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(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 t3(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 yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function T8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(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 n3(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=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(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(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(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)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function E8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=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;lMn()-D4?zu(e,0):L4|=n),Ai(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ai(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(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(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ti.current)wi=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return wi=!1,XZ(e,t,n);wi=!!(e.flags&131072)}else wi=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();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,Ei(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=S8(null,t,r,e,n);break e;case 11:t=_8(null,t,r,e,n);break e;case 14:t=b8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),S8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(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=gf(Error(ge(423)),t),t=w8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=w8(e,t,r,n,i);break e}else for(ji=El(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),_8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(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,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ti.current){t=Pa(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=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(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(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(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}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),b8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ei(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Ol(e,t){var n=e.alternate;return n===null?(n=vo(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 av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case i4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Q9e=dc(bs);var N8=bs;gC.createRoot=N8.createRoot,gC.hydrateRoot=N8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},L8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in L8)return;L8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(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})};function hr(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:B_(e)?2:U_(e)?3:0}function kl(e,t){return Fl(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return Fl(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=Fl(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function K4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function D8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Pi(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return $8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return $8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function $8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!kl(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Pi(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function F8(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 Si(e){e.P||(e.P=!0,e.l&&Si(e.l))}function tx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Pi(n))return n;var r,i=n[Xe],o=Fl(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=B8(n,o),i.I=!1}else r=B8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function B8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){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[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&Si(a);break;case 4:n(a)&&Si(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!kl(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?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?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Pi(i)){var d=D8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=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=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Z4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Z9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:X4,enableMapSet:$N,enablePatches:Y4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Pi,nothing:V_,original:H4,produce:UN,produceWithPatches:Z4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=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},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V8(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 j8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function H8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return H8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=H8(i,t))}return n}function vf(){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 s1}function i(a,l){r(a)===s1&&(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 jN=function(t,n){return t===n};function BJ(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(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(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 nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Bl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Pi(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(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:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=xi(xi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",J8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:J8&&J8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function NL(e,t,n){if(!li(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(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&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const pT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=pT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(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:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function gT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return gT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=gT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(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 bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",I9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=I9.lastIndex=0;I9.test(e);)++t;return t}function Hae(e){return gT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function bT(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/vT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return vT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,tRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},nRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"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]}},rRe={lycoris:"LyCORIS",diffusers:"Diffusers"},iRe=0,lle=4294967295;var wt;(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})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.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"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo 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()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.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}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.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 me.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 me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=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}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{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 je;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 Wr.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 je;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 je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),ui=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{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 M9=(e,t)=>{if(p1(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 Xo(e.common.issues);return this._error=n,this._error}}};function Qe(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 tt{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 ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(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:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return M9(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:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return M9(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:me.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 ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([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,mle=/^(([^<>()[\]\\.,;:\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,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((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}))$/,_le=/^(([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})))$/,ble=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 Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.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,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.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 Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(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 zl extends tt{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)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.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),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.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"&&wt.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 zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{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)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.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),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.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 Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return ui(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.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 nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return ui(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return ui(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return ui(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return ui(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ui(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return ui(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.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 Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{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=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.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 d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...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=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_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 Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}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},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,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 Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;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}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}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=cv(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 ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};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}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.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 Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{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!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(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,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.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 d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?ui(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):ui((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{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})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return ui(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 jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return ui(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return ui(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.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=>{Te(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"?je:(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"?je:(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(!p1(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=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?ui(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?ui(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_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 g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_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 hm extends tt{_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"?je:o.status==="dirty"?(n.dirty(),jD(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"?je: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 hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.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})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(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"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,N9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:ui,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:N9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:N9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),oRe=e=>aue.safeParse(e).success,lue=xt.string(),sRe=e=>lue.safeParse(e).success,uue=xt.string(),aRe=e=>uue.safeParse(e).success,cue=xt.string(),lRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),uRe=e=>due.safeParse(e).success,fue=xt.number().min(1),cRe=e=>fue.safeParse(e).success,hue=xt.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"]),dRe=e=>hue.safeParse(e).success,fRe={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"},pue=xt.number().int().min(0).max(lle),hRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),pRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),gRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),ST=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),mRe=e=>ST.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),yRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([ST,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_Re=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),bRe=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),SRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),wRe=e=>Sue.safeParse(e).success,Da={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},wue=Da,ZD=yn({name:"generation",initialState:wue,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=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(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,...Da}),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}=ale[e.model.base_model];e.clipSkip=bl(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=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(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=ST.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:xRe,clearInitialImage:wT,resetParametersState:CRe,resetSeed:TRe,setCfgScale:ERe,setWidth:ARe,setHeight:PRe,toggleSize:RRe,setImg2imgStrength:ORe,setInfillMethod:xue,setIterations:kRe,setPerlin:IRe,setPositivePrompt:MRe,setNegativePrompt:NRe,setScheduler:LRe,setSeamBlur:DRe,setSeamSize:$Re,setSeamSteps:FRe,setSeamStrength:BRe,setSeed:URe,setSeedWeights:zRe,setShouldFitToWidthHeight:VRe,setShouldGenerateVariations:jRe,setShouldRandomizeSeed:GRe,setSteps:HRe,setThreshold:WRe,setTileSize:qRe,setVariationAmount:KRe,setShouldUseSymmetry:XRe,setHorizontalSymmetrySteps:YRe,setVerticalSymmetrySteps:QRe,initialImageChanged:ob,modelChanged:Sl,vaeSelected:JD,setShouldUseNoiseSettings:ZRe,setSeamlessXAxis:JRe,setSeamlessYAxis:eOe,setClipSkip:tOe,shouldUseCpuNoiseChanged:nOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:rOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],L9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={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:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{L9(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(ob,t=>{L9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:iOe,setShouldShowParametersPanel:oOe,setShouldShowImageDetails:sOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:aOe,setShouldUseSliders:lOe,setShouldHidePreview:uOe,setShouldShowGallery:cOe,togglePanels:dOe,togglePinGalleryPanel:fOe,togglePinParametersPanel:hOe,toggleParametersPanel:pOe,toggleGalleryPanel:gOe,setShouldShowProgressInViewer:mOe,favoriteSchedulersChanged:yOe,toggleEmbeddingPicker:vOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(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=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=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+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,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[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(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=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(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 $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${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 Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}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 Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Ul("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.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}),Uue=e=>li(e)&&"status"in e,zue=e=>li(e)&&"detail"in e,mm=Ul("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.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){if(Uue(o)&&o.status===403)return t({arg:e,status:s.status,error:o.body.detail});if(zue(o)&&s.status===403)return t({arg:e,status:s.status,error:o.detail});if(o)return t({arg:e,status:s.status,error:o})}}),mc=Ul("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.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});Ul("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(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}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},_Oe=.999,bOe=.1,SOe=20,zh=.95,wOe=30,xOe=10,D9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=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=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},Vue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),COe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],TOe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",EOe=e=>e.kind==="line"&&e.layer==="base",$9=e=>e.kind==="image"&&e.layer==="base",AOe=e=>e.kind==="fillRect"&&e.layer==="base",POe=e=>e.kind==="eraseRect"&&e.layer==="base",jue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={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:vd,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"},a$=yn({name:"canvas",initialState:s$,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(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(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:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Vue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(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=D9(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(Ur(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(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(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(Ur(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(Ur(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(jue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(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(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find($9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=D9(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($9)){const i=nd(r.width,r.height,512,512,zh),o=td(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=bu(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 d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},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(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.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:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(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(Ur(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(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:ROe,addFillRect:OOe,addImageToStagingArea:Gue,addLine:kOe,addPointToCurrentLine:IOe,clearCanvasHistory:MOe,clearMask:NOe,commitColorPickerColor:LOe,commitStagingAreaImage:Hue,discardStagedImages:DOe,fitBoundingBoxToStage:$Oe,mouseLeftCanvas:FOe,nextStagingAreaImage:BOe,prevStagingAreaImage:UOe,redo:zOe,resetCanvas:xT,resetCanvasInteractionState:VOe,resetCanvasView:jOe,resizeAndScaleCanvas:GOe,resizeCanvas:HOe,setBoundingBoxCoordinates:WOe,setBoundingBoxDimensions:qOe,setBoundingBoxPreviewFill:KOe,setBoundingBoxScaleMethod:XOe,flipBoundingBoxAxes:YOe,setBrushColor:QOe,setBrushSize:ZOe,setCanvasContainerDimensions:JOe,setColorPickerColor:eke,setCursorPosition:tke,setDoesCanvasNeedScaling:nke,setInitialCanvasImage:l$,setIsDrawing:rke,setIsMaskEnabled:ike,setIsMouseOverBoundingBox:oke,setIsMoveBoundingBoxKeyHeld:ske,setIsMoveStageKeyHeld:ake,setIsMovingBoundingBox:lke,setIsMovingStage:uke,setIsTransformingBoundingBox:cke,setLayer:dke,setMaskColor:fke,setMergedCanvas:Wue,setShouldAutoSave:hke,setShouldCropToBoundingBoxOnSave:pke,setShouldDarkenOutsideBoundingBox:gke,setShouldLockBoundingBox:mke,setShouldPreserveMaskedArea:yke,setShouldShowBoundingBox:vke,setShouldShowBrush:_ke,setShouldShowBrushPreview:bke,setShouldShowCanvasDebugInfo:Ske,setShouldShowCheckboardTransparency:wke,setShouldShowGrid:xke,setShouldShowIntermediates:Cke,setShouldShowStagingImage:Tke,setShouldShowStagingOutline:Eke,setShouldSnapToGrid:Ake,setStageCoordinates:Pke,setStageScale:Rke,setTool:Oke,toggleShouldLockBoundingBox:kke,toggleTool:Ike,undo:Mke,setScaledBoundingBoxDimensions:Nke,setShouldRestrictStrokesToBox:Lke,stagingAreaInitialized:que,canvasSessionIdChanged:Kue,setShouldAntialias:Dke}=a$.actions,Xue=a$.reducer,Vr=["general"],wl=["control","mask","user","other"],Yue=100,F9=20;var w1={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",pi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,x6=sr&&sr.isRegExp,C6=sr&&sr.isSet,T6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function M6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function N6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return gi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return mA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:LA(c),!X)return te?cW(c,MH(K,c)):uW(c,W6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),cP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):lP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?yi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return q6(w,c,h)}}function q6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function K6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:fP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=wA(),Q6=wA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Q6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function lA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(V6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw(FA(c,h,vi),c+"")}function JH(c){return H6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var gA=HG||function(c){return qe.clearTimeout(c)};function mA(c,h){if(h)return c.slice();var w=c.length,R=$6?$6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function yA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function vA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function _A(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function TA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ -/* [wrapped with `+h+`] */ -`)}function CW(c){return Ge(c)||_u(c)||!!(U6&&c&&c[U6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,YA(c,w)});function QA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return QA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=dP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=GA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return hA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?E6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:Y6;return w(c,De(h,3))}var qq=CA(HA),Kq=CA(WA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function ZA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function JA(c,h){var w=Ge(c)?mG:X6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=mi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=mi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:nA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),sA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:O6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:O6,I=arguments.length<3;return R(c,De(h,4),w,I,X6)}function sK(c,h){var w=Ge(c)?Wa:Y6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?H6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(mi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),sA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function eP(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function tP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),nP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(nP));R|=C}return Xs(h,R,c,w,I)});function rP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=iP.placeholder,R}function oP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,CP=h-No;return he?Lr(CP,z-ea):CP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&gA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return gA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return K6(c,1,h)}),gK=et(function(c,h,w){return K6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return tP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=J6(function(){return arguments}())?J6:function(c){return xn(c)&&Nt.call(c,"callee")&&!B6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function mi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&mi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(mi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&z6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function aP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var lP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return uP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return eA(c)}function HK(c){return c===null}function WK(c){return c==null}function uP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=x6?Li(x6):HH;function qK(c){return aP(c)&&c>=-D&&c<=D}var cP=C6?Li(C6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=T6?Li(T6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==pi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function dP(c){if(!c)return[];if(mi(c))return Wy(c)?ko(c):gi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function fP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=k6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function hP(c){return ls(c,yi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||mi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),pP=Xc(function(c,h){ls(h,yi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,yi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:W6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return mP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function mP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),aA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=V6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?_P(h):h)});function _P(c){return _w(It(c).toLowerCase())}function bP(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=xA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,OA);var I=qy({},h.imports,R.imports,OA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` -`;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,AG),st&&(X=!0,he+=`' + -__e(`+st+`) + -'`),ei&&(te=!0,he+=`'; -`+ei+`; -__p += '`),ht&&(he+=`' + -((__t = (`+ht+`)) == null ? '' : __t) + -'`),ce=Bi+Fe.length,Fe}),he+=`'; -`;var $e=Nt.call(h,"variable")&&h.variable;if(!$e)he=`with (obj) { -`+he+` -} -`;else if(Jf.test($e))throw new Ve(a);he=(te?he.replace(Vs,""):he).replace(Ji,"$1").replace(js,"$1;"),he="function("+($e||"obj")+`) { -`+($e?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+he+`return __p -}`;var Ze=wP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return k6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=I6(R,I),K=M6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,L6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=M6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=xA("toUpperCase");function SP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var wP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Que=w1.exports,x1=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(d){return l([u,d])}}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 ace(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var V9=Jo;function d$(e,t){if(e===t||!(V9(e)&&V9(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},uce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function G9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===j9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??lce:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=U9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(G9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(G9(B)),U+=ne+fe),U=oce(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var H9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),CT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),TT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function dce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return fce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function fce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function hce(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,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){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 g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(ux)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(ux)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(ux)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function W9(e){return e}function pce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Pi(O.data)){var G=Z4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=W9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new H9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Du]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof H9))return[3,12];j=W9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Du]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Ul(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Ul(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function q9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function gce(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,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Fce:$ce;_$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Bce;v$.exports=_$;var Uce=v$.exports,b$={exports:{}},S$={};/** - * @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 ab=L,zce=Uce;function Vce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var jce=typeof Object.is=="function"?Object.is:Vce,Gce=zce.useSyncExternalStore,Hce=ab.useRef,Wce=ab.useEffect,qce=ab.useMemo,Kce=ab.useDebugValue;S$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Hce(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=qce(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,jce(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,i]);var a=Gce(e,o[0],o[1]);return Wce(function(){s.hasValue=!0,s.value=a},[a]),Kce(a),a};b$.exports=S$;var w$=b$.exports;const Xce=dc(w$);function Yce(e){e()}let x$=Yce;const Qce=e=>x$=e,Zce=()=>x$,eR=Symbol.for(`react-redux-context-${L.version}`),tR=globalThis;function Jce(){let e=tR[eR];return e||(e=L.createContext(null),tR[eR]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Jce();return(r,...i)=>Reflect[t](n,...i)}}));function ET(e=Gl){return function(){return L.useContext(e)}}const C$=ET(),ede=()=>{throw new Error("uSES not initialized!")};let T$=ede;const tde=e=>{T$=e},nde=(e,t)=>e===t;function rde(e=Gl){const t=e===Gl?C$:ET(e);return function(r,i={}){const{equalityFn:o=nde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=rde();function A1(){return A1=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 nR={notify(){},get:()=>[]};function gde(e,t){let n,r=nR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=pde())}function u(){n&&(n(),n=void 0,r.clear(),r=nR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const mde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",yde=mde?L.useLayoutEffect:L.useEffect;function rR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(rR(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=gde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);yde(()=>{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||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:ET(e);return function(){const{store:r}=t();return r}}const M$=I$();function _de(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=_de();tde(w$.useSyncExternalStoreWithSelector);Qce(bs.unstable_batchedUpdates);var bde=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return cce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Lde({baseQuery:$de,reducerPath:"api",tagTypes:Dde,endpoints:()=>({})}),Fde=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,Gde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Hde(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,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(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,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(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?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Wde(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&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(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 $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?Gde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?zde(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function qde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function uR(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 IT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function MT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Wde(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]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(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]=uR(a,t);else r[i]=uR(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]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&jde(e[s])||t.skipEmptyString&&e[s]==="",r=Hde(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?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:MT(IT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=IT(e.url),i={...MT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=qde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:Vde(i,t),fragmentIdentifier:o},n)}function Kde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:Kde,extract:IT,parse:MT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:wl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>Fde(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];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:Ke}];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}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,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:Bo({board_id:t??"none",categories:wl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),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}]})})}),{useListBoardsQuery:$ke,useListAllBoardsQuery:Fke,useGetBoardImagesTotalQuery:Bke,useGetBoardAssetsTotalQuery:Uke,useCreateBoardMutation:zke,useUpdateBoardMutation:Vke,useListAllImageNamesForBoardQuery:jke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},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;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${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={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Que.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${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(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${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(Se.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/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0: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(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{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(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:wl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{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:Vr},{categories:wl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}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:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=F9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=F9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:Gke,useListImagesQuery:Hke,useLazyListImagesQuery:Wke,useGetImageDTOQuery:qke,useGetImageMetadataQuery:Kke,useDeleteImageMutation:Xke,useDeleteImagesMutation:Yke,useUploadImageMutation:Qke,useClearIntermediatesMutation:Zke,useAddImagesToBoardMutation:Jke,useRemoveImagesFromBoardMutation:eIe,useAddImageToBoardMutation:tIe,useRemoveImageFromBoardMutation:nIe,useChangeImageIsIntermediateMutation:rIe,useChangeImageSessionIdMutation:iIe,useDeleteBoardAndImagesMutation:oIe,useDeleteBoardMutation:sIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),NT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),LT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),DT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Xde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Yde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),$T=Re("controlNet/imageProcessed"),_d={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"}}},b0={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"},cR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??cR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...cR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase($T,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(DT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:aIe,controlNetAdded:lIe,controlNetDuplicated:uIe,controlNetAddedFromImage:cIe,controlNetRemoved:fF,controlNetImageChanged:FT,controlNetProcessedImageChanged:Qde,controlNetToggled:dIe,controlNetModelChanged:dR,controlNetWeightChanged:fIe,controlNetBeginStepPctChanged:hIe,controlNetEndStepPctChanged:pIe,controlNetControlModeChanged:gIe,controlNetResizeModeChanged:mIe,controlNetProcessorParamsChanged:Zde,controlNetProcessorTypeChanged:Jde,controlNetReset:BT,controlNetAutoConfigToggled:fR}=dF.actions,efe=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},tfe=hF,pF=yn({name:"dynamicPrompts",initialState:tfe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:yIe,maxPromptsChanged:vIe,maxPromptsReset:_Ie,combinatorialToggled:bIe}=pF.actions,nfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(ife,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:SIe,autoAssignBoardOnClickChanged:wIe,setGalleryImageMinimumWidth:xIe,boardIdSelected:M3,autoAddBoardIdChanged:CIe,galleryViewChanged:k1,selectionChanged:TIe,shouldShowDeleteButtonChanged:EIe,boardSearchTextChanged:AIe}=mF.actions,rfe=mF.reducer,ife=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ofe={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ofe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:UT,imagesToDeleteSelected:sfe,imageDeletionCanceled:PIe}=yF.actions,afe=yF.reducer,lfe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:lfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:RIe,imagesToChangeSelected:OIe,changeBoardReset:kIe}=vF.actions,ufe=vF.reducer,hR={weight:.75},cfe={loras:{}},_F=yn({name:"lora",initialState:cfe,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,...hR}},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,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=hR.weight)}}}),{loraAdded:IIe,loraRemoved:bF,loraWeightChanged:MIe,loraWeightReset:NIe,lorasCleared:LIe}=_F.actions,dfe=_F.reducer;function Eo(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 d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},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},ffe=e=>e?pR(e):pR,{useSyncExternalStoreWithSelector:hfe}=Xce;function pfe(e,t=e.getState,n){const r=hfe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(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 Pb(){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}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=mfe(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)),mR.hasOwnProperty(t)?{space:mR[t],local:e}:e}function vfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function _fe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?_fe:vfe)(t)}function bfe(){}function zT(e){return e==null?bfe:function(){return this.querySelector(e)}}function Sfe(e){typeof e!="function"&&(e=zT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Wfe(e){e||(e=qfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function Kfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Xfe(){return Array.from(this)}function Yfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?ahe:typeof t=="function"?uhe:lhe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function dhe(e){return function(){delete this[e]}}function fhe(e,t){return function(){this[e]=t}}function hhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function phe(e,t){return arguments.length>1?this.each((t==null?dhe:typeof t=="function"?hhe:fhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function VT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.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 RF(e,t){for(var n=VT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Vhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){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:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Zhe(e){return!e.ctrlKey&&!e.button}function Jhe(){return this.parentNode}function epe(e,t){return t??{x:e.x,y:e.y}}function tpe(){return navigator.maxTouchPoints||"ontouchstart"in this}function npe(){var e=Zhe,t=Jhe,n=epe,r=tpe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Qhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(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=ipe.exec(e))?new Ci(t[1],t[2],t[3],1):(t=ope.exec(e))?new Ci(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=spe.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=ape.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=lpe.exec(e))?xR(t[1],t[2]/100,t[3]/100,1):(t=upe.exec(e))?xR(t[1],t[2]/100,t[3]/100,t[4]):yR.hasOwnProperty(e)?bR(yR[e]):e==="transparent"?new Ci(NaN,NaN,NaN,0):null}function bR(e){return new Ci(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new Ci(e,t,n,r)}function fpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new Ci(e.r,e.g,e.b,e.opacity)):new Ci}function D3(e,t,n,r){return arguments.length===1?fpe(e):new Ci(e,t,n,r??1)}function Ci(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}jT(Ci,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Ci(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Ci(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ci(Hu(this.r),Hu(this.g),Hu(this.b),N1(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:SR,formatHex:SR,formatHex8:hpe,formatRgb:wR,toString:wR}));function SR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function hpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function wR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function xR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)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 Go(s,a,l,e.opacity)}function ppe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}jT(Go,ppe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(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 Ci(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(CR(this.h),x0(this.s),x0(this.l),N1(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=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${CR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function CR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(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 $F=e=>()=>e;function gpe(e,t){return function(n){return e+n*t}}function mpe(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 ype(e){return(e=+e)==1?FF:function(t,n){return n-t?mpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?gpe(e,n):$F(isNaN(e)?t:e)}const TR=function e(t){var n=ype(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function vpe(e){return function(){return e}}function _pe(e){return function(t){return e(t)+""}}function bpe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.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:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function PR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Ope()}finally{Ef=0,Ipe(),oc=0}}function kpe(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function Ipe(){for(var e,t=L1,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:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(PR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(kpe,zF)),Ef=1,VF(PR))}}function RR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Mpe=Pb("start","end","cancel","interrupt"),Npe=[],GF=0,OR=1,U3=2,pv=3,kR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Lpe(e,n,{name:t,index:r,group:i,on:Mpe,tween:Npe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function HT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Lpe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=OR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==OR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return RR(s);g.state===kR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function dge(e,t,n){var r,i,o=cge(t)?HT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function fge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(dge(n,e,t))}function hge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function pge(){return this.on("end.remove",hge(this._id))}function gge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=zT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Uge(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 ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(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 Il=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function zge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Vge(){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 IR(){return this.__zoom||Il}function jge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Gge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hge(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 Wge(){var e=zge,t=Vge,n=Hge,r=jge,i=Gge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ppe,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",IR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",IR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(Il.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Uge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[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".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return pfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Kge=e=>e.userSelectionActive?"none":"all";function Xge({position:e,children:t,className:n,style:r,...i}){const o=Nn(Kge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Yge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Xge,{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:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Qge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Zge=L.memo(Qge);const qT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),KT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),MR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=MR(e.x,35,t.width-35)*20,r=MR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(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)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),NR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),DIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(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)},Jge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],eme=(e,t)=>{},tme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=tme(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 eB=e=>"clientX"in e,Ml=(e,t)=>{var o,s;const n=eB(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)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Zge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});XT.displayName="SimpleBezierEdge";const DR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},nme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function rme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=DR[t],a=DR[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},d=nme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const YT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});YT.displayName="StepEdge";function ome({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const QT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ome({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});QT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function FR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=FR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=FR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const ZT=L.createContext(null),sme=ZT.Provider;ZT.Consumer;const ame=()=>L.useContext(ZT),lme=e=>"id"in e&&"source"in e&&"target"in e,ume=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,cme=(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)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return lme(e)?n={...e}:n={...e,id:ume(e)},cme(n,t)?t:t.concat(n)},sB=({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},dme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(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}},aB=(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}=rf(i,t).positionAbsolute;return QF(r,F1({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 ZF(n)},lB=(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(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(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=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function BR(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 fme(e,t,n,r,i,o){const{x:s,y:a}=Ml(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=JT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const hme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:hme,endHandle:null});function fB(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={...dB(),handleDomNode:l};if(l){const d=JT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function pme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=BR(o,s,"source",`${t}-${n}-${r}`),l=BR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function JT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function gme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Ml(e),E=d==null?void 0:d.elementFromPoint(C,T),P=JT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Ml(e,k),G=!1,U=null,A=!1,N=null;const F=pme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Ml(j,k);const{handle:Z,validHandleResult:ee}=fme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?dme({x:S.x,y:S.y},q):M,connectionStatus:gme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const UR=()=>!0,mme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),yme=(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}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=ame(),{connectOnClick:b,noPanClassName:y}=Nn(mme,Ri),{connecting:S,clickConnecting:C}=Nn(yme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||UR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||UR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const eE=()=>null;eE.displayName="GroupNode";const vme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function _me(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(vme,_me);return L.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});bB.displayName="SelectionListener";const bme=e=>!!e.onSelectionChange;function Sme({onSelectionChange:e}){const t=Nn(bme);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const wme=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 rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const xme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(wme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},zR={display:"none"},Cme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Tme="react-flow__aria-live",Eme=e=>e.ariaLiveMessage;function Ame({rfId:e}){const t=Nn(Eme);return ue.jsx("div",{id:`${Tme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Cme,children:t})}function Pme({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:zR,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."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:zR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Ame,{rfId:e})]})}const Rme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Ome=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,VR="react-flow__edgeupdater",jR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([VR,`${VR}-${a}`]),cx:Rme(t,r,e),cy:Ome(n,r,e),r,stroke:"transparent",fill:"transparent"}),kme=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||kme,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),pi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(jR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:pi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(jR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:pi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function Ime(e){const t={default:id(e.default||U1),straight:id(e.bezier||QT),step:id(e.step||YT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||XT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function GR(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 Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function HR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Mme=(e,t,n,r,i,o)=>{const s=GR(n,e,t),a=GR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Nme({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 d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function WR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==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 xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function qR(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 Lme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(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 Dme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Dme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?KT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({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 KR=(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,...qT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({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 $me(){const e=qr();return L.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 bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=$me();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=npe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Lme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Ml(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Ml(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!qR(E,`.${n}`,e))&&(!r||qR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(sme,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function Fme(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||eE)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Bme=({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]},Ume=typeof document<"u"?document:null;var kg=(e=null,t={target:Ume})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=YR(g.code,a);o.current.add(g[m]),XR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=YR(g.code,a);XR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function XR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function YR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(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}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={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&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=Il.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function zme(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function Vme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({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:zme(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Vme(t,o)}),a==null||a(t))}const od=()=>{},jme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},Gme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Hme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(Gme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Il.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(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=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=Il.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=Il.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:jme,[t,n])};function OB(){const e=Hme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Jge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:NR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=NR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Wme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function qme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=qT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.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 tE={position:"absolute",width:"100%",height:"100%",top:0,left:0},Kme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),QR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Xme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Yme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Xme,Ri),N=kg(x),F=L.useRef(0);return qme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Wge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=Il.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&QR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&QR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&Kme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:tE,children:b})},Qme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Zme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Qme,Ri);return e&&t?ue.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 ZR(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 kB(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&&ZR(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&&ZR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Jme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},eye=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(eye,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Ml(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Ml(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:tE,children:[f,ue.jsx(Zme,{})]})});MB.displayName="Pane";const tye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function nye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(tye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var rye=L.memo(nye);const iye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(iye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Wme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Yme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(rye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var oye=L.memo(NB);function sye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const aye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(aye,Ri),a=sye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:tE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?KT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Bme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var lye=L.memo(LB);const uye=[{level:0,isMaxLevel:!0,edges:[]}];function cye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v: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?uye:o}function dye(e,t,n){const r=Nn(L.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)&&Nme({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 cye(r,t,n)}const fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),hye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),JR={[B1.Arrow]:fye,[B1.ArrowClosed]:hye};function pye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(JR,e)?JR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const gye=({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=pye(t);return l?ue.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:ue.jsx(l,{color:n,strokeWidth:s})}):null},mye=({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=H3(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))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(mye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(gye,{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))})};DB.displayName="MarkerDefinitions";var yye=L.memo(DB);const vye=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}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(vye,Ri),k=dye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(yye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=WR(E.get(U.source)),[B,D,V]=WR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=HR(N.source,U.sourceHandle),ie=HR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Mme(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var _ye=L.memo($B);const bye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Sye({children:e}){const t=Nn(bye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function wye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const xye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.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]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?xye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const Cye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Tye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(Cye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:pi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(wye(o),ue.jsx(oye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:pi,children:ue.jsxs(Sye,{children:[ue.jsx(_ye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:pi,rfId:qn,children:ue.jsx(Tye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(lye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:pi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Eye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={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:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.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:eme,isValidConnection:void 0},Aye=()=>ffe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(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?Sx(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(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=qT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:KR(".source",x.nodeElement,p,u),target:KR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},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=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({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=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({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(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({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=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=KT(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=Il.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Aye()),ue.jsx(qge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function eO(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Pye={input:yB,default:W3,output:_B,group:eE},Rye={default:U1,straight:QT,step:YT,smoothstep:Mb,simplebezier:XT},Oye=[0,0],kye=[15,15],Iye={x:0,y:0,zoom:1},Mye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Nye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Pye,edgeTypes:s=Rye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=kye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Oye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=Iye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:pi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=eO(o,Fme),Ic=eO(s,Ime),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Mye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Eye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:pi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(xme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(Sme,{onSelectionChange:G}),kt,ue.jsx(Yge,{proOptions:th,position:eh}),ue.jsx(Pme,{rfId:Ha,disableKeyboardA11y:kc})]})})});Nye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Lye=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)}};Lb.createLogMethods=Lye;var nE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Dye=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}};Db.boolean=Dye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const $ye=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}};$b.isBooleanable=$ye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(nE);var tO=Object.prototype.toString,jB=function(t){var n=tO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&tO.call(t.callee)==="[object Function]"),r},Cx,nO;function Fye(){if(nO)return Cx;nO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,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(p){var g=p.constructor;return g&&g.prototype===p},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},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":e0e,"%TypedArray%":n0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var r0e=ur(ur(e));qu["%Error.prototype%"]=r0e}var i0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},aO={"%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"]},bm=GB,V1=Jye,o0e=bm.call(Function.call,Array.prototype.concat),s0e=bm.call(Function.apply,Array.prototype.splice),lO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),a0e=bm.call(Function.call,RegExp.prototype.exec),l0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,u0e=/\\(\\)?/g,c0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return lO(t,l0e,function(o,s,a,l){i[i.length]=a?lO(l,u0e,"$1"):s||o}),i},d0e=function(t,n){var r=t,i;if(V1(aO,r)&&(i=aO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=i0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},f0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(a0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=c0e(t),i=r.length>0?r[0]:"",o=d0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],s0e(r,o0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},h0e=f0e,X3=h0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var p0e=Y3,g0e=zye,m0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",y0e=Object.prototype.toString,v0e=Array.prototype.concat,WB=Object.defineProperty,_0e=function(e){return typeof e=="function"&&y0e.call(e)==="[object Function]"},b0e=p0e(),qB=WB&&b0e,S0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!_0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=g0e(t);m0e&&(r=v0e.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))}};zb.testComparisonRange=V0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var j0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=j0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,W0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=K0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=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+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,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 d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.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,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+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=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="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 d=typeof u;if(d==="string")return u;if(d==="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}})})(tU);var X0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var Y0e=typeof Object.setPrototypeOf=="function",Q0e=typeof Object.getPrototypeOf=="function",Z0e=typeof Object.defineProperty=="function",J0e=typeof Object.create=="function",eve=typeof Object.prototype.hasOwnProperty=="function",tve=function(t,n){Y0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=tve;var nve=function(t){return Q0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=nve;var uO=!1,rve=function e(t,n,r){if(Z0e&&!uO)try{Object.defineProperty(t,n,r)}catch{uO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=rve;var rU=function(t,n){return eve?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var ive=function(t,n){if(J0e)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)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=ive;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}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})(nU);var iU=He&&He.__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(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ove=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ove.ExtendableError);ac.LiqeError=oU;var sve=function(e){iU(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}(oU);ac.SyntaxError=sve;var oE={},G1=He&&He.__assign||function(){return G1=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:na},{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"};oE.default=ave;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var lve=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,uve=function(e){return lve.test(e)};xm.isSafePath=uve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var cve=xm,dve=function(e){if(!(0,cve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=dve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,yve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(gve),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(mve);throw r?new fve.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,pve.hydrateAst)(n[0]);return i};Gb.parse=yve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var vve=Sm,_ve=function(e,t){return(0,vve.filter)(e,[t]).length===1};Wb.test=_ve;var uU={};(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,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}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,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+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})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var bve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=bve;(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=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const Sve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=Sve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const wve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,xve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=wve.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};Yb.tokenize=xve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const cO=nE,Cve=Yb,Tve=(e,t)=>t.placeholder,Eve=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:Tve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Cve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=cO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=cO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Eve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` -${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const ne=ie-E;j+=`${le}"...":${se}"${g(ne)} not stringified"`,le=q}return B!==""&&le.length>1&&(j=` -${D}${j} -${Z}`),N.pop(),`{${j}}`}case"number":return isFinite(V)?String(V):b?b(V):"null";case"boolean":return V===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(V);default:return b?b(V):void 0}}function k(U,A,N,F,B,D){switch(typeof A=="object"&&A!==null&&typeof A.toJSON=="function"&&(A=A.toJSON(U)),typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(N.indexOf(A)!==-1)return y;const V=D;let j="",q=",";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const W=A.length-E-1;j+=`${q}"... ${g(W)} not stringified"`}return B!==""&&(j+=` -${V}`),N.pop(),`[${j}]`}N.push(A);let Z="";B!==""&&(D+=B,q=`, -${D}`,Z=" ");let ee="";for(const ie of F){const se=k(ie,A[ie],N,F,B,D);se!==void 0&&(j+=`${ee}${o(ie)}:${Z}${se}`,ee=q)}return B!==""&&ee.length>1&&(j=` -${D}${j} -${V}`),N.pop(),`{${j}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function O(U,A,N,F,B){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return O(U,A,N,F,B);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;const D=B;if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const pe=A.length-E-1;se+=`${le}"... ${g(pe)} not stringified"`}return se+=` -${D}`,N.pop(),`[${se}]`}let V=Object.keys(A);const j=V.length;if(j===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` -${B}${Z} -${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Ave=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(rE),a=t(Ave);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.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.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Pve=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},Rve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const dO=lc,fO=Rve(Pve),Ove=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(fO.default),t.includes(dO.ROARR_VERSION)||t.push(dO.ROARR_VERSION),t.sort(fO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Ove;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const kve=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=kve;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(rE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var Ive=He&&He.__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?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=zve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),$Ie=["trace","debug","info","warn","error","fatal"],FIe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Vve(){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 Ig=Ul("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Vve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Jme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.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(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:BIe,edgesChanged:UIe,nodeAdded:zIe,fieldValueChanged:yU,connectionMade:VIe,connectionStarted:jIe,connectionEnded:GIe,shouldShowGraphOverlayChanged:HIe,shouldShowFieldTypeLegendChanged:WIe,shouldShowMinimapPanelChanged:qIe,nodeTemplatesBuilt:sE,nodeEditorReset:aE,imageCollectionFieldValueChanged:KIe,setEditorInstance:XIe,loadFileNodes:YIe,loadFileEdges:QIe,setProgressNodeSize:ZIe}=mU.actions,jve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:JIe}=_U.actions,Gve=_U.reducer,Hve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Hve,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:e7e,setNegativeStylePromptSDXL:t7e,setShouldConcatSDXLStylePrompt:n7e,setShouldUseSDXLRefiner:Wve,setSDXLImg2ImgDenoisingStrength:r7e,refinerModelChanged:pO,setRefinerSteps:i7e,setRefinerCFGScale:o7e,setRefinerScheduler:s7e,setRefinerAestheticScore:a7e,setRefinerStart:l7e}=bU.actions,qve=bU.reducer,Em=Re("app/userInvoked"),Kve={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 H1{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||Kve,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 Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function gO(e){return e==null?"":""+e}function Xve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function lE(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 mO(e,t,n){const{obj:r,k:i}=lE(e,t,Object);r[i]=n}function Yve(e,t,n,r){const{obj:i,k:o}=lE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=lE(e,t);if(n)return n[r]}function Qve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(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]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Zve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Jve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Zve[t]):e}const e1e=[" ",",","?","!",";"];function t1e(e,t,n){t=t||"",n=n||"";const r=e1e.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 q1(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?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class yO extends eS{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=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(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),mO(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=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},mO(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 wU={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 vO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Xve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.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&&!t1e(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,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.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 A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}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 d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&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),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!vO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(vO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.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!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,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 Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class _O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(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=K1(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]=Rx(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]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(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 n1e=[{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}],r1e={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 i1e=["v1","v2","v3"],o1e=["v4"],bO={zero:0,one:1,two:2,few:3,many:4,other:5};function s1e(){const e={};return n1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:r1e[t.fc]}})}),e}class a1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||o1e.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=s1e()}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(K1(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)=>bO[i]-bO[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!i1e.includes(this.options.compatibilityJSON)}}function SO(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=Qve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class l1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.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:Jve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(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?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),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(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=SO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(SO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=gO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.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 d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}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 d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,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=gO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function u1e(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 ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class c1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((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()]=ud(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:d}=u1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function d1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class f1e extends eS{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=Cs.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 d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(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=>{Yve(l.loaded,[o],s),d1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!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,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).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 d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function wO(){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 xO(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 R0(){}function h1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=xO(t),this.services={},this.logger=Cs,this.modules={external:[]},h1e(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=wO();this.options={...i,...this.options,...xO(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(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=c1e);const f=new _O(this.options);this.store=new yO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new a1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new l1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new f1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[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(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{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(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};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]:R0;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=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),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"&&wU.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=Xh();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,d=>{s(d,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,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,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=Xh();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=Xh();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 _O(wO());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 Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(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 yO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={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},CU=yn({name:"system",initialState:xU,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(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,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(q$,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(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(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(J$,(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(nF,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(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.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(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(sE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var i,o,s;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null;let r;((i=n.payload)==null?void 0:i.status)===422?r="Validation Error":(o=n.payload)!=null&&o.error&&(r=(s=n.payload)==null?void 0:s.error),t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:r}))}),e.addMatcher(v1e,(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(Ku({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:u7e,setShouldConfirmOnDelete:c7e,setCurrentStatus:d7e,setIsCancelable:f7e,setEnableImageDebugging:h7e,addToast:zn,clearToastQueue:p7e,cancelScheduled:g7e,scheduledCancelAborted:m7e,cancelTypeChanged:y7e,subscribedNodeIdsSet:v7e,consoleLogLevelChanged:_7e,shouldLogToConsoleChanged:b7e,isPersistedChanged:S7e,shouldAntialiasProgressImageChanged:w7e,languageChanged:x7e,progressImageSet:p1e,setIsNodesEnabled:C7e,shouldUseNSFWCheckerChanged:g1e,shouldUseWatermarkerChanged:m1e}=CU.actions,y1e=CU.reducer,v1e=Co(DT,lF,cF),_1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:_1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:T7e,setAdvancedAddScanModel:E7e}=TU.actions,b1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:A7e}=AU.actions,S1e=AU.reducer,w1e=WY(DJ);PU=Z3=void 0;var x1e=w1e,C1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return x1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=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 OU(e,t){if(e){if(typeof e=="string")return TO(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 TO(e,t)}}function TO(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?F1e:B1e;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 RO(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 OO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){RO(o,r,i,s,a,"next",l)}function a(l){RO(o,r,i,s,a,"throw",l)}s(void 0)})}}var z1e=function(){var e=OO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield M1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=OO(function*(){var m=RU(t.getState(),n);yield U1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),cE(m,f)||t.dispatch({type:P1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(O1e(p,u)):t.subscribe(R1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const V1e=z1e;function Ng(e){"@babel/helpers - typeof";return Ng=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},Ng(e)}function kO(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 Ix(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=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},q1e=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(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;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 v=function(_){return function(b,y,S){var C=_(b,y,S);return V1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const P7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],K1e="@@invokeai-",X1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Y1e=["pendingControlImages"],Q1e=["selection","selectedBoardId","galleryView"],Z1e=["schema","invocationTemplates"],J1e=[],e_e=[],t_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],n_e=["shouldShowImageDetails"],r_e={canvas:X1e,gallery:Q1e,generation:J1e,nodes:Z1e,postprocessing:e_e,system:t_e,ui:n_e,controlNet:Y1e},i_e=(e,t)=>{const n=rb(e,r_e[t]??[]);return JSON.stringify(n)},o_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},s_e=(e,t)=>mae(JSON.parse(e),o_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),a_e=Co(IU,MU,NU,LU),l_e=e=>{if(a_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:sE.match(e)?{...e,payload:""}:e},u_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],c_e=e=>e,d_e=()=>{Pe({actionCreator:Hue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("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(mc({session_id:o}))}}})};Re("app/appStarted");const f_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},dE=Hl.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:R7e,useGetAppConfigQuery:O7e}=dE,h_e=()=>{Pe({matcher:dE.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(xue(r[0])),i.includes("nsfw_checker")||n(g1e(!1)),o.includes("invisible_watermark")||n(m1e(!1))}})},p_e=Re("app/appStarted"),g_e=()=>{Pe({actionCreator:p_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},fE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},m_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},fE),y_e=()=>{Pe({matcher:Se.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 d=DU(l,u);d.isInitialImage&&!i&&(t(wT()),i=!0),d.isCanvasImage&&!o&&(t(xT()),o=!0),d.isNodesImage&&!s&&(t(aE()),s=!0),d.isControlNetImage&&!a&&(t(BT()),a=!0)})}})},v_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:wl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},__e=Re("canvas/canvasSavedToGallery"),b_e=Re("canvas/canvasCopiedToClipboard"),S_e=Re("canvas/canvasDownloadedAsImage"),w_e=Re("canvas/canvasMerged"),x_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const k7e=e=>{$U=e},nS=()=>$U,I7e=e=>{FU=e},C_e=()=>FU,T_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await T_e(e.toCanvas(t)),hE=async e=>{const t=nS();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 Q1(o,a)},E_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},A_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}E_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},P_e=(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()},R_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}P_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},O_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},k_e=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await O_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.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(Wue({kind:"image",layer:"base",imageName:a,...o}))}})},I_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},M_e=(e,t,n)=>{var f;if(!(Zde.match(e)||dR.match(e)||FT.match(e)||Jde.match(e)||fR.match(e))||fR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(dR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},N_e=()=>{Pe({predicate:M_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t($T({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",L_e=()=>{Pe({actionCreator:$T,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&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(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>LT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Qde({controlNetId:o,processedControlImage:m.image_name}))}}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},$_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},pE=Re("deleteImageModal/imageDeletionConfirmed"),M7e=e=>e.gallery,N7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],fE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:wl,offset:0,limit:Yue,is_intermediate:!1}},fE),F_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(UT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(xT()),a.isControlNetImage&&t(BT()),a.isInitialImage&&t(wT()),a.isNodesImage&&t(aE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},B_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(UT(!1)),i.some(u=>u.isCanvasImage)&&t(xT()),i.some(u=>u.isControlNetImage)&&t(BT()),i.some(u=>u.isInitialImage)&&t(wT()),i.some(u=>u.isNodesImage)&&t(aE())}catch{}}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},V_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),j_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(FT({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(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(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},H_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},W_e=()=>{Pe({actionCreator:sfe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=m_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(UT(!0));return}t(pE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("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||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(FT({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},K_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},X_e=Re("generation/initialImageSelected"),Y_e=Re("generation/modelSelected"),Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Ku(Pp("toast.sentToImageToImage"))))}})},Z_e=()=>{Pe({actionCreator:Y_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.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;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Sl(s))}})},t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),J_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:J_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.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:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:L7e,useGetOnnxModelsQuery:D7e,useGetControlNetModelsQuery:$7e,useGetLoRAModelsQuery:F7e,useGetTextualInversionModelsQuery:B7e,useGetVaeModelsQuery:U7e,useUpdateMainModelsMutation:z7e,useDeleteMainModelsMutation:V7e,useImportMainModelsMutation:j7e,useAddMainModelsMutation:G7e,useConvertMainModelsMutation:H7e,useMergeMainModelsMutation:W7e,useDeleteLoRAModelsMutation:q7e,useUpdateLoRAModelsMutation:K7e,useSyncModelsMutation:X7e,useGetModelsInFolderQuery:Y7e,useGetCheckpointConfigsQuery:Q7e}=fa,ebe=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(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)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Sl(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Sl(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(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)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(pO(null)),n(Wve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(pO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Sl(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{ku(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(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;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)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),tbe=e=>!("$ref"in e),Z7e=500,nbe={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"},rbe=500,On=e=>`var(--invokeai-colors-${e}-${rbe})`,J7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},eMe=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},ibe=({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},obe=({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},sbe=({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},abe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sbe=({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]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),wbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=nbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},xbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return hbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return pbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return gbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return mbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return ybe({schemaObject:e,baseField:i});if(["clip"].includes(r))return vbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return _be({schemaObject:e,baseField:i});if(["control"].includes(r))return bbe({schemaObject:e,baseField:i});if(["model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return fbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return ibe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return obe({schemaObject:e,baseField:i});if(["string"].includes(r))return sbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return abe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return wbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},Cbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Tbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Ebe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Abe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Ebe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(tbe(o)){const f=o.properties.type.default,p=Tbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=xbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=Cbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Pbe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Abe(r);n.debug({nodeTemplates:$a(i)},`Built ${bT(i)} node templates`),t(sE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Rbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Obe=new Map(Rbe),kbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),Ibe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Mbe=e=>Obe.get(e)??Error,jU=({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&&FO(e)){const u=Mbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return Ibe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of kbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function gE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Nbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Lbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Dbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem canceling session")}}})},$be=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},Fbe=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Bbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:gE(n)},"Problem creating session")}}})},Ube=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},zbe=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Vbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem invoking session")}}})},jbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},Gbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(dE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Hbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Wbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("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(iF(e.payload))}})},qbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},Kbe=["dataURL_image"],Xbe=()=>{Pe({actionCreator:LT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(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(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!Kbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(Gue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(p1e(null))}t(J$(e.payload))}})},Ybe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(DT(e.payload))}})},Qbe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Zbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("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(Z$(e.payload))}})},Jbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("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(Xde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("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(Yde(e.payload))}})},eSe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},tSe=()=>{Pe({actionCreator:NT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},nSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},rSe=()=>{Pe({actionCreator:x_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&o!=="none"&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},tMe=["sd-1","sd-2","sdxl","sdxl-refiner"],iSe=["sd-1","sd-2","sdxl"],nMe=["sdxl-refiner"],oSe=()=>{Pe({actionCreator:r$,effect:async(e,{getState:t,dispatch:n})=>{var i;if(e.payload==="unifiedCanvas"){const o=(i=t().generation.model)==null?void 0:i.base_model;if(o&&["sd-1","sd-2"].includes(o))return;try{const s=n(fa.endpoints.getMainModels.initiate(iSe)),a=await s.unwrap();if(s.unsubscribe(),!a.ids.length){n(Sl(null));return}const u=t5.getSelectors().selectAll(a).filter(g=>["sd-1","sd-2"].includes(g.base_model))[0];if(!u){n(Sl(null));return}const{base_model:d,model_name:f,model_type:p}=u;n(Sl({base_model:d,model_name:f,model_type:p}))}catch{n(Sl(null))}}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",_i="iterate",Gr="main_model_loader",mE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",yE="text_to_image_graph",sSe="sdxl_text_to_image_graph",aSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",lSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},uSe=Re("upscale/upscaleRequested"),cSe=()=>{Pe({actionCreator:uSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=lSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},dSe=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("

")})},UO=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 vE={exports:{}},rS={},WU={},rt={};(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 He<"u"?He: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)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.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(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}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="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function fSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=fSe;function hSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=hSe;function pSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=pSe;function gSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=bSe;function SSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=SSe;function wSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=wSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;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(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),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),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,xSe=rt;function CSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=TSe+u.join(zO)+ESe)):(o+=a.property,t||(o+=kSe+a.val)),o+=RSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=MSe&&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 d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.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=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=CSe(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(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{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(d=>d.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))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",zSe="Change",VSe="children",jSe="konva",o5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",GSe="Stage",s5="visible",HSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let WSe=1;class ze{constructor(t){this._id=WSe++,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===sl||t===la)&&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===sl||t===la,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(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}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,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.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 p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}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 d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.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 d=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()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==VSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,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(s5,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;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.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!==GSe&&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(sl),this._clearSelfAndDescendantCache(la)),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 ct.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(sl);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(sl),this._clearSelfAndDescendantCache(la),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 ct.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 ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.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(_v,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=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.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(),ct.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,ct.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():wu.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;uo.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=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.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 ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.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=Lx.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=Lx.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 d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&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},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="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 se extends r.Container{constructor(W){super(ee(W)),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",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" 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."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.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 W=this.container();if(!W)throw"Stage has no container. A container is required.";W.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"),W.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(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=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(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.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 O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.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()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,bE=nt,XO=Qo,QSe=ke,ZSe=rr,JSe=rt;var e2e="#",t2e="beforeDraw",n2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],r2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.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(t2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(n2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.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 ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,JSe._registerNode)(Vf);bE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);bE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);bE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,QSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const i2e=Sn,o2e=Pm,s2e=rt;class SE extends o2e.Layer{constructor(t){super(t),this.listening(!1),i2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=SE;SE.prototype.nodeType="FastLayer";(0,s2e._registerNode)(SE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const a2e=Sn,l2e=vc,u2e=rt;class wE extends l2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&a2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=wE;wE.prototype.nodeType="Group";(0,u2e._registerNode)(wE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),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():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,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(m){this.pause(),this._time=m,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 m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||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(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.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(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,d2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,f2e=rr,tz=ke,h2e=rt;function a5(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),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(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,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const p2e=nt,g2e=rr,m2e=rt,pd=nz;class Zn extends g2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),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 d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[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 Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}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(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="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=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)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=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,m2e._registerNode)(Zn);p2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,y2e=Rm,rz=ke,v2e=rt,JO=Hf;class bc extends y2e.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 p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/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,f/2),t.lineTo(-s,-f/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}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,v2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const _2e=nt,b2e=rr,S2e=ke,w2e=rt;let Wf=class extends b2e.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)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,w2e._registerNode)(Wf);_2e.Factory.addGetterSetter(Wf,"radius",0,(0,S2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const xE=nt,x2e=rr,iz=ke,C2e=rt;class ou extends x2e.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)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,C2e._registerNode)(ou);xE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);xE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());xE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,T2e=rr,E2e=rt,Om=ke;let Us=class oz extends T2e.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?Bx.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?Bx.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=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,E2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,A2e=rr,P2e=jf,CE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],R2e="Change.konva",O2e="none",l5="up",u5="right",c5="down",d5="left",k2e=az.length;class TE extends P2e.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)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,F2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,B2e=rr,dz=ke,U2e=rt;var ek=Math.PI*2;class Cc extends B2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,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)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,U2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,z2e=rr,V2e=Gf,fz=ke,j2e=rt;class zs extends z2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new V2e.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],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_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],d=r*2;t.rect(u[d+0],u[d+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 $0;function zx(){return $0||($0=f5.Util.createCanvasElement().getContext(Y2e),$0)}function awe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function uwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends W2e.Shape{constructor(t){super(uwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=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=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Q2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||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 f5.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=zx(),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()+D0+this.fontVariant()+D0+(this.fontSize()+twe)+swe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(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 zx().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!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==iwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&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+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.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+`.${Sz}`).join(" "),sk="nodesRect",ywe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],vwe={"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 _we="ontouchstart"in $o.Konva._global;function bwe(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(vwe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function Swe(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 wz(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 wwe(e,t){const n=Swe(e);return wz(e,t,n)}function xwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.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(ywe.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(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,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=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={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 wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.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:$o.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(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new pwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:_we?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=$o.Konva.getAngle(this.rotation()),o=bwe(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 hwe.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()*zt.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 d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=xwe(this.rotationSnaps(),A,N)-f.rotation,D=wwe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{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(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{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()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.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(m){var v=y?{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(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.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(zt.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(f=>{f.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()*zt.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 d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(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=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function Cwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,gwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,Cwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Twe=rr,Ewe=rt,xz=ke,Awe=rt;class za extends Twe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ewe.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)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Awe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Pwe=fn,Rwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Owe=[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],kwe=[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 Iwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Owe[t],ie=kwe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&Iwe(t,n)};PS.Blur=Mwe;lk.Factory.addGetterSetter(Pwe.Node,"blurRadius",0,(0,Rwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Nwe=fn,Lwe=ke,Dwe=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};OS.Contrast=Bwe;dk.Factory.addGetterSetter($we.Node,"contrast",0,(0,Fwe.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Uwe=Sn,Cz=ke,zwe=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,d=l*4,f=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:Uwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=zwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,Vwe=fn,jwe=ke;function Gx(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 Gwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function oxe(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&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=hxe;mk.Factory.addGetterSetter(dxe.Node,"pixelSize",8,(0,fxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,pxe=fn,gxe=ke,mxe=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)});n_.Factory.addGetterSetter(IE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"blue",0,yxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,_xe=ke,bxe=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)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,_xe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const Sxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=wxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,xxe=fn,Cxe=ke,Txe=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 tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.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},dCe=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}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await dCe(n,t.width,t.height)},fCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=C_e();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 d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await cCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},hCe=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}=hCe(e.data),i=pCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},mCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=mCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:_i,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[_i]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:_i,field:"collection"}},{source:{node_id:_i,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:_i,type:"iterate",is_intermediate:!0};if(t.nodes[_i]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:_i,field:"collection"}}),t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),sMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==mE;(t.id===yE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},yCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},vCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[_i]:{type:"iterate",id:_i,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:_i,field:"collection"}},{source:{node_id:_i,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},_Ce=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,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:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},bCe=(e,t,n,r)=>{let i;if(t==="txt2img")i=_Ce(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=yCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=vCe(e,n,r)}return i},SCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await fCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=gCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);dSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=bCe(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(que({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(Kue(T)),n(yc())}})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=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:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},xCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=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 T=m?g:Da.shouldUseCpuNoise,E={id:aSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},CCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=xCe(o):a=wCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const TCe=new Uint8Array(16);function ECe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(TCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ACe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const PCe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:PCe};function RCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||ECe)();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 ACe(r)}const OCe=e=>{if(e.type==="color"&&e.value){const t=Ur(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},kCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=OCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:RCe(),nodes:i,edges:o}},ICe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=kCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,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:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},NCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,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:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},LCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=MCe(o):a=NCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;q_e();K_e();Q_e();F_e();B_e();U_e();z_e();V_e();y_e();W_e();SCe();ICe();LCe();CCe();jbe();I_e();R_e();A_e();k_e();rSe();d_e();Wbe();qbe();Xbe();Ybe();Zbe();Gbe();Hbe();tSe();nSe();Jbe();eSe();Qbe();$be();Fbe();Bbe();Ube();zbe();Vbe();Nbe();Lbe();Dbe();L_e();N_e();D_e();$_e();G_e();H_e();v_e();Pbe();j_e();Z_e();g_e();ebe();h_e();f_e();cSe();oSe();const DCe={canvas:Xue,gallery:rfe,generation:Eue,nodes:jve,postprocessing:Gve,system:y1e,config:sle,ui:Pue,hotkeys:S1e,controlNet:efe,dynamicPrompts:nfe,deleteImageModal:afe,changeBoardModal:ufe,lora:dfe,modelmanager:b1e,sdxl:qve,[Hl.reducerPath]:Hl.reducer},$Ce=Ff(DCe),FCe=W1e($Ce),BCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],UCe=eL({reducer:FCe,enhancers:e=>e.concat(q1e(window.localStorage,BCe,{persistDebounce:300,serialize:i_e,unserialize:s_e,prefix:K1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(T1e).prepend(Oz.middleware),devTools:{actionSanitizer:l_e,stateSanitizer:c_e,trace:!0,predicate:(e,t)=>!u_e.includes(t.type)}}),aMe=e=>e,zCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(NT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(LT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const VCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ME=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function jCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));ME(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=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),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},HCe=typeof ArrayBuffer=="function",NE=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:WCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:VCe},WCe=(e,t)=>{if(HCe){const n=GCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),qCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{ME(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},KCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return NE(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return YCe(e)}function YCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.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 $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const QCe=yo.setTimeout,ZCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=QCe.bind(yo),e.clearTimeoutFn=ZCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const JCe=1.33;function e3e(e){return typeof e=="string"?t3e(e):Math.ceil((e.byteLength||e.size)*JCe)}function t3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function n3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function r3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{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)};KCe(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,qCe(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]=Bz()),!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 af(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 af=class wv extends Hn{constructor(t,n){super(),YS(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=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(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=wv.requestsCount++,wv.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=a3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.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()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const DE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,c3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class d3e extends LE{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=kk?{}:$z(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=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||c3e,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{Ok&&this.ws.send(o)}catch{}i&&DE(()=>{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]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function f3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class h3e extends LE{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(XCe(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{f3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const p3e={websocket:d3e,webtransport:h3e,polling:u3e},g3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,m3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(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=g3e.exec(e||""),o={},s=14;for(;s--;)o[m3e[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=y3e(o,o.path),o.queryKey=v3e(o,o.query),o}function y3e(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 v3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(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=p5(n.host).host),YS(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=r3e(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=Dz,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 p3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.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;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{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",Sd.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){Sd.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,jz=Object.prototype.toString,w3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",x3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function $E(e){return b3e&&(e instanceof ArrayBuffer||S3e(e))||w3e&&e instanceof Blob||x3e&&e instanceof File}function xv(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:pt.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 pt.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 pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.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:pt.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:pt.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}Kf.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};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Hn{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,YS(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 Kf({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||O3e;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 Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(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(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(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){DE(()=>{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 Gz(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 np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=_3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(zCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(NT({sessionId:f}))}a(l)}};function I3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function H3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(Vn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function W3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function q3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function K3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=G3e(m);break;case 92:E+=H3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(X3e(W3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&j3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=q3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=zE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?BE:a,l,u,d)}function X3e(e,t,n){return JS(e,t,n,Hz,QS(V3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,UE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=zE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var i5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case UE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case BE:if(t.length)return z3e(t.props,function(o){switch(U3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},o5e=[i5e],s5e=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(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||o5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=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 c5e={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},d5e=/[A-Z]|^ms/g,f5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(d5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(f5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return c5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(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 vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return h5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function h5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function jE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function cMe(e,t){const{colorMode:n}=jE();return n==="dark"?t:e}function S5e(){const e=jE(),t=oV();return{...e,theme:t}}function w5e(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 x5e(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 dMe(e,t,n){const r=oV();return C5e(e,t,n)(r)}function C5e(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 d,f;if(e==="breakpoints")return w5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return x5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function T5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var fMe=e=>{const{condition:t,message:n}=e;t&&T5e()&&console.warn(n)};function Bu(e,...t){return E5e(e)?e(...t):e}var E5e=e=>typeof e=="function",hMe=e=>e?"":void 0,pMe=e=>e?!0:void 0;function gMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function mMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.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]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==pi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var A5e=i_.exports;const Ts=dc(A5e);var P5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,R5e=(e,t)=>n=>{const r=String(t),i=P5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function GE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=R5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=GE({scale:e,transform:t}),r}}var O5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function k5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:O5e(t),transform:n?GE({scale:n,compose:r}):r}}var lV=["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 I5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function M5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var N5e={"--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(" ")},L5e={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 D5e(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 $5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"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"},F5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),B5e=e=>e.trim();function U5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.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(B5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if(F5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),z5e=(e,t)=>U5e(e,t??{});function V5e(e){return/^var\(--.+\)$/.test(e)}var j5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:N5e},backdropFilter(e){return e!=="auto"?e:L5e},ring(e){return D5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?I5e():e==="auto-gpu"?M5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=j5e(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(V5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:z5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||w5(e)||S5.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=$5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:GE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:k5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.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 G5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var H5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.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},W5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.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:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var q5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function K5e(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}},Y5e=X5e(K5e),Q5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=Y5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},J5e={srOnly:{transform(e){return e===!0?Q5e:e==="focusable"?Z5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var e4e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var t4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},n4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},r4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},i4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.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"}},o4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,C5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(C5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:C5,divide:Hk,negate:Wk});function s4e(e,t="-"){return e.replace(/\s+/g,t)}function a4e(e){const t=s4e(e.toString());return u4e(l4e(t))}function l4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function u4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function c4e(e,t=""){return[t,e].filter(Boolean).join("-")}function d4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function f4e(e,t=""){return a4e(`--${c4e(e,t)}`)}function T5(e,t,n){const r=f4e(e,n);return{variable:r,reference:d4e(r,t)}}function yMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function h4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function p4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=p4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,HE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=HE(e);return Object.assign(Object.values(t),t)}function g4e(e){const t=Object.keys(HE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function m4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=g4e(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:HE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(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(;h4e(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 d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={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}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_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:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.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]"},hV=Object.keys(t2);function Xk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function y4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function v4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function b4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(b4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var S4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function w4e(e){return _4e(e,S4e)}function x4e(e){return e.semanticTokens}function C4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var T4e=e=>hV.includes(e)||e==="default";function E4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(T4e)}),n}function vMe(e){var t;const n=C4e(e),r=w4e(n),i=x4e(n),o=E4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=y4e(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:m4e(n.breakpoints)}),n}var WE=Ts({},Pv,Et,G5e,o_,ho,H5e,e4e,W5e,uV,J5e,Rp,x5,tn,o4e,i4e,t4e,n4e,q5e,r4e),A4e=Object.assign({},tn,ho,o_,uV,Rp),_Me=Object.keys(A4e),P4e=[...Object.keys(WE),...hV],R4e={...WE,...t2},O4e=e=>e in R4e,k4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(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"&&!M4e(t),L4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=I4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function D4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=k4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),N4e(g,v)&&(v=L4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var $4e=e=>t=>D4e({theme:t,pseudos:t2,configs:WE})(e);function bMe(e){return e}function SMe(e){return e}function wMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function F4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function B4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function z4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=U4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function xMe(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 pV(e){return v4e(e,["styleConfig","size","variant","colorScheme"])}function V4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function j4e(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}},H4e=G4e(j4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function W4e(e){return typeof e=="function"}function q4e(e,...t){return W4e(e)?e(...t):e}function CMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var K4e=typeof Element<"u",X4e=typeof Map=="function",Y4e=typeof Set=="function",Q4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(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(!Rv(e[r],t[r]))return!1;return!0}var o;if(X4e&&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(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(Y4e&&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(Q4e&&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(K4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Z4e=function(t,n){try{return Rv(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 J4e=dc(Z4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=S5e(),a=e?H4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(V4e(i,["children"]))),d=L.useRef({});if(l){const p=z4e(l)(u);J4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function TMe(e,t={}){return yV(e,t)}var eTe=new Set([...P4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),tTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function nTe(e){return tTe.has(e)||!eTe.has(e)}function rTe(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 iTe=/^((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)-.*))$/,oTe=Qz(function(e){return iTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),sTe=oTe,aTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?sTe:aTe},Zk=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},lTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),g5e(function(){return eV(n,r,i)}),null},uTe=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=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>O4e(p)),l=q4e(e,t),u=rTe({},i,l,mV(a),o),d=$4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=nTe);const i=fTe({baseStyle:n}),o=dTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=jE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function hTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=hTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function pTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.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 L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function gTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const qE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],KE=["initial",...qE];function o2(e){return i2(e.animate)||KE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function mTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function yTe(e){const{initial:t,animate:n}=mTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={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"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function vTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const XE=L.createContext({}),wV=L.createContext({}),_Te=Symbol.for("motionComponentSymbol");function bTe({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&vTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:STe(a)},{isStatic:f}=d,p=yTe(a),g=r(a,f);if(!f&&r2){p.visualElement=pTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,gTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[_Te]=i,s}function STe({layoutId:e}){const t=L.useContext(XE).id;return t&&e!==void 0?t+"-"+e:e}function wTe(e){function t(r,i={}){return bTe(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 xTe=["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 YE(e){return typeof e!="string"||e.includes("-")?!1:!!(xTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function CTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),TTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ETe=Dm.length;function ATe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),A5=CV("var(--"),PTe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,RTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,OTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),kTe=Fm("vh"),ITe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function QE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=RTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ATe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const ZE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function MTe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=ZE();return QE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function NTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,MTe(e,t,n)),e.transformValues?e.transformValues(i):i}function LTe(e,t,n){const r={},i=NTe(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 DTe=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 u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||DTe.has(e)}let RV=e=>!u_(e);function $Te(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{$Te(require("@emotion/is-prop-valid").default)}catch{}function FTe(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function BTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const UTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},zTe={offset:"strokeDashoffset",array:"strokeDasharray"};function VTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?UTe:zTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function JE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(QE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=BTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&VTe(g,s,a,l,!1)}const OV=()=>({...ZE(),attrs:{}}),e6=e=>typeof e=="string"&&e.toLowerCase()==="svg";function jTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return JE(o,t,{enableHardwareAcceleration:!1},e6(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function GTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(YE(n)?jTe:LTe)(r,o,s,n),d={...FTe(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const t6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(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 IV=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 MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:t6(i),t.attrs[i])}function n6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=n6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function r6(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 LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),HTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),WTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return HTe(t)?t.toValue():t}function qTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:KTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>qTe(e,t,r,i);return n?o():LV(o)};function KTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=r6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const XTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,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}}JE(n,r,{enableHardwareAcceleration:!1},e6(t.tagName),e.transformTemplate),MV(t,n)}})},YTe={useVisualState:DV({scrapeMotionValuesFromProps:n6,createRenderState:ZE})};function QTe(e,{forwardMotionProps:t=!1},n,r){return{...YE(e)?XTe:YTe,preloadedFeatures:n,useRender:GTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const ZTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,ZTe(n),r)}const JTe=(e,t)=>n=>t(e(n)),Nl=(...e)=>e.reduce(JTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function eEe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&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(f[p]=eEe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,tEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=nEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class rEe extends uu{mount(){this.unmount=Nl(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class iEe extends uu{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=Nl(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class oEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nl(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()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Nl(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&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nl(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Zx=new WeakMap,sEe=e=>{const t=P5.get(e.target);t&&t(e)},aEe=e=>{e.forEach(sEe)};function lEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(aEe,{root:e,...t})),r[i]}function uEe(e,t,n){const r=lEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const cEe={some:0,all:1};class dEe extends uu{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:cEe[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:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return uEe(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(fEe(t,n))&&this.startObserver()}unmount(){}}function fEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const hEe={inView:{Feature:dEe},tap:{Feature:oEe},focus:{Feature:iEe},hover:{Feature:rEe}};function VV(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 gEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return r6(r,t,n!==void 0?n:r.custom,pEe(e),gEe(e))}const mEe="framerAppearId",yEe="data-"+t6(mEe);let vEe=Gn,i6=Gn;const Ll=e=>e*1e3,xa=e=>e/1e3,_Ee={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function bEe(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 d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function SEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,wEe=1e-7,xEe=12;function CEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>wEe&&++aCEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const TEe=Bm(.42,0,1,1),EEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),AEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),o6=QV(ZV),PEe=YV(o6),JV=Bm(.33,1.53,.69,.99),s6=QV(JV),REe=YV(s6),OEe=e=>(e*=2)<1?.5*s6(e):.5*(2-Math.pow(2,-10*(e-1))),kEe={linear:Gn,easeIn:TEe,easeInOut:XV,easeOut:EEe,circIn:ZV,circInOut:PEe,circOut:o6,backIn:s6,backInOut:REe,backOut:JV,anticipate:OEe},uI=e=>{if(Array.isArray(e)){i6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return kEe[e];return e},a6=(e,t)=>n=>!!($m(n)&&OTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},IEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(IEe(e))},Uu={test:a6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function MEe(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 R5={test:a6("#"),parse:MEe,transform:Uu.transform},Fd={test:a6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(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 NEe({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=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},LEe=[R5,Uu,Fd],DEe=e=>LEe.find(t=>t.test(e));function cI(e){const t=DEe(e);let n=t.parse(e);return t===Fd&&(n=NEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function $Ee(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:PTe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(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 d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function BEe(e){const t=oj(e);return sj(e)(t.map(FEe))}const Xl={test:$Ee,parse:oj,createTransformer:sj,getAnimatableNone:BEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(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]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nl(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function zEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?UEe:dI}function VEe(e,t,n){const r=[],i=n||zEe(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=VEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function jEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function GEe(e){const t=[0];return jEe(t,e.length-1),t}function HEe(e,t){return e.map(n=>n*t)}function WEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=AEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=HEe(n&&n.length===t.length?n:GEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:WEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const qEe=5;function hj(e,t,n){const r=Math.max(t-qEe,0);return fj(n-e(r),t-r)}const iC=.001,KEe=.01,fI=10,XEe=.05,YEe=1;function QEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;vEe(e<=Ll(fI));let s=1-t;s=Kl(XEe,YEe,s),e=Kl(KEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=JEe(i,o,a);if(e=Ll(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 ZEe=12;function JEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function n6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,t6e)&&hI(e,e6e)){const n=QEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({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:d,duration:f,isResolvedFromDuration:p}=n6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({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:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const r6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const i6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=r6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=i6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Ll(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const o6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,s6e=2e4,a6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function l6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&o6e.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(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(a6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(SEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Ll(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function u6e({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:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const c6e={type:"spring",stiffness:500,damping:25,restSpeed:10},d6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),f6e={type:"keyframes",duration:.8},h6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},p6e=(e,{keyframes:t})=>t.length>2?f6e:Rc.has(e)?e.startsWith("scale")?d6e(t[1]):c6e:h6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),g6e=new Set(["brightness","contrast","saturate","opacity"]);function m6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=g6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const y6e=/([a-z-]*)\(.*?\)/g,I5={...Xl,getAnimatableNone:e=>{const t=e.match(y6e);return t?t.map(m6e).join(" "):e}},v6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},l6=e=>v6e[e];function gj(e,t){let n=l6(e);return n!==I5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function _6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function b6e(e,t,n,r){const i=k5(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=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ll(s);const l=b6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(S6e(o)||(g={...g,...p6e(e,g)}),g.duration&&(g.duration=Ll(g.duration)),g.repeatDelay&&(g.repeatDelay=Ll(g.repeatDelay)),!f||!p||_Ee.current||o.type===!1)return u6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=l6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const w6e=e=>/^\-?\d*\.?\d+$/.test(e);function c6(e,t){e.indexOf(t)===-1&&e.push(t)}function d6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class f6{constructor(){this.subscriptions=[]}add(t){return c6(this.subscriptions,t),()=>d6(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 C6e{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}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.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=()=>dn.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=x6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new f6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.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?fj(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 Mf(e,t){return new C6e(e,t)}const vj=e=>t=>t.test(e),T6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,ITe,kTe,T6e],ip=e=>_j.find(vj(e)),E6e=[..._j,ni,Xl],A6e=e=>E6e.find(vj(e));function P6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function R6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=WTe(o[s]);P6e(e,s,a)}}function O6e(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(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&R6e(e,s)}),u}function M5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return N6e(e,t,u+l,d,f,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 N6e(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(L6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function L6e(e,t){return e.sortNodePosition(t)}function D6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const $6e=[...qE].reverse(),F6e=qE.length;function B6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>D6e(e,n,r)))}function U6e(e){let t=B6e(e);const n=V6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function z6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function V6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class j6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=U6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(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 G6e=0;class H6e extends uu{constructor(){super(...arguments),this.id=G6e++}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 W6e={animation:{Feature:j6e},exit:{Feature:H6e}},yI=(e,t)=>Math.abs(e-t);function q6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{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=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=q6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Nl(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,K6e(t)),velocity:X6e(t,.1)}}function K6e(e){return e[0]}function wj(e){return e[e.length-1]}function X6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ll(t)));)n--;if(!r)return{x:0,y:0};const o=xa(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 Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function Y6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Q6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(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 Z6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function tAe(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 L5=.35;function nAe(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function rAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function iAe(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 aC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return D5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function oAe(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 fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const sAe=["x","scaleX","originX"],aAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,sAe),kI(e.y,t,aAe)}function Ej(e,t){return xj(iAe(e.getBoundingClientRect(),t))}function lAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const uAe=new WeakMap;class cAe{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=Bn(),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(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!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),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=dAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(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&&dn.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||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Q6e(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&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Z6e(r.layoutBox,t):this.constraints=!1,this.elastic=nAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=tAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=lAe(r,i.root,this.visualElement.getTransformPagePoint());let s=J6e(i.layout.layoutBox,o);if(n){const a=n(rAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(u6(t,r,0,n))}stopAnimation(){ps(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){ps(n=>{const{drag:r}=this.getProps();if(!q0(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]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=eAe({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(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;uAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(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=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].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=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function dAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class fAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new cAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class hAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(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 pAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function EMe(){return gAe(L.useContext(Lm))}function gAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},mAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.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=vn(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 yAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;CTe(vAe),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()})),kv.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()||dn.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 Aj(e){const[t,n]=pAe(),r=L.useContext(XE);return Lt.createElement(yAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const vAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:mAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],_Ae=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function bAe(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,SAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,wAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;s<_Ae;s++){const a=`border${Pj[s]}Radius`;let l=DI(t,a),u=DI(n,a);if(l===void 0&&u===void 0)continue;l||(l=0),u||(u=0),l===0||u===0||LI(l)===LI(u)?(e[a]=Math.max(vn(NI(l),NI(u),r),0),(Is.test(u)||Is.test(l))&&(e[a]+="%")):e[a]=u}(t.rotate||n.rotate)&&(e.rotate=vn(t.rotate||0,n.rotate||0,r))}function DI(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const SAe=Rj(0,.5,o6),wAe=Rj(.5,.95,Gn);function Rj(e,t,n){return r=>rt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function xAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){xAe(e,t[n],t[r],t[i],t.scale,o,s)}const CAe=["x","scaleX","originX"],TAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,CAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,TAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function F5(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 VI(e){return Xi(e.x)/Xi(e.y)}class EAe{constructor(){this.members=[]}add(t){c6(this.members,t),t.scheduleRender()}remove(t){if(d6(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 jI(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:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}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 AAe=(e,t)=>e.depth-t.depth;class PAe{constructor(){this.children=[],this.isDirty=!1}add(t){c6(this.children,t),this.isDirty=!0}remove(t){d6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(AAe),this.isDirty=!1,this.children.forEach(t)}}function RAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function OAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function kAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function IAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(u6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let MAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=MAe++,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=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(DAe),this.nodes.forEach(zAe),this.nodes.forEach(VAe),this.nodes.forEach($Ae),OAe(Ou)},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,f&&f(),f=RAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||qAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}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,Ia(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(jAe),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 d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach(FAe),this.sharedNodes.forEach(GAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.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 C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),HAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,bAe(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},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&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=IAe(0,HI,{...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(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new EAe),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 d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function NAe(e){e.updateLayout()}function LAe(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"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function DAe(e){Ou.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 $Ae(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function FAe(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function BAe(e){e.isLayoutDirty=!1}function UAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function zAe(e){e.resolveTargetDelta()}function VAe(e){e.calcProjection()}function jAe(e){e.resetRotation()}function GAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function HAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function WAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const qAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function KAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(VI(t),VI(n),.2)}const XAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new XAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),YAe={pan:{Feature:hAe},drag:{Feature:fAe,ProjectionNode:Mj,MeasureLayout:Aj}},QAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function ZAe(e){const t=QAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=ZAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function JAe(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(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ePe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>ePe.has(e),tPe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},nPe=new Set(["x","y","z"]),rPe=Dm.filter(e=>!nPe.has(e));function iPe(e){const t=[];return rPe.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 Nf={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:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const oPe=(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]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},sPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=oPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function aPe(e,t,n,r){return tPe(t)?sPe(e,t,n,r):{target:t,transitionEnd:r}}const lPe=(e,t,n,r)=>{const i=JAe(e,t,r);return t=i.target,r=i.transitionEnd,aPe(e,t,n,r)},U5={current:null},Lj={current:!1};function uPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function cPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(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,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),dPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],fPe=KE.length;class hPe{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=()=>dn.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=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.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)),Lj.current||uPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(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=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.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:p,layoutRoot:g})}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):Bn()}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=Mf(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=r6(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&&!ki(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 f6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends hPe{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=I6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){O6e(this,r,s);const a=lPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function pPe(e){return window.getComputedStyle(e)}class gPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}else{const r=pPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){QE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return n6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class mPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}return n=IV.has(n)?n:t6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){JE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=e6(t.tagName),super.mount(t)}}const yPe=(e,t)=>YE(e)?new mPe(t,{enableHardwareAcceleration:!1}):new gPe(t,{enableHardwareAcceleration:!0}),vPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},_Pe={...W6e,...hEe,...YAe,...vPe},bPe=wTe((e,t)=>QTe(e,t,_Pe,yPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function SPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class wPe extends L.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 xPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.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]),L.createElement(wPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(CPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(xPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function CPe(){return new Map}function TPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function EPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function APe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const PPe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(XE).forceRender||SPe()[0],l=Fj(),u=APe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,EPe(u,g),p.current=d}),TPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var RPe=_5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${RPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function OPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return b5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var kPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function IPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var h6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=OPe({...t,crossOrigin:f,ignoreFallback:x}),b=kPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:IPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});h6.displayName="Image";var V5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var p6=cc("div");p6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(p6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var MPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});MPe.displayName="Circle";var g6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});g6.displayName="Flex";const NPe=""+new URL("logo-13003d72.png",import.meta.url).href,LPe=()=>ue.jsxs(g6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(h6,{src:NPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),DPe=L.memo(LPe);function j5(e){"@babel/helpers - typeof";return j5=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},j5(e)}var zj=[],$Pe=zj.forEach,FPe=zj.slice;function G5(e){return $Pe.call(FPe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function BPe(e){return!!e&&typeof e.then=="function"}function UPe(e){return BPe(e)?e:Promise.resolve(e)}function zPe(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 H5={exports:{}},K0={exports:{}},n7;function VPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,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(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,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}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof zPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||VPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var jj=H5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=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},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var W5=function(t,n){if(n&&m_(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},i7=function(t,n,r){Ca(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)},o7=!1,jPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},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=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(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]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},GPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("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)}},HPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return jPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return GPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=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},Hg(e)}function WPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};WPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return qPe(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=G5(i,this.options||{},YPe()),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=UPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,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(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{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,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{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(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const QPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ZPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},JPe=e=>ZPe[e],e8e=e=>e.replace(QPe,JPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e8e};function t8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function PMe(){return q5}let qj;function n8e(e){qj=e}function RMe(){return qj}const r8e={type:"3rdParty",init(e){t8e(e.options.react),n8e(e)}};Kr.use(Wj).use(r8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function m6(e){return"nodeType"in e}function hi(e){var t,n;return e?Yf(e)?e:m6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function y6(e){const{Document:t}=hi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof hi(e).HTMLElement}function i8e(e){return e instanceof hi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:m6(e)?y6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(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 d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function s8e(e){return"clientX"in e&&"clientY"in e}function v6(e){if(!e)return!1;const{KeyboardEvent:t}=hi(e.target);return t&&e instanceof t}function a8e(e){if(!e)return!1;const{TouchEvent:t}=hi(e.target);return t&&e instanceof t}function qg(e){if(a8e(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 s8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=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[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function l8e(e){return e.matches(a7)?e:e.querySelector(a7)}const u8e={display:"none"};function c8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:u8e},n)}const d8e={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 f8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:d8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function h8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function p8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function g8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.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 m8e={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. - `},y8e={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 v8e(e){let{announcements:t=y8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=m8e}=e;const{announce:o,announcement:s}=h8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),p8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(c8e,{id:r,value:i.draggable}),Lt.createElement(f8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(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"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function _8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function b8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function S8e(e,t){const n=qg(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 w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function x8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function C8e(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 T8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function E8e(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=E8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(x8e)};function P8e(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 R8e=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&&P8e(r,a)){const u=C8e(a).reduce((f,p)=>f+b8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(w8e)};function O8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function k8e(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 I8e=k8e(1);function Qj(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 M8e(e,t,n){const r=Qj(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)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const N8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=N8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=hi(e).getComputedStyle(e);u&&(n=M8e(n,u,d))}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 u7(e){return Vm(e,{ignoreTransform:!0})}function L8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function D8e(e,t){return t===void 0&&(t=hi(e).getComputedStyle(e)),t.position==="fixed"}function $8e(e,t){t===void 0&&(t=hi(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 _6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(y6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||i8e(i)||n.includes(i))return n;const o=hi(e).getComputedStyle(i);return i!==e&&$8e(i,o)&&n.push(i),D8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=_6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:m6(e)?y6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(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 F8e={x:.2,y:.2};function B8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=F8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function U8e(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 rG(e){return e.reduce((t,n)=>uf(t,K5(n)),ns)}function z8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function V8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const j8e=[["x",["left","right"],z8e],["y",["top","bottom"],V8e]];class b6{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=_6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of j8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{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 G8e(e){const{EventTarget:t}=hi(e);return e instanceof t?e:Qf(e)}function fC(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 po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function H8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},W8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{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 Np(Qf(n)),this.windowListeners=new Np(hi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(v6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=W8e,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,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=U8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}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()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,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 d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class S6{constructor(t,n,r){var i;r===void 0&&(r=G8e(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=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(hi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,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(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(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(po.Click,H8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.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=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(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===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const q8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends S6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,q8e,r)}}aG.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 K8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class lG extends S6{constructor(t){super(t,K8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends S6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.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 Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function X8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Q8e({delta:f,disabled:!o}),[m,v]=o8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=B8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const Y8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Q8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return Y8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Z8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function J8e(e,t){return L.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 Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const h7=new Map;function e9e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new b6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function w6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function t9e(e,t){return w6(e,t)}function n9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function r9e(e){return new b6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=r9e);const[r,i]=L.useReducer(a,null),o=n9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{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 d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function i9e(e){const t=w6(e);return Yj(e,t)}const g7=[];function o9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:_6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function s9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(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=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function a9e(e){L.useEffect(()=>{if(!u2)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 l9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?L8e(e):null,[e])}const pC=[];function u9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?hi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{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=>tG(l)?r:new b6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function c9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const d9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],f9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp 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 h9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(h9e);function p9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function g9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.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 er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.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 Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function m9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!v6(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 d of[l.current,u.current]){if(!d)continue;const f=l8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function y9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.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 v9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{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 d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const _9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=d9e,collisionDetection:f=A8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(g9e,void 0,p9e),[x,_]=v,[b,y]=g8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:f9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=y9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=e9e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Z8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=t9e(le,Z.draggable.measure);v9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=c9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=i9e(_e?null:pe),Wn=cG(Ee?hi(Ee):null),Bt=o9e(T?We??le:null),it=u9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=s9e(Bt),yr=m7(Mr),pi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?I8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=T8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,pi),Xr=O8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=J8e(d,An);a9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),X8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(m9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(v8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),b9e=L.createContext(null),y7="button",S9e="Droppable";function w9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(S9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:b9e),[b,y]=v_(),[S,C]=v_(),T=l9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function x9e(){return L.useContext(hG)}const C9e="Droppable",T9e={timeout:25};function E9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(C9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...T9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function A9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{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]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const P9e={x:0,y:0,scaleX:1,scaleY:1};function R9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:P9e},t))}const O9e={position:"fixed",touchAction:"none"},k9e=e=>v6(e)?"transform 250ms ease":void 0,I9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=k9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...O9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?S8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),M9e=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)}},N9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},L9e={duration:250,easing:"ease",keyframes:N9e,sideEffects:M9e({styles:{active:{opacity:"0"}}})};function D9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=hi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:$9e(t);return iG(l,i.draggable.measure),p({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:f})})}function $9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...L9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={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},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function F9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const B9e=Lt.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:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=x9e(),T=L.useContext(h2),E=F9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=w6(p),O=D9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(R9e,null,Lt.createElement(A9e,{animation:O},f&&E?Lt.createElement(I9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),U9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(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},z9e=()=>N$(),OMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},V9e=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 ue.jsx(p6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(h6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(g6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},j9e=L.memo(V9e);function kMe(e){return E9e(e)}function IMe(e){return w9e(e)}const MMe=(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_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function G9e(e){return ue.jsx(_9e,{...e})}const H9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=z9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=_8e(a,l);return ue.jsxs(G9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:R8e,children:[e.children,ue.jsx(B9e,{dropAnimation:null,modifiers:[U9e],children:ue.jsx(PPe,{children:t&&ue.jsx(bPe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(j9e,{dragData:t})},"overlay-drag-image")})})]})},W9e=L.memo(H9e),q9e=L.lazy(()=>NN(()=>import("./App-0a099278.js"),["./App-0a099278.js","./menu-b4489359.js","./App-6125620a.css"],import.meta.url)),K9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-1a474d08.js"),["./ThemeLocaleProvider-1a474d08.js","./menu-b4489359.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),X9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(vde,{store:UCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(DPe,{}),children:ue.jsx(K9e,{children:ue.jsx(W9e,{children:ue.jsx(q9e,{config:n,headerComponent:r})})})})})})),Y9e=L.memo(X9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(Y9e,{}));export{TMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Wge as H,Ri as I,Il as J,gs as K,DIe as L,aB as M,ame as N,$me as O,Xge as P,npe as Q,Af as R,ug as S,S5e as T,Pc as U,cc as V,aV as W,gMe as X,fMe as Y,PPe as Z,bPe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,hMe as a3,pMe as a4,b5e as a5,_5e as a6,mMe as a7,Bu as a8,dc as a9,g6 as aA,V5 as aB,aMe as aC,Az as aD,Qke as aE,s5e as aF,VE as aG,eV as aH,l5e as aI,bs as aJ,PP as aK,jE as aL,A7e as aM,Fke as aN,Jke as aO,eIe as aP,kIe as aQ,RIe as aR,ku as aS,m_e as aT,DU as aU,c7e as aV,PIe as aW,UT as aX,pE as aY,$9 as aZ,nke as a_,A1 as aa,MJ as ab,Lt as ac,q4e as ad,CMe as ae,Sa as af,oV as ag,pAe as ah,_Me as ai,T5 as aj,dMe as ak,xMe as al,si as am,fE as an,nb as ao,OMe as ap,FIe as aq,Cm as ar,VB as as,pU as at,Jb as au,z9e as av,p7e as aw,zn as ax,Ku as ay,p6 as az,lT as b,Kke as b$,eRe as b0,Z9e as b1,J9e as b2,He as b3,jke as b4,sIe as b5,oIe as b6,zke as b7,AIe as b8,RCe as b9,hRe as bA,URe as bB,cRe as bC,ERe as bD,mRe as bE,Y_e as bF,dRe as bG,LRe as bH,uRe as bI,HRe as bJ,pRe as bK,ARe as bL,gRe as bM,PRe as bN,bRe as bO,ORe as bP,X_e as bQ,yRe as bR,pO as bS,i7e as bT,o7e as bU,s7e as bV,SRe as bW,a7e as bX,wRe as bY,l7e as bZ,Re as b_,kMe as ba,MMe as bb,CIe as bc,Bke as bd,Uke as be,qke as bf,M3 as bg,Vke as bh,h6 as bi,NPe as bj,fOe as bk,bl,f0 as bm,xIe as bn,SIe as bo,EIe as bp,wIe as bq,Q9e as br,oRe as bs,sRe as bt,aRe as bu,lRe as bv,MRe as bw,NRe as bx,e7e as by,t7e as bz,Rte as c,Ie as c$,sfe as c0,l$ as c1,GOe as c2,r$ as c3,OIe as c4,IMe as c5,cMe as c6,UU as c7,Hke as c8,O1 as c9,mOe as cA,w7e as cB,Aue as cC,$Ie as cD,h7e as cE,wT as cF,bIe as cG,yIe as cH,vIe as cI,_Ie as cJ,nOe as cK,WRe as cL,ZRe as cM,IRe as cN,g7e as cO,mc as cP,y7e as cQ,fa as cR,iSe as cS,tc as cT,xRe as cU,Em as cV,B7e as cW,tRe as cX,n7e as cY,L7e as cZ,nMe as c_,TIe as ca,Wke as cb,F9 as cc,k1 as cd,sMe as ce,M7e as cf,cOe as cg,R7e as ch,Gke as ci,Zke as cj,BT as ck,xT as cl,fRe as cm,yOe as cn,Kr as co,b7e as cp,O7e as cq,P7e as cr,K1e as cs,_7e as ct,x7e as cu,C7e as cv,Cue as cw,g1e as cx,m1e as cy,lOe as cz,yae as d,E7e as d$,YD as d0,X7e as d1,Wve as d2,kRe as d3,QD as d4,D7e as d5,vue as d6,U7e as d7,JD as d8,rOe as d9,_Re as dA,$7e as dB,dR as dC,fIe as dD,FT as dE,Zde as dF,_d as dG,fR as dH,hIe as dI,pIe as dJ,gIe as dK,Jde as dL,mIe as dM,fF as dN,uIe as dO,dIe as dP,aIe as dQ,mCe as dR,NO as dS,lIe as dT,JRe as dU,eOe as dV,YRe as dW,QRe as dX,XRe as dY,Q7e as dZ,G7e as d_,Tue as da,Ss as db,RRe as dc,VRe as dd,iRe as de,lle as df,GRe as dg,r7e as dh,MIe as di,NIe as dj,bF as dk,F7e as dl,IIe as dm,bT as dn,iOe as dp,JIe as dq,uSe as dr,sOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,N7e as dx,tOe as dy,ale as dz,TD as e,SOe as e$,j7e as e0,tMe as e1,Y7e as e2,T7e as e3,W7e as e4,H7e as e5,z7e as e6,K7e as e7,rRe as e8,V7e as e9,jIe as eA,VIe as eB,GIe as eC,XIe as eD,Nye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,uke as eJ,Pke as eK,Ake as eL,VOe as eM,vke as eN,Oke as eO,C_e as eP,NOe as eQ,ike as eR,tp as eS,eke as eT,LOe as eU,nS as eV,rke as eW,kOe as eX,tke as eY,IOe as eZ,FOe as e_,q7e as ea,nRe as eb,OB as ec,_T as ed,Z7e as ee,z1 as ef,Ne as eg,J7e as eh,yU as ei,vRe as ej,eMe as ek,E$ as el,N$ as em,ZIe as en,HIe as eo,WIe as ep,qIe as eq,aE as er,YIe as es,QIe as et,Ig as eu,rb as ev,zIe as ew,kCe as ex,BIe as ey,UIe as ez,ML as f,oMe as f$,bOe as f0,_Oe as f1,Rke as f2,o$ as f3,Sg as f4,EOe as f5,AOe as f6,POe as f7,Eke as f8,UOe as f9,hke as fA,pke as fB,Lke as fC,Ske as fD,Dke as fE,ZOe as fF,QOe as fG,OOe as fH,ROe as fI,Mke as fJ,jOe as fK,w_e as fL,__e as fM,b_e as fN,S_e as fO,COe as fP,oOe as fQ,xue as fR,qRe as fS,TOe as fT,XOe as fU,Nke as fV,DRe as fW,$Re as fX,FRe as fY,BRe as fZ,YOe as f_,BOe as fa,Hue as fb,Tke as fc,x_e as fd,DOe as fe,fCe as ff,gCe as fg,WOe as fh,qOe as fi,cke as fj,lke as fk,oke as fl,wOe as fm,xOe as fn,k7e as fo,I7e as fp,JOe as fq,HOe as fr,dke as fs,yke as ft,fke as fu,zOe as fv,MOe as fw,Cke as fx,xke as fy,gke as fz,cae as g,dOe as g0,e$ as g1,pOe as g2,hOe as g3,gOe as g4,ole as g5,p_e as g6,uMe as g7,sV as g8,wMe as g9,bMe as ga,yMe as gb,SMe as gc,Ts as gd,vMe as ge,lMe as gf,H4e as gg,$4e as gh,EMe as gi,PMe as gj,RMe as gk,VL as h,li as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,iT as u,kL as v,fT as w,vD as x,NL as y,nle as z}; diff --git a/invokeai/frontend/web/dist/assets/menu-b4489359.js b/invokeai/frontend/web/dist/assets/menu-971c0572.js similarity index 99% rename from invokeai/frontend/web/dist/assets/menu-b4489359.js rename to invokeai/frontend/web/dist/assets/menu-971c0572.js index db994ae22b..d337c4a5f7 100644 --- a/invokeai/frontend/web/dist/assets/menu-b4489359.js +++ b/invokeai/frontend/web/dist/assets/menu-971c0572.js @@ -1 +1 @@ -import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-deaa1f26.js";function Je(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??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="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=Ye();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=J,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=J),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=J;G.selector=tt;G.displayName="Portal";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 Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(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(st(o,t))return r}function it(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 lt(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 ct(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 ut(e,t){const r=ct(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 dt={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=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(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},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";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.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 mt(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[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.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%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.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:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.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(j.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 St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(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=_t(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 _t(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 Ct=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(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{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=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((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[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=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","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(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 kt(){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 wt(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 Pt(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}}):wt(e,t,r)}const At=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 un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},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 v=(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=[v,{},!1];return k.t=v,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(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,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&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);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(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={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 $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(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 E=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):E(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 Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(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 Bt(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 Ht(e)?Wt(e):e.startsWith("rgb")?Bt(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 Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(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 Ut(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 Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(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 qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(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 Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},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 sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,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(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},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=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({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}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(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 _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={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:`${E(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 wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(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 fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(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),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(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}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={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"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; +import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-2c171c8f.js";function Je(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??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="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=Ye();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=J,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=J),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=J;G.selector=tt;G.displayName="Portal";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 Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(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(st(o,t))return r}function it(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 lt(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 ct(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 ut(e,t){const r=ct(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 dt={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=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(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},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";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.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 mt(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[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.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%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.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:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.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(j.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 St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(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=_t(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 _t(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 Ct=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(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{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=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((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[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=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","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(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 kt(){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 wt(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 Pt(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}}):wt(e,t,r)}const At=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 un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},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 v=(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=[v,{},!1];return k.t=v,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(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,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&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);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(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={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 $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(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 E=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):E(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 Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(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 Bt(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 Ht(e)?Wt(e):e.startsWith("rgb")?Bt(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 Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(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 Ut(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 Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(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 qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(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 Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},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 sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,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(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},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=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({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}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(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 _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={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:`${E(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 wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(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 fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(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),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(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}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={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"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 32d631cc03..f365c2b718 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 63380a19fa..fbae5b4a30 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -503,6 +503,9 @@ "hiresStrength": "High Res Strength", "imageFit": "Fit Initial Image To Output Size", "codeformerFidelity": "Fidelity", + "maskAdjustmentsHeader": "Mask Adjustments", + "maskBlur": "Mask Blur", + "maskBlurMethod": "Mask Blur Method", "seamSize": "Seam Size", "seamBlur": "Seam Blur", "seamStrength": "Seam Strength", diff --git a/invokeai/frontend/web/package.json b/invokeai/frontend/web/package.json index 8cc2c158be..6c9db74bbc 100644 --- a/invokeai/frontend/web/package.json +++ b/invokeai/frontend/web/package.json @@ -61,6 +61,7 @@ "@dagrejs/graphlib": "^2.1.13", "@dnd-kit/core": "^6.0.8", "@dnd-kit/modifiers": "^6.0.1", + "@dnd-kit/utilities": "^3.2.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@floating-ui/react-dom": "^2.0.1", diff --git a/invokeai/frontend/web/scripts/colors.js b/invokeai/frontend/web/scripts/colors.js new file mode 100644 index 0000000000..3fc8f8d751 --- /dev/null +++ b/invokeai/frontend/web/scripts/colors.js @@ -0,0 +1,34 @@ +export const COLORS = { + reset: '\x1b[0m', + bright: '\x1b[1m', + dim: '\x1b[2m', + underscore: '\x1b[4m', + blink: '\x1b[5m', + reverse: '\x1b[7m', + hidden: '\x1b[8m', + + fg: { + black: '\x1b[30m', + red: '\x1b[31m', + green: '\x1b[32m', + yellow: '\x1b[33m', + blue: '\x1b[34m', + magenta: '\x1b[35m', + cyan: '\x1b[36m', + white: '\x1b[37m', + gray: '\x1b[90m', + crimson: '\x1b[38m', + }, + bg: { + black: '\x1b[40m', + red: '\x1b[41m', + green: '\x1b[42m', + yellow: '\x1b[43m', + blue: '\x1b[44m', + magenta: '\x1b[45m', + cyan: '\x1b[46m', + white: '\x1b[47m', + gray: '\x1b[100m', + crimson: '\x1b[48m', + }, +}; diff --git a/invokeai/frontend/web/scripts/typegen.js b/invokeai/frontend/web/scripts/typegen.js index ec67c48f2d..d105917e66 100644 --- a/invokeai/frontend/web/scripts/typegen.js +++ b/invokeai/frontend/web/scripts/typegen.js @@ -1,23 +1,83 @@ import fs from 'node:fs'; import openapiTS from 'openapi-typescript'; +import { COLORS } from './colors.js'; const OPENAPI_URL = 'http://127.0.0.1:9090/openapi.json'; const OUTPUT_FILE = 'src/services/api/schema.d.ts'; async function main() { process.stdout.write( - `Generating types "${OPENAPI_URL}" --> "${OUTPUT_FILE}"...` + `Generating types "${OPENAPI_URL}" --> "${OUTPUT_FILE}"...\n\n` ); const types = await openapiTS(OPENAPI_URL, { exportType: true, - transform: (schemaObject) => { + transform: (schemaObject, metadata) => { if ('format' in schemaObject && schemaObject.format === 'binary') { return schemaObject.nullable ? 'Blob | null' : 'Blob'; } + + /** + * Because invocations may have required fields that accept connection input, the generated + * types may be incorrect. + * + * For example, the ImageResizeInvocation has a required `image` field, but because it accepts + * connection input, it should be optional on instantiation of the field. + * + * To handle this, the schema exposes an `input` property that can be used to determine if the + * field accepts connection input. If it does, we can make the field optional. + */ + + // Check if we are generating types for an invocation + const isInvocationPath = metadata.path.match( + /^#\/components\/schemas\/\w*Invocation$/ + ); + + const hasInvocationProperties = + schemaObject.properties && + ['id', 'is_intermediate', 'type'].every( + (prop) => prop in schemaObject.properties + ); + + if (isInvocationPath && hasInvocationProperties) { + // We only want to make fields optional if they are required + if (!Array.isArray(schemaObject?.required)) { + schemaObject.required = ['id', 'type']; + return; + } + + schemaObject.required.forEach((prop) => { + const acceptsConnection = ['any', 'connection'].includes( + schemaObject.properties?.[prop]?.['input'] + ); + + if (acceptsConnection) { + // remove this prop from the required array + const invocationName = metadata.path.split('/').pop(); + console.log( + `Making connectable field optional: ${COLORS.fg.green}${invocationName}.${COLORS.fg.cyan}${prop}${COLORS.reset}` + ); + schemaObject.required = schemaObject.required.filter( + (r) => r !== prop + ); + } + }); + + schemaObject.required = [ + ...new Set(schemaObject.required.concat(['id', 'type'])), + ]; + + return; + } + // if ( + // 'input' in schemaObject && + // (schemaObject.input === 'any' || schemaObject.input === 'connection') + // ) { + // schemaObject.required = false; + // } }, }); fs.writeFileSync(OUTPUT_FILE, types); - process.stdout.write(` OK!\r\n`); + process.stdout.write(`\nOK!\r\n`); } main(); diff --git a/invokeai/frontend/web/src/app/components/GlobalHotkeys.ts b/invokeai/frontend/web/src/app/components/GlobalHotkeys.ts index 9827e7f2b3..bbe77dc698 100644 --- a/invokeai/frontend/web/src/app/components/GlobalHotkeys.ts +++ b/invokeai/frontend/web/src/app/components/GlobalHotkeys.ts @@ -1,8 +1,12 @@ import { createSelector } from '@reduxjs/toolkit'; -import { RootState } from 'app/store/store'; +import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { requestCanvasRescale } from 'features/canvas/store/thunks/requestCanvasScale'; -import { shiftKeyPressed } from 'features/ui/store/hotkeysSlice'; +import { + ctrlKeyPressed, + metaKeyPressed, + shiftKeyPressed, +} from 'features/ui/store/hotkeysSlice'; import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; import { setActiveTab, @@ -16,11 +20,11 @@ import React, { memo } from 'react'; import { isHotkeyPressed, useHotkeys } from 'react-hotkeys-hook'; const globalHotkeysSelector = createSelector( - [(state: RootState) => state.hotkeys, (state: RootState) => state.ui], - (hotkeys, ui) => { - const { shift } = hotkeys; + [stateSelector], + ({ hotkeys, ui }) => { + const { shift, ctrl, meta } = hotkeys; const { shouldPinParametersPanel, shouldPinGallery } = ui; - return { shift, shouldPinGallery, shouldPinParametersPanel }; + return { shift, ctrl, meta, shouldPinGallery, shouldPinParametersPanel }; }, { memoizeOptions: { @@ -37,9 +41,8 @@ const globalHotkeysSelector = createSelector( */ const GlobalHotkeys: React.FC = () => { const dispatch = useAppDispatch(); - const { shift, shouldPinParametersPanel, shouldPinGallery } = useAppSelector( - globalHotkeysSelector - ); + const { shift, ctrl, meta, shouldPinParametersPanel, shouldPinGallery } = + useAppSelector(globalHotkeysSelector); const activeTabName = useAppSelector(activeTabNameSelector); useHotkeys( @@ -50,9 +53,19 @@ const GlobalHotkeys: React.FC = () => { } else { shift && dispatch(shiftKeyPressed(false)); } + if (isHotkeyPressed('ctrl')) { + !ctrl && dispatch(ctrlKeyPressed(true)); + } else { + ctrl && dispatch(ctrlKeyPressed(false)); + } + if (isHotkeyPressed('meta')) { + !meta && dispatch(metaKeyPressed(true)); + } else { + meta && dispatch(metaKeyPressed(false)); + } }, { keyup: true, keydown: true }, - [shift] + [shift, ctrl, meta] ); useHotkeys('o', () => { diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index 93b7825db7..7e2ed7f571 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -14,7 +14,7 @@ import { $authToken, $baseUrl, $projectId } from 'services/api/client'; import { socketMiddleware } from 'services/events/middleware'; import Loading from '../../common/components/Loading/Loading'; import '../../i18n'; -import ImageDndContext from './ImageDnd/ImageDndContext'; +import AppDndContext from '../../features/dnd/components/AppDndContext'; const App = lazy(() => import('./App')); const ThemeLocaleProvider = lazy(() => import('./ThemeLocaleProvider')); @@ -80,9 +80,9 @@ const InvokeAIUI = ({ }> - + - + diff --git a/invokeai/frontend/web/src/app/logging/logger.ts b/invokeai/frontend/web/src/app/logging/logger.ts index ef27c98d1f..7797b8dc92 100644 --- a/invokeai/frontend/web/src/app/logging/logger.ts +++ b/invokeai/frontend/web/src/app/logging/logger.ts @@ -19,7 +19,8 @@ type LoggerNamespace = | 'nodes' | 'system' | 'socketio' - | 'session'; + | 'session' + | 'dnd'; export const logger = (namespace: LoggerNamespace) => $logger.get().child({ namespace }); diff --git a/invokeai/frontend/web/src/app/store/middleware/devtools/actionsDenylist.ts b/invokeai/frontend/web/src/app/store/middleware/devtools/actionsDenylist.ts index 6d41d488c8..a596fce931 100644 --- a/invokeai/frontend/web/src/app/store/middleware/devtools/actionsDenylist.ts +++ b/invokeai/frontend/web/src/app/store/middleware/devtools/actionsDenylist.ts @@ -15,7 +15,7 @@ export const actionsDenylist = [ 'socket/socketGeneratorProgress', 'socket/appSocketGeneratorProgress', // every time user presses shift - 'hotkeys/shiftKeyPressed', + // 'hotkeys/shiftKeyPressed', // this happens after every state change '@@REMEMBER_PERSISTED', ]; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts index c15b072a07..abb17d1eec 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts @@ -15,6 +15,7 @@ import { addDeleteBoardAndImagesFulfilledListener } from './listeners/boardAndIm import { addBoardIdSelectedListener } from './listeners/boardIdSelected'; import { addCanvasCopiedToClipboardListener } from './listeners/canvasCopiedToClipboard'; import { addCanvasDownloadedAsImageListener } from './listeners/canvasDownloadedAsImage'; +import { addCanvasMaskSavedToGalleryListener } from './listeners/canvasMaskSavedToGallery'; import { addCanvasMergedListener } from './listeners/canvasMerged'; import { addCanvasSavedToGalleryListener } from './listeners/canvasSavedToGallery'; import { addControlNetAutoProcessListener } from './listeners/controlNetAutoProcess'; @@ -27,8 +28,8 @@ import { addImageDeletedFulfilledListener, addImageDeletedPendingListener, addImageDeletedRejectedListener, - addRequestedSingleImageDeletionListener, addRequestedMultipleImageDeletionListener, + addRequestedSingleImageDeletionListener, } from './listeners/imageDeleted'; import { addImageDroppedListener } from './listeners/imageDropped'; import { @@ -79,6 +80,8 @@ import { addUserInvokedCanvasListener } from './listeners/userInvokedCanvas'; import { addUserInvokedImageToImageListener } from './listeners/userInvokedImageToImage'; import { addUserInvokedNodesListener } from './listeners/userInvokedNodes'; import { addUserInvokedTextToImageListener } from './listeners/userInvokedTextToImage'; +import { addImagesStarredListener } from './listeners/imagesStarred'; +import { addImagesUnstarredListener } from './listeners/imagesUnstarred'; export const listenerMiddleware = createListenerMiddleware(); @@ -120,6 +123,10 @@ addImageDeletedRejectedListener(); addDeleteBoardAndImagesFulfilledListener(); addImageToDeleteSelectedListener(); +// Image starred +addImagesStarredListener(); +addImagesUnstarredListener(); + // User Invoked addUserInvokedCanvasListener(); addUserInvokedNodesListener(); @@ -129,6 +136,7 @@ addSessionReadyToInvokeListener(); // Canvas actions addCanvasSavedToGalleryListener(); +addCanvasMaskSavedToGalleryListener(); addCanvasDownloadedAsImageListener(); addCanvasCopiedToClipboardListener(); addCanvasMergedListener(); diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMaskSavedToGallery.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMaskSavedToGallery.ts new file mode 100644 index 0000000000..e701b93352 --- /dev/null +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMaskSavedToGallery.ts @@ -0,0 +1,60 @@ +import { logger } from 'app/logging/logger'; +import { canvasMaskSavedToGallery } from 'features/canvas/store/actions'; +import { getCanvasData } from 'features/canvas/util/getCanvasData'; +import { addToast } from 'features/system/store/systemSlice'; +import { imagesApi } from 'services/api/endpoints/images'; +import { startAppListening } from '..'; + +export const addCanvasMaskSavedToGalleryListener = () => { + startAppListening({ + actionCreator: canvasMaskSavedToGallery, + effect: async (action, { dispatch, getState }) => { + const log = logger('canvas'); + const state = getState(); + + const canvasBlobsAndImageData = await getCanvasData( + state.canvas.layerState, + state.canvas.boundingBoxCoordinates, + state.canvas.boundingBoxDimensions, + state.canvas.isMaskEnabled, + state.canvas.shouldPreserveMaskedArea + ); + + if (!canvasBlobsAndImageData) { + return; + } + + const { maskBlob } = canvasBlobsAndImageData; + + if (!maskBlob) { + log.error('Problem getting mask layer blob'); + dispatch( + addToast({ + title: 'Problem Saving Mask', + description: 'Unable to export mask', + status: 'error', + }) + ); + return; + } + + const { autoAddBoardId } = state.gallery; + + dispatch( + imagesApi.endpoints.uploadImage.initiate({ + file: new File([maskBlob], 'canvasMaskImage.png', { + type: 'image/png', + }), + image_category: 'mask', + is_intermediate: false, + board_id: autoAddBoardId === 'none' ? undefined : autoAddBoardId, + crop_visible: true, + postUploadAction: { + type: 'TOAST', + toastOptions: { title: 'Mask Saved to Assets' }, + }, + }) + ); + }, + }); +}; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts index 043105cb66..fc0b44653d 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts @@ -1,16 +1,20 @@ import { createAction } from '@reduxjs/toolkit'; -import { - TypesafeDraggableData, - TypesafeDroppableData, -} from 'app/components/ImageDnd/typesafeDnd'; import { logger } from 'app/logging/logger'; import { setInitialCanvasImage } from 'features/canvas/store/canvasSlice'; import { controlNetImageChanged } from 'features/controlNet/store/controlNetSlice'; +import { + TypesafeDraggableData, + TypesafeDroppableData, +} from 'features/dnd/types'; import { imageSelected } from 'features/gallery/store/gallerySlice'; -import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; +import { + fieldImageValueChanged, + workflowExposedFieldAdded, +} from 'features/nodes/store/nodesSlice'; import { initialImageChanged } from 'features/parameters/store/generationSlice'; import { imagesApi } from 'services/api/endpoints/images'; import { startAppListening } from '../'; +import { parseify } from 'common/util/serialize'; export const dndDropped = createAction<{ overData: TypesafeDroppableData; @@ -21,7 +25,7 @@ export const addImageDroppedListener = () => { startAppListening({ actionCreator: dndDropped, effect: async (action, { dispatch }) => { - const log = logger('images'); + const log = logger('dnd'); const { activeData, overData } = action.payload; if (activeData.payloadType === 'IMAGE_DTO') { @@ -31,10 +35,28 @@ export const addImageDroppedListener = () => { { activeData, overData }, `Images (${activeData.payload.imageDTOs.length}) dropped` ); + } else if (activeData.payloadType === 'NODE_FIELD') { + log.debug( + { activeData: parseify(activeData), overData: parseify(overData) }, + 'Node field dropped' + ); } else { log.debug({ activeData, overData }, `Unknown payload dropped`); } + if ( + overData.actionType === 'ADD_FIELD_TO_LINEAR' && + activeData.payloadType === 'NODE_FIELD' + ) { + const { nodeId, field } = activeData.payload; + dispatch( + workflowExposedFieldAdded({ + nodeId, + fieldName: field.name, + }) + ); + } + /** * Image dropped on current image */ @@ -99,7 +121,7 @@ export const addImageDroppedListener = () => { ) { const { fieldName, nodeId } = overData.context; dispatch( - fieldValueChanged({ + fieldImageValueChanged({ nodeId, fieldName, value: activeData.payload.imageDTO, diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts index 6dc2d482a9..0c55908748 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts @@ -2,7 +2,7 @@ import { UseToastOptions } from '@chakra-ui/react'; import { logger } from 'app/logging/logger'; import { setInitialCanvasImage } from 'features/canvas/store/canvasSlice'; import { controlNetImageChanged } from 'features/controlNet/store/controlNetSlice'; -import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; +import { fieldImageValueChanged } from 'features/nodes/store/nodesSlice'; import { initialImageChanged } from 'features/parameters/store/generationSlice'; import { addToast } from 'features/system/store/systemSlice'; import { omit } from 'lodash-es'; @@ -111,7 +111,9 @@ export const addImageUploadedFulfilledListener = () => { if (postUploadAction?.type === 'SET_NODES_IMAGE') { const { nodeId, fieldName } = postUploadAction; - dispatch(fieldValueChanged({ nodeId, fieldName, value: imageDTO })); + dispatch( + fieldImageValueChanged({ nodeId, fieldName, value: imageDTO }) + ); dispatch( addToast({ ...DEFAULT_UPLOADED_TOAST, diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesStarred.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesStarred.ts new file mode 100644 index 0000000000..5988eee207 --- /dev/null +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesStarred.ts @@ -0,0 +1,30 @@ +import { imagesApi } from 'services/api/endpoints/images'; +import { startAppListening } from '..'; +import { selectionChanged } from '../../../../../features/gallery/store/gallerySlice'; +import { ImageDTO } from '../../../../../services/api/types'; + +export const addImagesStarredListener = () => { + startAppListening({ + matcher: imagesApi.endpoints.starImages.matchFulfilled, + effect: async (action, { dispatch, getState }) => { + const { updated_image_names: starredImages } = action.payload; + + const state = getState(); + + const { selection } = state.gallery; + const updatedSelection: ImageDTO[] = []; + + selection.forEach((selectedImageDTO) => { + if (starredImages.includes(selectedImageDTO.image_name)) { + updatedSelection.push({ + ...selectedImageDTO, + starred: true, + }); + } else { + updatedSelection.push(selectedImageDTO); + } + }); + dispatch(selectionChanged(updatedSelection)); + }, + }); +}; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesUnstarred.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesUnstarred.ts new file mode 100644 index 0000000000..3df76861d4 --- /dev/null +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imagesUnstarred.ts @@ -0,0 +1,30 @@ +import { imagesApi } from 'services/api/endpoints/images'; +import { startAppListening } from '..'; +import { selectionChanged } from '../../../../../features/gallery/store/gallerySlice'; +import { ImageDTO } from '../../../../../services/api/types'; + +export const addImagesUnstarredListener = () => { + startAppListening({ + matcher: imagesApi.endpoints.unstarImages.matchFulfilled, + effect: async (action, { dispatch, getState }) => { + const { updated_image_names: unstarredImages } = action.payload; + + const state = getState(); + + const { selection } = state.gallery; + const updatedSelection: ImageDTO[] = []; + + selection.forEach((selectedImageDTO) => { + if (unstarredImages.includes(selectedImageDTO.image_name)) { + updatedSelection.push({ + ...selectedImageDTO, + starred: false, + }); + } else { + updatedSelection.push(selectedImageDTO); + } + }); + dispatch(selectionChanged(updatedSelection)); + }, + }); +}; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts index 436a58aa8e..4d30ee3b8b 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts @@ -15,12 +15,21 @@ import { setShouldUseSDXLRefiner, } from 'features/sdxl/store/sdxlSlice'; import { forEach, some } from 'lodash-es'; -import { modelsApi, vaeModelsAdapter } from 'services/api/endpoints/models'; +import { + mainModelsAdapter, + modelsApi, + vaeModelsAdapter, +} from 'services/api/endpoints/models'; +import { TypeGuardFor } from 'services/api/types'; import { startAppListening } from '..'; export const addModelsLoadedListener = () => { startAppListening({ - predicate: (state, action) => + predicate: ( + action + ): action is TypeGuardFor< + typeof modelsApi.endpoints.getMainModels.matchFulfilled + > => modelsApi.endpoints.getMainModels.matchFulfilled(action) && !action.meta.arg.originalArgs.includes('sdxl-refiner'), effect: async (action, { getState, dispatch }) => { @@ -32,29 +41,28 @@ export const addModelsLoadedListener = () => { ); const currentModel = getState().generation.model; + const models = mainModelsAdapter.getSelectors().selectAll(action.payload); - const isCurrentModelAvailable = some( - action.payload.entities, - (m) => - m?.model_name === currentModel?.model_name && - m?.base_model === currentModel?.base_model && - m?.model_type === currentModel?.model_type - ); - - if (isCurrentModelAvailable) { - return; - } - - const firstModelId = action.payload.ids[0]; - const firstModel = action.payload.entities[firstModelId]; - - if (!firstModel) { + if (models.length === 0) { // No models loaded at all dispatch(modelChanged(null)); return; } - const result = zMainOrOnnxModel.safeParse(firstModel); + const isCurrentModelAvailable = currentModel + ? models.some( + (m) => + m.model_name === currentModel.model_name && + m.base_model === currentModel.base_model && + m.model_type === currentModel.model_type + ) + : false; + + if (isCurrentModelAvailable) { + return; + } + + const result = zMainOrOnnxModel.safeParse(models[0]); if (!result.success) { log.error( @@ -68,7 +76,11 @@ export const addModelsLoadedListener = () => { }, }); startAppListening({ - predicate: (state, action) => + predicate: ( + action + ): action is TypeGuardFor< + typeof modelsApi.endpoints.getMainModels.matchFulfilled + > => modelsApi.endpoints.getMainModels.matchFulfilled(action) && action.meta.arg.originalArgs.includes('sdxl-refiner'), effect: async (action, { getState, dispatch }) => { @@ -80,30 +92,29 @@ export const addModelsLoadedListener = () => { ); const currentModel = getState().sdxl.refinerModel; + const models = mainModelsAdapter.getSelectors().selectAll(action.payload); - const isCurrentModelAvailable = some( - action.payload.entities, - (m) => - m?.model_name === currentModel?.model_name && - m?.base_model === currentModel?.base_model && - m?.model_type === currentModel?.model_type - ); - - if (isCurrentModelAvailable) { - return; - } - - const firstModelId = action.payload.ids[0]; - const firstModel = action.payload.entities[firstModelId]; - - if (!firstModel) { + if (models.length === 0) { // No models loaded at all dispatch(refinerModelChanged(null)); dispatch(setShouldUseSDXLRefiner(false)); return; } - const result = zSDXLRefinerModel.safeParse(firstModel); + const isCurrentModelAvailable = currentModel + ? models.some( + (m) => + m.model_name === currentModel.model_name && + m.base_model === currentModel.base_model && + m.model_type === currentModel.model_type + ) + : false; + + if (isCurrentModelAvailable) { + return; + } + + const result = zSDXLRefinerModel.safeParse(models[0]); if (!result.success) { log.error( diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/receivedOpenAPISchema.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/receivedOpenAPISchema.ts index 44729f215a..dd86c77735 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/receivedOpenAPISchema.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/receivedOpenAPISchema.ts @@ -13,7 +13,7 @@ export const addReceivedOpenAPISchemaListener = () => { const log = logger('system'); const schemaJSON = action.payload; - log.debug({ schemaJSON }, 'Dereferenced OpenAPI schema'); + log.debug({ schemaJSON }, 'Received OpenAPI schema'); const nodeTemplates = parseSchema(schemaJSON); @@ -28,9 +28,12 @@ export const addReceivedOpenAPISchemaListener = () => { startAppListening({ actionCreator: receivedOpenAPISchema.rejected, - effect: () => { + effect: (action) => { const log = logger('system'); - log.error('Problem dereferencing OpenAPI Schema'); + log.error( + { error: parseify(action.error) }, + 'Problem retrieving OpenAPI Schema' + ); }, }); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts index 5b3b9424b6..5501f208fd 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts @@ -19,7 +19,7 @@ import { } from 'services/events/actions'; import { startAppListening } from '../..'; -const nodeDenylist = ['dataURL_image']; +const nodeDenylist = ['load_image']; export const addInvocationCompleteEventListener = () => { startAppListening({ diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedNodes.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedNodes.ts index 0c298cbb24..5894bba5df 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedNodes.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedNodes.ts @@ -15,7 +15,7 @@ export const addUserInvokedNodesListener = () => { const log = logger('session'); const state = getState(); - const graph = buildNodesGraph(state); + const graph = buildNodesGraph(state.nodes); dispatch(nodesGraphBuilt(graph)); log.debug({ graph: parseify(graph) }, 'Nodes graph built'); diff --git a/invokeai/frontend/web/src/app/types/invokeai.ts b/invokeai/frontend/web/src/app/types/invokeai.ts index 827424fa7f..a39ed2ca7b 100644 --- a/invokeai/frontend/web/src/app/types/invokeai.ts +++ b/invokeai/frontend/web/src/app/types/invokeai.ts @@ -1,86 +1,7 @@ -import { - // CONTROLNET_MODELS, - CONTROLNET_PROCESSORS, -} from 'features/controlNet/store/constants'; +import { CONTROLNET_PROCESSORS } from 'features/controlNet/store/constants'; import { InvokeTabName } from 'features/ui/store/tabMap'; import { O } from 'ts-toolbelt'; -// These are old types from the model management UI - -// export type ModelStatus = 'active' | 'cached' | 'not loaded'; - -// export type Model = { -// status: ModelStatus; -// description: string; -// weights: string; -// config?: string; -// vae?: string; -// width?: number; -// height?: number; -// default?: boolean; -// format?: string; -// }; - -// export type DiffusersModel = { -// status: ModelStatus; -// description: string; -// repo_id?: string; -// path?: string; -// vae?: { -// repo_id?: string; -// path?: string; -// }; -// format?: string; -// default?: boolean; -// }; - -// export type ModelList = Record; - -// export type FoundModel = { -// name: string; -// location: string; -// }; - -// export type InvokeModelConfigProps = { -// name: string | undefined; -// description: string | undefined; -// config: string | undefined; -// weights: string | undefined; -// vae: string | undefined; -// width: number | undefined; -// height: number | undefined; -// default: boolean | undefined; -// format: string | undefined; -// }; - -// export type InvokeDiffusersModelConfigProps = { -// name: string | undefined; -// description: string | undefined; -// repo_id: string | undefined; -// path: string | undefined; -// default: boolean | undefined; -// format: string | undefined; -// vae: { -// repo_id: string | undefined; -// path: string | undefined; -// }; -// }; - -// export type InvokeModelConversionProps = { -// model_name: string; -// save_location: string; -// custom_location: string | null; -// }; - -// export type InvokeModelMergingProps = { -// models_to_merge: string[]; -// alpha: number; -// interp: 'weighted_sum' | 'sigmoid' | 'inv_sigmoid' | 'add_difference'; -// force: boolean; -// merged_model_name: string; -// model_merge_save_path: string | null; -// }; - /** * A disable-able application feature */ diff --git a/invokeai/frontend/web/src/common/components/IAIContextMenu.tsx b/invokeai/frontend/web/src/common/components/IAIContextMenu.tsx new file mode 100644 index 0000000000..757faca866 --- /dev/null +++ b/invokeai/frontend/web/src/common/components/IAIContextMenu.tsx @@ -0,0 +1,126 @@ +/** + * This is a copy-paste of https://github.com/lukasbach/chakra-ui-contextmenu with a small change. + * + * The reactflow background element somehow prevents the chakra `useOutsideClick()` hook from working. + * With a menu open, clicking on the reactflow background element doesn't close the menu. + * + * Reactflow does provide an `onPaneClick` to handle clicks on the background element, but it is not + * straightforward to programatically close the menu. + * + * As a (hopefully temporary) workaround, we will use a dirty hack: + * - create `globalContextMenuCloseTrigger: number` in `ui` slice + * - increment it in `onPaneClick` + * - `useEffect()` to close the menu when `globalContextMenuCloseTrigger` changes + */ + +import { + Menu, + MenuButton, + MenuButtonProps, + MenuProps, + Portal, + PortalProps, + useEventListener, +} from '@chakra-ui/react'; +import { useAppSelector } from 'app/store/storeHooks'; +import * as React from 'react'; +import { + MutableRefObject, + useCallback, + useEffect, + useRef, + useState, +} from 'react'; + +export interface IAIContextMenuProps { + renderMenu: () => JSX.Element | null; + children: (ref: MutableRefObject) => JSX.Element | null; + menuProps?: Omit & { children?: React.ReactNode }; + portalProps?: Omit & { children?: React.ReactNode }; + menuButtonProps?: MenuButtonProps; +} + +export function IAIContextMenu( + props: IAIContextMenuProps +) { + const [isOpen, setIsOpen] = useState(false); + const [isRendered, setIsRendered] = useState(false); + const [isDeferredOpen, setIsDeferredOpen] = useState(false); + const [position, setPosition] = useState<[number, number]>([0, 0]); + const targetRef = useRef(null); + + const globalContextMenuCloseTrigger = useAppSelector( + (state) => state.ui.globalContextMenuCloseTrigger + ); + + useEffect(() => { + if (isOpen) { + setTimeout(() => { + setIsRendered(true); + setTimeout(() => { + setIsDeferredOpen(true); + }); + }); + } else { + setIsDeferredOpen(false); + const timeout = setTimeout(() => { + setIsRendered(isOpen); + }, 1000); + return () => clearTimeout(timeout); + } + }, [isOpen]); + + useEffect(() => { + setIsOpen(false); + setIsDeferredOpen(false); + setIsRendered(false); + }, [globalContextMenuCloseTrigger]); + + useEventListener('contextmenu', (e) => { + if ( + targetRef.current?.contains(e.target as HTMLElement) || + e.target === targetRef.current + ) { + e.preventDefault(); + setIsOpen(true); + setPosition([e.pageX, e.pageY]); + } else { + setIsOpen(false); + } + }); + + const onCloseHandler = useCallback(() => { + props.menuProps?.onClose?.(); + setIsOpen(false); + }, [props.menuProps]); + + return ( + <> + {props.children(targetRef)} + {isRendered && ( + + + + {props.renderMenu()} + + + )} + + ); +} diff --git a/invokeai/frontend/web/src/common/components/IAIDndImage.tsx b/invokeai/frontend/web/src/common/components/IAIDndImage.tsx index 780447aba6..aeeb3677cc 100644 --- a/invokeai/frontend/web/src/common/components/IAIDndImage.tsx +++ b/invokeai/frontend/web/src/common/components/IAIDndImage.tsx @@ -1,16 +1,11 @@ import { ChakraProps, Flex, + FlexProps, Icon, Image, useColorMode, - useColorModeValue, } from '@chakra-ui/react'; -import { - TypesafeDraggableData, - TypesafeDroppableData, -} from 'app/components/ImageDnd/typesafeDnd'; -import IAIIconButton from 'common/components/IAIIconButton'; import { IAILoadingImageFallback, IAINoContentFallback, @@ -21,27 +16,39 @@ import ImageContextMenu from 'features/gallery/components/ImageContextMenu/Image import { MouseEvent, ReactElement, + ReactNode, SyntheticEvent, memo, useCallback, useState, } from 'react'; -import { FaImage, FaUndo, FaUpload } from 'react-icons/fa'; +import { FaImage, FaUpload } from 'react-icons/fa'; import { ImageDTO, PostUploadAction } from 'services/api/types'; import { mode } from 'theme/util/mode'; import IAIDraggable from './IAIDraggable'; import IAIDroppable from './IAIDroppable'; import SelectionOverlay from './SelectionOverlay'; +import { + TypesafeDraggableData, + TypesafeDroppableData, +} from 'features/dnd/types'; -type IAIDndImageProps = { +const defaultUploadElement = ( + +); + +const defaultNoContentFallback = ; + +type IAIDndImageProps = FlexProps & { imageDTO: ImageDTO | undefined; onError?: (event: SyntheticEvent) => void; onLoad?: (event: SyntheticEvent) => void; onClick?: (event: MouseEvent) => void; - onClickReset?: (event: MouseEvent) => void; - withResetIcon?: boolean; - resetIcon?: ReactElement; - resetTooltip?: string; withMetadataOverlay?: boolean; isDragDisabled?: boolean; isDropDisabled?: boolean; @@ -52,21 +59,21 @@ type IAIDndImageProps = { fitContainer?: boolean; droppableData?: TypesafeDroppableData; draggableData?: TypesafeDraggableData; - dropLabel?: string; + dropLabel?: ReactNode; isSelected?: boolean; thumbnail?: boolean; noContentFallback?: ReactElement; useThumbailFallback?: boolean; withHoverOverlay?: boolean; + children?: JSX.Element; + uploadElement?: ReactNode; }; const IAIDndImage = (props: IAIDndImageProps) => { const { imageDTO, - onClickReset, onError, onClick, - withResetIcon = false, withMetadataOverlay = false, isDropDisabled = false, isDragDisabled = false, @@ -80,32 +87,37 @@ const IAIDndImage = (props: IAIDndImageProps) => { dropLabel, isSelected = false, thumbnail = false, - resetTooltip = 'Reset', - resetIcon = , - noContentFallback = , + noContentFallback = defaultNoContentFallback, + uploadElement = defaultUploadElement, useThumbailFallback, withHoverOverlay = false, + children, + onMouseOver, + onMouseOut, } = props; const { colorMode } = useColorMode(); const [isHovered, setIsHovered] = useState(false); - const handleMouseOver = useCallback(() => { - setIsHovered(true); - }, []); - const handleMouseOut = useCallback(() => { - setIsHovered(false); - }, []); + const handleMouseOver = useCallback( + (e: MouseEvent) => { + if (onMouseOver) onMouseOver(e); + setIsHovered(true); + }, + [onMouseOver] + ); + const handleMouseOut = useCallback( + (e: MouseEvent) => { + if (onMouseOut) onMouseOut(e); + setIsHovered(false); + }, + [onMouseOut] + ); const { getUploadButtonProps, getUploadInputProps } = useImageUploadButton({ postUploadAction, isDisabled: isUploadDisabled, }); - const resetIconShadow = useColorModeValue( - `drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))`, - `drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))` - ); - const uploadButtonStyles = isUploadDisabled ? {} : { @@ -157,11 +169,10 @@ const IAIDndImage = (props: IAIDndImageProps) => { ) } - width={imageDTO.width} - height={imageDTO.height} onError={onError} draggable={false} sx={{ + w: imageDTO.width, objectFit: 'contain', maxW: 'full', maxH: 'full', @@ -196,12 +207,7 @@ const IAIDndImage = (props: IAIDndImageProps) => { {...getUploadButtonProps()} > - + {uploadElement} )} @@ -213,6 +219,7 @@ const IAIDndImage = (props: IAIDndImageProps) => { onClick={onClick} /> )} + {children} {!isDropDisabled && ( { dropLabel={dropLabel} /> )} - {onClickReset && withResetIcon && imageDTO && ( - - )} )} diff --git a/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx b/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx new file mode 100644 index 0000000000..f3d3fc0dda --- /dev/null +++ b/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx @@ -0,0 +1,46 @@ +import { SystemStyleObject, useColorModeValue } from '@chakra-ui/react'; +import { MouseEvent, ReactElement, memo } from 'react'; +import IAIIconButton from './IAIIconButton'; + +type Props = { + onClick: (event: MouseEvent) => void; + tooltip: string; + icon?: ReactElement; + styleOverrides?: SystemStyleObject; +}; + +const IAIDndImageIcon = (props: Props) => { + const { onClick, tooltip, icon, styleOverrides } = props; + + const resetIconShadow = useColorModeValue( + `drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))`, + `drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))` + ); + return ( + + ); +}; + +export default memo(IAIDndImageIcon); diff --git a/invokeai/frontend/web/src/common/components/IAIDraggable.tsx b/invokeai/frontend/web/src/common/components/IAIDraggable.tsx index 482a8ac604..363799a573 100644 --- a/invokeai/frontend/web/src/common/components/IAIDraggable.tsx +++ b/invokeai/frontend/web/src/common/components/IAIDraggable.tsx @@ -1,22 +1,19 @@ -import { Box } from '@chakra-ui/react'; -import { - TypesafeDraggableData, - useDraggable, -} from 'app/components/ImageDnd/typesafeDnd'; -import { MouseEvent, memo, useRef } from 'react'; +import { Box, BoxProps } from '@chakra-ui/react'; +import { useDraggableTypesafe } from 'features/dnd/hooks/typesafeHooks'; +import { TypesafeDraggableData } from 'features/dnd/types'; +import { memo, useRef } from 'react'; import { v4 as uuidv4 } from 'uuid'; -type IAIDraggableProps = { +type IAIDraggableProps = BoxProps & { disabled?: boolean; data?: TypesafeDraggableData; - onClick?: (event: MouseEvent) => void; }; const IAIDraggable = (props: IAIDraggableProps) => { - const { data, disabled, onClick } = props; + const { data, disabled, ...rest } = props; const dndId = useRef(uuidv4()); - const { attributes, listeners, setNodeRef } = useDraggable({ + const { attributes, listeners, setNodeRef } = useDraggableTypesafe({ id: dndId.current, disabled, data, @@ -24,7 +21,6 @@ const IAIDraggable = (props: IAIDraggableProps) => { return ( { insetInlineStart={0} {...attributes} {...listeners} + {...rest} /> ); }; diff --git a/invokeai/frontend/web/src/common/components/IAIDroppable.tsx b/invokeai/frontend/web/src/common/components/IAIDroppable.tsx index 1038f36840..e4fb121c78 100644 --- a/invokeai/frontend/web/src/common/components/IAIDroppable.tsx +++ b/invokeai/frontend/web/src/common/components/IAIDroppable.tsx @@ -1,9 +1,7 @@ import { Box } from '@chakra-ui/react'; -import { - TypesafeDroppableData, - isValidDrop, - useDroppable, -} from 'app/components/ImageDnd/typesafeDnd'; +import { useDroppableTypesafe } from 'features/dnd/hooks/typesafeHooks'; +import { TypesafeDroppableData } from 'features/dnd/types'; +import { isValidDrop } from 'features/dnd/util/isValidDrop'; import { AnimatePresence } from 'framer-motion'; import { ReactNode, memo, useRef } from 'react'; import { v4 as uuidv4 } from 'uuid'; @@ -19,7 +17,7 @@ const IAIDroppable = (props: IAIDroppableProps) => { const { dropLabel, data, disabled } = props; const dndId = useRef(uuidv4()); - const { isOver, setNodeRef, active } = useDroppable({ + const { isOver, setNodeRef, active } = useDroppableTypesafe({ id: dndId.current, disabled, data, diff --git a/invokeai/frontend/web/src/common/components/IAIImageFallback.tsx b/invokeai/frontend/web/src/common/components/IAIImageFallback.tsx index 2057525b7a..a150e4ed0c 100644 --- a/invokeai/frontend/web/src/common/components/IAIImageFallback.tsx +++ b/invokeai/frontend/web/src/common/components/IAIImageFallback.tsx @@ -49,7 +49,7 @@ export const IAILoadingImageFallback = (props: Props) => { type IAINoImageFallbackProps = { label?: string; - icon?: As; + icon?: As | null; boxSize?: StyleProps['boxSize']; sx?: ChakraProps['sx']; }; @@ -76,7 +76,7 @@ export const IAINoContentFallback = (props: IAINoImageFallbackProps) => { ...props.sx, }} > - + {icon && } {props.label && {props.label}} ); diff --git a/invokeai/frontend/web/src/common/components/IAISwitch.tsx b/invokeai/frontend/web/src/common/components/IAISwitch.tsx index 9803626397..da0883d77e 100644 --- a/invokeai/frontend/web/src/common/components/IAISwitch.tsx +++ b/invokeai/frontend/web/src/common/components/IAISwitch.tsx @@ -1,10 +1,13 @@ import { + Flex, FormControl, FormControlProps, + FormHelperText, FormLabel, FormLabelProps, Switch, SwitchProps, + Text, Tooltip, } from '@chakra-ui/react'; import { memo } from 'react'; @@ -15,6 +18,7 @@ export interface IAISwitchProps extends SwitchProps { formControlProps?: FormControlProps; formLabelProps?: FormLabelProps; tooltip?: string; + helperText?: string; } /** @@ -28,6 +32,7 @@ const IAISwitch = (props: IAISwitchProps) => { formControlProps, formLabelProps, tooltip, + helperText, ...rest } = props; return ( @@ -35,25 +40,33 @@ const IAISwitch = (props: IAISwitchProps) => { - {label && ( - - {label} - - )} - + + + {label && ( + + {label} + + )} + + + {helperText && ( + + {helperText} + + )} + ); diff --git a/invokeai/frontend/web/src/common/hooks/useChakraThemeTokens.ts b/invokeai/frontend/web/src/common/hooks/useChakraThemeTokens.ts index 770add7253..0afb7e7e5d 100644 --- a/invokeai/frontend/web/src/common/hooks/useChakraThemeTokens.ts +++ b/invokeai/frontend/web/src/common/hooks/useChakraThemeTokens.ts @@ -40,6 +40,44 @@ export const useChakraThemeTokens = () => { accent850, accent900, accent950, + baseAlpha50, + baseAlpha100, + baseAlpha150, + baseAlpha200, + baseAlpha250, + baseAlpha300, + baseAlpha350, + baseAlpha400, + baseAlpha450, + baseAlpha500, + baseAlpha550, + baseAlpha600, + baseAlpha650, + baseAlpha700, + baseAlpha750, + baseAlpha800, + baseAlpha850, + baseAlpha900, + baseAlpha950, + accentAlpha50, + accentAlpha100, + accentAlpha150, + accentAlpha200, + accentAlpha250, + accentAlpha300, + accentAlpha350, + accentAlpha400, + accentAlpha450, + accentAlpha500, + accentAlpha550, + accentAlpha600, + accentAlpha650, + accentAlpha700, + accentAlpha750, + accentAlpha800, + accentAlpha850, + accentAlpha900, + accentAlpha950, ] = useToken('colors', [ 'base.50', 'base.100', @@ -79,6 +117,44 @@ export const useChakraThemeTokens = () => { 'accent.850', 'accent.900', 'accent.950', + 'baseAlpha.50', + 'baseAlpha.100', + 'baseAlpha.150', + 'baseAlpha.200', + 'baseAlpha.250', + 'baseAlpha.300', + 'baseAlpha.350', + 'baseAlpha.400', + 'baseAlpha.450', + 'baseAlpha.500', + 'baseAlpha.550', + 'baseAlpha.600', + 'baseAlpha.650', + 'baseAlpha.700', + 'baseAlpha.750', + 'baseAlpha.800', + 'baseAlpha.850', + 'baseAlpha.900', + 'baseAlpha.950', + 'accentAlpha.50', + 'accentAlpha.100', + 'accentAlpha.150', + 'accentAlpha.200', + 'accentAlpha.250', + 'accentAlpha.300', + 'accentAlpha.350', + 'accentAlpha.400', + 'accentAlpha.450', + 'accentAlpha.500', + 'accentAlpha.550', + 'accentAlpha.600', + 'accentAlpha.650', + 'accentAlpha.700', + 'accentAlpha.750', + 'accentAlpha.800', + 'accentAlpha.850', + 'accentAlpha.900', + 'accentAlpha.950', ]); return { @@ -120,5 +196,43 @@ export const useChakraThemeTokens = () => { accent850, accent900, accent950, + baseAlpha50, + baseAlpha100, + baseAlpha150, + baseAlpha200, + baseAlpha250, + baseAlpha300, + baseAlpha350, + baseAlpha400, + baseAlpha450, + baseAlpha500, + baseAlpha550, + baseAlpha600, + baseAlpha650, + baseAlpha700, + baseAlpha750, + baseAlpha800, + baseAlpha850, + baseAlpha900, + baseAlpha950, + accentAlpha50, + accentAlpha100, + accentAlpha150, + accentAlpha200, + accentAlpha250, + accentAlpha300, + accentAlpha350, + accentAlpha400, + accentAlpha450, + accentAlpha500, + accentAlpha550, + accentAlpha600, + accentAlpha650, + accentAlpha700, + accentAlpha750, + accentAlpha800, + accentAlpha850, + accentAlpha900, + accentAlpha950, }; }; diff --git a/invokeai/frontend/web/src/common/util/serialize.ts b/invokeai/frontend/web/src/common/util/serialize.ts index a9352a8228..a5db921f8d 100644 --- a/invokeai/frontend/web/src/common/util/serialize.ts +++ b/invokeai/frontend/web/src/common/util/serialize.ts @@ -1,4 +1,10 @@ /** * Serialize an object to JSON and back to a new object */ -export const parseify = (obj: unknown) => JSON.parse(JSON.stringify(obj)); +export const parseify = (obj: unknown) => { + try { + return JSON.parse(JSON.stringify(obj)); + } catch { + return 'Error parsing object'; + } +}; diff --git a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx index 2f74e5542a..25ef295631 100644 --- a/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx +++ b/invokeai/frontend/web/src/features/canvas/components/IAICanvasToolbar/IAICanvasMaskOptions.tsx @@ -2,10 +2,11 @@ import { ButtonGroup, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import IAIButton from 'common/components/IAIButton'; -import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; import IAIColorPicker from 'common/components/IAIColorPicker'; import IAIIconButton from 'common/components/IAIIconButton'; import IAIPopover from 'common/components/IAIPopover'; +import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; +import { canvasMaskSavedToGallery } from 'features/canvas/store/actions'; import { canvasSelector, isStagingSelector, @@ -22,7 +23,7 @@ import { isEqual } from 'lodash-es'; import { useHotkeys } from 'react-hotkeys-hook'; import { useTranslation } from 'react-i18next'; -import { FaMask, FaTrash } from 'react-icons/fa'; +import { FaMask, FaSave, FaTrash } from 'react-icons/fa'; export const selector = createSelector( [canvasSelector, isStagingSelector], @@ -102,6 +103,10 @@ const IAICanvasMaskOptions = () => { const handleToggleEnableMask = () => dispatch(setIsMaskEnabled(!isMaskEnabled)); + const handleSaveMask = async () => { + dispatch(canvasMaskSavedToGallery()); + }; + return ( { pickerColor={maskColor} onChange={(newColor) => dispatch(setMaskColor(newColor))} /> + } onClick={handleSaveMask}> + Save Mask + } onClick={handleClearMask}> {t('unifiedCanvas.clearMask')} (Shift+C) diff --git a/invokeai/frontend/web/src/features/canvas/store/actions.ts b/invokeai/frontend/web/src/features/canvas/store/actions.ts index 1f491874a0..b4efa76e42 100644 --- a/invokeai/frontend/web/src/features/canvas/store/actions.ts +++ b/invokeai/frontend/web/src/features/canvas/store/actions.ts @@ -3,6 +3,10 @@ import { ImageDTO } from 'services/api/types'; export const canvasSavedToGallery = createAction('canvas/canvasSavedToGallery'); +export const canvasMaskSavedToGallery = createAction( + 'canvas/canvasMaskSavedToGallery' +); + export const canvasCopiedToClipboard = createAction( 'canvas/canvasCopiedToClipboard' ); diff --git a/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx b/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx index cdab176cd2..0683282811 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx @@ -4,14 +4,16 @@ import { skipToken } from '@reduxjs/toolkit/dist/query'; import { TypesafeDraggableData, TypesafeDroppableData, -} from 'app/components/ImageDnd/typesafeDnd'; +} from 'features/dnd/types'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIDndImage from 'common/components/IAIDndImage'; import { memo, useCallback, useMemo, useState } from 'react'; +import { FaUndo } from 'react-icons/fa'; import { useGetImageDTOQuery } from 'services/api/endpoints/images'; import { PostUploadAction } from 'services/api/types'; +import IAIDndImageIcon from '../../../common/components/IAIDndImageIcon'; import { ControlNetConfig, controlNetImageChanged, @@ -119,11 +121,15 @@ const ControlNetImagePreview = (props: Props) => { droppableData={droppableData} imageDTO={controlImage} isDropDisabled={shouldShowProcessedImage || !isEnabled} - onClickReset={handleResetControlImage} postUploadAction={postUploadAction} - resetTooltip="Reset Control Image" - withResetIcon={Boolean(controlImage)} - /> + > + : undefined} + tooltip="Reset Control Image" + /> + + { imageDTO={processedControlImage} isUploadDisabled={true} isDropDisabled={!isEnabled} - onClickReset={handleResetControlImage} - resetTooltip="Reset Control Image" - withResetIcon={Boolean(controlImage)} - /> + > + : undefined} + tooltip="Reset Control Image" + /> + {pendingControlImages.includes(controlNetId) && ( ; /** * Type guard for CannyImageProcessorInvocation diff --git a/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts index 310521f32a..37be06bad6 100644 --- a/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts @@ -3,6 +3,7 @@ import { RootState } from 'app/store/store'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import { some } from 'lodash-es'; import { ImageUsage } from './types'; +import { isInvocationNode } from 'features/nodes/types/types'; export const getImageUsage = (state: RootState, image_name: string) => { const { generation, canvas, nodes, controlNet } = state; @@ -12,11 +13,11 @@ export const getImageUsage = (state: RootState, image_name: string) => { (obj) => obj.kind === 'image' && obj.imageName === image_name ); - const isNodesImage = nodes.nodes.some((node) => { + const isNodesImage = nodes.nodes.filter(isInvocationNode).some((node) => { return some( node.data.inputs, (input) => - input.type === 'image' && input.value?.image_name === image_name + input.type === 'ImageField' && input.value?.image_name === image_name ); }); diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx b/invokeai/frontend/web/src/features/dnd/components/AppDndContext.tsx similarity index 70% rename from invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx rename to invokeai/frontend/web/src/features/dnd/components/AppDndContext.tsx index 56eeb9b5db..bffe738aa9 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx +++ b/invokeai/frontend/web/src/features/dnd/components/AppDndContext.tsx @@ -6,23 +6,18 @@ import { useSensor, useSensors, } from '@dnd-kit/core'; -import { snapCenterToCursor } from '@dnd-kit/modifiers'; +import { logger } from 'app/logging/logger'; import { dndDropped } from 'app/store/middleware/listenerMiddleware/listeners/imageDropped'; import { useAppDispatch } from 'app/store/storeHooks'; +import { parseify } from 'common/util/serialize'; import { AnimatePresence, motion } from 'framer-motion'; import { PropsWithChildren, memo, useCallback, useState } from 'react'; +import { useScaledModifer } from '../hooks/useScaledCenteredModifer'; +import { DragEndEvent, DragStartEvent, TypesafeDraggableData } from '../types'; +import { DndContextTypesafe } from './DndContextTypesafe'; import DragPreview from './DragPreview'; -import { - DndContext, - DragEndEvent, - DragStartEvent, - TypesafeDraggableData, -} from './typesafeDnd'; -import { logger } from 'app/logging/logger'; -type ImageDndContextProps = PropsWithChildren; - -const ImageDndContext = (props: ImageDndContextProps) => { +const AppDndContext = (props: PropsWithChildren) => { const [activeDragData, setActiveDragData] = useState(null); const log = logger('images'); @@ -31,7 +26,10 @@ const ImageDndContext = (props: ImageDndContextProps) => { const handleDragStart = useCallback( (event: DragStartEvent) => { - log.trace({ dragData: event.active.data.current }, 'Drag started'); + log.trace( + { dragData: parseify(event.active.data.current) }, + 'Drag started' + ); const activeData = event.active.data.current; if (!activeData) { return; @@ -43,7 +41,10 @@ const ImageDndContext = (props: ImageDndContextProps) => { const handleDragEnd = useCallback( (event: DragEndEvent) => { - log.trace({ dragData: event.active.data.current }, 'Drag ended'); + log.trace( + { dragData: parseify(event.active.data.current) }, + 'Drag ended' + ); const overData = event.over?.data.current; if (!activeDragData || !overData) { return; @@ -69,15 +70,29 @@ const ImageDndContext = (props: ImageDndContextProps) => { const sensors = useSensors(mouseSensor, touchSensor); + const scaledModifier = useScaledModifer(); + return ( - {props.children} - + {activeDragData && ( { )} - + ); }; -export default memo(ImageDndContext); +export default memo(AppDndContext); diff --git a/invokeai/frontend/web/src/features/dnd/components/DndContextTypesafe.tsx b/invokeai/frontend/web/src/features/dnd/components/DndContextTypesafe.tsx new file mode 100644 index 0000000000..06fede4dc8 --- /dev/null +++ b/invokeai/frontend/web/src/features/dnd/components/DndContextTypesafe.tsx @@ -0,0 +1,6 @@ +import { DndContext } from '@dnd-kit/core'; +import { DndContextTypesafeProps } from '../types'; + +export function DndContextTypesafe(props: DndContextTypesafeProps) { + return ; +} diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx b/invokeai/frontend/web/src/features/dnd/components/DragPreview.tsx similarity index 69% rename from invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx rename to invokeai/frontend/web/src/features/dnd/components/DragPreview.tsx index c97778ffcd..0ee5d34b1a 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx +++ b/invokeai/frontend/web/src/features/dnd/components/DragPreview.tsx @@ -1,6 +1,6 @@ -import { Box, ChakraProps, Flex, Heading, Image } from '@chakra-ui/react'; +import { Box, ChakraProps, Flex, Heading, Image, Text } from '@chakra-ui/react'; import { memo } from 'react'; -import { TypesafeDraggableData } from './typesafeDnd'; +import { TypesafeDraggableData } from '../types'; type OverlayDragImageProps = { dragData: TypesafeDraggableData | null; @@ -30,19 +30,38 @@ const DragPreview = (props: OverlayDragImageProps) => { return null; } + if (props.dragData.payloadType === 'NODE_FIELD') { + const { field, fieldTemplate } = props.dragData.payload; + return ( + + {field.label || fieldTemplate.title} + + ); + } + if (props.dragData.payloadType === 'IMAGE_DTO') { const { thumbnail_url, width, height } = props.dragData.payload.imageDTO; return ( { return ( + activeTabName === 'nodes' ? nodes.viewport.zoom : 1 +); + +/** + * Applies scaling to the drag transform (if on node editor tab) and centers it on cursor. + */ +export const useScaledModifer = () => { + const zoom = useAppSelector(selectZoom); + const modifier: Modifier = useCallback( + ({ activatorEvent, draggingNodeRect, transform }) => { + if (draggingNodeRect && activatorEvent) { + const activatorCoordinates = getEventCoordinates(activatorEvent); + + if (!activatorCoordinates) { + return transform; + } + + const offsetX = activatorCoordinates.x - draggingNodeRect.left; + const offsetY = activatorCoordinates.y - draggingNodeRect.top; + + const x = transform.x + offsetX - draggingNodeRect.width / 2; + const y = transform.y + offsetY - draggingNodeRect.height / 2; + const scaleX = transform.scaleX * zoom; + const scaleY = transform.scaleY * zoom; + + return { + x, + y, + scaleX, + scaleY, + }; + } + + return transform; + }, + [zoom] + ); + + return modifier; +}; diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx b/invokeai/frontend/web/src/features/dnd/types/index.ts similarity index 51% rename from invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx rename to invokeai/frontend/web/src/features/dnd/types/index.ts index 6f24302070..294132d0a3 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx +++ b/invokeai/frontend/web/src/features/dnd/types/index.ts @@ -3,7 +3,6 @@ import { Active, Collision, DndContextProps, - DndContext as OriginalDndContext, Over, Translate, UseDraggableArguments, @@ -11,6 +10,10 @@ import { useDraggable as useOriginalDraggable, useDroppable as useOriginalDroppable, } from '@dnd-kit/core'; +import { + InputFieldTemplate, + InputFieldValue, +} from 'features/nodes/types/types'; import { ImageDTO } from 'services/api/types'; type BaseDropData = { @@ -62,6 +65,10 @@ export type RemoveFromBoardDropData = BaseDropData & { actionType: 'REMOVE_FROM_BOARD'; }; +export type AddFieldToLinearViewDropData = BaseDropData & { + actionType: 'ADD_FIELD_TO_LINEAR'; +}; + export type TypesafeDroppableData = | CurrentImageDropData | InitialImageDropData @@ -71,12 +78,22 @@ export type TypesafeDroppableData = | AddToBatchDropData | NodesMultiImageDropData | AddToBoardDropData - | RemoveFromBoardDropData; + | RemoveFromBoardDropData + | AddFieldToLinearViewDropData; type BaseDragData = { id: string; }; +export type NodeFieldDraggableData = BaseDragData & { + payloadType: 'NODE_FIELD'; + payload: { + nodeId: string; + field: InputFieldValue; + fieldTemplate: InputFieldTemplate; + }; +}; + export type ImageDraggableData = BaseDragData & { payloadType: 'IMAGE_DTO'; payload: { imageDTO: ImageDTO }; @@ -87,14 +104,17 @@ export type ImageDTOsDraggableData = BaseDragData & { payload: { imageDTOs: ImageDTO[] }; }; -export type TypesafeDraggableData = ImageDraggableData | ImageDTOsDraggableData; +export type TypesafeDraggableData = + | NodeFieldDraggableData + | ImageDraggableData + | ImageDTOsDraggableData; -interface UseDroppableTypesafeArguments +export interface UseDroppableTypesafeArguments extends Omit { data?: TypesafeDroppableData; } -type UseDroppableTypesafeReturnValue = Omit< +export type UseDroppableTypesafeReturnValue = Omit< ReturnType, 'active' | 'over' > & { @@ -102,16 +122,12 @@ type UseDroppableTypesafeReturnValue = Omit< over: TypesafeOver | null; }; -export function useDroppable(props: UseDroppableTypesafeArguments) { - return useOriginalDroppable(props) as UseDroppableTypesafeReturnValue; -} - -interface UseDraggableTypesafeArguments +export interface UseDraggableTypesafeArguments extends Omit { data?: TypesafeDraggableData; } -type UseDraggableTypesafeReturnValue = Omit< +export type UseDraggableTypesafeReturnValue = Omit< ReturnType, 'active' | 'over' > & { @@ -119,102 +135,14 @@ type UseDraggableTypesafeReturnValue = Omit< over: TypesafeOver | null; }; -export function useDraggable(props: UseDraggableTypesafeArguments) { - return useOriginalDraggable(props) as UseDraggableTypesafeReturnValue; -} - -interface TypesafeActive extends Omit { +export interface TypesafeActive extends Omit { data: React.MutableRefObject; } -interface TypesafeOver extends Omit { +export interface TypesafeOver extends Omit { data: React.MutableRefObject; } -export const isValidDrop = ( - overData: TypesafeDroppableData | undefined, - active: TypesafeActive | null -) => { - if (!overData || !active?.data.current) { - return false; - } - - const { actionType } = overData; - const { payloadType } = active.data.current; - - if (overData.id === active.data.current.id) { - return false; - } - - switch (actionType) { - case 'SET_CURRENT_IMAGE': - return payloadType === 'IMAGE_DTO'; - case 'SET_INITIAL_IMAGE': - return payloadType === 'IMAGE_DTO'; - case 'SET_CONTROLNET_IMAGE': - return payloadType === 'IMAGE_DTO'; - case 'SET_CANVAS_INITIAL_IMAGE': - return payloadType === 'IMAGE_DTO'; - case 'SET_NODES_IMAGE': - return payloadType === 'IMAGE_DTO'; - case 'SET_MULTI_NODES_IMAGE': - return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; - case 'ADD_TO_BATCH': - return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; - case 'ADD_TO_BOARD': { - // If the board is the same, don't allow the drop - - // Check the payload types - const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; - if (!isPayloadValid) { - return false; - } - - // Check if the image's board is the board we are dragging onto - if (payloadType === 'IMAGE_DTO') { - const { imageDTO } = active.data.current.payload; - const currentBoard = imageDTO.board_id ?? 'none'; - const destinationBoard = overData.context.boardId; - - return currentBoard !== destinationBoard; - } - - if (payloadType === 'IMAGE_DTOS') { - // TODO (multi-select) - return true; - } - - return false; - } - case 'REMOVE_FROM_BOARD': { - // If the board is the same, don't allow the drop - - // Check the payload types - const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; - if (!isPayloadValid) { - return false; - } - - // Check if the image's board is the board we are dragging onto - if (payloadType === 'IMAGE_DTO') { - const { imageDTO } = active.data.current.payload; - const currentBoard = imageDTO.board_id; - - return currentBoard !== 'none'; - } - - if (payloadType === 'IMAGE_DTOS') { - // TODO (multi-select) - return true; - } - - return false; - } - default: - return false; - } -}; - interface DragEvent { activatorEvent: Event; active: TypesafeActive; @@ -240,6 +168,3 @@ export interface DndContextTypesafeProps onDragEnd?(event: DragEndEvent): void; onDragCancel?(event: DragCancelEvent): void; } -export function DndContext(props: DndContextTypesafeProps) { - return ; -} diff --git a/invokeai/frontend/web/src/features/dnd/util/isValidDrop.ts b/invokeai/frontend/web/src/features/dnd/util/isValidDrop.ts new file mode 100644 index 0000000000..f704d22dff --- /dev/null +++ b/invokeai/frontend/web/src/features/dnd/util/isValidDrop.ts @@ -0,0 +1,87 @@ +import { TypesafeActive, TypesafeDroppableData } from '../types'; + +export const isValidDrop = ( + overData: TypesafeDroppableData | undefined, + active: TypesafeActive | null +) => { + if (!overData || !active?.data.current) { + return false; + } + + const { actionType } = overData; + const { payloadType } = active.data.current; + + if (overData.id === active.data.current.id) { + return false; + } + + switch (actionType) { + case 'ADD_FIELD_TO_LINEAR': + return payloadType === 'NODE_FIELD'; + case 'SET_CURRENT_IMAGE': + return payloadType === 'IMAGE_DTO'; + case 'SET_INITIAL_IMAGE': + return payloadType === 'IMAGE_DTO'; + case 'SET_CONTROLNET_IMAGE': + return payloadType === 'IMAGE_DTO'; + case 'SET_CANVAS_INITIAL_IMAGE': + return payloadType === 'IMAGE_DTO'; + case 'SET_NODES_IMAGE': + return payloadType === 'IMAGE_DTO'; + case 'SET_MULTI_NODES_IMAGE': + return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + case 'ADD_TO_BATCH': + return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + case 'ADD_TO_BOARD': { + // If the board is the same, don't allow the drop + + // Check the payload types + const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + if (!isPayloadValid) { + return false; + } + + // Check if the image's board is the board we are dragging onto + if (payloadType === 'IMAGE_DTO') { + const { imageDTO } = active.data.current.payload; + const currentBoard = imageDTO.board_id ?? 'none'; + const destinationBoard = overData.context.boardId; + + return currentBoard !== destinationBoard; + } + + if (payloadType === 'IMAGE_DTOS') { + // TODO (multi-select) + return true; + } + + return false; + } + case 'REMOVE_FROM_BOARD': { + // If the board is the same, don't allow the drop + + // Check the payload types + const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + if (!isPayloadValid) { + return false; + } + + // Check if the image's board is the board we are dragging onto + if (payloadType === 'IMAGE_DTO') { + const { imageDTO } = active.data.current.payload; + const currentBoard = imageDTO.board_id; + + return currentBoard !== 'none'; + } + + if (payloadType === 'IMAGE_DTOS') { + // TODO (multi-select) + return true; + } + + return false; + } + default: + return false; + } +}; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx index 228ce7080c..696a8b748b 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx @@ -11,7 +11,6 @@ import { } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { skipToken } from '@reduxjs/toolkit/dist/query'; -import { AddToBoardDropData } from 'app/components/ImageDnd/typesafeDnd'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; @@ -32,6 +31,7 @@ import { useGetImageDTOQuery } from 'services/api/endpoints/images'; import { BoardDTO } from 'services/api/types'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; +import { AddToBoardDropData } from 'features/dnd/types'; interface GalleryBoardProps { board: BoardDTO; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GenericBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GenericBoard.tsx index 0d630c524d..1698a81ac0 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GenericBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GenericBoard.tsx @@ -1,7 +1,7 @@ import { As, Badge, Flex } from '@chakra-ui/react'; -import { TypesafeDroppableData } from 'app/components/ImageDnd/typesafeDnd'; import IAIDroppable from 'common/components/IAIDroppable'; import { IAINoContentFallback } from 'common/components/IAIImageFallback'; +import { TypesafeDroppableData } from 'features/dnd/types'; import { BoardId } from 'features/gallery/store/types'; import { ReactNode } from 'react'; import BoardContextMenu from '../BoardContextMenu'; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx index f1341b1146..fec280db0f 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx @@ -1,15 +1,15 @@ import { Box, Flex, Image, Text } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; -import { RemoveFromBoardDropData } from 'app/components/ImageDnd/typesafeDnd'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import InvokeAILogoImage from 'assets/images/logo.png'; import IAIDroppable from 'common/components/IAIDroppable'; import SelectionOverlay from 'common/components/SelectionOverlay'; +import { RemoveFromBoardDropData } from 'features/dnd/types'; import { - boardIdSelected, autoAddBoardIdChanged, + boardIdSelected, } from 'features/gallery/store/gallerySlice'; import { memo, useCallback, useMemo, useState } from 'react'; import { useBoardName } from 'services/api/hooks/useBoardName'; diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx index f78ee286ef..2576c8e9e3 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx @@ -1,14 +1,14 @@ import { Box, Flex, Image } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { skipToken } from '@reduxjs/toolkit/dist/query'; -import { - TypesafeDraggableData, - TypesafeDroppableData, -} from 'app/components/ImageDnd/typesafeDnd'; import { stateSelector } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; import IAIDndImage from 'common/components/IAIDndImage'; import { IAINoContentFallback } from 'common/components/IAIImageFallback'; +import { + TypesafeDraggableData, + TypesafeDroppableData, +} from 'features/dnd/types'; import { useNextPrevImage } from 'features/gallery/hooks/useNextPrevImage'; import { selectLastSelectedImage } from 'features/gallery/store/gallerySelectors'; import { AnimatePresence, motion } from 'framer-motion'; diff --git a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx index 5c32cc788e..23cfdcc5fd 100644 --- a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx @@ -11,7 +11,6 @@ import { autoAssignBoardOnClickChanged, setGalleryImageMinimumWidth, shouldAutoSwitchChanged, - shouldShowDeleteButtonChanged, } from 'features/gallery/store/gallerySlice'; import { ChangeEvent, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -26,14 +25,12 @@ const selector = createSelector( galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick, - shouldShowDeleteButton, } = state.gallery; return { galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick, - shouldShowDeleteButton, }; }, defaultSelectorOptions @@ -43,12 +40,8 @@ const GallerySettingsPopover = () => { const dispatch = useAppDispatch(); const { t } = useTranslation(); - const { - galleryImageMinimumWidth, - shouldAutoSwitch, - autoAssignBoardOnClick, - shouldShowDeleteButton, - } = useAppSelector(selector); + const { galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick } = + useAppSelector(selector); const handleChangeGalleryImageMinimumWidth = useCallback( (v: number) => { @@ -68,13 +61,6 @@ const GallerySettingsPopover = () => { [dispatch] ); - const handleChangeShowDeleteButton = useCallback( - (e: ChangeEvent) => { - dispatch(shouldShowDeleteButtonChanged(e.target.checked)); - }, - [dispatch] - ); - return ( { { isChecked={shouldAutoSwitch} onChange={handleChangeAutoSwitch} /> - ['children']; + children: IAIContextMenuProps['children']; }; const selector = createSelector( @@ -33,7 +36,7 @@ const ImageContextMenu = ({ imageDTO, children }: Props) => { }, []); return ( - + menuProps={{ size: 'sm', isLazy: true }} menuButtonProps={{ bg: 'transparent', @@ -68,7 +71,7 @@ const ImageContextMenu = ({ imageDTO, children }: Props) => { }} > {children} - + ); }; diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx index 079fc43a4a..0f36273122 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx @@ -5,13 +5,21 @@ import { isModalOpenChanged, } from 'features/changeBoardModal/store/slice'; import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; -import { useCallback } from 'react'; +import { useCallback, useMemo } from 'react'; import { FaFolder, FaTrash } from 'react-icons/fa'; +import { MdStar, MdStarBorder } from 'react-icons/md'; +import { + useStarImagesMutation, + useUnstarImagesMutation, +} from '../../../../services/api/endpoints/images'; const MultipleSelectionMenuItems = () => { const dispatch = useAppDispatch(); const selection = useAppSelector((state) => state.gallery.selection); + const [starImages] = useStarImagesMutation(); + const [unstarImages] = useUnstarImagesMutation(); + const handleChangeBoard = useCallback(() => { dispatch(imagesToChangeSelected(selection)); dispatch(isModalOpenChanged(true)); @@ -21,8 +29,37 @@ const MultipleSelectionMenuItems = () => { dispatch(imagesToDeleteSelected(selection)); }, [dispatch, selection]); + const handleStarSelection = useCallback(() => { + starImages({ imageDTOs: selection }); + }, [starImages, selection]); + + const handleUnstarSelection = useCallback(() => { + unstarImages({ imageDTOs: selection }); + }, [unstarImages, selection]); + + const areAllStarred = useMemo(() => { + return selection.every((img) => img.starred); + }, [selection]); + + const areAllUnstarred = useMemo(() => { + return selection.every((img) => !img.starred); + }, [selection]); + return ( <> + {areAllStarred && ( + } + onClickCapture={handleUnstarSelection} + > + Unstar All + + )} + {(areAllUnstarred || (!areAllStarred && !areAllUnstarred)) && ( + } onClickCapture={handleStarSelection}> + Star All + + )} } onClickCapture={handleChangeBoard}> Change Board 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 f857abf5ff..ef6e2ccd5c 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/SingleSelectionMenuItems.tsx @@ -29,10 +29,15 @@ import { FaShare, FaTrash, } from 'react-icons/fa'; -import { useGetImageMetadataQuery } from 'services/api/endpoints/images'; +import { + useGetImageMetadataQuery, + useStarImagesMutation, + useUnstarImagesMutation, +} from 'services/api/endpoints/images'; import { ImageDTO } from 'services/api/types'; import { useDebounce } from 'use-debounce'; import { sentImageToCanvas, sentImageToImg2Img } from '../../store/actions'; +import { MdStar, MdStarBorder } from 'react-icons/md'; type SingleSelectionMenuItemsProps = { imageDTO: ImageDTO; @@ -59,6 +64,9 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { : debouncedMetadataQueryArg ?? skipToken ); + const [starImages] = useStarImagesMutation(); + const [unstarImages] = useUnstarImagesMutation(); + const { isClipboardAPIAvailable, copyImageToClipboard } = useCopyImageToClipboard(); @@ -127,6 +135,14 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { copyImageToClipboard(imageDTO.image_url); }, [copyImageToClipboard, imageDTO.image_url]); + const handleStarImage = useCallback(() => { + if (imageDTO) starImages({ imageDTOs: [imageDTO] }); + }, [starImages, imageDTO]); + + const handleUnstarImage = useCallback(() => { + if (imageDTO) unstarImages({ imageDTOs: [imageDTO] }); + }, [unstarImages, imageDTO]); + return ( <> { } onClickCapture={handleChangeBoard}> Change Board + {imageDTO.starred ? ( + } onClickCapture={handleUnstarImage}> + Unstar Image + + ) : ( + } onClickCapture={handleStarImage}> + Star Image + + )} } diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx index f2ff2ad30b..804df49b8e 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx @@ -52,11 +52,13 @@ const ImageGalleryContent = () => { return ( diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx index c9eee5f1f5..5dbbf011e8 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx @@ -1,17 +1,23 @@ import { Box, Flex } from '@chakra-ui/react'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAIDndImage from 'common/components/IAIDndImage'; +import IAIFillSkeleton from 'common/components/IAIFillSkeleton'; +import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; import { ImageDTOsDraggableData, ImageDraggableData, TypesafeDraggableData, -} from 'app/components/ImageDnd/typesafeDnd'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import IAIDndImage from 'common/components/IAIDndImage'; -import IAIFillSkeleton from 'common/components/IAIFillSkeleton'; +} from 'features/dnd/types'; import { useMultiselect } from 'features/gallery/hooks/useMultiselect.ts'; -import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; -import { MouseEvent, memo, useCallback, useMemo } from 'react'; +import { MouseEvent, memo, useCallback, useMemo, useState } from 'react'; import { FaTrash } from 'react-icons/fa'; -import { useGetImageDTOQuery } from 'services/api/endpoints/images'; +import { MdStar, MdStarBorder } from 'react-icons/md'; +import { + useGetImageDTOQuery, + useStarImagesMutation, + useUnstarImagesMutation, +} from 'services/api/endpoints/images'; +import IAIDndImageIcon from '../../../../common/components/IAIDndImageIcon'; interface HoverableImageProps { imageName: string; @@ -21,9 +27,7 @@ const GalleryImage = (props: HoverableImageProps) => { const dispatch = useAppDispatch(); const { imageName } = props; const { currentData: imageDTO } = useGetImageDTOQuery(imageName); - const shouldShowDeleteButton = useAppSelector( - (state) => state.gallery.shouldShowDeleteButton - ); + const shift = useAppSelector((state) => state.hotkeys.shift); const { handleClick, isSelected, selection, selectionCount } = useMultiselect(imageDTO); @@ -59,6 +63,35 @@ const GalleryImage = (props: HoverableImageProps) => { } }, [imageDTO, selection, selectionCount]); + const [starImages] = useStarImagesMutation(); + const [unstarImages] = useUnstarImagesMutation(); + + const toggleStarredState = useCallback(() => { + if (imageDTO) { + if (imageDTO.starred) { + unstarImages({ imageDTOs: [imageDTO] }); + } + if (!imageDTO.starred) { + starImages({ imageDTOs: [imageDTO] }); + } + } + }, [starImages, unstarImages, imageDTO]); + + const [isHovered, setIsHovered] = useState(false); + + const handleMouseOver = useCallback(() => { + setIsHovered(true); + }, []); + + const handleMouseOut = useCallback(() => { + setIsHovered(false); + }, []); + + const starIcon = useMemo(() => { + if (imageDTO?.starred) return ; + if (!imageDTO?.starred && isHovered) return ; + }, [imageDTO?.starred, isHovered]); + if (!imageDTO) { return ; } @@ -80,16 +113,34 @@ const GalleryImage = (props: HoverableImageProps) => { draggableData={draggableData} isSelected={isSelected} minSize={0} - onClickReset={handleDelete} imageSx={{ w: 'full', h: 'full' }} isDropDisabled={true} isUploadDisabled={true} thumbnail={true} withHoverOverlay - resetIcon={} - resetTooltip="Delete image" - withResetIcon={shouldShowDeleteButton} // removed bc it's too easy to accidentally delete images - /> + onMouseOver={handleMouseOver} + onMouseOut={handleMouseOut} + > + <> + + + {isHovered && shift && ( + } + tooltip="Delete" + styleOverrides={{ + bottom: 2, + top: 'auto', + }} + /> + )} + + ); diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImageGrid.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImageGrid.tsx index 4a56fe0e9a..bacd5c38ad 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImageGrid.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImageGrid.tsx @@ -26,7 +26,7 @@ const overlayScrollbarsConfig: UseOverlayScrollbarsParams = { options: { scrollbars: { visibility: 'auto', - autoHide: 'leave', + autoHide: 'scroll', autoHideDelay: 1300, theme: 'os-theme-dark', }, diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataJSON.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataJSON.tsx index 590d40438b..69385607de 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataJSON.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataJSON.tsx @@ -1,26 +1,40 @@ import { Box, Flex, IconButton, Tooltip } from '@chakra-ui/react'; import { OverlayScrollbarsComponent } from 'overlayscrollbars-react'; -import { useMemo } from 'react'; -import { FaCopy } from 'react-icons/fa'; +import { useCallback, useMemo } from 'react'; +import { FaCopy, FaSave } from 'react-icons/fa'; type Props = { - copyTooltip: string; + label: string; jsonObject: object; + fileName?: string; }; const ImageMetadataJSON = (props: Props) => { - const { copyTooltip, jsonObject } = props; + const { label, jsonObject, fileName } = props; const jsonString = useMemo( () => JSON.stringify(jsonObject, null, 2), [jsonObject] ); + const handleCopy = useCallback(() => { + navigator.clipboard.writeText(jsonString); + }, [jsonString]); + + const handleSave = useCallback(() => { + const blob = new Blob([jsonString]); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = `${fileName || label}.json`; + document.body.appendChild(a); + a.click(); + a.remove(); + }, [jsonString, label, fileName]); + return ( { bottom: 0, overflow: 'auto', p: 4, + fontSize: 'sm', }} > { options={{ scrollbars: { visibility: 'auto', - autoHide: 'move', + autoHide: 'scroll', autoHideDelay: 1300, theme: 'os-theme-dark', }, @@ -54,12 +69,22 @@ const ImageMetadataJSON = (props: Props) => { - + } + variant="ghost" + opacity={0.7} + onClick={handleSave} + /> + + + } variant="ghost" - onClick={() => navigator.clipboard.writeText(jsonString)} + opacity={0.7} + onClick={handleCopy} /> diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx index e1f2a9e46a..d70aea8a8d 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx @@ -10,7 +10,8 @@ import { Text, } from '@chakra-ui/react'; import { skipToken } from '@reduxjs/toolkit/dist/query'; -import { memo, useMemo } from 'react'; +import { IAINoContentFallback } from 'common/components/IAIImageFallback'; +import { memo } from 'react'; import { useGetImageMetadataQuery } from 'services/api/endpoints/images'; import { ImageDTO } from 'services/api/types'; import { useDebounce } from 'use-debounce'; @@ -41,48 +42,15 @@ const ImageMetadataViewer = ({ image }: ImageMetadataViewerProps) => { const metadata = currentData?.metadata; const graph = currentData?.graph; - const tabData = useMemo(() => { - const _tabData: { label: string; data: object; copyTooltip: string }[] = []; - - if (metadata) { - _tabData.push({ - label: 'Core Metadata', - data: metadata, - copyTooltip: 'Copy Core Metadata JSON', - }); - } - - if (image) { - _tabData.push({ - label: 'Image Details', - data: image, - copyTooltip: 'Copy Image Details JSON', - }); - } - - if (graph) { - _tabData.push({ - label: 'Graph', - data: graph, - copyTooltip: 'Copy Graph JSON', - }); - } - return _tabData; - }, [metadata, graph, image]); - return ( { sx={{ display: 'flex', flexDir: 'column', w: 'full', h: 'full' }} > - {tabData.map((tab) => ( - - - {tab.label} - - - ))} + Core Metadata + Image Details + Graph - - {tabData.map((tab) => ( - - - - ))} + + + {metadata ? ( + + ) : ( + + )} + + + {image ? ( + + ) : ( + + )} + + + {graph ? ( + + ) : ( + + )} +
diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index bc7acff6f4..a4e4b02937 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -13,7 +13,6 @@ export const initialGalleryState: GalleryState = { galleryImageMinimumWidth: 96, selectedBoardId: 'none', galleryView: 'images', - shouldShowDeleteButton: false, boardSearchText: '', }; @@ -50,9 +49,6 @@ export const gallerySlice = createSlice({ galleryViewChanged: (state, action: PayloadAction) => { state.galleryView = action.payload; }, - shouldShowDeleteButtonChanged: (state, action: PayloadAction) => { - state.shouldShowDeleteButton = action.payload; - }, boardSearchTextChanged: (state, action: PayloadAction) => { state.boardSearchText = action.payload; }, @@ -93,7 +89,6 @@ export const { autoAddBoardIdChanged, galleryViewChanged, selectionChanged, - shouldShowDeleteButtonChanged, boardSearchTextChanged, } = gallerySlice.actions; diff --git a/invokeai/frontend/web/src/features/gallery/store/types.ts b/invokeai/frontend/web/src/features/gallery/store/types.ts index 6860f6ea7b..7b707dd303 100644 --- a/invokeai/frontend/web/src/features/gallery/store/types.ts +++ b/invokeai/frontend/web/src/features/gallery/store/types.ts @@ -21,6 +21,5 @@ export type GalleryState = { galleryImageMinimumWidth: number; selectedBoardId: BoardId; galleryView: GalleryView; - shouldShowDeleteButton: boolean; boardSearchText: string; }; diff --git a/invokeai/frontend/web/src/features/nodes/components/AddNodeMenu.tsx b/invokeai/frontend/web/src/features/nodes/components/AddNodeMenu.tsx index a1a1acf1f8..a816762d0f 100644 --- a/invokeai/frontend/web/src/features/nodes/components/AddNodeMenu.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/AddNodeMenu.tsx @@ -9,30 +9,40 @@ import { map } from 'lodash-es'; import { forwardRef, useCallback } from 'react'; import 'reactflow/dist/style.css'; import { AnyInvocationType } from 'services/events/types'; -import { useBuildInvocation } from '../hooks/useBuildInvocation'; +import { useBuildNodeData } from '../hooks/useBuildNodeData'; import { nodeAdded } from '../store/nodesSlice'; type NodeTemplate = { label: string; value: string; description: string; + tags: string[]; }; const selector = createSelector( [stateSelector], ({ nodes }) => { - const data: NodeTemplate[] = map(nodes.invocationTemplates, (template) => { + const data: NodeTemplate[] = map(nodes.nodeTemplates, (template) => { return { label: template.title, value: template.type, description: template.description, + tags: template.tags, }; }); data.push({ label: 'Progress Image', - value: 'progress_image', - description: 'Displays the progress image in the Node Editor', + value: 'current_image', + description: 'Displays the current image in the Node Editor', + tags: ['progress'], + }); + + data.push({ + label: 'Notes', + value: 'notes', + description: 'Add notes about your workflow', + tags: ['notes'], }); return { data }; @@ -44,7 +54,7 @@ const AddNodeMenu = () => { const dispatch = useAppDispatch(); const { data } = useAppSelector(selector); - const buildInvocation = useBuildInvocation(); + const buildInvocation = useBuildNodeData(); const toaster = useAppToaster(); @@ -89,11 +99,12 @@ const AddNodeMenu = () => { filter={(value, item: NodeTemplate) => item.label.toLowerCase().includes(value.toLowerCase().trim()) || item.value.toLowerCase().includes(value.toLowerCase().trim()) || - item.description.toLowerCase().includes(value.toLowerCase().trim()) + item.description.toLowerCase().includes(value.toLowerCase().trim()) || + item.tags.includes(value.toLowerCase().trim()) } onChange={handleChange} sx={{ - width: '18rem', + width: '24rem', }} /> diff --git a/invokeai/frontend/web/src/features/nodes/components/CustomConnectionLine.tsx b/invokeai/frontend/web/src/features/nodes/components/CustomConnectionLine.tsx new file mode 100644 index 0000000000..678d8e3d1d --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/CustomConnectionLine.tsx @@ -0,0 +1,61 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { ConnectionLineComponentProps, getBezierPath } from 'reactflow'; +import { FIELDS, colorTokenToCssVar } from '../types/constants'; + +const selector = createSelector(stateSelector, ({ nodes }) => { + const { shouldAnimateEdges, currentConnectionFieldType, shouldColorEdges } = + nodes; + + const stroke = + currentConnectionFieldType && shouldColorEdges + ? colorTokenToCssVar(FIELDS[currentConnectionFieldType].color) + : colorTokenToCssVar('base.500'); + + let className = 'react-flow__custom_connection-path'; + + if (shouldAnimateEdges) { + className = className.concat(' animated'); + } + + return { + stroke, + className, + }; +}); + +export const CustomConnectionLine = ({ + fromX, + fromY, + fromPosition, + toX, + toY, + toPosition, +}: ConnectionLineComponentProps) => { + const { stroke, className } = useAppSelector(selector); + + const pathParams = { + sourceX: fromX, + sourceY: fromY, + sourcePosition: fromPosition, + targetX: toX, + targetY: toY, + targetPosition: toPosition, + }; + + const [dAttr] = getBezierPath(pathParams); + + return ( + + + + ); +}; diff --git a/invokeai/frontend/web/src/features/nodes/components/CustomEdges.tsx b/invokeai/frontend/web/src/features/nodes/components/CustomEdges.tsx new file mode 100644 index 0000000000..f80f0451e4 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/CustomEdges.tsx @@ -0,0 +1,199 @@ +import { Badge, Flex } from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { useChakraThemeTokens } from 'common/hooks/useChakraThemeTokens'; +import { memo, useMemo } from 'react'; +import { + BaseEdge, + EdgeLabelRenderer, + EdgeProps, + getBezierPath, +} from 'reactflow'; +import { FIELDS, colorTokenToCssVar } from '../types/constants'; +import { isInvocationNode } from '../types/types'; + +const makeEdgeSelector = ( + source: string, + sourceHandleId: string | null | undefined, + target: string, + targetHandleId: string | null | undefined, + selected?: boolean +) => + createSelector( + stateSelector, + ({ nodes }) => { + const sourceNode = nodes.nodes.find((node) => node.id === source); + const targetNode = nodes.nodes.find((node) => node.id === target); + + const isInvocationToInvocationEdge = + isInvocationNode(sourceNode) && isInvocationNode(targetNode); + + const isSelected = + sourceNode?.selected || targetNode?.selected || selected; + const sourceType = isInvocationToInvocationEdge + ? sourceNode?.data?.outputs[sourceHandleId || '']?.type + : undefined; + + const stroke = + sourceType && nodes.shouldColorEdges + ? colorTokenToCssVar(FIELDS[sourceType].color) + : colorTokenToCssVar('base.500'); + + return { + isSelected, + shouldAnimate: nodes.shouldAnimateEdges && isSelected, + stroke, + }; + }, + defaultSelectorOptions + ); + +const CollapsedEdge = memo( + ({ + sourceX, + sourceY, + targetX, + targetY, + sourcePosition, + targetPosition, + markerEnd, + data, + selected, + source, + target, + sourceHandleId, + targetHandleId, + }: EdgeProps<{ count: number }>) => { + const selector = useMemo( + () => + makeEdgeSelector( + source, + sourceHandleId, + target, + targetHandleId, + selected + ), + [selected, source, sourceHandleId, target, targetHandleId] + ); + + const { isSelected, shouldAnimate } = useAppSelector(selector); + + const [edgePath, labelX, labelY] = getBezierPath({ + sourceX, + sourceY, + sourcePosition, + targetX, + targetY, + targetPosition, + }); + + const { base500 } = useChakraThemeTokens(); + + return ( + <> + + {data?.count && data.count > 1 && ( + + + + {data.count} + + + + )} + + ); + } +); + +CollapsedEdge.displayName = 'CollapsedEdge'; + +const DefaultEdge = memo( + ({ + sourceX, + sourceY, + targetX, + targetY, + sourcePosition, + targetPosition, + markerEnd, + selected, + source, + target, + sourceHandleId, + targetHandleId, + }: EdgeProps) => { + const selector = useMemo( + () => + makeEdgeSelector( + source, + sourceHandleId, + target, + targetHandleId, + selected + ), + [source, sourceHandleId, target, targetHandleId, selected] + ); + + const { isSelected, shouldAnimate, stroke } = useAppSelector(selector); + + const [edgePath] = getBezierPath({ + sourceX, + sourceY, + sourcePosition, + targetX, + targetY, + targetPosition, + }); + + return ( + + ); + } +); + +DefaultEdge.displayName = 'DefaultEdge'; + +export const edgeTypes = { + collapsed: CollapsedEdge, + default: DefaultEdge, +}; diff --git a/invokeai/frontend/web/src/features/nodes/components/CustomNodes.tsx b/invokeai/frontend/web/src/features/nodes/components/CustomNodes.tsx new file mode 100644 index 0000000000..be845df435 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/CustomNodes.tsx @@ -0,0 +1,9 @@ +import CurrentImageNode from './nodes/CurrentImageNode'; +import InvocationNodeWrapper from './nodes/InvocationNodeWrapper'; +import NotesNode from './nodes/NotesNode'; + +export const nodeTypes = { + invocation: InvocationNodeWrapper, + current_image: CurrentImageNode, + notes: NotesNode, +}; diff --git a/invokeai/frontend/web/src/features/nodes/components/FieldHandle.tsx b/invokeai/frontend/web/src/features/nodes/components/FieldHandle.tsx deleted file mode 100644 index 86099a7315..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/FieldHandle.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { Tooltip } from '@chakra-ui/react'; -import { CSSProperties, memo } from 'react'; -import { Handle, Position, Connection, HandleType } from 'reactflow'; -import { FIELDS, HANDLE_TOOLTIP_OPEN_DELAY } from '../types/constants'; -// import { useConnectionEventStyles } from '../hooks/useConnectionEventStyles'; -import { InputFieldTemplate, OutputFieldTemplate } from '../types/types'; - -const handleBaseStyles: CSSProperties = { - position: 'absolute', - width: '1rem', - height: '1rem', - borderWidth: 0, -}; - -const inputHandleStyles: CSSProperties = { - left: '-1rem', -}; - -const outputHandleStyles: CSSProperties = { - right: '-0.5rem', -}; - -// const requiredConnectionStyles: CSSProperties = { -// boxShadow: '0 0 0.5rem 0.5rem var(--invokeai-colors-error-400)', -// }; - -type FieldHandleProps = { - nodeId: string; - field: InputFieldTemplate | OutputFieldTemplate; - isValidConnection: (connection: Connection) => boolean; - handleType: HandleType; - styles?: CSSProperties; -}; - -const FieldHandle = (props: FieldHandleProps) => { - const { field, isValidConnection, handleType, styles } = props; - const { name, type } = field; - - return ( - - - - ); -}; - -export default memo(FieldHandle); diff --git a/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx b/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx index 78316cc694..a523cc29fe 100644 --- a/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/FieldTypeLegend.tsx @@ -1,8 +1,8 @@ -import 'reactflow/dist/style.css'; -import { Tooltip, Badge, Flex } from '@chakra-ui/react'; +import { Badge, Flex, Tooltip } from '@chakra-ui/react'; import { map } from 'lodash-es'; -import { FIELDS } from '../types/constants'; import { memo } from 'react'; +import 'reactflow/dist/style.css'; +import { FIELDS } from '../types/constants'; const FieldTypeLegend = () => { return ( @@ -10,8 +10,14 @@ const FieldTypeLegend = () => { {map(FIELDS, ({ title, description, color }, key) => ( {title} diff --git a/invokeai/frontend/web/src/features/nodes/components/Flow.tsx b/invokeai/frontend/web/src/features/nodes/components/Flow.tsx index 7b0718182b..3290a65054 100644 --- a/invokeai/frontend/web/src/features/nodes/components/Flow.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/Flow.tsx @@ -1,5 +1,6 @@ -import { RootState } from 'app/store/store'; +import { useToken } from '@chakra-ui/react'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { contextMenusClosed } from 'features/ui/store/uiSlice'; import { useCallback } from 'react'; import { Background, @@ -7,35 +8,51 @@ import { OnConnectEnd, OnConnectStart, OnEdgesChange, - OnInit, + OnEdgesDelete, + OnMoveEnd, OnNodesChange, + OnNodesDelete, + OnSelectionChangeFunc, + ProOptions, ReactFlow, } from 'reactflow'; +import { useIsValidConnection } from '../hooks/useIsValidConnection'; import { connectionEnded, connectionMade, connectionStarted, edgesChanged, + edgesDeleted, nodesChanged, - setEditorInstance, + nodesDeleted, + selectedEdgesChanged, + selectedNodesChanged, + viewportChanged, } from '../store/nodesSlice'; -import { InvocationComponent } from './InvocationComponent'; -import ProgressImageNode from './ProgressImageNode'; -import BottomLeftPanel from './panels/BottomLeftPanel.tsx'; -import MinimapPanel from './panels/MinimapPanel'; -import TopCenterPanel from './panels/TopCenterPanel'; -import TopLeftPanel from './panels/TopLeftPanel'; -import TopRightPanel from './panels/TopRightPanel'; +import { CustomConnectionLine } from './CustomConnectionLine'; +import { edgeTypes } from './CustomEdges'; +import { nodeTypes } from './CustomNodes'; +import BottomLeftPanel from './editorPanels/BottomLeftPanel'; +import MinimapPanel from './editorPanels/MinimapPanel'; +import TopCenterPanel from './editorPanels/TopCenterPanel'; +import TopLeftPanel from './editorPanels/TopLeftPanel'; +import TopRightPanel from './editorPanels/TopRightPanel'; -const nodeTypes = { - invocation: InvocationComponent, - progress_image: ProgressImageNode, -}; +// TODO: can we support reactflow? if not, we could style the attribution so it matches the app +const proOptions: ProOptions = { hideAttribution: true }; export const Flow = () => { const dispatch = useAppDispatch(); - const nodes = useAppSelector((state: RootState) => state.nodes.nodes); - const edges = useAppSelector((state: RootState) => state.nodes.edges); + const nodes = useAppSelector((state) => state.nodes.nodes); + const edges = useAppSelector((state) => state.nodes.edges); + const viewport = useAppSelector((state) => state.nodes.viewport); + const shouldSnapToGrid = useAppSelector( + (state) => state.nodes.shouldSnapToGrid + ); + + const isValidConnection = useIsValidConnection(); + + const [borderRadius] = useToken('radii', ['base']); const onNodesChange: OnNodesChange = useCallback( (changes) => { @@ -69,35 +86,71 @@ export const Flow = () => { dispatch(connectionEnded()); }, [dispatch]); - const onInit: OnInit = useCallback( - (v) => { - dispatch(setEditorInstance(v)); - if (v) v.fitView(); + const onEdgesDelete: OnEdgesDelete = useCallback( + (edges) => { + dispatch(edgesDeleted(edges)); }, [dispatch] ); + const onNodesDelete: OnNodesDelete = useCallback( + (nodes) => { + dispatch(nodesDeleted(nodes)); + }, + [dispatch] + ); + + const handleSelectionChange: OnSelectionChangeFunc = useCallback( + ({ nodes, edges }) => { + dispatch(selectedNodesChanged(nodes ? nodes.map((n) => n.id) : [])); + dispatch(selectedEdgesChanged(edges ? edges.map((e) => e.id) : [])); + }, + [dispatch] + ); + + const handleMoveEnd: OnMoveEnd = useCallback( + (e, viewport) => { + dispatch(viewportChanged(viewport)); + }, + [dispatch] + ); + + const handlePaneClick = useCallback(() => { + dispatch(contextMenusClosed()); + }, [dispatch]); + return ( - + ); }; diff --git a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeHeader.tsx b/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeHeader.tsx deleted file mode 100644 index 7b56bc95b4..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeHeader.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { Flex, Heading, Icon, Tooltip } from '@chakra-ui/react'; -import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/hooks/useBuildInvocation'; -import { memo } from 'react'; -import { FaInfoCircle } from 'react-icons/fa'; - -interface IAINodeHeaderProps { - nodeId?: string; - title?: string; - description?: string; -} - -const IAINodeHeader = (props: IAINodeHeaderProps) => { - const { nodeId, title, description } = props; - return ( - - - - {title} - - - - - - - ); -}; - -export default memo(IAINodeHeader); diff --git a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeInputs.tsx b/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeInputs.tsx deleted file mode 100644 index 6f779e4295..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeInputs.tsx +++ /dev/null @@ -1,149 +0,0 @@ -import { - Box, - Divider, - Flex, - FormControl, - FormLabel, - HStack, - Tooltip, -} from '@chakra-ui/react'; -import { RootState } from 'app/store/store'; -import { useAppSelector } from 'app/store/storeHooks'; -import { useIsValidConnection } from 'features/nodes/hooks/useIsValidConnection'; -import { HANDLE_TOOLTIP_OPEN_DELAY } from 'features/nodes/types/constants'; -import { - InputFieldTemplate, - InputFieldValue, - InvocationTemplate, -} from 'features/nodes/types/types'; -import { map } from 'lodash-es'; -import { ReactNode, memo, useCallback } from 'react'; -import FieldHandle from '../FieldHandle'; -import InputFieldComponent from '../InputFieldComponent'; - -interface IAINodeInputProps { - nodeId: string; - - input: InputFieldValue; - template?: InputFieldTemplate | undefined; - connected: boolean; -} - -function IAINodeInput(props: IAINodeInputProps) { - const { nodeId, input, template, connected } = props; - const isValidConnection = useIsValidConnection(); - - return ( - - - {!template ? ( - - Unknown input: {input.name} - - ) : ( - <> - - - - {template?.title} - - - - - - {!['never', 'directOnly'].includes( - template?.inputRequirement ?? '' - ) && ( - - )} - - )} - - - ); -} - -interface IAINodeInputsProps { - nodeId: string; - template: InvocationTemplate; - inputs: Record; -} - -const IAINodeInputs = (props: IAINodeInputsProps) => { - const { nodeId, template, inputs } = props; - - const edges = useAppSelector((state: RootState) => state.nodes.edges); - - const renderIAINodeInputs = useCallback(() => { - const IAINodeInputsToRender: ReactNode[] = []; - const inputSockets = map(inputs); - - inputSockets.forEach((inputSocket, index) => { - const inputTemplate = template.inputs[inputSocket.name]; - - const isConnected = Boolean( - edges.filter((connectedInput) => { - return ( - connectedInput.target === nodeId && - connectedInput.targetHandle === inputSocket.name - ); - }).length - ); - - if (index < inputSockets.length) { - IAINodeInputsToRender.push( - - ); - } - - IAINodeInputsToRender.push( - - ); - }); - - return ( - - {IAINodeInputsToRender} - - ); - }, [edges, inputs, nodeId, template.inputs]); - - return renderIAINodeInputs(); -}; - -export default memo(IAINodeInputs); diff --git a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeOutputs.tsx b/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeOutputs.tsx deleted file mode 100644 index 2cb0bcde8d..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeOutputs.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { - InvocationTemplate, - OutputFieldTemplate, - OutputFieldValue, -} from 'features/nodes/types/types'; -import { memo, ReactNode, useCallback } from 'react'; -import { map } from 'lodash-es'; -import { useAppSelector } from 'app/store/storeHooks'; -import { RootState } from 'app/store/store'; -import { Box, Flex, FormControl, FormLabel, HStack } from '@chakra-ui/react'; -import FieldHandle from '../FieldHandle'; -import { useIsValidConnection } from 'features/nodes/hooks/useIsValidConnection'; - -interface IAINodeOutputProps { - nodeId: string; - output: OutputFieldValue; - template?: OutputFieldTemplate | undefined; - connected: boolean; -} - -function IAINodeOutput(props: IAINodeOutputProps) { - const { nodeId, output, template, connected } = props; - const isValidConnection = useIsValidConnection(); - - return ( - - - {!template ? ( - - - Unknown Output: {output.name} - - - ) : ( - <> - - {template?.title} - - - - )} - - - ); -} - -interface IAINodeOutputsProps { - nodeId: string; - template: InvocationTemplate; - outputs: Record; -} - -const IAINodeOutputs = (props: IAINodeOutputsProps) => { - const { nodeId, template, outputs } = props; - - const edges = useAppSelector((state: RootState) => state.nodes.edges); - - const renderIAINodeOutputs = useCallback(() => { - const IAINodeOutputsToRender: ReactNode[] = []; - const outputSockets = map(outputs); - - outputSockets.forEach((outputSocket) => { - const outputTemplate = template.outputs[outputSocket.name]; - - const isConnected = Boolean( - edges.filter((connectedInput) => { - return ( - connectedInput.source === nodeId && - connectedInput.sourceHandle === outputSocket.name - ); - }).length - ); - - IAINodeOutputsToRender.push( - - ); - }); - - return {IAINodeOutputsToRender}; - }, [edges, nodeId, outputs, template.outputs]); - - return renderIAINodeOutputs(); -}; - -export default memo(IAINodeOutputs); diff --git a/invokeai/frontend/web/src/features/nodes/components/InputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/InputFieldComponent.tsx deleted file mode 100644 index 0ecc43ef9c..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/InputFieldComponent.tsx +++ /dev/null @@ -1,252 +0,0 @@ -import { Box } from '@chakra-ui/react'; -import { memo } from 'react'; -import { InputFieldTemplate, InputFieldValue } from '../types/types'; -import ArrayInputFieldComponent from './fields/ArrayInputFieldComponent'; -import BooleanInputFieldComponent from './fields/BooleanInputFieldComponent'; -import ClipInputFieldComponent from './fields/ClipInputFieldComponent'; -import ColorInputFieldComponent from './fields/ColorInputFieldComponent'; -import ConditioningInputFieldComponent from './fields/ConditioningInputFieldComponent'; -import ControlInputFieldComponent from './fields/ControlInputFieldComponent'; -import ControlNetModelInputFieldComponent from './fields/ControlNetModelInputFieldComponent'; -import EnumInputFieldComponent from './fields/EnumInputFieldComponent'; -import ImageCollectionInputFieldComponent from './fields/ImageCollectionInputFieldComponent'; -import ImageInputFieldComponent from './fields/ImageInputFieldComponent'; -import ItemInputFieldComponent from './fields/ItemInputFieldComponent'; -import LatentsInputFieldComponent from './fields/LatentsInputFieldComponent'; -import LoRAModelInputFieldComponent from './fields/LoRAModelInputFieldComponent'; -import ModelInputFieldComponent from './fields/ModelInputFieldComponent'; -import NumberInputFieldComponent from './fields/NumberInputFieldComponent'; -import StringInputFieldComponent from './fields/StringInputFieldComponent'; -import UnetInputFieldComponent from './fields/UnetInputFieldComponent'; -import VaeInputFieldComponent from './fields/VaeInputFieldComponent'; -import VaeModelInputFieldComponent from './fields/VaeModelInputFieldComponent'; -import RefinerModelInputFieldComponent from './fields/RefinerModelInputFieldComponent'; - -type InputFieldComponentProps = { - nodeId: string; - field: InputFieldValue; - template: InputFieldTemplate; -}; - -// build an individual input element based on the schema -const InputFieldComponent = (props: InputFieldComponentProps) => { - const { nodeId, field, template } = props; - const { type } = field; - - if (type === 'string' && template.type === 'string') { - return ( - - ); - } - - if (type === 'boolean' && template.type === 'boolean') { - return ( - - ); - } - - if ( - (type === 'integer' && template.type === 'integer') || - (type === 'float' && template.type === 'float') - ) { - return ( - - ); - } - - if (type === 'enum' && template.type === 'enum') { - return ( - - ); - } - - if (type === 'image' && template.type === 'image') { - return ( - - ); - } - - if (type === 'latents' && template.type === 'latents') { - return ( - - ); - } - - if (type === 'conditioning' && template.type === 'conditioning') { - return ( - - ); - } - - if (type === 'unet' && template.type === 'unet') { - return ( - - ); - } - - if (type === 'clip' && template.type === 'clip') { - return ( - - ); - } - - if (type === 'vae' && template.type === 'vae') { - return ( - - ); - } - - if (type === 'control' && template.type === 'control') { - return ( - - ); - } - - if (type === 'model' && template.type === 'model') { - return ( - - ); - } - - if (type === 'refiner_model' && template.type === 'refiner_model') { - return ( - - ); - } - - if (type === 'vae_model' && template.type === 'vae_model') { - return ( - - ); - } - - if (type === 'lora_model' && template.type === 'lora_model') { - return ( - - ); - } - - if (type === 'controlnet_model' && template.type === 'controlnet_model') { - return ( - - ); - } - - if (type === 'array' && template.type === 'array') { - return ( - - ); - } - - if (type === 'item' && template.type === 'item') { - return ( - - ); - } - - if (type === 'color' && template.type === 'color') { - return ( - - ); - } - - if (type === 'item' && template.type === 'item') { - return ( - - ); - } - - if (type === 'image_collection' && template.type === 'image_collection') { - return ( - - ); - } - - return Unknown field type: {type}; -}; - -export default memo(InputFieldComponent); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/InvocationNode.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/InvocationNode.tsx new file mode 100644 index 0000000000..6c610d7f34 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/InvocationNode.tsx @@ -0,0 +1,74 @@ +import { Flex } from '@chakra-ui/react'; +import { useFieldNames, useWithFooter } from 'features/nodes/hooks/useNodeData'; +import { memo } from 'react'; +import InputField from '../fields/InputField'; +import OutputField from '../fields/OutputField'; +import NodeFooter from './NodeFooter'; +import NodeHeader from './NodeHeader'; +import NodeWrapper from './NodeWrapper'; + +type Props = { + nodeId: string; + isOpen: boolean; + label: string; + type: string; + selected: boolean; +}; + +const InvocationNode = ({ nodeId, isOpen, label, type, selected }: Props) => { + const inputFieldNames = useFieldNames(nodeId, 'input'); + const outputFieldNames = useFieldNames(nodeId, 'output'); + const withFooter = useWithFooter(nodeId); + + return ( + + + {isOpen && ( + <> + + + {outputFieldNames.map((fieldName) => ( + + ))} + {inputFieldNames.map((fieldName) => ( + + ))} + + + {withFooter && } + + )} + + ); +}; + +export default memo(InvocationNode); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapseButton.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapseButton.tsx new file mode 100644 index 0000000000..2648e68607 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapseButton.tsx @@ -0,0 +1,56 @@ +import { ChevronUpIcon } from '@chakra-ui/icons'; +import { useAppDispatch } from 'app/store/storeHooks'; +import IAIIconButton from 'common/components/IAIIconButton'; +import { nodeIsOpenChanged } from 'features/nodes/store/nodesSlice'; +import { memo, useCallback } from 'react'; +import { useUpdateNodeInternals } from 'reactflow'; + +interface Props { + nodeId: string; + isOpen: boolean; +} + +const NodeCollapseButton = ({ nodeId, isOpen }: Props) => { + const dispatch = useAppDispatch(); + const updateNodeInternals = useUpdateNodeInternals(); + + const handleClick = useCallback(() => { + dispatch(nodeIsOpenChanged({ nodeId, isOpen: !isOpen })); + updateNodeInternals(nodeId); + }, [dispatch, isOpen, nodeId, updateNodeInternals]); + + return ( + + } + /> + ); +}; + +export default memo(NodeCollapseButton); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapsedHandles.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapsedHandles.tsx new file mode 100644 index 0000000000..32dd554ef4 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeCollapsedHandles.tsx @@ -0,0 +1,74 @@ +import { useColorModeValue } from '@chakra-ui/react'; +import { useChakraThemeTokens } from 'common/hooks/useChakraThemeTokens'; +import { useNodeData } from 'features/nodes/hooks/useNodeData'; +import { isInvocationNodeData } from 'features/nodes/types/types'; +import { map } from 'lodash-es'; +import { CSSProperties, memo, useMemo } from 'react'; +import { Handle, Position } from 'reactflow'; + +interface Props { + nodeId: string; +} + +const NodeCollapsedHandles = ({ nodeId }: Props) => { + const data = useNodeData(nodeId); + const { base400, base600 } = useChakraThemeTokens(); + const backgroundColor = useColorModeValue(base400, base600); + + const dummyHandleStyles: CSSProperties = useMemo( + () => ({ + borderWidth: 0, + borderRadius: '3px', + width: '1rem', + height: '1rem', + backgroundColor, + zIndex: -1, + }), + [backgroundColor] + ); + + if (!isInvocationNodeData(data)) { + return null; + } + + return ( + <> + + {map(data.inputs, (input) => ( + + ))} + + {map(data.outputs, (output) => ( + + ))} + + ); +}; + +export default memo(NodeCollapsedHandles); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeFooter.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeFooter.tsx new file mode 100644 index 0000000000..c858872b57 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeFooter.tsx @@ -0,0 +1,76 @@ +import { + Checkbox, + Flex, + FormControl, + FormLabel, + Spacer, +} from '@chakra-ui/react'; +import { useAppDispatch } from 'app/store/storeHooks'; +import { + useHasImageOutput, + useIsIntermediate, +} from 'features/nodes/hooks/useNodeData'; +import { fieldBooleanValueChanged } from 'features/nodes/store/nodesSlice'; +import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/types/constants'; +import { ChangeEvent, memo, useCallback } from 'react'; + +type Props = { + nodeId: string; +}; + +const NodeFooter = ({ nodeId }: Props) => { + return ( + + + + + ); +}; + +export default memo(NodeFooter); + +const SaveImageCheckbox = memo(({ nodeId }: { nodeId: string }) => { + const dispatch = useAppDispatch(); + const hasImageOutput = useHasImageOutput(nodeId); + const is_intermediate = useIsIntermediate(nodeId); + const handleChangeIsIntermediate = useCallback( + (e: ChangeEvent) => { + dispatch( + fieldBooleanValueChanged({ + nodeId, + fieldName: 'is_intermediate', + value: !e.target.checked, + }) + ); + }, + [dispatch, nodeId] + ); + + if (!hasImageOutput) { + return null; + } + + return ( + + Save Output + + + ); +}); + +SaveImageCheckbox.displayName = 'SaveImageCheckbox'; diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeHeader.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeHeader.tsx new file mode 100644 index 0000000000..ea503a8f27 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeHeader.tsx @@ -0,0 +1,44 @@ +import { Flex } from '@chakra-ui/react'; +import { memo } from 'react'; +import NodeCollapseButton from '../Invocation/NodeCollapseButton'; +import NodeCollapsedHandles from '../Invocation/NodeCollapsedHandles'; +import NodeNotesEdit from '../Invocation/NodeNotesEdit'; +import NodeStatusIndicator from '../Invocation/NodeStatusIndicator'; +import NodeTitle from '../Invocation/NodeTitle'; + +type Props = { + nodeId: string; + isOpen: boolean; + label: string; + type: string; + selected: boolean; +}; + +const NodeHeader = ({ nodeId, isOpen }: Props) => { + return ( + + + + + + + + {!isOpen && } + + ); +}; + +export default memo(NodeHeader); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeNotesEdit.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeNotesEdit.tsx new file mode 100644 index 0000000000..fa5a9d76fb --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeNotesEdit.tsx @@ -0,0 +1,127 @@ +import { + Flex, + FormControl, + FormLabel, + Icon, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalFooter, + ModalHeader, + ModalOverlay, + Text, + Tooltip, + useDisclosure, +} from '@chakra-ui/react'; +import { useAppDispatch } from 'app/store/storeHooks'; +import IAITextarea from 'common/components/IAITextarea'; +import { + useNodeData, + useNodeLabel, + useNodeTemplate, + useNodeTemplateTitle, +} from 'features/nodes/hooks/useNodeData'; +import { nodeNotesChanged } from 'features/nodes/store/nodesSlice'; +import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/types/constants'; +import { isInvocationNodeData } from 'features/nodes/types/types'; +import { ChangeEvent, memo, useCallback } from 'react'; +import { FaInfoCircle } from 'react-icons/fa'; + +interface Props { + nodeId: string; +} + +const NodeNotesEdit = ({ nodeId }: Props) => { + const { isOpen, onOpen, onClose } = useDisclosure(); + const label = useNodeLabel(nodeId); + const title = useNodeTemplateTitle(nodeId); + + return ( + <> + } + placement="top" + shouldWrapChildren + > + + + + + + + + + {label || title || 'Unknown Node'} + + + + + + + + + ); +}; + +export default memo(NodeNotesEdit); + +const TooltipContent = memo(({ nodeId }: { nodeId: string }) => { + const data = useNodeData(nodeId); + const nodeTemplate = useNodeTemplate(nodeId); + + if (!isInvocationNodeData(data)) { + return Unknown Node; + } + + return ( + + {nodeTemplate?.title} + + {nodeTemplate?.description} + + {data?.notes && {data.notes}} + + ); +}); + +TooltipContent.displayName = 'TooltipContent'; + +const NotesTextarea = memo(({ nodeId }: { nodeId: string }) => { + const dispatch = useAppDispatch(); + const data = useNodeData(nodeId); + const handleNotesChanged = useCallback( + (e: ChangeEvent) => { + dispatch(nodeNotesChanged({ nodeId, notes: e.target.value })); + }, + [dispatch, nodeId] + ); + if (!isInvocationNodeData(data)) { + return null; + } + return ( + + Notes + + + ); +}); + +NotesTextarea.displayName = 'NodesTextarea'; diff --git a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeResizer.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeResizer.tsx similarity index 73% rename from invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeResizer.tsx rename to invokeai/frontend/web/src/features/nodes/components/Invocation/NodeResizer.tsx index 1aca32ec70..6391e86471 100644 --- a/invokeai/frontend/web/src/features/nodes/components/IAINode/IAINodeResizer.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeResizer.tsx @@ -2,7 +2,10 @@ import { NODE_MIN_WIDTH } from 'features/nodes/types/constants'; import { memo } from 'react'; import { NodeResizeControl, NodeResizerProps } from 'reactflow'; -const IAINodeResizer = (props: NodeResizerProps) => { +// this causes https://github.com/invoke-ai/InvokeAI/issues/4140 +// not using it for now + +const NodeResizer = (props: NodeResizerProps) => { const { ...rest } = props; return ( { ); }; -export default memo(IAINodeResizer); +export default memo(NodeResizer); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeSettings.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeSettings.tsx new file mode 100644 index 0000000000..bf12358871 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeSettings.tsx @@ -0,0 +1,69 @@ +import { Flex } from '@chakra-ui/react'; +import { useAppDispatch } from 'app/store/storeHooks'; +import IAIIconButton from 'common/components/IAIIconButton'; +import IAIPopover from 'common/components/IAIPopover'; +import IAISwitch from 'common/components/IAISwitch'; +import { fieldBooleanValueChanged } from 'features/nodes/store/nodesSlice'; +import { InvocationNodeData } from 'features/nodes/types/types'; +import { ChangeEvent, memo, useCallback } from 'react'; +import { FaBars } from 'react-icons/fa'; + +interface Props { + data: InvocationNodeData; +} + +const NodeSettings = (props: Props) => { + const { data } = props; + const dispatch = useAppDispatch(); + + const handleChangeIsIntermediate = useCallback( + (e: ChangeEvent) => { + dispatch( + fieldBooleanValueChanged({ + nodeId: data.id, + fieldName: 'is_intermediate', + value: e.target.checked, + }) + ); + }, + [data.id, dispatch] + ); + + return ( + } + /> + } + > + + + + + ); +}; + +export default memo(NodeSettings); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeStatusIndicator.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeStatusIndicator.tsx new file mode 100644 index 0000000000..d53fec4b42 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeStatusIndicator.tsx @@ -0,0 +1,183 @@ +import { + Badge, + CircularProgress, + Flex, + Icon, + Image, + Text, + Tooltip, +} from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/types/constants'; +import { NodeExecutionState, NodeStatus } from 'features/nodes/types/types'; +import { memo, useMemo } from 'react'; +import { FaCheck, FaEllipsisH, FaExclamation } from 'react-icons/fa'; + +type Props = { + nodeId: string; +}; + +const iconBoxSize = 3; +const circleStyles = { + circle: { + transitionProperty: 'none', + transitionDuration: '0s', + }, + '.chakra-progress__track': { stroke: 'transparent' }, +}; + +const NodeStatusIndicator = ({ nodeId }: Props) => { + const selectNodeExecutionState = useMemo( + () => + createSelector( + stateSelector, + ({ nodes }) => nodes.nodeExecutionStates[nodeId] + ), + [nodeId] + ); + + const nodeExecutionState = useAppSelector(selectNodeExecutionState); + + if (!nodeExecutionState) { + return null; + } + + return ( + } + placement="top" + > + + + + + ); +}; + +export default memo(NodeStatusIndicator); + +type TooltipLabelProps = { + nodeExecutionState: NodeExecutionState; +}; + +const TooltipLabel = memo(({ nodeExecutionState }: TooltipLabelProps) => { + const { status, progress, progressImage } = nodeExecutionState; + if (status === NodeStatus.PENDING) { + return Pending; + } + + if (status === NodeStatus.IN_PROGRESS) { + if (progressImage) { + return ( + + + {progress !== null && ( + + {Math.round(progress * 100)}% + + )} + + ); + } + + if (progress !== null) { + return In Progress ({Math.round(progress * 100)}%); + } + + return In Progress; + } + + if (status === NodeStatus.COMPLETED) { + return Completed; + } + + if (status === NodeStatus.FAILED) { + return nodeExecutionState.error; + } + + return null; +}); + +TooltipLabel.displayName = 'TooltipLabel'; + +type StatusIconProps = { + nodeExecutionState: NodeExecutionState; +}; + +const StatusIcon = memo((props: StatusIconProps) => { + const { progress, status } = props.nodeExecutionState; + if (status === NodeStatus.PENDING) { + return ( + + ); + } + if (status === NodeStatus.IN_PROGRESS) { + return progress === null ? ( + + ) : ( + + ); + } + if (status === NodeStatus.COMPLETED) { + return ( + + ); + } + if (status === NodeStatus.FAILED) { + return ( + + ); + } + return null; +}); + +StatusIcon.displayName = 'StatusIcon'; diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeTitle.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeTitle.tsx new file mode 100644 index 0000000000..d816f3cea1 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeTitle.tsx @@ -0,0 +1,126 @@ +import { + Box, + Editable, + EditableInput, + EditablePreview, + Flex, + useEditableControls, +} from '@chakra-ui/react'; +import { useAppDispatch } from 'app/store/storeHooks'; +import { + useNodeLabel, + useNodeTemplateTitle, +} from 'features/nodes/hooks/useNodeData'; +import { nodeLabelChanged } from 'features/nodes/store/nodesSlice'; +import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/types/constants'; +import { MouseEvent, memo, useCallback, useEffect, useState } from 'react'; + +type Props = { + nodeId: string; + title?: string; +}; + +const NodeTitle = ({ nodeId, title }: Props) => { + const dispatch = useAppDispatch(); + const label = useNodeLabel(nodeId); + const templateTitle = useNodeTemplateTitle(nodeId); + + const [localTitle, setLocalTitle] = useState(''); + const handleSubmit = useCallback( + async (newTitle: string) => { + dispatch(nodeLabelChanged({ nodeId, label: newTitle })); + setLocalTitle(newTitle || title || 'Problem Setting Title'); + }, + [nodeId, dispatch, title] + ); + + const handleChange = useCallback((newTitle: string) => { + setLocalTitle(newTitle); + }, []); + + useEffect(() => { + // Another component may change the title; sync local title with global state + setLocalTitle(label || title || templateTitle || 'Problem Setting Title'); + }, [label, templateTitle, title]); + + return ( + + + + + + + + ); +}; + +export default memo(NodeTitle); + +function EditableControls() { + const { isEditing, getEditButtonProps } = useEditableControls(); + const handleDoubleClick = useCallback( + (e: MouseEvent) => { + const { onClick } = getEditButtonProps(); + if (!onClick) { + return; + } + onClick(e); + }, + [getEditButtonProps] + ); + + if (isEditing) { + return null; + } + + return ( + + ); +} diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeWrapper.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeWrapper.tsx new file mode 100644 index 0000000000..68ed0684ed --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/NodeWrapper.tsx @@ -0,0 +1,99 @@ +import { + Box, + ChakraProps, + useColorModeValue, + useToken, +} from '@chakra-ui/react'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { nodeClicked } from 'features/nodes/store/nodesSlice'; +import { + MouseEvent, + PropsWithChildren, + memo, + useCallback, + useMemo, +} from 'react'; +import { DRAG_HANDLE_CLASSNAME, NODE_WIDTH } from '../../types/constants'; + +const useNodeSelect = (nodeId: string) => { + const dispatch = useAppDispatch(); + + const selectNode = useCallback( + (e: MouseEvent) => { + dispatch(nodeClicked({ nodeId, ctrlOrMeta: e.ctrlKey || e.metaKey })); + }, + [dispatch, nodeId] + ); + + return selectNode; +}; + +type NodeWrapperProps = PropsWithChildren & { + nodeId: string; + selected: boolean; + width?: NonNullable['w']; +}; + +const NodeWrapper = (props: NodeWrapperProps) => { + const { width, children, nodeId, selected } = props; + + const [ + nodeSelectedOutlineLight, + nodeSelectedOutlineDark, + shadowsXl, + shadowsBase, + ] = useToken('shadows', [ + 'nodeSelectedOutline.light', + 'nodeSelectedOutline.dark', + 'shadows.xl', + 'shadows.base', + ]); + + const selectNode = useNodeSelect(nodeId); + + const shadow = useColorModeValue( + nodeSelectedOutlineLight, + nodeSelectedOutlineDark + ); + + const shift = useAppSelector((state) => state.hotkeys.shift); + const opacity = useAppSelector((state) => state.nodes.nodeOpacity); + const className = useMemo( + () => (shift ? DRAG_HANDLE_CLASSNAME : 'nopan'), + [shift] + ); + + return ( + + + {children} + + ); +}; + +export default memo(NodeWrapper); diff --git a/invokeai/frontend/web/src/features/nodes/components/Invocation/UnknownNodeFallback.tsx b/invokeai/frontend/web/src/features/nodes/components/Invocation/UnknownNodeFallback.tsx new file mode 100644 index 0000000000..664a788b5a --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/Invocation/UnknownNodeFallback.tsx @@ -0,0 +1,75 @@ +import { Box, Flex, Text } from '@chakra-ui/react'; +import { DRAG_HANDLE_CLASSNAME } from 'features/nodes/types/constants'; +import { memo } from 'react'; +import NodeCollapseButton from '../Invocation/NodeCollapseButton'; +import NodeWrapper from '../Invocation/NodeWrapper'; + +type Props = { + nodeId: string; + isOpen: boolean; + label: string; + type: string; + selected: boolean; +}; + +const UnknownNodeFallback = ({ + nodeId, + isOpen, + label, + type, + selected, +}: Props) => { + return ( + + + + + {label ? `${label} (${type})` : type} + + + {isOpen && ( + + + Unknown node type: + + {type} + + + + )} + + ); +}; + +export default memo(UnknownNodeFallback); diff --git a/invokeai/frontend/web/src/features/nodes/components/InvocationComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/InvocationComponent.tsx deleted file mode 100644 index 4c031afaff..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/InvocationComponent.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import { Flex, Icon } from '@chakra-ui/react'; -import { FaExclamationCircle } from 'react-icons/fa'; -import { NodeProps } from 'reactflow'; -import { InvocationValue } from '../types/types'; - -import { useAppSelector } from 'app/store/storeHooks'; -import { memo, useMemo } from 'react'; -import { makeTemplateSelector } from '../store/util/makeTemplateSelector'; -import IAINodeHeader from './IAINode/IAINodeHeader'; -import IAINodeInputs from './IAINode/IAINodeInputs'; -import IAINodeOutputs from './IAINode/IAINodeOutputs'; -import IAINodeResizer from './IAINode/IAINodeResizer'; -import NodeWrapper from './NodeWrapper'; - -export const InvocationComponent = memo((props: NodeProps) => { - const { id: nodeId, data, selected } = props; - const { type, inputs, outputs } = data; - - const templateSelector = useMemo(() => makeTemplateSelector(type), [type]); - - const template = useAppSelector(templateSelector); - - if (!template) { - return ( - - - - - - - ); - } - - return ( - - - - - - - - - ); -}); - -InvocationComponent.displayName = 'InvocationComponent'; diff --git a/invokeai/frontend/web/src/features/nodes/components/NodeEditor.tsx b/invokeai/frontend/web/src/features/nodes/components/NodeEditor.tsx index 8c0480774c..5e610cfc39 100644 --- a/invokeai/frontend/web/src/features/nodes/components/NodeEditor.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/NodeEditor.tsx @@ -1,25 +1,107 @@ -import { Box } from '@chakra-ui/react'; -import { ReactFlowProvider } from 'reactflow'; +import { Flex } from '@chakra-ui/react'; +import { useAppSelector } from 'app/store/storeHooks'; +import { IAINoContentFallback } from 'common/components/IAIImageFallback'; +import ResizeHandle from 'features/ui/components/tabs/ResizeHandle'; +import { memo, useState } from 'react'; +import { MdDeviceHub } from 'react-icons/md'; +import { Panel, PanelGroup } from 'react-resizable-panels'; import 'reactflow/dist/style.css'; - -import { memo } from 'react'; +import NodeEditorPanelGroup from './panel/NodeEditorPanelGroup'; import { Flow } from './Flow'; +import { AnimatePresence, motion } from 'framer-motion'; const NodeEditor = () => { + const [isPanelCollapsed, setIsPanelCollapsed] = useState(false); + const isReady = useAppSelector((state) => state.nodes.isReady); return ( - - - - - + + + + + + + + {isReady && ( + + + + )} + + + {!isReady && ( + + + + + + )} + + + + ); }; diff --git a/invokeai/frontend/web/src/features/nodes/components/NodeEditorSettings.tsx b/invokeai/frontend/web/src/features/nodes/components/NodeEditorSettings.tsx new file mode 100644 index 0000000000..b942b2b3c0 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/NodeEditorSettings.tsx @@ -0,0 +1,144 @@ +import { + Divider, + Flex, + Heading, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalHeader, + ModalOverlay, + useDisclosure, +} from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAIIconButton from 'common/components/IAIIconButton'; +import IAISwitch from 'common/components/IAISwitch'; +import { ChangeEvent, memo, useCallback } from 'react'; +import { FaCog } from 'react-icons/fa'; +import { + shouldAnimateEdgesChanged, + shouldColorEdgesChanged, + shouldSnapToGridChanged, + shouldValidateGraphChanged, +} from '../store/nodesSlice'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; + +const selector = createSelector( + stateSelector, + ({ nodes }) => { + const { + shouldAnimateEdges, + shouldValidateGraph, + shouldSnapToGrid, + shouldColorEdges, + } = nodes; + return { + shouldAnimateEdges, + shouldValidateGraph, + shouldSnapToGrid, + shouldColorEdges, + }; + }, + defaultSelectorOptions +); + +const NodeEditorSettings = () => { + const { isOpen, onOpen, onClose } = useDisclosure(); + const dispatch = useAppDispatch(); + const { + shouldAnimateEdges, + shouldValidateGraph, + shouldSnapToGrid, + shouldColorEdges, + } = useAppSelector(selector); + + const handleChangeShouldValidate = useCallback( + (e: ChangeEvent) => { + dispatch(shouldValidateGraphChanged(e.target.checked)); + }, + [dispatch] + ); + + const handleChangeShouldAnimate = useCallback( + (e: ChangeEvent) => { + dispatch(shouldAnimateEdgesChanged(e.target.checked)); + }, + [dispatch] + ); + + const handleChangeShouldSnap = useCallback( + (e: ChangeEvent) => { + dispatch(shouldSnapToGridChanged(e.target.checked)); + }, + [dispatch] + ); + + const handleChangeShouldColor = useCallback( + (e: ChangeEvent) => { + dispatch(shouldColorEdgesChanged(e.target.checked)); + }, + [dispatch] + ); + + return ( + <> + } + onClick={onOpen} + /> + + + + + Node Editor Settings + + + + General + + + + + + + Advanced + + + + + + + + ); +}; + +export default memo(NodeEditorSettings); diff --git a/invokeai/frontend/web/src/features/nodes/components/NodeGraphOverlay.tsx b/invokeai/frontend/web/src/features/nodes/components/NodeGraphOverlay.tsx index 1d498f19f5..4525dc5f6b 100644 --- a/invokeai/frontend/web/src/features/nodes/components/NodeGraphOverlay.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/NodeGraphOverlay.tsx @@ -1,34 +1,26 @@ -import { Box } from '@chakra-ui/react'; import { RootState } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; -import { memo } from 'react'; +import ImageMetadataJSON from 'features/gallery/components/ImageMetadataViewer/ImageMetadataJSON'; +import { omit } from 'lodash-es'; +import { useMemo } from 'react'; +import { useDebounce } from 'use-debounce'; import { buildNodesGraph } from '../util/graphBuilders/buildNodesGraph'; -const NodeGraphOverlay = () => { - const state = useAppSelector((state: RootState) => state); - const graph = buildNodesGraph(state); - - return ( - - {JSON.stringify(graph, null, 2)} - +const useNodesGraph = () => { + const nodes = useAppSelector((state: RootState) => state.nodes); + const [debouncedNodes] = useDebounce(nodes, 300); + const graph = useMemo( + () => omit(buildNodesGraph(debouncedNodes), 'id'), + [debouncedNodes] ); + + return graph; }; -export default memo(NodeGraphOverlay); +const NodeGraph = () => { + const graph = useNodesGraph(); + + return ; +}; + +export default NodeGraph; diff --git a/invokeai/frontend/web/src/features/nodes/components/NodeOpacitySlider.tsx b/invokeai/frontend/web/src/features/nodes/components/NodeOpacitySlider.tsx new file mode 100644 index 0000000000..693940859f --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/NodeOpacitySlider.tsx @@ -0,0 +1,42 @@ +import { + Box, + Slider, + SliderFilledTrack, + SliderThumb, + SliderTrack, +} from '@chakra-ui/react'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { useCallback } from 'react'; +import { nodeOpacityChanged } from '../store/nodesSlice'; + +export default function NodeOpacitySlider() { + const dispatch = useAppDispatch(); + const nodeOpacity = useAppSelector((state) => state.nodes.nodeOpacity); + + const handleChange = useCallback( + (v: number) => { + dispatch(nodeOpacityChanged(v)); + }, + [dispatch] + ); + + return ( + + + + + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/nodes/components/NodeWrapper.tsx b/invokeai/frontend/web/src/features/nodes/components/NodeWrapper.tsx deleted file mode 100644 index bc7944a28b..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/NodeWrapper.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Box, useToken } from '@chakra-ui/react'; -import { useAppSelector } from 'app/store/storeHooks'; -import { PropsWithChildren } from 'react'; -import { DRAG_HANDLE_CLASSNAME } from '../hooks/useBuildInvocation'; -import { NODE_MIN_WIDTH } from '../types/constants'; - -type NodeWrapperProps = PropsWithChildren & { - selected: boolean; -}; - -const NodeWrapper = (props: NodeWrapperProps) => { - const [nodeSelectedOutline, nodeShadow] = useToken('shadows', [ - 'nodeSelectedOutline', - 'dark-lg', - ]); - - const shift = useAppSelector((state) => state.hotkeys.shift); - - return ( - - {props.children} - - ); -}; - -export default NodeWrapper; diff --git a/invokeai/frontend/web/src/features/nodes/components/ProgressImageNode.tsx b/invokeai/frontend/web/src/features/nodes/components/ProgressImageNode.tsx deleted file mode 100644 index 142e2a2990..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/ProgressImageNode.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Flex, Image } from '@chakra-ui/react'; -import { RootState } from 'app/store/store'; -import { IAINoContentFallback } from 'common/components/IAIImageFallback'; -import { memo } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { NodeProps, OnResize } from 'reactflow'; -import { setProgressNodeSize } from '../store/nodesSlice'; -import IAINodeHeader from './IAINode/IAINodeHeader'; -import IAINodeResizer from './IAINode/IAINodeResizer'; -import NodeWrapper from './NodeWrapper'; - -const ProgressImageNode = (props: NodeProps) => { - const progressImage = useSelector( - (state: RootState) => state.system.progressImage - ); - const progressNodeSize = useSelector( - (state: RootState) => state.nodes.progressNodeSize - ); - const dispatch = useDispatch(); - const { selected } = props; - - const handleResize: OnResize = (_, newSize) => { - dispatch(setProgressNodeSize(newSize)); - }; - - return ( - - - - {progressImage ? ( - - ) : ( - - - - )} - - - - ); -}; - -export default memo(ProgressImageNode); diff --git a/invokeai/frontend/web/src/features/nodes/components/ViewportControls.tsx b/invokeai/frontend/web/src/features/nodes/components/ViewportControls.tsx index 796cdb010e..7416c6c555 100644 --- a/invokeai/frontend/web/src/features/nodes/components/ViewportControls.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/ViewportControls.tsx @@ -2,18 +2,16 @@ import { ButtonGroup, Tooltip } from '@chakra-ui/react'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import IAIIconButton from 'common/components/IAIIconButton'; import { memo, useCallback } from 'react'; -import { - FaCode, - FaExpand, - FaMinus, - FaPlus, - FaInfo, - FaMapMarkerAlt, -} from 'react-icons/fa'; -import { useReactFlow } from 'reactflow'; import { useTranslation } from 'react-i18next'; import { - shouldShowGraphOverlayChanged, + FaExpand, + FaInfo, + FaMapMarkerAlt, + FaMinus, + FaPlus, +} from 'react-icons/fa'; +import { useReactFlow } from 'reactflow'; +import { shouldShowFieldTypeLegendChanged, shouldShowMinimapPanelChanged, } from '../store/nodesSlice'; @@ -22,9 +20,6 @@ const ViewportControls = () => { const { t } = useTranslation(); const { zoomIn, zoomOut, fitView } = useReactFlow(); const dispatch = useAppDispatch(); - const shouldShowGraphOverlay = useAppSelector( - (state) => state.nodes.shouldShowGraphOverlay - ); const shouldShowFieldTypeLegend = useAppSelector( (state) => state.nodes.shouldShowFieldTypeLegend ); @@ -44,10 +39,6 @@ const ViewportControls = () => { fitView(); }, [fitView]); - const handleClickedToggleGraphOverlay = useCallback(() => { - dispatch(shouldShowGraphOverlayChanged(!shouldShowGraphOverlay)); - }, [shouldShowGraphOverlay, dispatch]); - const handleClickedToggleFieldTypeLegend = useCallback(() => { dispatch(shouldShowFieldTypeLegendChanged(!shouldShowFieldTypeLegend)); }, [shouldShowFieldTypeLegend, dispatch]); @@ -79,20 +70,6 @@ const ViewportControls = () => { icon={} /> - - } - /> - ( - + + + + ); diff --git a/invokeai/frontend/web/src/features/nodes/components/panels/MinimapPanel.tsx b/invokeai/frontend/web/src/features/nodes/components/editorPanels/MinimapPanel.tsx similarity index 91% rename from invokeai/frontend/web/src/features/nodes/components/panels/MinimapPanel.tsx rename to invokeai/frontend/web/src/features/nodes/components/editorPanels/MinimapPanel.tsx index 39142ed48e..8b7fb942a6 100644 --- a/invokeai/frontend/web/src/features/nodes/components/panels/MinimapPanel.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/editorPanels/MinimapPanel.tsx @@ -20,7 +20,7 @@ const MinimapPanel = () => { const nodeColor = useColorModeValue( 'var(--invokeai-colors-accent-300)', - 'var(--invokeai-colors-accent-700)' + 'var(--invokeai-colors-accent-600)' ); const maskColor = useColorModeValue( @@ -32,10 +32,9 @@ const MinimapPanel = () => { <> {shouldShowMinimapPanel && ( { return ( @@ -15,9 +14,8 @@ const TopCenterPanel = () => { - - + ); diff --git a/invokeai/frontend/web/src/features/nodes/components/panels/TopLeftPanel.tsx b/invokeai/frontend/web/src/features/nodes/components/editorPanels/TopLeftPanel.tsx similarity index 100% rename from invokeai/frontend/web/src/features/nodes/components/panels/TopLeftPanel.tsx rename to invokeai/frontend/web/src/features/nodes/components/editorPanels/TopLeftPanel.tsx diff --git a/invokeai/frontend/web/src/features/nodes/components/panels/TopRightPanel.tsx b/invokeai/frontend/web/src/features/nodes/components/editorPanels/TopRightPanel.tsx similarity index 55% rename from invokeai/frontend/web/src/features/nodes/components/panels/TopRightPanel.tsx rename to invokeai/frontend/web/src/features/nodes/components/editorPanels/TopRightPanel.tsx index e3e3a871c8..7facf3973f 100644 --- a/invokeai/frontend/web/src/features/nodes/components/panels/TopRightPanel.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/editorPanels/TopRightPanel.tsx @@ -1,22 +1,16 @@ -import { RootState } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; import { memo } from 'react'; import { Panel } from 'reactflow'; import FieldTypeLegend from '../FieldTypeLegend'; -import NodeGraphOverlay from '../NodeGraphOverlay'; const TopRightPanel = () => { - const shouldShowGraphOverlay = useAppSelector( - (state: RootState) => state.nodes.shouldShowGraphOverlay - ); const shouldShowFieldTypeLegend = useAppSelector( - (state: RootState) => state.nodes.shouldShowFieldTypeLegend + (state) => state.nodes.shouldShowFieldTypeLegend ); return ( {shouldShowFieldTypeLegend && } - {shouldShowGraphOverlay && } ); }; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/ArrayInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/ArrayInputFieldComponent.tsx deleted file mode 100644 index 8e478c907c..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/fields/ArrayInputFieldComponent.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { - ArrayInputFieldTemplate, - ArrayInputFieldValue, -} from 'features/nodes/types/types'; -import { memo } from 'react'; -import { FaList } from 'react-icons/fa'; -import { FieldComponentProps } from './types'; - -const ArrayInputFieldComponent = ( - _props: FieldComponentProps -) => { - return ; -}; - -export default memo(ArrayInputFieldComponent); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/EnumInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/EnumInputFieldComponent.tsx deleted file mode 100644 index 5f26bc4f2a..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/fields/EnumInputFieldComponent.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { Select } from '@chakra-ui/react'; -import { useAppDispatch } from 'app/store/storeHooks'; -import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; -import { - EnumInputFieldTemplate, - EnumInputFieldValue, -} from 'features/nodes/types/types'; -import { ChangeEvent, memo } from 'react'; -import { FieldComponentProps } from './types'; - -const EnumInputFieldComponent = ( - props: FieldComponentProps -) => { - const { nodeId, field, template } = props; - - const dispatch = useAppDispatch(); - - const handleValueChanged = (e: ChangeEvent) => { - dispatch( - fieldValueChanged({ - nodeId, - fieldName: field.name, - value: e.target.value, - }) - ); - }; - - return ( - - ); -}; - -export default memo(EnumInputFieldComponent); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/FieldContextMenu.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/FieldContextMenu.tsx new file mode 100644 index 0000000000..d9f8f951bc --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/FieldContextMenu.tsx @@ -0,0 +1,47 @@ +import { MenuItem, MenuList } from '@chakra-ui/react'; +import { ContextMenu, ContextMenuProps } from 'chakra-ui-contextmenu'; +import { + InputFieldTemplate, + InputFieldValue, +} from 'features/nodes/types/types'; +import { MouseEvent, useCallback } from 'react'; +import { menuListMotionProps } from 'theme/components/menu'; + +type Props = { + nodeId: string; + field: InputFieldValue; + fieldTemplate: InputFieldTemplate; + children: ContextMenuProps['children']; +}; + +const FieldContextMenu = (props: Props) => { + const skipEvent = useCallback((e: MouseEvent) => { + e.preventDefault(); + }, []); + + return ( + + menuProps={{ + size: 'sm', + isLazy: true, + }} + menuButtonProps={{ + bg: 'transparent', + _hover: { bg: 'transparent' }, + }} + renderMenu={() => ( + + Test + + )} + > + {props.children} + + ); +}; + +export default FieldContextMenu; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/FieldHandle.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/FieldHandle.tsx new file mode 100644 index 0000000000..f79a57a4eb --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/FieldHandle.tsx @@ -0,0 +1,112 @@ +import { Tooltip } from '@chakra-ui/react'; +import { CSSProperties, memo, useMemo } from 'react'; +import { Handle, HandleType, Position } from 'reactflow'; +import { + FIELDS, + HANDLE_TOOLTIP_OPEN_DELAY, + colorTokenToCssVar, +} from '../../types/constants'; +import { InputFieldTemplate, OutputFieldTemplate } from '../../types/types'; + +export const handleBaseStyles: CSSProperties = { + position: 'absolute', + width: '1rem', + height: '1rem', + borderWidth: 0, + zIndex: 1, +}; + +export const inputHandleStyles: CSSProperties = { + left: '-1rem', +}; + +export const outputHandleStyles: CSSProperties = { + right: '-0.5rem', +}; + +type FieldHandleProps = { + fieldTemplate: InputFieldTemplate | OutputFieldTemplate; + handleType: HandleType; + isConnectionInProgress: boolean; + isConnectionStartField: boolean; + connectionError: string | null; +}; + +const FieldHandle = (props: FieldHandleProps) => { + const { + fieldTemplate, + handleType, + isConnectionInProgress, + isConnectionStartField, + connectionError, + } = props; + const { name, type } = fieldTemplate; + const { color, title } = FIELDS[type]; + + const styles: CSSProperties = useMemo(() => { + const s: CSSProperties = { + backgroundColor: colorTokenToCssVar(color), + position: 'absolute', + width: '1rem', + height: '1rem', + borderWidth: 0, + zIndex: 1, + }; + + if (handleType === 'target') { + s.insetInlineStart = '-1rem'; + } else { + s.insetInlineEnd = '-1rem'; + } + + if (isConnectionInProgress && !isConnectionStartField && connectionError) { + s.filter = 'opacity(0.4) grayscale(0.7)'; + } + + if (isConnectionInProgress && connectionError) { + if (isConnectionStartField) { + s.cursor = 'grab'; + } else { + s.cursor = 'not-allowed'; + } + } else { + s.cursor = 'crosshair'; + } + + return s; + }, [ + color, + connectionError, + handleType, + isConnectionInProgress, + isConnectionStartField, + ]); + + const tooltip = useMemo(() => { + if (isConnectionInProgress && isConnectionStartField) { + return title; + } + if (isConnectionInProgress && connectionError) { + return connectionError ?? title; + } + return title; + }, [connectionError, isConnectionInProgress, isConnectionStartField, title]); + + return ( + + + + ); +}; + +export default memo(FieldHandle); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/FieldTitle.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/FieldTitle.tsx new file mode 100644 index 0000000000..e9a49989f6 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/FieldTitle.tsx @@ -0,0 +1,163 @@ +import { + Editable, + EditableInput, + EditablePreview, + Flex, + useEditableControls, +} from '@chakra-ui/react'; +import { useAppDispatch } from 'app/store/storeHooks'; +import IAIDraggable from 'common/components/IAIDraggable'; +import { NodeFieldDraggableData } from 'features/dnd/types'; +import { + useFieldData, + useFieldTemplate, +} from 'features/nodes/hooks/useNodeData'; +import { fieldLabelChanged } from 'features/nodes/store/nodesSlice'; +import { + MouseEvent, + memo, + useCallback, + useEffect, + useMemo, + useState, +} from 'react'; + +interface Props { + nodeId: string; + fieldName: string; + isDraggable?: boolean; + kind: 'input' | 'output'; +} + +const FieldTitle = (props: Props) => { + const { nodeId, fieldName, isDraggable = false, kind } = props; + const fieldTemplate = useFieldTemplate(nodeId, fieldName, kind); + const field = useFieldData(nodeId, fieldName); + + const dispatch = useAppDispatch(); + const [localTitle, setLocalTitle] = useState( + field?.label || fieldTemplate?.title || 'Unknown Field' + ); + + const draggableData: NodeFieldDraggableData | undefined = useMemo( + () => + field && + fieldTemplate?.fieldKind === 'input' && + fieldTemplate?.input !== 'connection' && + isDraggable + ? { + id: `${nodeId}-${fieldName}`, + payloadType: 'NODE_FIELD', + payload: { nodeId, field, fieldTemplate }, + } + : undefined, + [field, fieldName, fieldTemplate, isDraggable, nodeId] + ); + + const handleSubmit = useCallback( + async (newTitle: string) => { + dispatch(fieldLabelChanged({ nodeId, fieldName, label: newTitle })); + setLocalTitle(newTitle || fieldTemplate?.title || 'Unknown Field'); + }, + [dispatch, nodeId, fieldName, fieldTemplate?.title] + ); + + const handleChange = useCallback((newTitle: string) => { + setLocalTitle(newTitle); + }, []); + + useEffect(() => { + // Another component may change the title; sync local title with global state + setLocalTitle(field?.label || fieldTemplate?.title || 'Unknown Field'); + }, [field?.label, fieldTemplate?.title]); + + return ( + + + + + + + + ); +}; + +export default memo(FieldTitle); + +type EditableControlsProps = { + draggableData?: NodeFieldDraggableData; +}; + +const EditableControls = memo((props: EditableControlsProps) => { + const { isEditing, getEditButtonProps } = useEditableControls(); + const handleDoubleClick = useCallback( + (e: MouseEvent) => { + const { onClick } = getEditButtonProps(); + if (!onClick) { + return; + } + onClick(e); + }, + [getEditButtonProps] + ); + + if (isEditing) { + return null; + } + + if (props.draggableData) { + return ( + + ); + } + + return ( + + ); +}); + +EditableControls.displayName = 'EditableControls'; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/FieldTooltipContent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/FieldTooltipContent.tsx new file mode 100644 index 0000000000..cbe75ca580 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/FieldTooltipContent.tsx @@ -0,0 +1,56 @@ +import { Flex, Text } from '@chakra-ui/react'; +import { + useFieldData, + useFieldTemplate, +} from 'features/nodes/hooks/useNodeData'; +import { FIELDS } from 'features/nodes/types/constants'; +import { + isInputFieldTemplate, + isInputFieldValue, +} from 'features/nodes/types/types'; +import { startCase } from 'lodash-es'; +import { useMemo } from 'react'; + +interface Props { + nodeId: string; + fieldName: string; + kind: 'input' | 'output'; +} + +const FieldTooltipContent = ({ nodeId, fieldName, kind }: Props) => { + const field = useFieldData(nodeId, fieldName); + const fieldTemplate = useFieldTemplate(nodeId, fieldName, kind); + const isInputTemplate = isInputFieldTemplate(fieldTemplate); + const fieldTitle = useMemo(() => { + if (isInputFieldValue(field)) { + if (field.label && fieldTemplate) { + return `${field.label} (${fieldTemplate.title})`; + } + + if (field.label && !fieldTemplate) { + return field.label; + } + + if (!field.label && fieldTemplate) { + return fieldTemplate.title; + } + + return 'Unknown Field'; + } + }, [field, fieldTemplate]); + + return ( + + {fieldTitle} + {fieldTemplate && ( + + {fieldTemplate.description} + + )} + {fieldTemplate && Type: {FIELDS[fieldTemplate.type].title}} + {isInputTemplate && Input: {startCase(fieldTemplate.input)}} + + ); +}; + +export default FieldTooltipContent; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/InputField.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/InputField.tsx new file mode 100644 index 0000000000..47033baa7b --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/InputField.tsx @@ -0,0 +1,139 @@ +import { Flex, FormControl, FormLabel, Tooltip } from '@chakra-ui/react'; +import { useConnectionState } from 'features/nodes/hooks/useConnectionState'; +import { + useDoesInputHaveValue, + useFieldTemplate, +} from 'features/nodes/hooks/useNodeData'; +import { HANDLE_TOOLTIP_OPEN_DELAY } from 'features/nodes/types/constants'; +import { PropsWithChildren, memo, useMemo } from 'react'; +import FieldHandle from './FieldHandle'; +import FieldTitle from './FieldTitle'; +import FieldTooltipContent from './FieldTooltipContent'; +import InputFieldRenderer from './InputFieldRenderer'; + +interface Props { + nodeId: string; + fieldName: string; +} + +const InputField = ({ nodeId, fieldName }: Props) => { + const fieldTemplate = useFieldTemplate(nodeId, fieldName, 'input'); + const doesFieldHaveValue = useDoesInputHaveValue(nodeId, fieldName); + + const { + isConnected, + isConnectionInProgress, + isConnectionStartField, + connectionError, + shouldDim, + } = useConnectionState({ nodeId, fieldName, kind: 'input' }); + + const isMissingInput = useMemo(() => { + if (fieldTemplate?.fieldKind !== 'input') { + return false; + } + + if (!fieldTemplate.required) { + return false; + } + + if (!isConnected && fieldTemplate.input === 'connection') { + return true; + } + + if (!doesFieldHaveValue && !isConnected && fieldTemplate.input === 'any') { + return true; + } + }, [fieldTemplate, isConnected, doesFieldHaveValue]); + + if (fieldTemplate?.fieldKind !== 'input') { + return ( + + + Unknown input: {fieldName} + + + ); + } + + return ( + + + + } + openDelay={HANDLE_TOOLTIP_OPEN_DELAY} + placement="top" + shouldWrapChildren + hasArrow + > + + + + + + + + {fieldTemplate.input !== 'direct' && ( + + )} + + ); +}; + +export default InputField; + +type InputFieldWrapperProps = PropsWithChildren<{ + shouldDim: boolean; +}>; + +const InputFieldWrapper = memo( + ({ shouldDim, children }: InputFieldWrapperProps) => ( + + {children} + + ) +); + +InputFieldWrapper.displayName = 'InputFieldWrapper'; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx new file mode 100644 index 0000000000..acec921d8e --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/InputFieldRenderer.tsx @@ -0,0 +1,292 @@ +import { Box } from '@chakra-ui/react'; +import { + useFieldData, + useFieldTemplate, +} from 'features/nodes/hooks/useNodeData'; +import { memo } from 'react'; +import BooleanInputField from './fieldTypes/BooleanInputField'; +import ClipInputField from './fieldTypes/ClipInputField'; +import CollectionInputField from './fieldTypes/CollectionInputField'; +import CollectionItemInputField from './fieldTypes/CollectionItemInputField'; +import ColorInputField from './fieldTypes/ColorInputField'; +import ConditioningInputField from './fieldTypes/ConditioningInputField'; +import ControlInputField from './fieldTypes/ControlInputField'; +import ControlNetModelInputField from './fieldTypes/ControlNetModelInputField'; +import EnumInputField from './fieldTypes/EnumInputField'; +import ImageCollectionInputField from './fieldTypes/ImageCollectionInputField'; +import ImageInputField from './fieldTypes/ImageInputField'; +import LatentsInputField from './fieldTypes/LatentsInputField'; +import LoRAModelInputField from './fieldTypes/LoRAModelInputField'; +import MainModelInputField from './fieldTypes/MainModelInputField'; +import NumberInputField from './fieldTypes/NumberInputField'; +import RefinerModelInputField from './fieldTypes/RefinerModelInputField'; +import SDXLMainModelInputField from './fieldTypes/SDXLMainModelInputField'; +import StringInputField from './fieldTypes/StringInputField'; +import UnetInputField from './fieldTypes/UnetInputField'; +import VaeInputField from './fieldTypes/VaeInputField'; +import VaeModelInputField from './fieldTypes/VaeModelInputField'; + +type InputFieldProps = { + nodeId: string; + fieldName: string; +}; + +// build an individual input element based on the schema +const InputFieldRenderer = ({ nodeId, fieldName }: InputFieldProps) => { + const field = useFieldData(nodeId, fieldName); + const fieldTemplate = useFieldTemplate(nodeId, fieldName, 'input'); + + if (fieldTemplate?.fieldKind === 'output') { + return Output field in input: {field?.type}; + } + + if (field?.type === 'string' && fieldTemplate?.type === 'string') { + return ( + + ); + } + + if (field?.type === 'boolean' && fieldTemplate?.type === 'boolean') { + return ( + + ); + } + + if ( + (field?.type === 'integer' && fieldTemplate?.type === 'integer') || + (field?.type === 'float' && fieldTemplate?.type === 'float') + ) { + return ( + + ); + } + + if (field?.type === 'enum' && fieldTemplate?.type === 'enum') { + return ( + + ); + } + + if (field?.type === 'ImageField' && fieldTemplate?.type === 'ImageField') { + return ( + + ); + } + + if ( + field?.type === 'LatentsField' && + fieldTemplate?.type === 'LatentsField' + ) { + return ( + + ); + } + + if ( + field?.type === 'ConditioningField' && + fieldTemplate?.type === 'ConditioningField' + ) { + return ( + + ); + } + + if (field?.type === 'UNetField' && fieldTemplate?.type === 'UNetField') { + return ( + + ); + } + + if (field?.type === 'ClipField' && fieldTemplate?.type === 'ClipField') { + return ( + + ); + } + + if (field?.type === 'VaeField' && fieldTemplate?.type === 'VaeField') { + return ( + + ); + } + + if ( + field?.type === 'ControlField' && + fieldTemplate?.type === 'ControlField' + ) { + return ( + + ); + } + + if ( + field?.type === 'MainModelField' && + fieldTemplate?.type === 'MainModelField' + ) { + return ( + + ); + } + + if ( + field?.type === 'SDXLRefinerModelField' && + fieldTemplate?.type === 'SDXLRefinerModelField' + ) { + return ( + + ); + } + + if ( + field?.type === 'VaeModelField' && + fieldTemplate?.type === 'VaeModelField' + ) { + return ( + + ); + } + + if ( + field?.type === 'LoRAModelField' && + fieldTemplate?.type === 'LoRAModelField' + ) { + return ( + + ); + } + + if ( + field?.type === 'ControlNetModelField' && + fieldTemplate?.type === 'ControlNetModelField' + ) { + return ( + + ); + } + + if (field?.type === 'Collection' && fieldTemplate?.type === 'Collection') { + return ( + + ); + } + + if ( + field?.type === 'CollectionItem' && + fieldTemplate?.type === 'CollectionItem' + ) { + return ( + + ); + } + + if (field?.type === 'ColorField' && fieldTemplate?.type === 'ColorField') { + return ( + + ); + } + + if ( + field?.type === 'ImageCollection' && + fieldTemplate?.type === 'ImageCollection' + ) { + return ( + + ); + } + + if ( + field?.type === 'SDXLMainModelField' && + fieldTemplate?.type === 'SDXLMainModelField' + ) { + return ( + + ); + } + + return Unknown field type: {field?.type}; +}; + +export default memo(InputFieldRenderer); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/ItemInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/ItemInputFieldComponent.tsx deleted file mode 100644 index 6fa89345bf..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/fields/ItemInputFieldComponent.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { - ItemInputFieldTemplate, - ItemInputFieldValue, -} from 'features/nodes/types/types'; -import { memo } from 'react'; -import { FaAddressCard } from 'react-icons/fa'; -import { FieldComponentProps } from './types'; - -const ItemInputFieldComponent = ( - _props: FieldComponentProps -) => { - return ; -}; - -export default memo(ItemInputFieldComponent); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/LinearViewField.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/LinearViewField.tsx new file mode 100644 index 0000000000..ea4bb76d62 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/LinearViewField.tsx @@ -0,0 +1,54 @@ +import { Flex, FormControl, FormLabel, Tooltip } from '@chakra-ui/react'; +import { HANDLE_TOOLTIP_OPEN_DELAY } from 'features/nodes/types/constants'; +import { memo } from 'react'; +import FieldTitle from './FieldTitle'; +import FieldTooltipContent from './FieldTooltipContent'; +import InputFieldRenderer from './InputFieldRenderer'; + +type Props = { + nodeId: string; + fieldName: string; +}; + +const LinearViewField = ({ nodeId, fieldName }: Props) => { + return ( + + + + } + openDelay={HANDLE_TOOLTIP_OPEN_DELAY} + placement="top" + shouldWrapChildren + hasArrow + > + + + + + + + + ); +}; + +export default memo(LinearViewField); diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/OutputField.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/OutputField.tsx new file mode 100644 index 0000000000..2a257d741e --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/components/fields/OutputField.tsx @@ -0,0 +1,100 @@ +import { + Flex, + FormControl, + FormLabel, + Spacer, + Tooltip, +} from '@chakra-ui/react'; +import { useConnectionState } from 'features/nodes/hooks/useConnectionState'; +import { useFieldTemplate } from 'features/nodes/hooks/useNodeData'; +import { HANDLE_TOOLTIP_OPEN_DELAY } from 'features/nodes/types/constants'; +import { PropsWithChildren, memo } from 'react'; +import FieldHandle from './FieldHandle'; +import FieldTooltipContent from './FieldTooltipContent'; + +interface Props { + nodeId: string; + fieldName: string; +} + +const OutputField = ({ nodeId, fieldName }: Props) => { + const fieldTemplate = useFieldTemplate(nodeId, fieldName, 'output'); + + const { + isConnected, + isConnectionInProgress, + isConnectionStartField, + connectionError, + shouldDim, + } = useConnectionState({ nodeId, fieldName, kind: 'output' }); + + if (fieldTemplate?.fieldKind !== 'output') { + return ( + + + Unknown output: {fieldName} + + + ); + } + + return ( + + + + } + openDelay={HANDLE_TOOLTIP_OPEN_DELAY} + placement="top" + shouldWrapChildren + hasArrow + > + + + {fieldTemplate?.title} + + + + + + ); +}; + +export default memo(OutputField); + +type OutputFieldWrapperProps = PropsWithChildren<{ + shouldDim: boolean; +}>; + +const OutputFieldWrapper = memo( + ({ shouldDim, children }: OutputFieldWrapperProps) => ( + + {children} + + ) +); + +OutputFieldWrapper.displayName = 'OutputFieldWrapper'; diff --git a/invokeai/frontend/web/src/features/nodes/components/fields/StringInputFieldComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/fields/StringInputFieldComponent.tsx deleted file mode 100644 index 18cf7e997f..0000000000 --- a/invokeai/frontend/web/src/features/nodes/components/fields/StringInputFieldComponent.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Input, Textarea } from '@chakra-ui/react'; -import { useAppDispatch } from 'app/store/storeHooks'; -import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; -import { - StringInputFieldTemplate, - StringInputFieldValue, -} from 'features/nodes/types/types'; -import { ChangeEvent, memo } from 'react'; -import { FieldComponentProps } from './types'; - -const StringInputFieldComponent = ( - props: FieldComponentProps -) => { - const { nodeId, field } = props; - const dispatch = useAppDispatch(); - - const handleValueChanged = ( - e: ChangeEvent - ) => { - dispatch( - fieldValueChanged({ - nodeId, - fieldName: field.name, - value: e.target.value, - }) - ); - }; - - return ['prompt', 'style'].includes(field.name.toLowerCase()) ? ( -