From 000fdad721a0396338170c59e61a5b9c3c984ad2 Mon Sep 17 00:00:00 2001 From: Benny Chen Date: Mon, 1 Dec 2025 23:28:17 -0800 Subject: [PATCH 1/3] vision food reasoning eval --- eval_protocol/benchmarks/test_aime25.py | 7 +- eval_protocol/benchmarks/test_gpqa.py | 7 +- .../test_livebench_data_analysis.py | 7 +- eval_protocol/models.py | 37 ++++- .../pytest/default_agent_rollout_processor.py | 11 +- .../default_single_turn_rollout_process.py | 25 ++-- eval_protocol/rewards/accuracy.py | 16 +- eval_protocol/rewards/json_schema.py | 14 +- eval_protocol/rewards/language_consistency.py | 16 +- eval_protocol/rewards/repetition.py | 16 +- eval_protocol/rewards/tag_count.py | 16 +- .../test_single_turn_rollout_processor.py | 47 ++++++ vite-app/bun.lockb | Bin 0 -> 144589 bytes vite-app/dist/assets/index-BIhepl19.css | 1 - vite-app/dist/assets/index-CuQbfdPD.js | 46 ++++++ vite-app/dist/assets/index-CuQbfdPD.js.map | 1 + vite-app/dist/assets/index-DaovgarD.js | 137 ------------------ vite-app/dist/assets/index-DaovgarD.js.map | 1 - vite-app/dist/assets/index-iZp_HgyW.css | 1 + vite-app/dist/index.html | 4 +- vite-app/src/components/MessageBubble.tsx | 67 ++++++++- vite-app/src/types/eval-protocol.ts | 27 +++- 22 files changed, 317 insertions(+), 187 deletions(-) create mode 100755 vite-app/bun.lockb delete mode 100644 vite-app/dist/assets/index-BIhepl19.css create mode 100644 vite-app/dist/assets/index-CuQbfdPD.js create mode 100644 vite-app/dist/assets/index-CuQbfdPD.js.map delete mode 100644 vite-app/dist/assets/index-DaovgarD.js delete mode 100644 vite-app/dist/assets/index-DaovgarD.js.map create mode 100644 vite-app/dist/assets/index-iZp_HgyW.css diff --git a/eval_protocol/benchmarks/test_aime25.py b/eval_protocol/benchmarks/test_aime25.py index 91a67f77..6eb785a7 100644 --- a/eval_protocol/benchmarks/test_aime25.py +++ b/eval_protocol/benchmarks/test_aime25.py @@ -5,6 +5,7 @@ EvaluationRow, Message, MetricResult, + ChatCompletionContentPartParam, ChatCompletionContentPartTextParam, ) from eval_protocol.pytest.default_single_turn_rollout_process import ( @@ -18,10 +19,12 @@ def _coerce_content_to_str( - content: str | list[ChatCompletionContentPartTextParam] | None, + content: str | list[ChatCompletionContentPartParam] | None, ) -> str: if isinstance(content, list): - return "".join([getattr(p, "text", str(p)) for p in content]) + return "".join( + getattr(p, "text", str(p)) if isinstance(p, ChatCompletionContentPartTextParam) else "" for p in content + ) return str(content or "") diff --git a/eval_protocol/benchmarks/test_gpqa.py b/eval_protocol/benchmarks/test_gpqa.py index 102eb294..55a96b6f 100644 --- a/eval_protocol/benchmarks/test_gpqa.py +++ b/eval_protocol/benchmarks/test_gpqa.py @@ -10,6 +10,7 @@ EvaluationRow, Message, MetricResult, + ChatCompletionContentPartParam, ChatCompletionContentPartTextParam, ) from eval_protocol.pytest.default_single_turn_rollout_process import ( @@ -54,10 +55,12 @@ def _load_gpqa_messages_from_csv() -> list[list[list[Message]]]: def _coerce_content_to_str( - content: str | list[ChatCompletionContentPartTextParam] | None, + content: str | list[ChatCompletionContentPartParam] | None, ) -> str: if isinstance(content, list): - return "".join([getattr(p, "text", str(p)) for p in content]) + return "".join( + getattr(p, "text", str(p)) if isinstance(p, ChatCompletionContentPartTextParam) else "" for p in content + ) return str(content or "") diff --git a/eval_protocol/benchmarks/test_livebench_data_analysis.py b/eval_protocol/benchmarks/test_livebench_data_analysis.py index 6baa7b89..787340d4 100644 --- a/eval_protocol/benchmarks/test_livebench_data_analysis.py +++ b/eval_protocol/benchmarks/test_livebench_data_analysis.py @@ -8,6 +8,7 @@ EvaluationRow, Message, MetricResult, + ChatCompletionContentPartParam, ChatCompletionContentPartTextParam, ) from eval_protocol.pytest.default_single_turn_rollout_process import ( @@ -37,9 +38,11 @@ def _extract_last_boxed_segment(text: str) -> Optional[str]: return matches[-1] -def _coerce_content_to_str(content: str | list[ChatCompletionContentPartTextParam] | None) -> str: +def _coerce_content_to_str(content: str | list[ChatCompletionContentPartParam] | None) -> str: if isinstance(content, list): - return "".join([getattr(p, "text", str(p)) for p in content]) + return "".join( + getattr(p, "text", str(p)) if isinstance(p, ChatCompletionContentPartTextParam) else "" for p in content + ) return str(content or "") diff --git a/eval_protocol/models.py b/eval_protocol/models.py index be964b1a..88861471 100644 --- a/eval_protocol/models.py +++ b/eval_protocol/models.py @@ -458,11 +458,46 @@ def __iter__(self): return iter(["text", "type"]) +class ChatCompletionContentPartImageParam(BaseModel): + type: Literal["image_url"] = Field("image_url", description="The type of the content part.") + image_url: Dict[str, Any] = Field( + ..., description="Image descriptor (e.g., {'url': 'data:image/png;base64,...', 'detail': 'high'})." + ) + + def __getitem__(self, key: str) -> Any: + if key == "image_url": + return self.image_url + if key == "type": + return self.type + raise KeyError(key) + + def get(self, key: str, default: Any = None) -> Any: + try: + return self[key] + except KeyError: + return default + + def keys(self): + return (k for k in ("image_url", "type")) + + def values(self): + return (self.image_url, self.type) + + def items(self): + return [("image_url", self.image_url), ("type", self.type)] + + def __iter__(self): + return iter(["image_url", "type"]) + + +ChatCompletionContentPartParam = Union[ChatCompletionContentPartTextParam, ChatCompletionContentPartImageParam] + + class Message(BaseModel): """Chat message model with trajectory evaluation support.""" role: str # assistant, user, system, tool - content: Optional[Union[str, List[ChatCompletionContentPartTextParam]]] = Field( + content: Optional[Union[str, List[ChatCompletionContentPartParam]]] = Field( default="", description="The content of the message." ) reasoning_content: Optional[str] = Field( diff --git a/eval_protocol/pytest/default_agent_rollout_processor.py b/eval_protocol/pytest/default_agent_rollout_processor.py index c2a10ba2..d8d4aada 100644 --- a/eval_protocol/pytest/default_agent_rollout_processor.py +++ b/eval_protocol/pytest/default_agent_rollout_processor.py @@ -13,7 +13,12 @@ from eval_protocol.dataset_logger.dataset_logger import DatasetLogger from eval_protocol.mcp.execution.policy import LiteLLMPolicy from eval_protocol.mcp.mcp_multi_client import MCPMultiClient -from eval_protocol.models import EvaluationRow, Message, ChatCompletionContentPartTextParam +from eval_protocol.models import ( + EvaluationRow, + Message, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) from openai.types import CompletionUsage from eval_protocol.pytest.rollout_processor import RolloutProcessor from eval_protocol.pytest.types import Dataset, RolloutProcessorConfig @@ -98,7 +103,7 @@ def append_message_and_log(self, message: Message): self.messages.append(message) self.logger.log(self.evaluation_row) - async def call_agent(self) -> Optional[Union[str, List[ChatCompletionContentPartTextParam]]]: + async def call_agent(self) -> Optional[Union[str, List[ChatCompletionContentPartParam]]]: """ Call the assistant with the user query. """ @@ -222,7 +227,7 @@ def _get_content_from_tool_result(self, tool_result: CallToolResult | str) -> Li def _format_tool_message_content( self, content: List[TextContent] - ) -> Union[str, List[ChatCompletionContentPartTextParam]]: + ) -> Union[str, List[ChatCompletionContentPartParam]]: """Format tool result content for inclusion in a tool message. - If a single text item, return plain string per OpenAI semantics. diff --git a/eval_protocol/pytest/default_single_turn_rollout_process.py b/eval_protocol/pytest/default_single_turn_rollout_process.py index 9e4c942a..c442698b 100644 --- a/eval_protocol/pytest/default_single_turn_rollout_process.py +++ b/eval_protocol/pytest/default_single_turn_rollout_process.py @@ -161,20 +161,21 @@ async def process_row(row: EvaluationRow) -> EvaluationRow: tool_calls=converted_tool_calls, ) ] + row.messages = messages - row.execution_metadata.finish_reason = str(finish_reason) if finish_reason is not None else None - row.execution_metadata.tool_call_count = ( - len(converted_tool_calls) if converted_tool_calls is not None else 0 - ) - row.execution_metadata.usage = ( - CompletionUsage( # Note: LiteLLM sets usage dynamically via setattr(), not as a typed field - prompt_tokens=response.usage.prompt_tokens, # pyright: ignore[reportAttributeAccessIssue] - completion_tokens=response.usage.completion_tokens, # pyright: ignore[reportAttributeAccessIssue] - total_tokens=response.usage.total_tokens, # pyright: ignore[reportAttributeAccessIssue] + usage = getattr(response, "usage", None) + if usage is not None: + prompt_tokens = getattr(usage, "prompt_tokens", 0) or 0 + completion_tokens = getattr(usage, "completion_tokens", 0) or 0 + total_tokens = getattr(usage, "total_tokens", None) + if total_tokens is None: + total_tokens = prompt_tokens + completion_tokens + + row.execution_metadata.usage = CompletionUsage( + prompt_tokens=prompt_tokens, + completion_tokens=completion_tokens, + total_tokens=total_tokens, ) - ) - - row.messages = messages row.execution_metadata.duration_seconds = time.perf_counter() - start_time diff --git a/eval_protocol/rewards/accuracy.py b/eval_protocol/rewards/accuracy.py index 4c4d8bf4..f7e08510 100644 --- a/eval_protocol/rewards/accuracy.py +++ b/eval_protocol/rewards/accuracy.py @@ -10,10 +10,16 @@ import re from typing import Any, Callable, Dict, List, Optional, Union, cast -from ..models import EvaluateResult, Message, MetricResult, ChatCompletionContentPartTextParam +from ..models import ( + EvaluateResult, + Message, + MetricResult, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) -def _to_text(content: Optional[Union[str, List[ChatCompletionContentPartTextParam]]]) -> str: +def _to_text(content: Optional[Union[str, List[ChatCompletionContentPartParam]]]) -> str: """Coerce Message.content into a plain string for regex and comparisons.""" if content is None: return "" @@ -21,7 +27,11 @@ def _to_text(content: Optional[Union[str, List[ChatCompletionContentPartTextPara return content # List[ChatCompletionContentPartTextParam] try: - return "\n".join(part.text for part in content) + texts: List[str] = [] + for part in content: + if isinstance(part, ChatCompletionContentPartTextParam): + texts.append(part.text) + return "\n".join(texts) except Exception: return "" diff --git a/eval_protocol/rewards/json_schema.py b/eval_protocol/rewards/json_schema.py index 9c446e67..abc493cf 100644 --- a/eval_protocol/rewards/json_schema.py +++ b/eval_protocol/rewards/json_schema.py @@ -2,7 +2,13 @@ import re from typing import Any, Dict, List, Optional, Union -from ..models import EvaluateResult, Message, MetricResult, ChatCompletionContentPartTextParam +from ..models import ( + EvaluateResult, + Message, + MetricResult, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) from ..typed_interface import reward_function from .function_calling import ( calculate_jaccard_similarity, @@ -59,8 +65,10 @@ def json_schema_reward( content_text = last_message.content else: try: - parts: List[ChatCompletionContentPartTextParam] = last_message.content # type: ignore[assignment] - content_text = "\n".join(getattr(p, "text", "") for p in parts) + parts: List[ChatCompletionContentPartParam] = last_message.content # type: ignore[assignment] + content_text = "\n".join( + getattr(p, "text", "") for p in parts if isinstance(p, ChatCompletionContentPartTextParam) + ) except Exception: content_text = "" else: diff --git a/eval_protocol/rewards/language_consistency.py b/eval_protocol/rewards/language_consistency.py index 5d968f86..356dfb08 100644 --- a/eval_protocol/rewards/language_consistency.py +++ b/eval_protocol/rewards/language_consistency.py @@ -9,7 +9,13 @@ import re from typing import Any, Dict, List, Optional, Set, Tuple, Union -from ..models import EvaluateResult, Message, MetricResult, ChatCompletionContentPartTextParam +from ..models import ( + EvaluateResult, + Message, + MetricResult, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) from ..typed_interface import reward_function # Dictionary mapping language codes to common words/patterns in that language @@ -573,13 +579,17 @@ def language_consistency_reward( }, ) - def _to_text(content: Union[str, List[ChatCompletionContentPartTextParam], None]) -> str: + def _to_text(content: Union[str, List[ChatCompletionContentPartParam], None]) -> str: if content is None: return "" if isinstance(content, str): return content try: - return "\n".join(part.text for part in content) + texts: List[str] = [] + for part in content: + if isinstance(part, ChatCompletionContentPartTextParam): + texts.append(part.text) + return "\n".join(texts) except Exception: return "" diff --git a/eval_protocol/rewards/repetition.py b/eval_protocol/rewards/repetition.py index 27c7d644..45ce788a 100644 --- a/eval_protocol/rewards/repetition.py +++ b/eval_protocol/rewards/repetition.py @@ -8,16 +8,26 @@ import re from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union -from ..models import EvaluateResult, Message, MetricResult, ChatCompletionContentPartTextParam +from ..models import ( + EvaluateResult, + Message, + MetricResult, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) -def _to_text(content: Optional[Union[str, List[ChatCompletionContentPartTextParam]]]) -> str: +def _to_text(content: Optional[Union[str, List[ChatCompletionContentPartParam]]]) -> str: if content is None: return "" if isinstance(content, str): return content try: - return "\n".join(part.text for part in content) + texts: List[str] = [] + for part in content: + if isinstance(part, ChatCompletionContentPartTextParam): + texts.append(part.text) + return "\n".join(texts) except Exception: return "" diff --git a/eval_protocol/rewards/tag_count.py b/eval_protocol/rewards/tag_count.py index 72408dee..aee82cf7 100644 --- a/eval_protocol/rewards/tag_count.py +++ b/eval_protocol/rewards/tag_count.py @@ -8,16 +8,26 @@ import re from typing import Any, Dict, List, Set, Union -from ..models import EvaluateResult, Message, MetricResult, ChatCompletionContentPartTextParam +from ..models import ( + EvaluateResult, + Message, + MetricResult, + ChatCompletionContentPartParam, + ChatCompletionContentPartTextParam, +) -def _to_text(content: Union[str, List[ChatCompletionContentPartTextParam], None]) -> str: +def _to_text(content: Union[str, List[ChatCompletionContentPartParam], None]) -> str: if content is None: return "" if isinstance(content, str): return content try: - return "\n".join(part.text for part in content) + texts: List[str] = [] + for part in content: + if isinstance(part, ChatCompletionContentPartTextParam): + texts.append(part.text) + return "\n".join(texts) except Exception: return "" diff --git a/tests/pytest/test_single_turn_rollout_processor.py b/tests/pytest/test_single_turn_rollout_processor.py index 286d3f12..9e8eecae 100644 --- a/tests/pytest/test_single_turn_rollout_processor.py +++ b/tests/pytest/test_single_turn_rollout_processor.py @@ -116,3 +116,50 @@ async def fake_acompletion(**kwargs): assert [m["role"] for m in sent_msgs] == ["user", "assistant"] assert [m.role for m in out.messages] == ["user", "assistant", "assistant"] assert out.messages[-1].content == "Hello again" + + +@pytest.mark.asyncio +async def test_single_turn_handles_missing_usage_block(monkeypatch): + row = EvaluationRow(messages=[Message(role="user", content="Describe the picture")]) + + import eval_protocol.pytest.default_single_turn_rollout_process as mod + + class StubChoices: + pass + + class StubModelResponse: + def __init__(self, text: str): + self.choices = [StubChoices()] + self.choices[0].message = SimpleNamespace(content=text, tool_calls=None) + self.usage = None + + async def fake_acompletion(**kwargs): + return StubModelResponse(text="It looks like creme brulee") + + class StubLogger: + def __init__(self): + self.logged = [] + + def log(self, row): + self.logged.append(row) + + def read(self, rollout_id=None): + return list(self.logged) + + stub_logger = StubLogger() + + monkeypatch.setattr(mod, "ModelResponse", StubModelResponse, raising=True) + monkeypatch.setattr(mod, "Choices", StubChoices, raising=True) + monkeypatch.setattr(mod, "acompletion", fake_acompletion, raising=True) + monkeypatch.setattr(mod, "default_logger", stub_logger, raising=False) + + processor = SingleTurnRolloutProcessor() + config = _DummyConfig() + + tasks = processor([row], config) + out = await tasks[0] + + assert [m.role for m in out.messages] == ["user", "assistant"] + assert out.messages[-1].content == "It looks like creme brulee" + # Usage should remain unset when the provider omits it + assert out.execution_metadata.usage is None diff --git a/vite-app/bun.lockb b/vite-app/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..2dec5a8907c11f235750896ac6aa7a261325a335 GIT binary patch literal 144589 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 TVWHV)*QpI>U#|ZD@X!ANPS`O` literal 0 HcmV?d00001 diff --git a/vite-app/dist/assets/index-BIhepl19.css b/vite-app/dist/assets/index-BIhepl19.css deleted file mode 100644 index 987d9670..00000000 --- a/vite-app/dist/assets/index-BIhepl19.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-96{height:calc(var(--spacing)*96)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[800px\]{max-height:800px}.max-h-\[calc\(100vh-80px\)\]{max-height:calc(100vh - 80px)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[200px\]{max-width:200px}.max-w-\[1200px\]{max-width:1200px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)!important}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-nw-resize{cursor:nw-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-200{border-color:var(--color-blue-200)}.border-current{border-color:currentColor}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-gray-600{border-top-color:var(--color-gray-600)}.border-t-transparent{border-top-color:#0000}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-gray-300{border-left-color:var(--color-gray-300)}.border-l-green-500{border-left-color:var(--color-green-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\:bg-yellow-100:hover{background-color:var(--color-yellow-100)}.hover\:bg-yellow-200:hover{background-color:var(--color-yellow-200)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}}.focus\:border-gray-500:focus{border-color:var(--color-gray-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:64rem){.lg\:max-w-md{max-width:var(--container-md)}}@media (min-width:80rem){.xl\:max-w-lg{max-width:var(--container-lg)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/vite-app/dist/assets/index-CuQbfdPD.js b/vite-app/dist/assets/index-CuQbfdPD.js new file mode 100644 index 00000000..dcf3d7e0 --- /dev/null +++ b/vite-app/dist/assets/index-CuQbfdPD.js @@ -0,0 +1,46 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function A(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=A(i);fetch(i.href,a)}})();function e0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Vp={exports:{}},xl={};var Rb;function oH(){if(Rb)return xl;Rb=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var c in i)c!=="key"&&(a[c]=i[c])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return xl.Fragment=t,xl.jsx=A,xl.jsxs=A,xl}var Ib;function lH(){return Ib||(Ib=1,Vp.exports=oH()),Vp.exports}var _=lH(),Pp={exports:{}},Qe={};var Nb;function cH(){if(Nb)return Qe;Nb=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),o=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),B=Symbol.iterator;function v(D){return D===null||typeof D!="object"?null:(D=B&&D[B]||D["@@iterator"],typeof D=="function"?D:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function C(D,j,q){this.props=D,this.context=j,this.refs=x,this.updater=q||w}C.prototype.isReactComponent={},C.prototype.setState=function(D,j){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,j,"setState")},C.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function Q(){}Q.prototype=C.prototype;function E(D,j,q){this.props=D,this.context=j,this.refs=x,this.updater=q||w}var S=E.prototype=new Q;S.constructor=E,b(S,C.prototype),S.isPureReactComponent=!0;var O=Array.isArray;function H(){}var M={H:null,A:null,T:null,S:null},k=Object.prototype.hasOwnProperty;function R(D,j,q){var X=q.ref;return{$$typeof:e,type:D,key:j,ref:X!==void 0?X:null,props:q}}function J(D,j){return R(D.type,j,D.props)}function te(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function Ae(D){var j={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(q){return j[q]})}var se=/\/+/g;function ue(D,j){return typeof D=="object"&&D!==null&&D.key!=null?Ae(""+D.key):j.toString(36)}function ce(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(H,H):(D.status="pending",D.then(function(j){D.status==="pending"&&(D.status="fulfilled",D.value=j)},function(j){D.status==="pending"&&(D.status="rejected",D.reason=j)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function I(D,j,q,X,ne){var de=typeof D;(de==="undefined"||de==="boolean")&&(D=null);var xe=!1;if(D===null)xe=!0;else switch(de){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(D.$$typeof){case e:case t:xe=!0;break;case d:return xe=D._init,I(xe(D._payload),j,q,X,ne)}}if(xe)return ne=ne(D),xe=X===""?"."+ue(D,0):X,O(ne)?(q="",xe!=null&&(q=xe.replace(se,"$&/")+"/"),I(ne,j,q,"",function(St){return St})):ne!=null&&(te(ne)&&(ne=J(ne,q+(ne.key==null||D&&D.key===ne.key?"":(""+ne.key).replace(se,"$&/")+"/")+xe)),j.push(ne)),1;xe=0;var Vt=X===""?".":X+":";if(O(D))for(var ke=0;ke>>1,ve=I[ae];if(0>>1;aei(q,ee))Xi(ne,q)?(I[ae]=ne,I[X]=ee,ae=X):(I[ae]=q,I[j]=ee,ae=j);else if(Xi(ne,ee))I[ae]=ne,I[X]=ee,ae=X;else break e}}return G}function i(I,G){var ee=I.sortIndex-G.sortIndex;return ee!==0?ee:I.id-G.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var u=[],h=[],d=1,p=null,B=3,v=!1,w=!1,b=!1,x=!1,C=typeof setTimeout=="function"?setTimeout:null,Q=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function S(I){for(var G=A(h);G!==null;){if(G.callback===null)n(h);else if(G.startTime<=I)n(h),G.sortIndex=G.expirationTime,t(u,G);else break;G=A(h)}}function O(I){if(b=!1,S(I),!w)if(A(u)!==null)w=!0,H||(H=!0,Ae());else{var G=A(h);G!==null&&ce(O,G.startTime-I)}}var H=!1,M=-1,k=5,R=-1;function J(){return x?!0:!(e.unstable_now()-RI&&J());){var ae=p.callback;if(typeof ae=="function"){p.callback=null,B=p.priorityLevel;var ve=ae(p.expirationTime<=I);if(I=e.unstable_now(),typeof ve=="function"){p.callback=ve,S(I),G=!0;break t}p===A(u)&&n(u),S(I)}else n(u);p=A(u)}if(p!==null)G=!0;else{var D=A(h);D!==null&&ce(O,D.startTime-I),G=!1}}break e}finally{p=null,B=ee,v=!1}G=void 0}}finally{G?Ae():H=!1}}}var Ae;if(typeof E=="function")Ae=function(){E(te)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,ue=se.port2;se.port1.onmessage=te,Ae=function(){ue.postMessage(null)}}else Ae=function(){C(te,0)};function ce(I,G){M=C(function(){I(e.unstable_now())},G)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ae?(I.sortIndex=ee,t(h,I),A(u)===null&&I===A(h)&&(b?(Q(M),M=-1):b=!0,ce(O,ee-ae))):(I.sortIndex=ve,t(u,I),w||v||(w=!0,H||(H=!0,Ae()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var G=B;return function(){var ee=B;B=G;try{return I.apply(this,arguments)}finally{B=ee}}}})(Zp)),Zp}var zb;function fH(){return zb||(zb=1,Xp.exports=uH()),Xp.exports}var Yp={exports:{}},wA={};var jb;function hH(){if(jb)return wA;jb=1;var e=Xh();function t(u){var h="https://react.dev/errors/"+u;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Yp.exports=hH(),Yp.exports}var Pb;function dH(){if(Pb)return Ql;Pb=1;var e=fH(),t=Xh(),A=VQ();function n(r){var s="https://react.dev/errors/"+r;if(1ve||(r.current=ae[ve],ae[ve]=null,ve--)}function q(r,s){ve++,ae[ve]=r.current,r.current=s}var X=D(null),ne=D(null),de=D(null),xe=D(null);function Vt(r,s){switch(q(de,s),q(ne,r),q(X,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?sb(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=sb(s),r=ab(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}j(X),q(X,r)}function ke(){j(X),j(ne),j(de)}function St(r){r.memoizedState!==null&&q(xe,r);var s=X.current,l=ab(s,r.type);s!==l&&(q(ne,r),q(X,l))}function jA(r){ne.current===r&&(j(X),j(ne)),xe.current===r&&(j(xe),yl._currentValue=ee)}var Pt,EA;function mA(r){if(Pt===void 0)try{throw Error()}catch(l){var s=l.stack.trim().match(/\n( *(at )?)/);Pt=s&&s[1]||"",EA=-1)":-1g||T[f]!==z[g]){var Z=` +`+T[f].replace(" at new "," at ");return r.displayName&&Z.includes("")&&(Z=Z.replace("",r.displayName)),Z}while(1<=f&&0<=g);break}}}finally{on=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?mA(l):""}function BA(r,s){switch(r.tag){case 26:case 27:case 5:return mA(r.type);case 16:return mA("Lazy");case 13:return r.child!==s&&s!==null?mA("Suspense Fallback"):mA("Suspense");case 19:return mA("SuspenseList");case 0:case 15:return cr(r.type,!1);case 11:return cr(r.type.render,!1);case 1:return cr(r.type,!0);case 31:return mA("Activity");default:return""}}function ur(r){try{var s="",l=null;do s+=BA(r,l),l=r,r=r.return;while(r);return s}catch(f){return` +Error generating stack: `+f.message+` +`+f.stack}}var Yn=Object.prototype.hasOwnProperty,ln=e.unstable_scheduleCallback,ft=e.unstable_cancelCallback,fr=e.unstable_shouldYield,ua=e.unstable_requestPaint,Gt=e.unstable_now,fa=e.unstable_getCurrentPriorityLevel,hr=e.unstable_ImmediatePriority,dr=e.unstable_UserBlockingPriority,VA=e.unstable_NormalPriority,ds=e.unstable_LowPriority,$n=e.unstable_IdlePriority,gr=e.log,ha=e.unstable_setDisableYieldValue,Sn=null,Rt=null;function ht(r){if(typeof gr=="function"&&ha(r),Rt&&typeof Rt.setStrictMode=="function")try{Rt.setStrictMode(Sn,r)}catch{}}var At=Math.clz32?Math.clz32:pr,gs=Math.log,ps=Math.LN2;function pr(r){return r>>>=0,r===0?32:31-(gs(r)/ps|0)|0}var Wn=256,On=262144,Hn=4194304;function HA(r){var s=r&42;if(s!==0)return s;switch(r&-r){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Jn(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var g=0,m=r.suspendedLanes,y=r.pingedLanes;r=r.warmLanes;var U=f&134217727;return U!==0?(f=U&~m,f!==0?g=HA(f):(y&=U,y!==0?g=HA(y):l||(l=U&~r,l!==0&&(g=HA(l))))):(U=f&~m,U!==0?g=HA(U):y!==0?g=HA(y):l||(l=f&~r,l!==0&&(g=HA(l)))),g===0?0:s!==0&&s!==g&&(s&m)===0&&(m=g&-g,l=s&-s,m>=l||m===32&&(l&4194048)!==0)?s:g}function qn(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function Ot(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32: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 s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function nA(){var r=Hn;return Hn<<=1,(Hn&62914560)===0&&(Hn=4194304),r}function be(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function Se(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function FA(r,s,l,f,g,m){var y=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var U=r.entanglements,T=r.expirationTimes,z=r.hiddenUpdates;for(l=y&~l;0"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var A1=/[\n"\\]/g;function un(r){return r.replace(A1,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Id(r,s,l,f,g,m,y,U){r.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?r.type=y:r.removeAttribute("type"),s!=null?y==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+cn(s)):r.value!==""+cn(s)&&(r.value=""+cn(s)):y!=="submit"&&y!=="reset"||r.removeAttribute("value"),s!=null?Nd(r,y,cn(s)):l!=null?Nd(r,y,cn(l)):f!=null&&r.removeAttribute("value"),g==null&&m!=null&&(r.defaultChecked=!!m),g!=null&&(r.checked=g&&typeof g!="function"&&typeof g!="symbol"),U!=null&&typeof U!="function"&&typeof U!="symbol"&&typeof U!="boolean"?r.name=""+cn(U):r.removeAttribute("name")}function ev(r,s,l,f,g,m,y,U){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(r.type=m),s!=null||l!=null){if(!(m!=="submit"&&m!=="reset"||s!=null)){Rd(r);return}l=l!=null?""+cn(l):"",s=s!=null?""+cn(s):l,U||s===r.value||(r.value=s),r.defaultValue=s}f=f??g,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=U?r.checked:!!f,r.defaultChecked=!!f,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(r.name=y),Rd(r)}function Nd(r,s,l){s==="number"&&Vc(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function pa(r,s,l,f){if(r=r.options,s){s={};for(var g=0;g"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vd=!1;if(Ei)try{var No={};Object.defineProperty(No,"passive",{get:function(){Vd=!0}}),window.addEventListener("test",No,No),window.removeEventListener("test",No,No)}catch{Vd=!1}var vr=null,Pd=null,Gc=null;function av(){if(Gc)return Gc;var r,s=Pd,l=s.length,f,g="value"in vr?vr.value:vr.textContent,m=g.length;for(r=0;r=zo),hv=" ",dv=!1;function gv(r,s){switch(r){case"keyup":return S1.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pv(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var wa=!1;function H1(r,s){switch(r){case"compositionend":return pv(s);case"keypress":return s.which!==32?null:(dv=!0,hv);case"textInput":return r=s.data,r===hv&&dv?null:r;default:return null}}function T1(r,s){if(wa)return r==="compositionend"||!$d&&gv(r,s)?(r=av(),Gc=Pd=vr=null,wa=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:l,offset:s-r};r=f}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=_v(l)}}function Qv(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?Qv(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function Uv(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=Vc(r.document);s instanceof r.HTMLIFrameElement;){try{var l=typeof s.contentWindow.location.href=="string"}catch{l=!1}if(l)r=s.contentWindow;else break;s=Vc(r.document)}return s}function qd(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var K1=Ei&&"documentMode"in document&&11>=document.documentMode,ya=null,eg=null,Go=null,tg=!1;function Ev(r,s,l){var f=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;tg||ya==null||ya!==Vc(f)||(f=ya,"selectionStart"in f&&qd(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Go&&Po(Go,f)||(Go=f,f=Nu(eg,"onSelect"),0>=y,g-=y,Ai=1<<32-At(s)+g|l<Fe?(Me=pe,pe=null):Me=pe.sibling;var Pe=V(N,pe,K[Fe],$);if(Pe===null){pe===null&&(pe=Me);break}r&&pe&&Pe.alternate===null&&s(N,pe),L=m(Pe,L,Fe),Ve===null?ye=Pe:Ve.sibling=Pe,Ve=Pe,pe=Me}if(Fe===K.length)return l(N,pe),Ne&&Si(N,Fe),ye;if(pe===null){for(;FeFe?(Me=pe,pe=null):Me=pe.sibling;var Kr=V(N,pe,Pe.value,$);if(Kr===null){pe===null&&(pe=Me);break}r&&pe&&Kr.alternate===null&&s(N,pe),L=m(Kr,L,Fe),Ve===null?ye=Kr:Ve.sibling=Kr,Ve=Kr,pe=Me}if(Pe.done)return l(N,pe),Ne&&Si(N,Fe),ye;if(pe===null){for(;!Pe.done;Fe++,Pe=K.next())Pe=W(N,Pe.value,$),Pe!==null&&(L=m(Pe,L,Fe),Ve===null?ye=Pe:Ve.sibling=Pe,Ve=Pe);return Ne&&Si(N,Fe),ye}for(pe=f(pe);!Pe.done;Fe++,Pe=K.next())Pe=P(pe,N,Fe,Pe.value,$),Pe!==null&&(r&&Pe.alternate!==null&&pe.delete(Pe.key===null?Fe:Pe.key),L=m(Pe,L,Fe),Ve===null?ye=Pe:Ve.sibling=Pe,Ve=Pe);return r&&pe.forEach(function(aH){return s(N,aH)}),Ne&&Si(N,Fe),ye}function rt(N,L,K,$){if(typeof K=="object"&&K!==null&&K.type===b&&K.key===null&&(K=K.props.children),typeof K=="object"&&K!==null){switch(K.$$typeof){case v:e:{for(var ye=K.key;L!==null;){if(L.key===ye){if(ye=K.type,ye===b){if(L.tag===7){l(N,L.sibling),$=g(L,K.props.children),$.return=N,N=$;break e}}else if(L.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===k&&Qs(ye)===L.type){l(N,L.sibling),$=g(L,K.props),Jo($,K),$.return=N,N=$;break e}l(N,L);break}else s(N,L);L=L.sibling}K.type===b?($=ys(K.props.children,N.mode,$,K.key),$.return=N,N=$):($=Au(K.type,K.key,K.props,null,N.mode,$),Jo($,K),$.return=N,N=$)}return y(N);case w:e:{for(ye=K.key;L!==null;){if(L.key===ye)if(L.tag===4&&L.stateNode.containerInfo===K.containerInfo&&L.stateNode.implementation===K.implementation){l(N,L.sibling),$=g(L,K.children||[]),$.return=N,N=$;break e}else{l(N,L);break}else s(N,L);L=L.sibling}$=og(K,N.mode,$),$.return=N,N=$}return y(N);case k:return K=Qs(K),rt(N,L,K,$)}if(ce(K))return ge(N,L,K,$);if(Ae(K)){if(ye=Ae(K),typeof ye!="function")throw Error(n(150));return K=ye.call(K),Ce(N,L,K,$)}if(typeof K.then=="function")return rt(N,L,lu(K),$);if(K.$$typeof===E)return rt(N,L,ru(N,K),$);cu(N,K)}return typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint"?(K=""+K,L!==null&&L.tag===6?(l(N,L.sibling),$=g(L,K),$.return=N,N=$):(l(N,L),$=ag(K,N.mode,$),$.return=N,N=$),y(N)):l(N,L)}return function(N,L,K,$){try{Wo=0;var ye=rt(N,L,K,$);return Ha=null,ye}catch(pe){if(pe===Oa||pe===au)throw pe;var Ve=XA(29,pe,null,N.mode);return Ve.lanes=$,Ve.return=N,Ve}finally{}}}var Es=Wv(!0),Jv=Wv(!1),_r=!1;function wg(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function yg(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function xr(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function Qr(r,s,l){var f=r.updateQueue;if(f===null)return null;if(f=f.shared,(Ye&2)!==0){var g=f.pending;return g===null?s.next=s:(s.next=g.next,g.next=s),f.pending=s,s=tu(r),Mv(r,null,l),s}return eu(r,f,s,l),tu(r)}function qo(r,s,l){if(s=s.updateQueue,s!==null&&(s=s.shared,(l&4194048)!==0)){var f=s.lanes;f&=r.pendingLanes,l|=f,s.lanes=l,le(r,l)}}function bg(r,s){var l=r.updateQueue,f=r.alternate;if(f!==null&&(f=f.updateQueue,l===f)){var g=null,m=null;if(l=l.firstBaseUpdate,l!==null){do{var y={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};m===null?g=m=y:m=m.next=y,l=l.next}while(l!==null);m===null?g=m=s:m=m.next=s}else g=m=s;l={baseState:f.baseState,firstBaseUpdate:g,lastBaseUpdate:m,shared:f.shared,callbacks:f.callbacks},r.updateQueue=l;return}r=l.lastBaseUpdate,r===null?l.firstBaseUpdate=s:r.next=s,l.lastBaseUpdate=s}var Cg=!1;function el(){if(Cg){var r=Sa;if(r!==null)throw r}}function tl(r,s,l,f){Cg=!1;var g=r.updateQueue;_r=!1;var m=g.firstBaseUpdate,y=g.lastBaseUpdate,U=g.shared.pending;if(U!==null){g.shared.pending=null;var T=U,z=T.next;T.next=null,y===null?m=z:y.next=z,y=T;var Z=r.alternate;Z!==null&&(Z=Z.updateQueue,U=Z.lastBaseUpdate,U!==y&&(U===null?Z.firstBaseUpdate=z:U.next=z,Z.lastBaseUpdate=T))}if(m!==null){var W=g.baseState;y=0,Z=z=T=null,U=m;do{var V=U.lane&-536870913,P=V!==U.lane;if(P?(De&V)===V:(f&V)===V){V!==0&&V===Fa&&(Cg=!0),Z!==null&&(Z=Z.next={lane:0,tag:U.tag,payload:U.payload,callback:null,next:null});e:{var ge=r,Ce=U;V=s;var rt=l;switch(Ce.tag){case 1:if(ge=Ce.payload,typeof ge=="function"){W=ge.call(rt,W,V);break e}W=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=Ce.payload,V=typeof ge=="function"?ge.call(rt,W,V):ge,V==null)break e;W=p({},W,V);break e;case 2:_r=!0}}V=U.callback,V!==null&&(r.flags|=64,P&&(r.flags|=8192),P=g.callbacks,P===null?g.callbacks=[V]:P.push(V))}else P={lane:V,tag:U.tag,payload:U.payload,callback:U.callback,next:null},Z===null?(z=Z=P,T=W):Z=Z.next=P,y|=V;if(U=U.next,U===null){if(U=g.shared.pending,U===null)break;P=U,U=P.next,P.next=null,g.lastBaseUpdate=P,g.shared.pending=null}}while(!0);Z===null&&(T=W),g.baseState=T,g.firstBaseUpdate=z,g.lastBaseUpdate=Z,m===null&&(g.shared.lanes=0),Or|=y,r.lanes=y,r.memoizedState=W}}function qv(r,s){if(typeof r!="function")throw Error(n(191,r));r.call(s)}function ew(r,s){var l=r.callbacks;if(l!==null)for(r.callbacks=null,r=0;rm?m:8;var y=I.T,U={};I.T=U,zg(r,!1,s,l);try{var T=g(),z=I.S;if(z!==null&&z(U,T),T!==null&&typeof T=="object"&&typeof T.then=="function"){var Z=$1(T,f);il(r,s,Z,JA(r))}else il(r,s,f,JA(r))}catch(W){il(r,s,{then:function(){},status:"rejected",reason:W},JA())}finally{G.p=m,y!==null&&U.types!==null&&(y.types=U.types),I.T=y}}function AO(){}function kg(r,s,l,f){if(r.tag!==5)throw Error(n(476));var g=Hw(r).queue;Ow(r,g,s,ee,l===null?AO:function(){return Tw(r),l(f)})}function Hw(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:ee},next:null};var l={};return s.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:l},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function Tw(r){var s=Hw(r);s.next===null&&(s=r.alternate.memoizedState),il(r,s.next.queue,{},JA())}function Kg(){return cA(yl)}function Dw(){return kt().memoizedState}function Mw(){return kt().memoizedState}function nO(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var l=JA();r=xr(l);var f=Qr(s,r,l);f!==null&&(IA(f,s,l),qo(f,s,l)),s={cache:pg()},r.payload=s;return}s=s.return}}function iO(r,s,l){var f=JA();l={lane:f,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},wu(r)?Rw(s,l):(l=rg(r,s,l,f),l!==null&&(IA(l,r,f),Iw(l,s,f)))}function Lw(r,s,l){var f=JA();il(r,s,l,f)}function il(r,s,l,f){var g={lane:f,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(wu(r))Rw(s,g);else{var m=r.alternate;if(r.lanes===0&&(m===null||m.lanes===0)&&(m=s.lastRenderedReducer,m!==null))try{var y=s.lastRenderedState,U=m(y,l);if(g.hasEagerState=!0,g.eagerState=U,GA(U,y))return eu(r,s,g,0),lt===null&&qc(),!1}catch{}finally{}if(l=rg(r,s,g,f),l!==null)return IA(l,r,f),Iw(l,s,f),!0}return!1}function zg(r,s,l,f){if(f={lane:2,revertLane:wp(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},wu(r)){if(s)throw Error(n(479))}else s=rg(r,l,f,2),s!==null&&IA(s,r,2)}function wu(r){var s=r.alternate;return r===Ee||s!==null&&s===Ee}function Rw(r,s){Da=hu=!0;var l=r.pending;l===null?s.next=s:(s.next=l.next,l.next=s),r.pending=s}function Iw(r,s,l){if((l&4194048)!==0){var f=s.lanes;f&=r.pendingLanes,l|=f,s.lanes=l,le(r,l)}}var rl={readContext:cA,use:pu,useCallback:Tt,useContext:Tt,useEffect:Tt,useImperativeHandle:Tt,useLayoutEffect:Tt,useInsertionEffect:Tt,useMemo:Tt,useReducer:Tt,useRef:Tt,useState:Tt,useDebugValue:Tt,useDeferredValue:Tt,useTransition:Tt,useSyncExternalStore:Tt,useId:Tt,useHostTransitionStatus:Tt,useFormState:Tt,useActionState:Tt,useOptimistic:Tt,useMemoCache:Tt,useCacheRefresh:Tt};rl.useEffectEvent=Tt;var Nw={readContext:cA,use:pu,useCallback:function(r,s){return SA().memoizedState=[r,s===void 0?null:s],r},useContext:cA,useEffect:bw,useImperativeHandle:function(r,s,l){l=l!=null?l.concat([r]):null,Bu(4194308,4,Qw.bind(null,s,r),l)},useLayoutEffect:function(r,s){return Bu(4194308,4,r,s)},useInsertionEffect:function(r,s){Bu(4,2,r,s)},useMemo:function(r,s){var l=SA();s=s===void 0?null:s;var f=r();if(Fs){ht(!0);try{r()}finally{ht(!1)}}return l.memoizedState=[f,s],f},useReducer:function(r,s,l){var f=SA();if(l!==void 0){var g=l(s);if(Fs){ht(!0);try{l(s)}finally{ht(!1)}}}else g=s;return f.memoizedState=f.baseState=g,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:g},f.queue=r,r=r.dispatch=iO.bind(null,Ee,r),[f.memoizedState,r]},useRef:function(r){var s=SA();return r={current:r},s.memoizedState=r},useState:function(r){r=Mg(r);var s=r.queue,l=Lw.bind(null,Ee,s);return s.dispatch=l,[r.memoizedState,l]},useDebugValue:Ig,useDeferredValue:function(r,s){var l=SA();return Ng(l,r,s)},useTransition:function(){var r=Mg(!1);return r=Ow.bind(null,Ee,r.queue,!0,!1),SA().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,l){var f=Ee,g=SA();if(Ne){if(l===void 0)throw Error(n(407));l=l()}else{if(l=s(),lt===null)throw Error(n(349));(De&127)!==0||sw(f,s,l)}g.memoizedState=l;var m={value:l,getSnapshot:s};return g.queue=m,bw(ow.bind(null,f,m,r),[r]),f.flags|=2048,La(9,{destroy:void 0},aw.bind(null,f,m,l,s),null),l},useId:function(){var r=SA(),s=lt.identifierPrefix;if(Ne){var l=ni,f=Ai;l=(f&~(1<<32-At(f)-1)).toString(32)+l,s="_"+s+"R_"+l,l=du++,0<\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof f.is=="string"?y.createElement("select",{is:f.is}):y.createElement("select"),f.multiple?m.multiple=!0:f.size&&(m.size=f.size);break;default:m=typeof f.is=="string"?y.createElement(g,{is:f.is}):y.createElement(g)}}m[Ke]=s,m[ot]=f;e:for(y=s.child;y!==null;){if(y.tag===5||y.tag===6)m.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===s)break e;for(;y.sibling===null;){if(y.return===null||y.return===s)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}s.stateNode=m;e:switch(fA(m,g,f),g){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&Li(s)}}return Bt(s),Ap(s,s.type,r===null?null:r.memoizedProps,s.pendingProps,l),null;case 6:if(r&&s.stateNode!=null)r.memoizedProps!==f&&Li(s);else{if(typeof f!="string"&&s.stateNode===null)throw Error(n(166));if(r=de.current,Ua(s)){if(r=s.stateNode,l=s.memoizedProps,f=null,g=lA,g!==null)switch(g.tag){case 27:case 5:f=g.memoizedProps}r[Ke]=s,r=!!(r.nodeValue===l||f!==null&&f.suppressHydrationWarning===!0||ib(r.nodeValue,l)),r||br(s,!0)}else r=ku(r).createTextNode(f),r[Ke]=s,s.stateNode=r}return Bt(s),null;case 31:if(l=s.memoizedState,r===null||r.memoizedState!==null){if(f=Ua(s),l!==null){if(r===null){if(!f)throw Error(n(318));if(r=s.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(n(557));r[Ke]=s}else bs(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Bt(s),r=!1}else l=fg(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=l),r=!0;if(!r)return s.flags&256?(YA(s),s):(YA(s),null);if((s.flags&128)!==0)throw Error(n(558))}return Bt(s),null;case 13:if(f=s.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(g=Ua(s),f!==null&&f.dehydrated!==null){if(r===null){if(!g)throw Error(n(318));if(g=s.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(n(317));g[Ke]=s}else bs(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Bt(s),g=!1}else g=fg(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=g),g=!0;if(!g)return s.flags&256?(YA(s),s):(YA(s),null)}return YA(s),(s.flags&128)!==0?(s.lanes=l,s):(l=f!==null,r=r!==null&&r.memoizedState!==null,l&&(f=s.child,g=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(g=f.alternate.memoizedState.cachePool.pool),m=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(m=f.memoizedState.cachePool.pool),m!==g&&(f.flags|=2048)),l!==r&&l&&(s.child.flags|=8192),xu(s,s.updateQueue),Bt(s),null);case 4:return ke(),r===null&&_p(s.stateNode.containerInfo),Bt(s),null;case 10:return Hi(s.type),Bt(s),null;case 19:if(j(Nt),f=s.memoizedState,f===null)return Bt(s),null;if(g=(s.flags&128)!==0,m=f.rendering,m===null)if(g)al(f,!1);else{if(Dt!==0||r!==null&&(r.flags&128)!==0)for(r=s.child;r!==null;){if(m=fu(r),m!==null){for(s.flags|=128,al(f,!1),r=m.updateQueue,s.updateQueue=r,xu(s,r),s.subtreeFlags=0,r=l,l=s.child;l!==null;)Lv(l,r),l=l.sibling;return q(Nt,Nt.current&1|2),Ne&&Si(s,f.treeForkCount),s.child}r=r.sibling}f.tail!==null&&Gt()>Su&&(s.flags|=128,g=!0,al(f,!1),s.lanes=4194304)}else{if(!g)if(r=fu(m),r!==null){if(s.flags|=128,g=!0,r=r.updateQueue,s.updateQueue=r,xu(s,r),al(f,!0),f.tail===null&&f.tailMode==="hidden"&&!m.alternate&&!Ne)return Bt(s),null}else 2*Gt()-f.renderingStartTime>Su&&l!==536870912&&(s.flags|=128,g=!0,al(f,!1),s.lanes=4194304);f.isBackwards?(m.sibling=s.child,s.child=m):(r=f.last,r!==null?r.sibling=m:s.child=m,f.last=m)}return f.tail!==null?(r=f.tail,f.rendering=r,f.tail=r.sibling,f.renderingStartTime=Gt(),r.sibling=null,l=Nt.current,q(Nt,g?l&1|2:l&1),Ne&&Si(s,f.treeForkCount),r):(Bt(s),null);case 22:case 23:return YA(s),xg(),f=s.memoizedState!==null,r!==null?r.memoizedState!==null!==f&&(s.flags|=8192):f&&(s.flags|=8192),f?(l&536870912)!==0&&(s.flags&128)===0&&(Bt(s),s.subtreeFlags&6&&(s.flags|=8192)):Bt(s),l=s.updateQueue,l!==null&&xu(s,l.retryQueue),l=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(l=r.memoizedState.cachePool.pool),f=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(f=s.memoizedState.cachePool.pool),f!==l&&(s.flags|=2048),r!==null&&j(xs),null;case 24:return l=null,r!==null&&(l=r.memoizedState.cache),s.memoizedState.cache!==l&&(s.flags|=2048),Hi(Xt),Bt(s),null;case 25:return null;case 30:return null}throw Error(n(156,s.tag))}function lO(r,s){switch(cg(s),s.tag){case 1:return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return Hi(Xt),ke(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 26:case 27:case 5:return jA(s),null;case 31:if(s.memoizedState!==null){if(YA(s),s.alternate===null)throw Error(n(340));bs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 13:if(YA(s),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(n(340));bs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return j(Nt),null;case 4:return ke(),null;case 10:return Hi(s.type),null;case 22:case 23:return YA(s),xg(),r!==null&&j(xs),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 24:return Hi(Xt),null;case 25:return null;default:return null}}function ly(r,s){switch(cg(s),s.tag){case 3:Hi(Xt),ke();break;case 26:case 27:case 5:jA(s);break;case 4:ke();break;case 31:s.memoizedState!==null&&YA(s);break;case 13:YA(s);break;case 19:j(Nt);break;case 10:Hi(s.type);break;case 22:case 23:YA(s),xg(),r!==null&&j(xs);break;case 24:Hi(Xt)}}function ol(r,s){try{var l=s.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var g=f.next;l=g;do{if((l.tag&r)===r){f=void 0;var m=l.create,y=l.inst;f=m(),y.destroy=f}l=l.next}while(l!==g)}}catch(U){qe(s,s.return,U)}}function Fr(r,s,l){try{var f=s.updateQueue,g=f!==null?f.lastEffect:null;if(g!==null){var m=g.next;f=m;do{if((f.tag&r)===r){var y=f.inst,U=y.destroy;if(U!==void 0){y.destroy=void 0,g=s;var T=l,z=U;try{z()}catch(Z){qe(g,T,Z)}}}f=f.next}while(f!==m)}}catch(Z){qe(s,s.return,Z)}}function cy(r){var s=r.updateQueue;if(s!==null){var l=r.stateNode;try{ew(s,l)}catch(f){qe(r,r.return,f)}}}function uy(r,s,l){l.props=Ss(r.type,r.memoizedProps),l.state=r.memoizedState;try{l.componentWillUnmount()}catch(f){qe(r,s,f)}}function ll(r,s){try{var l=r.ref;if(l!==null){switch(r.tag){case 26:case 27:case 5:var f=r.stateNode;break;case 30:f=r.stateNode;break;default:f=r.stateNode}typeof l=="function"?r.refCleanup=l(f):l.current=f}}catch(g){qe(r,s,g)}}function ii(r,s){var l=r.ref,f=r.refCleanup;if(l!==null)if(typeof f=="function")try{f()}catch(g){qe(r,s,g)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(g){qe(r,s,g)}else l.current=null}function fy(r){var s=r.type,l=r.memoizedProps,f=r.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":l.autoFocus&&f.focus();break e;case"img":l.src?f.src=l.src:l.srcSet&&(f.srcset=l.srcSet)}}catch(g){qe(r,r.return,g)}}function np(r,s,l){try{var f=r.stateNode;OO(f,r.type,l,s),f[ot]=s}catch(g){qe(r,r.return,g)}}function hy(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&Lr(r.type)||r.tag===4}function ip(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||hy(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&Lr(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function rp(r,s,l){var f=r.tag;if(f===5||f===6)r=r.stateNode,s?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(r,s):(s=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,s.appendChild(r),l=l._reactRootContainer,l!=null||s.onclick!==null||(s.onclick=Ui));else if(f!==4&&(f===27&&Lr(r.type)&&(l=r.stateNode,s=null),r=r.child,r!==null))for(rp(r,s,l),r=r.sibling;r!==null;)rp(r,s,l),r=r.sibling}function Qu(r,s,l){var f=r.tag;if(f===5||f===6)r=r.stateNode,s?l.insertBefore(r,s):l.appendChild(r);else if(f!==4&&(f===27&&Lr(r.type)&&(l=r.stateNode),r=r.child,r!==null))for(Qu(r,s,l),r=r.sibling;r!==null;)Qu(r,s,l),r=r.sibling}function dy(r){var s=r.stateNode,l=r.memoizedProps;try{for(var f=r.type,g=s.attributes;g.length;)s.removeAttributeNode(g[0]);fA(s,f,l),s[Ke]=r,s[ot]=l}catch(m){qe(r,r.return,m)}}var Ri=!1,$t=!1,sp=!1,gy=typeof WeakSet=="function"?WeakSet:Set,iA=null;function cO(r,s){if(r=r.containerInfo,Up=Xu,r=Uv(r),qd(r)){if("selectionStart"in r)var l={start:r.selectionStart,end:r.selectionEnd};else e:{l=(l=r.ownerDocument)&&l.defaultView||window;var f=l.getSelection&&l.getSelection();if(f&&f.rangeCount!==0){l=f.anchorNode;var g=f.anchorOffset,m=f.focusNode;f=f.focusOffset;try{l.nodeType,m.nodeType}catch{l=null;break e}var y=0,U=-1,T=-1,z=0,Z=0,W=r,V=null;t:for(;;){for(var P;W!==l||g!==0&&W.nodeType!==3||(U=y+g),W!==m||f!==0&&W.nodeType!==3||(T=y+f),W.nodeType===3&&(y+=W.nodeValue.length),(P=W.firstChild)!==null;)V=W,W=P;for(;;){if(W===r)break t;if(V===l&&++z===g&&(U=y),V===m&&++Z===f&&(T=y),(P=W.nextSibling)!==null)break;W=V,V=W.parentNode}W=P}l=U===-1||T===-1?null:{start:U,end:T}}else l=null}l=l||{start:0,end:0}}else l=null;for(Ep={focusedElem:r,selectionRange:l},Xu=!1,iA=s;iA!==null;)if(s=iA,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,iA=r;else for(;iA!==null;){switch(s=iA,m=s.alternate,r=s.flags,s.tag){case 0:if((r&4)!==0&&(r=s.updateQueue,r=r!==null?r.events:null,r!==null))for(l=0;l title"))),fA(m,f,l),m[Ke]=r,Ht(m),f=m;break e;case"link":var y=yb("link","href",g).get(f+(l.href||""));if(y){for(var U=0;Urt&&(y=rt,rt=Ce,Ce=y);var N=xv(U,Ce),L=xv(U,rt);if(N&&L&&(P.rangeCount!==1||P.anchorNode!==N.node||P.anchorOffset!==N.offset||P.focusNode!==L.node||P.focusOffset!==L.offset)){var K=W.createRange();K.setStart(N.node,N.offset),P.removeAllRanges(),Ce>rt?(P.addRange(K),P.extend(L.node,L.offset)):(K.setEnd(L.node,L.offset),P.addRange(K))}}}}for(W=[],P=U;P=P.parentNode;)P.nodeType===1&&W.push({element:P,left:P.scrollLeft,top:P.scrollTop});for(typeof U.focus=="function"&&U.focus(),U=0;Ul?32:l,I.T=null,l=hp,hp=null;var m=Tr,y=zi;if(qt=0,Ka=Tr=null,zi=0,(Ye&6)!==0)throw Error(n(331));var U=Ye;if(Ye|=4,Qy(m.current),Cy(m,m.current,y,l),Ye=U,gl(0,!1),Rt&&typeof Rt.onPostCommitFiberRoot=="function")try{Rt.onPostCommitFiberRoot(Sn,m)}catch{}return!0}finally{G.p=g,I.T=f,Vy(r,s)}}function Gy(r,s,l){s=hn(l,s),s=Gg(r.stateNode,s,2),r=Qr(r,s,2),r!==null&&(Se(r,2),ri(r))}function qe(r,s,l){if(r.tag===3)Gy(r,r,l);else for(;s!==null;){if(s.tag===3){Gy(s,r,l);break}else if(s.tag===1){var f=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(Hr===null||!Hr.has(f))){r=hn(l,r),l=Xw(2),f=Qr(s,l,2),f!==null&&(Zw(l,f,s,r),Se(f,2),ri(f));break}}s=s.return}}function mp(r,s,l){var f=r.pingCache;if(f===null){f=r.pingCache=new hO;var g=new Set;f.set(s,g)}else g=f.get(s),g===void 0&&(g=new Set,f.set(s,g));g.has(l)||(lp=!0,g.add(l),r=BO.bind(null,r,s,l),s.then(r,r))}function BO(r,s,l){var f=r.pingCache;f!==null&&f.delete(s),r.pingedLanes|=r.suspendedLanes&l,r.warmLanes&=~l,lt===r&&(De&l)===l&&(Dt===4||Dt===3&&(De&62914560)===De&&300>Gt()-Fu?(Ye&2)===0&&za(r,0):cp|=l,ka===De&&(ka=0)),ri(r)}function Xy(r,s){s===0&&(s=nA()),r=ws(r,s),r!==null&&(Se(r,s),ri(r))}function vO(r){var s=r.memoizedState,l=0;s!==null&&(l=s.retryLane),Xy(r,l)}function wO(r,s){var l=0;switch(r.tag){case 31:case 13:var f=r.stateNode,g=r.memoizedState;g!==null&&(l=g.retryLane);break;case 19:f=r.stateNode;break;case 22:f=r.stateNode._retryCache;break;default:throw Error(n(314))}f!==null&&f.delete(s),Xy(r,l)}function yO(r,s){return ln(r,s)}var Lu=null,Va=null,Bp=!1,Ru=!1,vp=!1,Mr=0;function ri(r){r!==Va&&r.next===null&&(Va===null?Lu=Va=r:Va=Va.next=r),Ru=!0,Bp||(Bp=!0,CO())}function gl(r,s){if(!vp&&Ru){vp=!0;do for(var l=!1,f=Lu;f!==null;){if(r!==0){var g=f.pendingLanes;if(g===0)var m=0;else{var y=f.suspendedLanes,U=f.pingedLanes;m=(1<<31-At(42|r)+1)-1,m&=g&~(y&~U),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(l=!0,Wy(f,m))}else m=De,m=Jn(f,f===lt?m:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(m&3)===0||qn(f,m)||(l=!0,Wy(f,m));f=f.next}while(l);vp=!1}}function bO(){Zy()}function Zy(){Ru=Bp=!1;var r=0;Mr!==0&&TO()&&(r=Mr);for(var s=Gt(),l=null,f=Lu;f!==null;){var g=f.next,m=Yy(f,s);m===0?(f.next=null,l===null?Lu=g:l.next=g,g===null&&(Va=l)):(l=f,(r!==0||(m&3)!==0)&&(Ru=!0)),f=g}qt!==0&&qt!==5||gl(r),Mr!==0&&(Mr=0)}function Yy(r,s){for(var l=r.suspendedLanes,f=r.pingedLanes,g=r.expirationTimes,m=r.pendingLanes&-62914561;0U)break;var Z=T.transferSize,W=T.initiatorType;Z&&rb(W)&&(T=T.responseEnd,y+=Z*(T"u"?null:document;function mb(r,s,l){var f=Pa;if(f&&typeof s=="string"&&s){var g=un(s);g='link[rel="'+r+'"][href="'+g+'"]',typeof l=="string"&&(g+='[crossorigin="'+l+'"]'),pb.has(g)||(pb.add(g),r={rel:r,crossOrigin:l,href:s},f.querySelector(g)===null&&(s=f.createElement("link"),fA(s,"link",r),Ht(s),f.head.appendChild(s)))}}function zO(r){ji.D(r),mb("dns-prefetch",r,null)}function jO(r,s){ji.C(r,s),mb("preconnect",r,s)}function VO(r,s,l){ji.L(r,s,l);var f=Pa;if(f&&r&&s){var g='link[rel="preload"][as="'+un(s)+'"]';s==="image"&&l&&l.imageSrcSet?(g+='[imagesrcset="'+un(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(g+='[imagesizes="'+un(l.imageSizes)+'"]')):g+='[href="'+un(r)+'"]';var m=g;switch(s){case"style":m=Ga(r);break;case"script":m=Xa(r)}vn.has(m)||(r=p({rel:"preload",href:s==="image"&&l&&l.imageSrcSet?void 0:r,as:s},l),vn.set(m,r),f.querySelector(g)!==null||s==="style"&&f.querySelector(vl(m))||s==="script"&&f.querySelector(wl(m))||(s=f.createElement("link"),fA(s,"link",r),Ht(s),f.head.appendChild(s)))}}function PO(r,s){ji.m(r,s);var l=Pa;if(l&&r){var f=s&&typeof s.as=="string"?s.as:"script",g='link[rel="modulepreload"][as="'+un(f)+'"][href="'+un(r)+'"]',m=g;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=Xa(r)}if(!vn.has(m)&&(r=p({rel:"modulepreload",href:r},s),vn.set(m,r),l.querySelector(g)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(wl(m)))return}f=l.createElement("link"),fA(f,"link",r),Ht(f),l.head.appendChild(f)}}}function GO(r,s,l){ji.S(r,s,l);var f=Pa;if(f&&r){var g=vA(f).hoistableStyles,m=Ga(r);s=s||"default";var y=g.get(m);if(!y){var U={loading:0,preload:null};if(y=f.querySelector(vl(m)))U.loading=5;else{r=p({rel:"stylesheet",href:r,"data-precedence":s},l),(l=vn.get(m))&&Mp(r,l);var T=y=f.createElement("link");Ht(T),fA(T,"link",r),T._p=new Promise(function(z,Z){T.onload=z,T.onerror=Z}),T.addEventListener("load",function(){U.loading|=1}),T.addEventListener("error",function(){U.loading|=2}),U.loading|=4,zu(y,s,f)}y={type:"stylesheet",instance:y,count:1,state:U},g.set(m,y)}}}function XO(r,s){ji.X(r,s);var l=Pa;if(l&&r){var f=vA(l).hoistableScripts,g=Xa(r),m=f.get(g);m||(m=l.querySelector(wl(g)),m||(r=p({src:r,async:!0},s),(s=vn.get(g))&&Lp(r,s),m=l.createElement("script"),Ht(m),fA(m,"link",r),l.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},f.set(g,m))}}function ZO(r,s){ji.M(r,s);var l=Pa;if(l&&r){var f=vA(l).hoistableScripts,g=Xa(r),m=f.get(g);m||(m=l.querySelector(wl(g)),m||(r=p({src:r,async:!0,type:"module"},s),(s=vn.get(g))&&Lp(r,s),m=l.createElement("script"),Ht(m),fA(m,"link",r),l.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},f.set(g,m))}}function Bb(r,s,l,f){var g=(g=de.current)?Ku(g):null;if(!g)throw Error(n(446));switch(r){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(s=Ga(l.href),l=vA(g).hoistableStyles,f=l.get(s),f||(f={type:"style",instance:null,count:0,state:null},l.set(s,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){r=Ga(l.href);var m=vA(g).hoistableStyles,y=m.get(r);if(y||(g=g.ownerDocument||g,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(r,y),(m=g.querySelector(vl(r)))&&!m._p&&(y.instance=m,y.state.loading=5),vn.has(r)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},vn.set(r,l),m||YO(g,r,l,y.state))),s&&f===null)throw Error(n(528,""));return y}if(s&&f!==null)throw Error(n(529,""));return null;case"script":return s=l.async,l=l.src,typeof l=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Xa(l),l=vA(g).hoistableScripts,f=l.get(s),f||(f={type:"script",instance:null,count:0,state:null},l.set(s,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,r))}}function Ga(r){return'href="'+un(r)+'"'}function vl(r){return'link[rel="stylesheet"]['+r+"]"}function vb(r){return p({},r,{"data-precedence":r.precedence,precedence:null})}function YO(r,s,l,f){r.querySelector('link[rel="preload"][as="style"]['+s+"]")?f.loading=1:(s=r.createElement("link"),f.preload=s,s.addEventListener("load",function(){return f.loading|=1}),s.addEventListener("error",function(){return f.loading|=2}),fA(s,"link",l),Ht(s),r.head.appendChild(s))}function Xa(r){return'[src="'+un(r)+'"]'}function wl(r){return"script[async]"+r}function wb(r,s,l){if(s.count++,s.instance===null)switch(s.type){case"style":var f=r.querySelector('style[data-href~="'+un(l.href)+'"]');if(f)return s.instance=f,Ht(f),f;var g=p({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return f=(r.ownerDocument||r).createElement("style"),Ht(f),fA(f,"style",g),zu(f,l.precedence,r),s.instance=f;case"stylesheet":g=Ga(l.href);var m=r.querySelector(vl(g));if(m)return s.state.loading|=4,s.instance=m,Ht(m),m;f=vb(l),(g=vn.get(g))&&Mp(f,g),m=(r.ownerDocument||r).createElement("link"),Ht(m);var y=m;return y._p=new Promise(function(U,T){y.onload=U,y.onerror=T}),fA(m,"link",f),s.state.loading|=4,zu(m,l.precedence,r),s.instance=m;case"script":return m=Xa(l.src),(g=r.querySelector(wl(m)))?(s.instance=g,Ht(g),g):(f=l,(g=vn.get(m))&&(f=p({},l),Lp(f,g)),r=r.ownerDocument||r,g=r.createElement("script"),Ht(g),fA(g,"link",f),r.head.appendChild(g),s.instance=g);case"void":return null;default:throw Error(n(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(f=s.instance,s.state.loading|=4,zu(f,l.precedence,r));return s.instance}function zu(r,s,l){for(var f=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),g=f.length?f[f.length-1]:null,m=g,y=0;y title"):null)}function $O(r,s,l){if(l===1||s.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return r=s.disabled,typeof s.precedence=="string"&&r==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Cb(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function WO(r,s,l,f){if(l.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var g=Ga(f.href),m=s.querySelector(vl(g));if(m){s=m._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(r.count++,r=Vu.bind(r),s.then(r,r)),l.state.loading|=4,l.instance=m,Ht(m);return}m=s.ownerDocument||s,f=vb(f),(g=vn.get(g))&&Mp(f,g),m=m.createElement("link"),Ht(m);var y=m;y._p=new Promise(function(U,T){y.onload=U,y.onerror=T}),fA(m,"link",f),l.instance=m}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(l,s),(s=l.state.preload)&&(l.state.loading&3)===0&&(r.count++,l=Vu.bind(r),s.addEventListener("load",l),s.addEventListener("error",l))}}var Rp=0;function JO(r,s){return r.stylesheets&&r.count===0&&Gu(r,r.stylesheets),0Rp?50:800)+s);return r.unsuspend=l,function(){r.unsuspend=null,clearTimeout(f),clearTimeout(g)}}:null}function Vu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Gu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var Pu=null;function Gu(r,s){r.stylesheets=null,r.unsuspend!==null&&(r.count++,Pu=new Map,s.forEach(qO,r),Pu=null,Vu.call(r))}function qO(r,s){if(!(s.state.loading&4)){var l=Pu.get(r);if(l)var f=l.get(null);else{l=new Map,Pu.set(r,l);for(var g=r.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Gp.exports=dH(),Gp.exports}var pH=gH();const mH=e0(pH);var Xb="popstate";function BH(e={}){function t(n,i){let{pathname:a,search:o,hash:c}=n.location;return Gm("",{pathname:a,search:o,hash:c},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function A(n,i){return typeof i=="string"?i:rc(i)}return wH(t,A,null,e)}function Qt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function sn(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function vH(){return Math.random().toString(36).substring(2,10)}function Zb(e,t){return{usr:e.state,key:e.key,idx:t}}function Gm(e,t,A=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Eo(t):t,state:A,key:t&&t.key||n||vH()}}function rc({pathname:e="/",search:t="",hash:A=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),A&&A!=="#"&&(e+=A.charAt(0)==="#"?A:"#"+A),e}function Eo(e){let t={};if(e){let A=e.indexOf("#");A>=0&&(t.hash=e.substring(A),e=e.substring(0,A));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function wH(e,t,A,n={}){let{window:i=document.defaultView,v5Compat:a=!1}=n,o=i.history,c="POP",u=null,h=d();h==null&&(h=0,o.replaceState({...o.state,idx:h},""));function d(){return(o.state||{idx:null}).idx}function p(){c="POP";let x=d(),C=x==null?null:x-h;h=x,u&&u({action:c,location:b.location,delta:C})}function B(x,C){c="PUSH";let Q=Gm(b.location,x,C);h=d()+1;let E=Zb(Q,h),S=b.createHref(Q);try{o.pushState(E,"",S)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;i.location.assign(S)}a&&u&&u({action:c,location:b.location,delta:1})}function v(x,C){c="REPLACE";let Q=Gm(b.location,x,C);h=d();let E=Zb(Q,h),S=b.createHref(Q);o.replaceState(E,"",S),a&&u&&u({action:c,location:b.location,delta:0})}function w(x){return yH(x)}let b={get action(){return c},get location(){return e(i,o)},listen(x){if(u)throw new Error("A history only accepts one active listener");return i.addEventListener(Xb,p),u=x,()=>{i.removeEventListener(Xb,p),u=null}},createHref(x){return t(i,x)},createURL:w,encodeLocation(x){let C=w(x);return{pathname:C.pathname,search:C.search,hash:C.hash}},push:B,replace:v,go(x){return o.go(x)}};return b}function yH(e,t=!1){let A="http://localhost";typeof window<"u"&&(A=window.location.origin!=="null"?window.location.origin:window.location.href),Qt(A,"No window.location.(origin|href) available to create URL");let n=typeof e=="string"?e:rc(e);return n=n.replace(/ $/,"%20"),!t&&n.startsWith("//")&&(n=A+n),new URL(n,A)}function PQ(e,t,A="/"){return bH(e,t,A,!1)}function bH(e,t,A,n){let i=typeof t=="string"?Eo(t):t,a=sr(i.pathname||"/",A);if(a==null)return null;let o=GQ(e);CH(o);let c=null;for(let u=0;c==null&&u{let d={relativePath:h===void 0?o.path||"":h,caseSensitive:o.caseSensitive===!0,childrenIndex:c,route:o};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(n)&&u)return;Qt(d.relativePath.startsWith(n),`Absolute route path "${d.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(n.length)}let p=Ar([n,d.relativePath]),B=A.concat(d);o.children&&o.children.length>0&&(Qt(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),GQ(o.children,t,B,p,u)),!(o.path==null&&!o.index)&&t.push({path:p,score:SH(p,o.index),routesMeta:B})};return e.forEach((o,c)=>{if(o.path===""||!o.path?.includes("?"))a(o,c);else for(let u of XQ(o.path))a(o,c,!0,u)}),t}function XQ(e){let t=e.split("/");if(t.length===0)return[];let[A,...n]=t,i=A.endsWith("?"),a=A.replace(/\?$/,"");if(n.length===0)return i?[a,""]:[a];let o=XQ(n.join("/")),c=[];return c.push(...o.map(u=>u===""?a:[a,u].join("/"))),i&&c.push(...o),c.map(u=>e.startsWith("/")&&u===""?"/":u)}function CH(e){e.sort((t,A)=>t.score!==A.score?A.score-t.score:OH(t.routesMeta.map(n=>n.childrenIndex),A.routesMeta.map(n=>n.childrenIndex)))}var _H=/^:[\w-]+$/,xH=3,QH=2,UH=1,EH=10,FH=-2,Yb=e=>e==="*";function SH(e,t){let A=e.split("/"),n=A.length;return A.some(Yb)&&(n+=FH),t&&(n+=QH),A.filter(i=>!Yb(i)).reduce((i,a)=>i+(_H.test(a)?xH:a===""?UH:EH),n)}function OH(e,t){return e.length===t.length&&e.slice(0,-1).every((n,i)=>n===t[i])?e[e.length-1]-t[t.length-1]:0}function HH(e,t,A=!1){let{routesMeta:n}=e,i={},a="/",o=[];for(let c=0;c{if(d==="*"){let w=c[B]||"";o=a.slice(0,a.length-w.length).replace(/(.)\/+$/,"$1")}const v=c[B];return p&&!v?h[d]=void 0:h[d]=(v||"").replace(/%2F/g,"/"),h},{}),pathname:a,pathnameBase:o,pattern:e}}function TH(e,t=!1,A=!0){sn(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,c,u)=>(n.push({paramName:c,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):A?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),n]}function DH(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return sn(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function sr(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let A=t.endsWith("/")?t.length-1:t.length,n=e.charAt(A);return n&&n!=="/"?null:e.slice(A)||"/"}var MH=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,LH=e=>MH.test(e);function RH(e,t="/"){let{pathname:A,search:n="",hash:i=""}=typeof e=="string"?Eo(e):e,a;if(A)if(LH(A))a=A;else{if(A.includes("//")){let o=A;A=A.replace(/\/\/+/g,"/"),sn(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${A}`)}A.startsWith("/")?a=$b(A.substring(1),"/"):a=$b(A,t)}else a=t;return{pathname:a,search:kH(n),hash:KH(i)}}function $b(e,t){let A=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?A.length>1&&A.pop():i!=="."&&A.push(i)}),A.length>1?A.join("/"):"/"}function $p(e,t,A,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${A}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function IH(e){return e.filter((t,A)=>A===0||t.route.path&&t.route.path.length>0)}function t0(e){let t=IH(e);return t.map((A,n)=>n===t.length-1?A.pathname:A.pathnameBase)}function A0(e,t,A,n=!1){let i;typeof e=="string"?i=Eo(e):(i={...e},Qt(!i.pathname||!i.pathname.includes("?"),$p("?","pathname","search",i)),Qt(!i.pathname||!i.pathname.includes("#"),$p("#","pathname","hash",i)),Qt(!i.search||!i.search.includes("#"),$p("#","search","hash",i)));let a=e===""||i.pathname==="",o=a?"/":i.pathname,c;if(o==null)c=A;else{let p=t.length-1;if(!n&&o.startsWith("..")){let B=o.split("/");for(;B[0]==="..";)B.shift(),p-=1;i.pathname=B.join("/")}c=p>=0?t[p]:"/"}let u=RH(i,c),h=o&&o!=="/"&&o.endsWith("/"),d=(a||o===".")&&A.endsWith("/");return!u.pathname.endsWith("/")&&(h||d)&&(u.pathname+="/"),u}var Ar=e=>e.join("/").replace(/\/\/+/g,"/"),NH=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),kH=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,KH=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function zH(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ZQ=["POST","PUT","PATCH","DELETE"];new Set(ZQ);var jH=["GET",...ZQ];new Set(jH);var Fo=F.createContext(null);Fo.displayName="DataRouter";var Zh=F.createContext(null);Zh.displayName="DataRouterState";F.createContext(!1);var YQ=F.createContext({isTransitioning:!1});YQ.displayName="ViewTransition";var VH=F.createContext(new Map);VH.displayName="Fetchers";var PH=F.createContext(null);PH.displayName="Await";var Gn=F.createContext(null);Gn.displayName="Navigation";var Cc=F.createContext(null);Cc.displayName="Location";var vi=F.createContext({outlet:null,matches:[],isDataRoute:!1});vi.displayName="Route";var n0=F.createContext(null);n0.displayName="RouteError";function GH(e,{relative:t}={}){Qt(So(),"useHref() may be used only in the context of a component.");let{basename:A,navigator:n}=F.useContext(Gn),{hash:i,pathname:a,search:o}=_c(e,{relative:t}),c=a;return A!=="/"&&(c=a==="/"?A:Ar([A,a])),n.createHref({pathname:c,search:o,hash:i})}function So(){return F.useContext(Cc)!=null}function wi(){return Qt(So(),"useLocation() may be used only in the context of a component."),F.useContext(Cc).location}var $Q="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function WQ(e){F.useContext(Gn).static||F.useLayoutEffect(e)}function Yh(){let{isDataRoute:e}=F.useContext(vi);return e?rT():XH()}function XH(){Qt(So(),"useNavigate() may be used only in the context of a component.");let e=F.useContext(Fo),{basename:t,navigator:A}=F.useContext(Gn),{matches:n}=F.useContext(vi),{pathname:i}=wi(),a=JSON.stringify(t0(n)),o=F.useRef(!1);return WQ(()=>{o.current=!0}),F.useCallback((u,h={})=>{if(sn(o.current,$Q),!o.current)return;if(typeof u=="number"){A.go(u);return}let d=A0(u,JSON.parse(a),i,h.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Ar([t,d.pathname])),(h.replace?A.replace:A.push)(d,h.state,h)},[t,A,a,i,e])}F.createContext(null);function _c(e,{relative:t}={}){let{matches:A}=F.useContext(vi),{pathname:n}=wi(),i=JSON.stringify(t0(A));return F.useMemo(()=>A0(e,JSON.parse(i),n,t==="path"),[e,i,n,t])}function ZH(e,t){return JQ(e,t)}function JQ(e,t,A,n,i){Qt(So(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=F.useContext(Gn),{matches:o}=F.useContext(vi),c=o[o.length-1],u=c?c.params:{},h=c?c.pathname:"/",d=c?c.pathnameBase:"/",p=c&&c.route;{let Q=p&&p.path||"";qQ(h,!p||Q.endsWith("*")||Q.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${h}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let B=wi(),v;if(t){let Q=typeof t=="string"?Eo(t):t;Qt(d==="/"||Q.pathname?.startsWith(d),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${Q.pathname}" was given in the \`location\` prop.`),v=Q}else v=B;let w=v.pathname||"/",b=w;if(d!=="/"){let Q=d.replace(/^\//,"").split("/");b="/"+w.replace(/^\//,"").split("/").slice(Q.length).join("/")}let x=PQ(e,{pathname:b});sn(p||x!=null,`No routes matched location "${v.pathname}${v.search}${v.hash}" `),sn(x==null||x[x.length-1].route.element!==void 0||x[x.length-1].route.Component!==void 0||x[x.length-1].route.lazy!==void 0,`Matched leaf route at location "${v.pathname}${v.search}${v.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let C=qH(x&&x.map(Q=>Object.assign({},Q,{params:Object.assign({},u,Q.params),pathname:Ar([d,a.encodeLocation?a.encodeLocation(Q.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Q.pathname]),pathnameBase:Q.pathnameBase==="/"?d:Ar([d,a.encodeLocation?a.encodeLocation(Q.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Q.pathnameBase])})),o,A,n,i);return t&&C?F.createElement(Cc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...v},navigationType:"POP"}},C):C}function YH(){let e=iT(),t=zH(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),A=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},a={padding:"2px 4px",backgroundColor:n},o=null;return console.error("Error handled by React Router default ErrorBoundary:",e),o=F.createElement(F.Fragment,null,F.createElement("p",null,"💿 Hey developer 👋"),F.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",F.createElement("code",{style:a},"ErrorBoundary")," or"," ",F.createElement("code",{style:a},"errorElement")," prop on your route.")),F.createElement(F.Fragment,null,F.createElement("h2",null,"Unexpected Application Error!"),F.createElement("h3",{style:{fontStyle:"italic"}},t),A?F.createElement("pre",{style:i},A):null,o)}var $H=F.createElement(YH,null),WH=class extends F.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?F.createElement(vi.Provider,{value:this.props.routeContext},F.createElement(n0.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function JH({routeContext:e,match:t,children:A}){let n=F.useContext(Fo);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),F.createElement(vi.Provider,{value:e},A)}function qH(e,t=[],A=null,n=null,i=null){if(e==null){if(!A)return null;if(A.errors)e=A.matches;else if(t.length===0&&!A.initialized&&A.matches.length>0)e=A.matches;else return null}let a=e,o=A?.errors;if(o!=null){let d=a.findIndex(p=>p.route.id&&o?.[p.route.id]!==void 0);Qt(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let c=!1,u=-1;if(A)for(let d=0;d=0?a=a.slice(0,u+1):a=[a[0]];break}}}let h=A&&n?(d,p)=>{n(d,{location:A.location,params:A.matches?.[0]?.params??{},errorInfo:p})}:void 0;return a.reduceRight((d,p,B)=>{let v,w=!1,b=null,x=null;A&&(v=o&&p.route.id?o[p.route.id]:void 0,b=p.route.errorElement||$H,c&&(u<0&&B===0?(qQ("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),w=!0,x=null):u===B&&(w=!0,x=p.route.hydrateFallbackElement||null)));let C=t.concat(a.slice(0,B+1)),Q=()=>{let E;return v?E=b:w?E=x:p.route.Component?E=F.createElement(p.route.Component,null):p.route.element?E=p.route.element:E=d,F.createElement(JH,{match:p,routeContext:{outlet:d,matches:C,isDataRoute:A!=null},children:E})};return A&&(p.route.ErrorBoundary||p.route.errorElement||B===0)?F.createElement(WH,{location:A.location,revalidation:A.revalidation,component:b,error:v,children:Q(),routeContext:{outlet:null,matches:C,isDataRoute:!0},onError:h}):Q()},null)}function i0(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function eT(e){let t=F.useContext(Fo);return Qt(t,i0(e)),t}function tT(e){let t=F.useContext(Zh);return Qt(t,i0(e)),t}function AT(e){let t=F.useContext(vi);return Qt(t,i0(e)),t}function r0(e){let t=AT(e),A=t.matches[t.matches.length-1];return Qt(A.route.id,`${e} can only be used on routes that contain a unique "id"`),A.route.id}function nT(){return r0("useRouteId")}function iT(){let e=F.useContext(n0),t=tT("useRouteError"),A=r0("useRouteError");return e!==void 0?e:t.errors?.[A]}function rT(){let{router:e}=eT("useNavigate"),t=r0("useNavigate"),A=F.useRef(!1);return WQ(()=>{A.current=!0}),F.useCallback(async(i,a={})=>{sn(A.current,$Q),A.current&&(typeof i=="number"?e.navigate(i):await e.navigate(i,{fromRouteId:t,...a}))},[e,t])}var Wb={};function qQ(e,t,A){!t&&!Wb[e]&&(Wb[e]=!0,sn(!1,A))}F.memo(sT);function sT({routes:e,future:t,state:A,unstable_onError:n}){return JQ(e,void 0,A,n,t)}function aT({to:e,replace:t,state:A,relative:n}){Qt(So()," may be used only in the context of a component.");let{static:i}=F.useContext(Gn);sn(!i," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:a}=F.useContext(vi),{pathname:o}=wi(),c=Yh(),u=A0(e,t0(a),o,n==="path"),h=JSON.stringify(u);return F.useEffect(()=>{c(JSON.parse(h),{replace:t,state:A,relative:n})},[c,h,n,t,A]),null}function $f(e){Qt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function oT({basename:e="/",children:t=null,location:A,navigationType:n="POP",navigator:i,static:a=!1}){Qt(!So(),"You cannot render a inside another . You should never have more than one in your app.");let o=e.replace(/^\/*/,"/"),c=F.useMemo(()=>({basename:o,navigator:i,static:a,future:{}}),[o,i,a]);typeof A=="string"&&(A=Eo(A));let{pathname:u="/",search:h="",hash:d="",state:p=null,key:B="default"}=A,v=F.useMemo(()=>{let w=sr(u,o);return w==null?null:{location:{pathname:w,search:h,hash:d,state:p,key:B},navigationType:n}},[o,u,h,d,p,B,n]);return sn(v!=null,` is not able to match the URL "${u}${h}${d}" because it does not start with the basename, so the won't render anything.`),v==null?null:F.createElement(Gn.Provider,{value:c},F.createElement(Cc.Provider,{children:t,value:v}))}function lT({children:e,location:t}){return ZH(Xm(e),t)}function Xm(e,t=[]){let A=[];return F.Children.forEach(e,(n,i)=>{if(!F.isValidElement(n))return;let a=[...t,i];if(n.type===F.Fragment){A.push.apply(A,Xm(n.props.children,a));return}Qt(n.type===$f,`[${typeof n.type=="string"?n.type:n.type.name}] is not a component. All component children of must be a or `),Qt(!n.props.index||!n.props.children,"An index route cannot have child routes.");let o={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,middleware:n.props.middleware,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=Xm(n.props.children,a)),A.push(o)}),A}var Wf="get",Jf="application/x-www-form-urlencoded";function $h(e){return e!=null&&typeof e.tagName=="string"}function cT(e){return $h(e)&&e.tagName.toLowerCase()==="button"}function uT(e){return $h(e)&&e.tagName.toLowerCase()==="form"}function fT(e){return $h(e)&&e.tagName.toLowerCase()==="input"}function hT(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function dT(e,t){return e.button===0&&(!t||t==="_self")&&!hT(e)}function Zm(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,A)=>{let n=e[A];return t.concat(Array.isArray(n)?n.map(i=>[A,i]):[[A,n]])},[]))}function gT(e,t){let A=Zm(e);return t&&t.forEach((n,i)=>{A.has(i)||t.getAll(i).forEach(a=>{A.append(i,a)})}),A}var ef=null;function pT(){if(ef===null)try{new FormData(document.createElement("form"),0),ef=!1}catch{ef=!0}return ef}var mT=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Wp(e){return e!=null&&!mT.has(e)?(sn(!1,`"${e}" is not a valid \`encType\` for \`

\`/\`\` and will default to "${Jf}"`),null):e}function BT(e,t){let A,n,i,a,o;if(uT(e)){let c=e.getAttribute("action");n=c?sr(c,t):null,A=e.getAttribute("method")||Wf,i=Wp(e.getAttribute("enctype"))||Jf,a=new FormData(e)}else if(cT(e)||fT(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a