diff --git a/csauto/docker.py b/csauto/docker.py index fdaae5e..83130a6 100644 --- a/csauto/docker.py +++ b/csauto/docker.py @@ -22,7 +22,7 @@ def build_run_command( case_dir: Path, nprocs: int, nt: int, - docker_image: str, + docker_image: str = "", cidfile: Path | None = None, run_args: Sequence[str] | None = None, env_vars: Mapping[str, str] | None = None, @@ -60,7 +60,7 @@ def build_run_command( def build_gui_command( case_dir: Path, - docker_image: str | None = None, + docker_image: str = "", adapter: SolverAdapter | None = None, ) -> list[str]: """Build the docker command to launch the solver GUI for a case.""" diff --git a/csauto/execution.py b/csauto/execution.py index a8789d2..dd842f5 100644 --- a/csauto/execution.py +++ b/csauto/execution.py @@ -126,7 +126,7 @@ def singularity_selection() -> RuntimeSelection: raise FileNotFoundError("apptainer/singularity executable not found in PATH.") return RuntimeSelection( runtime=RUNTIME_SINGULARITY, - docker_image=docker_image, + docker_image="", singularity_image=image, singularity_bin=sbin, ) @@ -154,7 +154,7 @@ def docker_selection() -> RuntimeSelection: if resolved_native: return RuntimeSelection( runtime=RUNTIME_NATIVE, - docker_image=docker_image, + docker_image="", saturne_bin=resolved_native, ) raise FileNotFoundError( @@ -280,6 +280,7 @@ def build_runtime_run_command( cmd.append(selection.singularity_image) cmd.append(adapter.container_bin_name) cmd.extend(adapter.run_argv(container_case, nprocs, nt, run_args)) + print(cmd) return cmd raise ValueError(f"Unsupported runtime: {selection.runtime}") diff --git a/csauto/solvers/__init__.py b/csauto/solvers/__init__.py index ae2195f..b38e8cc 100644 --- a/csauto/solvers/__init__.py +++ b/csauto/solvers/__init__.py @@ -15,7 +15,7 @@ from .base import SolverAdapter, SolverAdapterBase DEFAULT_SOLVER = "code_saturne" -_SOLVER_NAMES = ("code_saturne", "stub") +_SOLVER_NAMES = ("code_saturne", "stub", "code_aster") def available_solvers() -> tuple[str, ...]: @@ -37,6 +37,10 @@ def _adapter_for(normalized: str) -> SolverAdapter: from .stub import StubAdapter return StubAdapter() + if normalized == "code_aster": + from .code_aster import CodeAsterAdapter + + return CodeAsterAdapter() choices = ", ".join(available_solvers()) raise ValueError(f"Unknown solver: {normalized!r}. Choices: {choices}") diff --git a/csauto/solvers/code_aster.py b/csauto/solvers/code_aster.py new file mode 100644 index 0000000..4701564 --- /dev/null +++ b/csauto/solvers/code_aster.py @@ -0,0 +1,165 @@ +"""Fake solver adapter used by integration tests. + +Runs as a short python script (native runtime with ``saturne_bin`` pointing at +a Python interpreter) that writes ``OUT/run_0001/stub.log`` with one ``step N`` +line per requested step and a final completion marker. It exercises the whole +prepare -> run -> status pipeline without any code_saturne convention on disk. +""" + +from __future__ import annotations + +import re +from collections.abc import Mapping, Sequence +from pathlib import Path +from typing import ClassVar + +from ..execution import RUNTIME_DOCKER, RUNTIME_NATIVE, RUNTIME_SINGULARITY, RuntimeSelection, shared_dir_symlink_mounts +from ..logs import read_tail_lines +from ..registry import STATUS_DONE, STATUS_FAILED +from .base import SolverAdapterBase + +CODE_ASTER_EXPORT_EXTENSION = "export" + + +class CodeAsterAdapter(SolverAdapterBase): + name: ClassVar[str] = "code_aster" + native_bin_name: ClassVar[str] = "run_aster" + container_bin_name: ClassVar[str] = "" + container_root: ClassVar[str] = "/home/user" + default_docker_image: ClassVar[str] = "simvia/code_aster:17.4.0" + results_dirname: ClassVar[str] = "RESU" + logs_dirname: ClassVar[str] = "LOGS" + shared_dir_names: ClassVar[tuple[str, ...]] = ( + "MESH", + "RESU", + ) + export_file: ClassVar[str] = "study.export" + + def build_run_command( + self, + case_dir: Path, + nprocs: int, + nt: int, + selection: RuntimeSelection, + *, + cidfile: Path | None = None, + run_args: Sequence[str] | None = None, + cleanenv: bool = True, + env_vars: Mapping[str, str] | None = None, + tmp_name: str = "TMP", + ) -> list[str]: + """Build the docker command to launch a case.""" + runs_root = case_dir.parent.resolve() + container_root = self.container_root + container_case = f"{container_root}/{case_dir.name}" + exportfile = str(self.export_file).split("/")[-1] + host_tmpdir = f"{runs_root}/{case_dir.name}/{tmp_name}" + solverlogpath = f"{self.results_dirname}/{self.logs_dirname}/run_solver.log" + + with open(f"{runs_root}/{case_dir.name}/{exportfile}", "a") as f: + f.write(f"F mess {solverlogpath} R 6\n") + + links = [f"{runs_root}:{container_root}"] + for i, shared_data in enumerate(shared_dir_symlink_mounts(runs_root, self.shared_dir_names)): + readonly = shared_data[1] + linked = f"{shared_data[0]}:{container_case}/{list(self.shared_dir_names)[i]}" + links.append(f"{linked}:ro" if readonly else f"{linked}") + + # TODO: Pour relier le fichier de message temporaire + # solverlogfile = Path(f"{runs_root}/{case_dir.name}/{solverlogpath}") + # links.append(f"{runs_root}/{case_dir.name}/{solverlogpath}:{container_case}/{tmp_name}/proc.0/fort.6") + + # TODO : Ajouter la suppression de tous les dossiers partagé sauf celui de resultats + rmdir = [f"{host_tmpdir}"] + + if selection.runtime == RUNTIME_DOCKER: + add_cid = f"--cidfile {cidfile!s}" if cidfile else "" + + bind_links = " ".join(f"-v {link}" for link in links) + removed_dirs = " ".join(f"rm -rf {dire}" for dire in rmdir) + + cmd = [ + "nohup", + "bash", + "-c", + f"docker run " + f"{bind_links} " + f"-w {container_case} " + f"--label csauto.case_id={case_dir.name} " + f"{add_cid} " + f"{selection.docker_image} " + f"bash -c 'source /opt/activate.sh && run_aster {exportfile} --wrkdir {container_case}/{tmp_name}/'; " + f"{removed_dirs}", + ] + elif selection.runtime == RUNTIME_SINGULARITY: + host_apptainer = f"~/apptainer_tmp_{case_dir.name}" + rmdir.append(f"{host_apptainer}") + + bind_links = " ".join(f"--bind {link}" for link in links) + removed_dirs = " ".join(f"rm -rf {dire}" for dire in rmdir) + + cmd = [ + "nohup", + "bash", + "-c", + f"mkdir -p {host_apptainer} && " + f"export APPTAINER_TMPDIR={host_apptainer} && " + f"{selection.singularity_bin} exec " + f"{bind_links} " + f"--pwd {container_case} " + f"{selection.singularity_image} " + f"bash -c 'source /opt/activate.sh && run_aster {exportfile} --wrkdir {container_case}/{tmp_name}/'; " + f"{removed_dirs}", + ] + elif selection.runtime == RUNTIME_NATIVE: + # TODO + raise NotImplementedError(f"{RUNTIME_NATIVE} must be implemented for code_aster.") + else: + if selection.runtime in ["cave", "salome_meca"]: + # TODO + raise NotImplementedError( + f"{selection.runtime} could be in the roadmap of code_aster. Please contact support." + ) + else: + raise NotImplementedError(f"{selection.runtime} not in the development roadmap of code_aster.") + + return cmd + + def run_argv(self, case_path: str | Path, nprocs: int, nt: int, run_args: Sequence[str] | None = None) -> list[str]: + return [""] + + def find_setup_file(self, template_dir: Path) -> Path: + files = list(Path(template_dir).glob(f"*.{CODE_ASTER_EXPORT_EXTENSION}")) + if len(files) == 1 and files[0].is_file(): + self.export_file = files[0] + return files[0] + raise FileNotFoundError(f".export file not found in template: {template_dir}") + + def detect_outcome(self, case_dir: Path, start_time: str | None = None) -> str | None: + success_patterns = [ + re.compile(r"DIAGNOSTIC JOB : OK", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _ALARM", re.IGNORECASE), + ] + failure_patterns = [ + re.compile(r"DIAGNOSTIC JOB : _ABNORMAL_ABORT", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _SYNTAX_ERROR", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _MEMORY_ERROR", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _NO_CONVERGENCE", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _CPU_LIMIT", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : _ERROR", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : NO_TEST_RESU", re.IGNORECASE), + re.compile(r"DIAGNOSTIC JOB : NOOK_TEST_RESU", re.IGNORECASE), + ] + files = list(Path(f"{case_dir}/{self.results_dirname}/{self.logs_dirname}/").glob("run_solver.log")) + if len(files) == 0: + return None + elif len(files) == 1: + lines = read_tail_lines(files[0], lines=40) + joined = "\n".join(lines) + if any(p.search(joined) for p in success_patterns): + return STATUS_DONE + if any(p.search(joined) for p in failure_patterns): + return STATUS_FAILED + else: + raise + return None diff --git a/examples/codeaster-cube/MESH/create_mesh.py b/examples/codeaster-cube/MESH/create_mesh.py new file mode 100644 index 0000000..aa0a901 --- /dev/null +++ b/examples/codeaster-cube/MESH/create_mesh.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python + +### +### This file is generated automatically by SALOME v9.15.0 with dump python functionality +### + +import salome +import SMESH +from salome.geom import geomBuilder +from salome.smesh import smeshBuilder + +salome.salome_init() + +### +### GEOM component +### + +geompy = geomBuilder.New() + +Origin = geompy.MakeVertex(0, 0, 0) +OX = geompy.MakeVectorDXDYDZ(1, 0, 0) +OY = geompy.MakeVectorDXDYDZ(0, 1, 0) +OZ = geompy.MakeVectorDXDYDZ(0, 0, 1) +box = geompy.MakeBoxDXDYDZ(1, 1, 1) +x_0 = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(x_0, [3]) +x_H = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(x_H, [13]) +y_0 = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(y_0, [23]) +y_H = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(y_H, [27]) +z_0 = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(z_0, [31]) +z_H = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionIDs(z_H, [33]) +all_edges = geompy.CreateGroup(box, geompy.ShapeType["EDGE"]) +geompy.UnionIDs(all_edges, [5, 8, 10, 12, 15, 18, 20, 22, 25, 26, 29, 30]) +[x_0, x_H, y_0, y_H, z_0, z_H, all_edges] = geompy.GetExistingSubObjects(box, False) +Auto_group_for_Sub_mesh_1 = geompy.CreateGroup(box, geompy.ShapeType["FACE"]) +geompy.UnionList(Auto_group_for_Sub_mesh_1, [x_0, x_H, y_0, y_H, z_0, z_H]) +geompy.addToStudy(Origin, "O") +geompy.addToStudy(OX, "OX") +geompy.addToStudy(OY, "OY") +geompy.addToStudy(OZ, "OZ") +geompy.addToStudy(box, "box") +geompy.addToStudyInFather(box, x_0, "x=0") +geompy.addToStudyInFather(box, x_H, "x=H") +geompy.addToStudyInFather(box, y_0, "y=0") +geompy.addToStudyInFather(box, y_H, "y=H") +geompy.addToStudyInFather(box, z_0, "z=0") +geompy.addToStudyInFather(box, z_H, "z=H") +geompy.addToStudyInFather(box, all_edges, "all_edges") +geompy.addToStudyInFather(box, Auto_group_for_Sub_mesh_1, "Auto_group_for_Sub-mesh_1") + +### +### SMESH component +### + +smesh = smeshBuilder.New() + +Mesh_1 = smesh.Mesh(box, "Mesh_1") +NETGEN_1D_2D_3D = Mesh_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D) +NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters() +NETGEN_3D_Parameters_1.SetMaxSize(0.173205) +NETGEN_3D_Parameters_1.SetMinSize(0.00173205) +NETGEN_3D_Parameters_1.SetSecondOrder(0) +NETGEN_3D_Parameters_1.SetOptimize(1) +NETGEN_3D_Parameters_1.SetFineness(2) +NETGEN_3D_Parameters_1.SetChordalError(-1) +NETGEN_3D_Parameters_1.SetChordalErrorEnabled(0) +NETGEN_3D_Parameters_1.SetUseSurfaceCurvature(1) +NETGEN_3D_Parameters_1.SetFuseEdges(1) +NETGEN_3D_Parameters_1.SetQuadAllowed(1) +NETGEN_3D_Parameters_1.SetCheckChartBoundary(8) +x_0_1 = Mesh_1.GroupOnGeom(x_0, "x=0", SMESH.FACE) +x_H_1 = Mesh_1.GroupOnGeom(x_H, "x=H", SMESH.FACE) +y_0_1 = Mesh_1.GroupOnGeom(y_0, "y=0", SMESH.FACE) +y_H_1 = Mesh_1.GroupOnGeom(y_H, "y=H", SMESH.FACE) +z_0_1 = Mesh_1.GroupOnGeom(z_0, "z=0", SMESH.FACE) +z_H_1 = Mesh_1.GroupOnGeom(z_H, "z=H", SMESH.FACE) +all_edges_1 = Mesh_1.GroupOnGeom(all_edges, "all_edges", SMESH.EDGE) +Quadrangle_2D = Mesh_1.Quadrangle(algo=smeshBuilder.QUADRANGLE, geom=Auto_group_for_Sub_mesh_1) +Quadrangle_Parameters_1 = Quadrangle_2D.QuadrangleParameters(smeshBuilder.QUAD_QUADRANGLE_PREF, -1, [], []) +Regular_1D = Mesh_1.Segment(geom=all_edges) +Number_of_Segments_1 = Regular_1D.NumberOfSegments(10) +isDone = Mesh_1.Compute() +Mesh_1.CheckCompute() +[x_0_1, x_H_1, y_0_1, y_H_1, z_0_1, z_H_1, all_edges_1] = Mesh_1.GetGroups() +box_1 = Mesh_1.GroupOnGeom(box, "box", SMESH.VOLUME) +Sub_mesh_1 = Quadrangle_2D.GetSubMesh() +Sub_mesh_2 = Regular_1D.GetSubMesh() + + +## Set names of Mesh objects +smesh.SetName(Sub_mesh_1, "Sub-mesh_1") +smesh.SetName(box_1, "box") +smesh.SetName(NETGEN_3D_Parameters_1, "NETGEN 3D Parameters_1") +smesh.SetName(y_H_1, "y=H") +smesh.SetName(z_0_1, "z=0") +smesh.SetName(Mesh_1.GetMesh(), "Mesh_1") +smesh.SetName(Quadrangle_Parameters_1, "Quadrangle Parameters_1") +smesh.SetName(x_0_1, "x=0") +smesh.SetName(x_H_1, "x=H") +smesh.SetName(Sub_mesh_2, "Sub-mesh_2") +smesh.SetName(z_H_1, "z=H") +smesh.SetName(all_edges_1, "all_edges") +smesh.SetName(Regular_1D.GetAlgorithm(), "Regular_1D") +smesh.SetName(y_0_1, "y=0") +smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), "NETGEN 1D-2D-3D") +smesh.SetName(Number_of_Segments_1, "Number of Segments_1") +smesh.SetName(Quadrangle_2D.GetAlgorithm(), "Quadrangle_2D") diff --git a/examples/codeaster-cube/MESH/mesh1.med b/examples/codeaster-cube/MESH/mesh1.med new file mode 100644 index 0000000..0e4a27a Binary files /dev/null and b/examples/codeaster-cube/MESH/mesh1.med differ diff --git a/examples/codeaster-cube/MESH/mesh2.med b/examples/codeaster-cube/MESH/mesh2.med new file mode 100644 index 0000000..c3e1587 Binary files /dev/null and b/examples/codeaster-cube/MESH/mesh2.med differ diff --git a/examples/codeaster-cube/README.md b/examples/codeaster-cube/README.md new file mode 100644 index 0000000..ab95a40 --- /dev/null +++ b/examples/codeaster-cube/README.md @@ -0,0 +1,126 @@ +# Example: codeaster-cube + +A complete campaign showcasing the main csauto features with code_aster. + +## What this example does + +Simulates a cube under trixial traction. The DOE combines: + +- **2 values of imposed displacement along x, y or x** — 1.0e-3 and 0.0 +- **2 meshes** — `mesh1.med` and `mesh2.med` +- **1 additional case** - with non valid values for imposed displacements + +This produces **9 cases**. The template demonstrates: +- **value placeholders** — `{depl_x}`, `{depl_y}`, `{depl_z}`, `{mesh_name}` in both `export` and `comm`files +- **conditional way in command file** — with an `if` situation related to values of the DOE + +## Files + +``` +codeaster_cube/ +├── csauto.toml ← runtime configuration (Docker) +├── doe.csv ← 9 cases +├── TEMPLATE/ +│ ├── study.comm ← a code_aster command file +│ └── study.export ← a code_aster export file +└── MESH/ + ├── create_mesh.py ← a Salome script to get the MED files + ├── mesh1.med ← first mesh variant + └── mesh2.med ← second mesh variant +``` + +> **WARNING**: As the project currently stands, in an `export` file contained in `TEMPLATE`, the paths specified for the input meshes must be prefixed with the `MESH/` path, and the output files to be saved must be prefixed with the `RESU/` path. + +## Prerequisites + +- csauto installed (`csauto --version` works) +- A working code_aster runtime: Docker or Singularity image (native is coming) + +## 1. Configure your runtime + +A `csauto.toml` is already provided with a Docker configuration. Edit it to +match your environment, or replace it entirely. Examples: + +**Docker (provided):** +```toml +runtime = "docker" +docker_image = "simvia/code_aster:17.4.0" + +host = "127.0.0.1" +port = 8000 + +[api] +token = "your-secret-token" +``` + +**Singularity image:** +```toml +runtime = "singularity" +singularity_image = "/path/to/code_aster_17.4.0.sif" + +host = "127.0.0.1" +port = 8000 + +[api] +token = "your-secret-token" +``` + +## 2. Generate the case + +```bash +cd examples/codeaster_cube +csauto prepare doe.csv TEMPLATE RUNS +``` + +Expected output: +``` +RUNS/ +├── registry.json +├── case0001/ +│ ├── MESH/ ← selected mesh copied from single-case/MESH/ +│ ├── study.comm ← a copy of the code_aster command file with the input values +│ ├── study.comm ← a copy of the code_aster export file with the input values +│ └── doe_row.csv +├── case0002/ +│ └── ... +└── ... ← 9 cases total +``` + +## 3. Validate + +```bash +csauto doctor RUNS +``` + +All checks should print `[OK]`. Fix any `[FAIL]` before continuing. + +## 4. Open the web UI + +```bash +csauto serve RUNS --host 127.0.0.1 --port 8000 +``` + +Open [http://127.0.0.1:8000](http://127.0.0.1:8000). + +## 5. Launch from the UI + +In the **Status** panel: +1. Select one or more cases (`Ctrl+A` to select all) +2. Click **Run Selected** +3. Set **n** = 1 (MPI rank), **nt** = 1 (thread) +4. Click **Submit** + +Cases move to `RUNNING`. Once complete they show `DONE`. + +## Alternative: launch from the terminal + +```bash +csauto run RUNS --n 1 --nt 1 +``` + +## Explore the results + +From the web UI: +- **Residuals Plot** — not in the current version `#TODO` +- **Probes** — not in the current version `#TODO` +- **Log Tail** — live solver output diff --git a/examples/codeaster-cube/TEMPLATE/study.comm b/examples/codeaster-cube/TEMPLATE/study.comm new file mode 100644 index 0000000..bf30b35 --- /dev/null +++ b/examples/codeaster-cube/TEMPLATE/study.comm @@ -0,0 +1,72 @@ +DEBUT() + +imp_x = {depl_x} +imp_y = {depl_y} +imp_z = {depl_z} + +mesh = LIRE_MAILLAGE( + FORMAT='MED', + UNITE=20 +) + +model = AFFE_MODELE( + MAILLAGE=mesh, + AFFE=_F( + GROUP_MA='box', + PHENOMENE='MECANIQUE', + MODELISATION='3D' + ) +) + +mat = DEFI_MATERIAU( + ELAS=_F( + E=200.0e9, + NU=0.3 + ) +) + +matfield = AFFE_MATERIAU( + MODELE=model, + AFFE=_F( + GROUP_MA='box', + MATER=mat + ) +) + +bcds = AFFE_CHAR_MECA( + MODELE=model, + DDL_IMPO=( + _F(GROUP_MA='x=0', DX=0.0), + _F(GROUP_MA='y=0', DY=0.0), + _F(GROUP_MA='z=0', DZ=0.0) + ) +) + +if imp_x > 0.1 or imp_y > 0.1 or imp_z > 0.1: + raise +else: + loads = AFFE_CHAR_MECA( + MODELE=model, + DDL_IMPO=( + _F(GROUP_MA='x=H', DX=imp_x), + _F(GROUP_MA='y=H', DY=imp_y), + _F(GROUP_MA='z=H', DZ=imp_z) + ) + ) + +results = MECA_STATIQUE( + MODELE=model, + CHAM_MATER=matfield, + EXCIT=( + _F(CHARGE=bcds), + _F(CHARGE=loads) + ) +) + +IMPR_RESU( + FORMAT='MED', + UNITE=80, + RESU=_F(RESULTAT=results) +) + +FIN() \ No newline at end of file diff --git a/examples/codeaster-cube/TEMPLATE/study.export b/examples/codeaster-cube/TEMPLATE/study.export new file mode 100644 index 0000000..d4ac61b --- /dev/null +++ b/examples/codeaster-cube/TEMPLATE/study.export @@ -0,0 +1,18 @@ +# study.export +# This file was generated using VS Code Aster - https://github.com/simvia-tech/vs-code-aster +# VS Code Aster is an open-source project maintained by Simvia - https://simvia.tech + +# Simulation parameters +P time_limit 300 +P memory_limit 1024 +P ncpus 1 +P mpi_nbcpu 1 +P mpi_nbnoeud 1 + +# Input files +F comm study.comm D 1 +F mmed MESH/{mesh_name} D 20 + +# Output files +F rmed RESU/myresults.rmed R 80 +F mess output.mess R 6 diff --git a/examples/codeaster-cube/csauto.toml b/examples/codeaster-cube/csauto.toml new file mode 100644 index 0000000..72e9953 --- /dev/null +++ b/examples/codeaster-cube/csauto.toml @@ -0,0 +1,14 @@ +# Use docker (by default) + +# select code_aster solver and use docker +solver = "code_aster" +runtime = "docker" +docker_image = "simvia/code_aster:17.4.0" + +# Expose UI to all interfaces +host = "127.0.0.1" +port = 8000 + +# Required when host is not 127.0.0.1 or localhost +[api] +token = "your-secret-token" \ No newline at end of file diff --git a/examples/codeaster-cube/doe.csv b/examples/codeaster-cube/doe.csv new file mode 100644 index 0000000..7492303 --- /dev/null +++ b/examples/codeaster-cube/doe.csv @@ -0,0 +1,10 @@ +depl_x,depl_y,depl_z,mesh_name +1.0,0.0,0.0,mesh1.med +1.e-3,0.0,0.0,mesh1.med +0.0,1.e-3,0.0,mesh1.med +0.0,0.0,1.e-3,mesh1.med +1.e-3,1.e-3,1.e-3,mesh1.med +1.e-3,0.0,0.0,mesh2.med +0.0,1.e-3,0.0,mesh2.med +0.0,0.0,1.e-3,mesh2.med +1.e-3,1.e-3,1.e-3,mesh2.med \ No newline at end of file diff --git a/frontend/dist/_app/immutable/chunks/B87JTjoX.js b/frontend/dist/_app/immutable/chunks/B87JTjoX.js deleted file mode 100644 index 68958b4..0000000 --- a/frontend/dist/_app/immutable/chunks/B87JTjoX.js +++ /dev/null @@ -1 +0,0 @@ -var te=t=>{throw TypeError(t)};var je=(t,e,n)=>e.has(t)||te("Cannot "+n);var v=(t,e,n)=>(je(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?te("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{bf as Ut,bg as Ne,aK as T,o as I,$ as O,aJ as mt,bh as qe}from"./VJhVTb1A.js";import{o as ee}from"./Cz6m6K8p.js";const B=[];function Dt(t,e=Ut){let n=null;const a=new Set;function r(o){if(Ne(t,o)&&(t=o,n)){const l=!B.length;for(const c of a)c[1](),B.push(c,t);if(l){for(let c=0;c{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Vt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Kt{constructor(e,n){this.status=e,this.location=n}}class Bt extends Error{constructor(e,n,a){super(a),this.status=e,this.text=n}}new URL("sveltekit-internal://");function De(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ve(t){return t.split("%25").map(decodeURI).join("%25")}function Ke(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Tt({href:t}){return t.split("#")[0]}function Be(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function Me(t){const e=atob(t),n=new Uint8Array(e.length);for(let a=0;a((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&H.delete(Mt(t)),ze(t,e));const H=new Map;function Fe(t,e){const n=Mt(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&H.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Me(r)),Promise.resolve(new Response(r,i))}return window.fetch(t,e)}function Ge(t,e,n){if(H.size>0){const a=Mt(t,n),r=H.get(a);if(r){if(performance.now(){const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return e.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return It(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return It(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=We.exec(l),[,u,w,p,f]=d;return e.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return It(l)}).join("")}).join("")}/?$`),params:e}}function Ye(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function He(t){return t.slice(1).split("/").filter(Ye)}function Xe(t,e,n){const a={},r=t.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;od).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=e[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function It(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Qe({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Je(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return Xe(m,w,a)},errors:[1,...d||[]].map(f=>t[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,t[o]]}function s(o){return o===void 0?o:[r.has(o),t[o]]}}function ge(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function ne(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var fe;const A=((fe=globalThis.__sveltekit_lwkxbu)==null?void 0:fe.base)??"";var ue;const Ze=((ue=globalThis.__sveltekit_lwkxbu)==null?void 0:ue.assets)??A??"",tn="1784298934448",me="sveltekit:snapshot",_e="sveltekit:scroll",we="sveltekit:states",en="sveltekit:pageurl",z="sveltekit:history",Q="sveltekit:navigation",q={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},zt=location.origin;function ve(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function V(){return{x:pageXOffset,y:pageYOffset}}function M(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const re={...q,"":q.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function be(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function $t(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,i=!a||!!r||Rt(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===zt&&t.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function _t(t){let e=null,n=null,a=null,r=null,i=null,s=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=M(o,"preload-code")),r===null&&(r=M(o,"preload-data")),e===null&&(e=M(o,"keepfocus")),n===null&&(n=M(o,"noscroll")),i===null&&(i=M(o,"reload")),s===null&&(s=M(o,"replacestate")),o=ye(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:re[a??"off"],preload_data:re[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(i),replace_state:l(s)}}function ae(t){const e=Dt(t);let n=!0;function a(){n=!0,e.update(s=>s)}function r(s){n=!1,e.set(s)}function i(s){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const ke={v:()=>{}};function nn(){const{set:t,subscribe:e}=Dt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Ze}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==tn;return s&&(t(!0),ke.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:e,check:a}}function Rt(t,e,n){return t.origin!==zt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function On(t){}const Se=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Se];const rn=new Set([...Se]);[...rn];function an(t){return t.filter(e=>e!=null)}function Ft(t){return t instanceof Vt||t instanceof Bt?t.status:500}function on(t){return t instanceof Bt?t.text:"Internal Error"}let R,Z,Ot;const sn=ee.toString().includes("$$")||/function \w+\(\) \{\}/.test(ee.toString()),oe="a:";var at,ot,st,it,lt,ct,ft,ut,de,dt,he,ht,pe;sn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(oe)},Z={current:null},Ot={current:!1}):(R=new(de=class{constructor(){U(this,at,T({}));U(this,ot,T(null));U(this,st,T(null));U(this,it,T({}));U(this,lt,T({id:null}));U(this,ct,T({}));U(this,ft,T(-1));U(this,ut,T(new URL(oe)))}get data(){return I(v(this,at))}set data(e){O(v(this,at),e)}get form(){return I(v(this,ot))}set form(e){O(v(this,ot),e)}get error(){return I(v(this,st))}set error(e){O(v(this,st),e)}get params(){return I(v(this,it))}set params(e){O(v(this,it),e)}get route(){return I(v(this,lt))}set route(e){O(v(this,lt),e)}get state(){return I(v(this,ct))}set state(e){O(v(this,ct),e)}get status(){return I(v(this,ft))}set status(e){O(v(this,ft),e)}get url(){return I(v(this,ut))}set url(e){O(v(this,ut),e)}},at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,de),Z=new(he=class{constructor(){U(this,dt,T(null))}get current(){return I(v(this,dt))}set current(e){O(v(this,dt),e)}},dt=new WeakMap,he),Ot=new(pe=class{constructor(){U(this,ht,T(!1))}get current(){return I(v(this,ht))}set current(e){O(v(this,ht),e)}},ht=new WeakMap,pe),ke.v=()=>Ot.current=!0);function ln(t){Object.assign(R,t)}const cn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const j=ge(_e)??{},tt=ge(me)??{},C={url:ae({}),page:ae({}),navigating:Dt(null),updated:nn()};function Gt(t){j[t]=V()}function fn(t,e){let n=t+1;for(;j[n];)delete j[n],n+=1;for(n=e+1;tt[n];)delete tt[n],n+=1}function et(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function Ee(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(A||"/");t&&await t.update()}}function se(){}let Wt,Ct,wt,P,jt,S;const vt=[],yt=[];let y=null;function Nt(){var t;(t=y==null?void 0:y.fork)==null||t.then(e=>e==null?void 0:e.discard()),y=null}const gt=new Map,Re=new Set,un=new Set,X=new Set;let _={branch:[],error:null,url:null},xe=!1,bt=!1,ie=!0,nt=!1,Y=!1,Le=!1,Jt=!1,Ae,k,L,D;const kt=new Set,le=new Map;async function jn(t,e,n){var i,s,o,l,c;(i=globalThis.__sveltekit_lwkxbu)!=null&&i.data&&globalThis.__sveltekit_lwkxbu.data,document.URL!==location.href&&(location.href=location.href),S=t,await((o=(s=t.hooks).init)==null?void 0:o.call(s)),Wt=Qe(t),P=document.documentElement,jt=e,Ct=t.nodes[0],wt=t.nodes[1],Ct(),wt(),k=(l=history.state)==null?void 0:l[z],L=(c=history.state)==null?void 0:c[Q],k||(k=L=Date.now(),history.replaceState({...history.state,[z]:k,[Q]:L},""));const a=j[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Rn(jt,n)):(await F({type:"enter",url:ve(S.hash?An(new URL(location.href)):location.href),replace_state:!0}),r()),En()}function dn(){vt.length=0,Jt=!1}function Ue(t){yt.some(e=>e==null?void 0:e.snapshot)&&(tt[t]=yt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Te(t){var e;(e=tt[t])==null||e.forEach((n,a)=>{var r,i;(i=(r=yt[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ce(){Gt(k),ne(_e,j),Ue(L),ne(me,tt)}async function hn(t,e,n,a){let r;e.invalidateAll&&Nt(),await F({type:"goto",url:ve(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Jt=!0,r=[...le.keys()]),e.invalidate&&e.invalidate.forEach(Sn)}}),e.invalidateAll&&mt().then(mt).then(()=>{le.forEach(({resource:i},s)=>{var o;r!=null&&r.includes(s)&&((o=i.refresh)==null||o.call(i))})})}async function pn(t){if(t.id!==(y==null?void 0:y.id)){Nt();const e={};kt.add(e),y={id:t.id,token:e,promise:Oe({...t,preload:e}).then(n=>(kt.delete(e),n.type==="loaded"&&n.state.error&&Nt(),n)),fork:null}}return y.promise}async function Pt(t){var n;const e=(n=await xt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Ie(t,e,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...t.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Ae=new S.root({target:e,props:{...t.props,stores:C,components:yt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Te(L),n){const s={from:null,to:{...a,scroll:j[k]??V()},willUnload:!1,type:"enter",complete:Promise.resolve()};X.forEach(o=>o(s))}bt=!0}async function St({url:t,params:e,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(A&&(t.pathname===A||t.pathname===A+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);t.pathname=De(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:i,route:s},props:{constructors:an(n).map(f=>f.node.component),page:Zt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;fo(new URL(s))))return!0;return!1}function Ht(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),i=e.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function wn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:Zt(R),constructors:[]}}}async function Oe({id:t,invalidating:e,url:n,params:a,route:r,preload:i}){if((y==null?void 0:y.id)===t)return kt.delete(y.token),y.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(()=>{})),c.forEach(h=>h==null?void 0:h[1]().catch(()=>{}));const d=_.url?t!==Et(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=_n(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!mn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Yt({loader:h[1],url:n,params:a,route:r,parent:async()=>{var pt;const N={};for(let K=0;K{});const m=[];for(let h=0;hPromise.resolve({}),server_data_node:Ht(i)}),o={node:await wt(),loader:wt,universal:null,server:null,data:null};return St({url:n,params:r,branch:[s,o],status:t,error:e,errors:[],route:null})}catch(s){if(s instanceof Kt)return hn(new URL(s.location,location.href),{},0);throw s}}async function yn(t){const e=t.href;if(gt.has(e))return gt.get(e);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(t),fetch:async(i,s)=>gn(i,s,t).promise})??t;if(typeof r=="string"){const i=new URL(t);S.hash?i.hash=r:i.pathname=r,r=i}return r})();gt.set(e,a),n=await a}catch{gt.delete(e);return}return n}async function xt(t,e){if(t&&!Rt(t,A,S.hash)){const n=await yn(t);if(!n)return;const a=bn(n);for(const r of Wt){const i=r.exec(a);if(i)return{id:Et(t),invalidating:e,route:r,params:Ke(i),url:t}}}}function bn(t){return Ve(S.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(A.length))||"/"}function Et(t){return(S.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Pe({url:t,type:e,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=Qt(_,n,t,e,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return nt||Re.forEach(c=>c(l)),s?null:o}async function F({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=se,block:d=se,event:u}){var K;const w=D;D=l;const p=await xt(e,!1),f=t==="enter"?Qt(_,p,e,t):Pe({url:e,type:t,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),D===l&&(D=w);return}const m=k,h=L;c(),nt=!0,bt&&f.navigation.type!=="enter"&&C.navigating.set(Z.current=f.navigation);let g=p&&await Oe(p);if(!g){if(Rt(e,A,S.hash))return await et(e,i);g=await $e(e,{id:null},await rt(new Bt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,i)}if(e=(p==null?void 0:p.url)||e,D!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:t,url:new URL(g.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await Xt({status:500,error:await rt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await Ee(),await et(e,i));if(dn(),Gt(m),Ue(h),g.props.page.url.pathname!==e.pathname&&(e.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,G={[z]:k+=E,[Q]:L+=E,[we]:s};(i?history.replaceState:history.pushState).call(history,G,"",e),i||fn(k,L)}const b=p&&(y==null?void 0:y.id)===p.id?y.fork:null;y=null,g.props.page.state=s;let x;if(bt){const E=(await Promise.all(Array.from(un,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(At=>{X.delete(At)})};E.push(W),E.forEach(At=>{X.add(At)})}const G=f.navigation.to;_={...g.state,nav:{params:G.params,route:G.route,url:G.url}},g.props.page&&(g.props.page.url=e);const Lt=b&&await b;Lt?x=Lt.commit():(J=null,Ae.$set(g.props),J&&Object.assign(g.props.page,J),ln(g.props.page),x=(K=qe)==null?void 0:K()),Le=!0}else await Ie(g,jt,!1);const{activeElement:$}=document;await x,await mt(),await mt();let N=null;if(ie){const E=n?n.scroll:r?V():null;E?scrollTo(E.x,E.y):(N=e.hash&&document.getElementById(Ce(e)))?N.scrollIntoView():scrollTo(0,0)}const pt=document.activeElement!==$&&document.activeElement!==document.body;!a&&!pt&&Ln(e,!N),ie=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),nt=!1,t==="popstate"&&Te(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=V()),X.forEach(E=>E(f.navigation)),C.navigating.set(Z.current=null)}async function $e(t,e,n,a,r){return t.origin===zt&&t.pathname===location.pathname&&!xe?await Xt({status:a,error:n,url:t,route:e}):await et(t,r)}function kn(){let t,e={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(t),t=setTimeout(()=>{i(l,q.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],q.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Pt(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=be(o,P),d=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=$t(c,A,S.hash);if(w||p)return;const f=_t(c),m=u&&Et(_.url)===Et(u);if(!(f.reload||m))if(l<=f.preload_data){e={element:c,href:c.href},n=q.tap;const h=await xt(u,!1);if(!h)return;pn(h)}else l<=f.preload_code&&(e={element:c,href:c.href},n=l,Pt(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=$t(o,A,S.hash);if(c||d)continue;const u=_t(o);u.reload||(u.preload_code===q.viewport&&r.observe(o),u.preload_code===q.eager&&Pt(l))}}X.add(s),s()}function rt(t,e){if(t instanceof Vt)return t.body;const n=Ft(t),a=on(t);return S.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function Sn(t){if(typeof t=="function")vt.push(t);else{const{href:e}=new URL(t,location.href);vt.push(n=>n.href===e)}}function En(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ce(),!nt){const r=Qt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Re.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||kn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=be(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=$t(a,A,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=_t(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Tt(location);if(i||l.reload&&(!w||!u)){Pe({url:r,type:"link",event:n})?nt=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Gt(k),t(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await F({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Rt(o,A,!1))return;const l=n.target,c=_t(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),F({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!qt){if((a=n.state)!=null&&a[z]){const r=n.state[z];if(D={},r===k)return;const i=j[r],s=n.state[we]??{},o=new URL(n.state[en]??location.href),l=n.state[Q],c=_.url?Tt(location)===Tt(_.url):!1;if(l===L&&(Le||c)){s!==R.state&&(R.state=s),t(o),j[k]=V(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await F({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:D,event:n})}else if(!Y){const r=new URL(location.href);t(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[z]:++k,[Q]:L},"",location.href))});for(const n of document.querySelectorAll("link"))cn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(Z.current=null)});function t(n){_.url=R.url=n,C.page.set(Zt(R)),C.page.notify()}}async function Rn(t,{status:e=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){xe=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await xt(c,!1)||{}),d=Wt.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=xn(g.uses)),Yt({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x{const o=history.state;qt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",t),e&&scrollTo(i,s),qt=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s{if(r.rangeCount===i.length){for(let s=0;s{i=u,s=w});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:V()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((d=e==null?void 0:e.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:o},fulfil:i,reject:s}}function Zt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function An(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Ce(t){let e;if(S.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{jn as a,On as l,R as p,C as s}; diff --git a/frontend/dist/_app/immutable/chunks/eeJ2SmtH.js b/frontend/dist/_app/immutable/chunks/eeJ2SmtH.js new file mode 100644 index 0000000..1980122 --- /dev/null +++ b/frontend/dist/_app/immutable/chunks/eeJ2SmtH.js @@ -0,0 +1 @@ +var te=t=>{throw TypeError(t)};var je=(t,e,n)=>e.has(t)||te("Cannot "+n);var v=(t,e,n)=>(je(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?te("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{bf as Ut,bg as Ne,aK as T,o as I,$ as O,aJ as mt,bh as qe}from"./VJhVTb1A.js";import{o as ee}from"./Cz6m6K8p.js";const B=[];function Dt(t,e=Ut){let n=null;const a=new Set;function r(o){if(Ne(t,o)&&(t=o,n)){const l=!B.length;for(const c of a)c[1](),B.push(c,t);if(l){for(let c=0;c{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Vt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Kt{constructor(e,n){this.status=e,this.location=n}}class Bt extends Error{constructor(e,n,a){super(a),this.status=e,this.text=n}}new URL("sveltekit-internal://");function De(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ve(t){return t.split("%25").map(decodeURI).join("%25")}function Ke(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Tt({href:t}){return t.split("#")[0]}function Be(...t){let e=5381;for(const n of t)if(typeof n=="string"){let a=n.length;for(;a;)e=e*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)e=e*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function Me(t){const e=atob(t),n=new Uint8Array(e.length);for(let a=0;a((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&H.delete(Mt(t)),ze(t,e));const H=new Map;function Fe(t,e){const n=Mt(t,e),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&H.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Me(r)),Promise.resolve(new Response(r,i))}return window.fetch(t,e)}function Ge(t,e,n){if(H.size>0){const a=Mt(t,n),r=H.get(a);if(r){if(performance.now(){const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return e.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return e.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return It(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return It(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=We.exec(l),[,u,w,p,f]=d;return e.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return It(l)}).join("")}).join("")}/?$`),params:e}}function Ye(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function He(t){return t.slice(1).split("/").filter(Ye)}function Xe(t,e,n){const a={},r=t.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;od).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=e[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function It(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Qe({nodes:t,server_loads:e,dictionary:n,matchers:a}){const r=new Set(e);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Je(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return Xe(m,w,a)},errors:[1,...d||[]].map(f=>t[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,t[o]]}function s(o){return o===void 0?o:[r.has(o),t[o]]}}function ge(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function ne(t,e,n=JSON.stringify){const a=n(e);try{sessionStorage[t]=a}catch{}}var fe;const A=((fe=globalThis.__sveltekit_134ve28)==null?void 0:fe.base)??"";var ue;const Ze=((ue=globalThis.__sveltekit_134ve28)==null?void 0:ue.assets)??A??"",tn="1785259782195",me="sveltekit:snapshot",_e="sveltekit:scroll",we="sveltekit:states",en="sveltekit:pageurl",z="sveltekit:history",Q="sveltekit:navigation",q={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},zt=location.origin;function ve(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function V(){return{x:pageXOffset,y:pageYOffset}}function M(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const re={...q,"":q.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function be(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function $t(t,e,n){let a;try{if(a=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,i=!a||!!r||Rt(a,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===zt&&t.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function _t(t){let e=null,n=null,a=null,r=null,i=null,s=null,o=t;for(;o&&o!==document.documentElement;)a===null&&(a=M(o,"preload-code")),r===null&&(r=M(o,"preload-data")),e===null&&(e=M(o,"keepfocus")),n===null&&(n=M(o,"noscroll")),i===null&&(i=M(o,"reload")),s===null&&(s=M(o,"replacestate")),o=ye(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:re[a??"off"],preload_data:re[r??"off"],keepfocus:l(e),noscroll:l(n),reload:l(i),replace_state:l(s)}}function ae(t){const e=Dt(t);let n=!0;function a(){n=!0,e.update(s=>s)}function r(s){n=!1,e.set(s)}function i(s){let o;return e.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const ke={v:()=>{}};function nn(){const{set:t,subscribe:e}=Dt(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Ze}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==tn;return s&&(t(!0),ke.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:e,check:a}}function Rt(t,e,n){return t.origin!==zt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function On(t){}const Se=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Se];const rn=new Set([...Se]);[...rn];function an(t){return t.filter(e=>e!=null)}function Ft(t){return t instanceof Vt||t instanceof Bt?t.status:500}function on(t){return t instanceof Bt?t.text:"Internal Error"}let R,Z,Ot;const sn=ee.toString().includes("$$")||/function \w+\(\) \{\}/.test(ee.toString()),oe="a:";var at,ot,st,it,lt,ct,ft,ut,de,dt,he,ht,pe;sn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(oe)},Z={current:null},Ot={current:!1}):(R=new(de=class{constructor(){U(this,at,T({}));U(this,ot,T(null));U(this,st,T(null));U(this,it,T({}));U(this,lt,T({id:null}));U(this,ct,T({}));U(this,ft,T(-1));U(this,ut,T(new URL(oe)))}get data(){return I(v(this,at))}set data(e){O(v(this,at),e)}get form(){return I(v(this,ot))}set form(e){O(v(this,ot),e)}get error(){return I(v(this,st))}set error(e){O(v(this,st),e)}get params(){return I(v(this,it))}set params(e){O(v(this,it),e)}get route(){return I(v(this,lt))}set route(e){O(v(this,lt),e)}get state(){return I(v(this,ct))}set state(e){O(v(this,ct),e)}get status(){return I(v(this,ft))}set status(e){O(v(this,ft),e)}get url(){return I(v(this,ut))}set url(e){O(v(this,ut),e)}},at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ct=new WeakMap,ft=new WeakMap,ut=new WeakMap,de),Z=new(he=class{constructor(){U(this,dt,T(null))}get current(){return I(v(this,dt))}set current(e){O(v(this,dt),e)}},dt=new WeakMap,he),Ot=new(pe=class{constructor(){U(this,ht,T(!1))}get current(){return I(v(this,ht))}set current(e){O(v(this,ht),e)}},ht=new WeakMap,pe),ke.v=()=>Ot.current=!0);function ln(t){Object.assign(R,t)}const cn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const j=ge(_e)??{},tt=ge(me)??{},C={url:ae({}),page:ae({}),navigating:Dt(null),updated:nn()};function Gt(t){j[t]=V()}function fn(t,e){let n=t+1;for(;j[n];)delete j[n],n+=1;for(n=e+1;tt[n];)delete tt[n],n+=1}function et(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function Ee(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(A||"/");t&&await t.update()}}function se(){}let Wt,Ct,wt,P,jt,S;const vt=[],yt=[];let y=null;function Nt(){var t;(t=y==null?void 0:y.fork)==null||t.then(e=>e==null?void 0:e.discard()),y=null}const gt=new Map,Re=new Set,un=new Set,X=new Set;let _={branch:[],error:null,url:null},xe=!1,bt=!1,ie=!0,nt=!1,Y=!1,Le=!1,Jt=!1,Ae,k,L,D;const kt=new Set,le=new Map;async function jn(t,e,n){var i,s,o,l,c;(i=globalThis.__sveltekit_134ve28)!=null&&i.data&&globalThis.__sveltekit_134ve28.data,document.URL!==location.href&&(location.href=location.href),S=t,await((o=(s=t.hooks).init)==null?void 0:o.call(s)),Wt=Qe(t),P=document.documentElement,jt=e,Ct=t.nodes[0],wt=t.nodes[1],Ct(),wt(),k=(l=history.state)==null?void 0:l[z],L=(c=history.state)==null?void 0:c[Q],k||(k=L=Date.now(),history.replaceState({...history.state,[z]:k,[Q]:L},""));const a=j[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Rn(jt,n)):(await F({type:"enter",url:ve(S.hash?An(new URL(location.href)):location.href),replace_state:!0}),r()),En()}function dn(){vt.length=0,Jt=!1}function Ue(t){yt.some(e=>e==null?void 0:e.snapshot)&&(tt[t]=yt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Te(t){var e;(e=tt[t])==null||e.forEach((n,a)=>{var r,i;(i=(r=yt[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ce(){Gt(k),ne(_e,j),Ue(L),ne(me,tt)}async function hn(t,e,n,a){let r;e.invalidateAll&&Nt(),await F({type:"goto",url:ve(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:a,accept:()=>{e.invalidateAll&&(Jt=!0,r=[...le.keys()]),e.invalidate&&e.invalidate.forEach(Sn)}}),e.invalidateAll&&mt().then(mt).then(()=>{le.forEach(({resource:i},s)=>{var o;r!=null&&r.includes(s)&&((o=i.refresh)==null||o.call(i))})})}async function pn(t){if(t.id!==(y==null?void 0:y.id)){Nt();const e={};kt.add(e),y={id:t.id,token:e,promise:Oe({...t,preload:e}).then(n=>(kt.delete(e),n.type==="loaded"&&n.state.error&&Nt(),n)),fork:null}}return y.promise}async function Pt(t){var n;const e=(n=await xt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].filter(Boolean).map(a=>a[1]()))}async function Ie(t,e,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...t.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Ae=new S.root({target:e,props:{...t.props,stores:C,components:yt},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Te(L),n){const s={from:null,to:{...a,scroll:j[k]??V()},willUnload:!1,type:"enter",complete:Promise.resolve()};X.forEach(o=>o(s))}bt=!0}async function St({url:t,params:e,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(A&&(t.pathname===A||t.pathname===A+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);t.pathname=De(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:i,route:s},props:{constructors:an(n).map(f=>f.node.component),page:Zt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;fo(new URL(s))))return!0;return!1}function Ht(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function _n(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const a of n){const r=t.searchParams.getAll(a),i=e.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function wn({error:t,url:e,route:n,params:a}){return{type:"loaded",state:{error:t,url:e,route:n,params:a,branch:[]},props:{page:Zt(R),constructors:[]}}}async function Oe({id:t,invalidating:e,url:n,params:a,route:r,preload:i}){if((y==null?void 0:y.id)===t)return kt.delete(y.token),y.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(()=>{})),c.forEach(h=>h==null?void 0:h[1]().catch(()=>{}));const d=_.url?t!==Et(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=_n(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!mn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Yt({loader:h[1],url:n,params:a,route:r,parent:async()=>{var pt;const N={};for(let K=0;K{});const m=[];for(let h=0;hPromise.resolve({}),server_data_node:Ht(i)}),o={node:await wt(),loader:wt,universal:null,server:null,data:null};return St({url:n,params:r,branch:[s,o],status:t,error:e,errors:[],route:null})}catch(s){if(s instanceof Kt)return hn(new URL(s.location,location.href),{},0);throw s}}async function yn(t){const e=t.href;if(gt.has(e))return gt.get(e);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(t),fetch:async(i,s)=>gn(i,s,t).promise})??t;if(typeof r=="string"){const i=new URL(t);S.hash?i.hash=r:i.pathname=r,r=i}return r})();gt.set(e,a),n=await a}catch{gt.delete(e);return}return n}async function xt(t,e){if(t&&!Rt(t,A,S.hash)){const n=await yn(t);if(!n)return;const a=bn(n);for(const r of Wt){const i=r.exec(a);if(i)return{id:Et(t),invalidating:e,route:r,params:Ke(i),url:t}}}}function bn(t){return Ve(S.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(A.length))||"/"}function Et(t){return(S.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Pe({url:t,type:e,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=Qt(_,n,t,e,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return nt||Re.forEach(c=>c(l)),s?null:o}async function F({type:t,url:e,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=se,block:d=se,event:u}){var K;const w=D;D=l;const p=await xt(e,!1),f=t==="enter"?Qt(_,p,e,t):Pe({url:e,type:t,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),D===l&&(D=w);return}const m=k,h=L;c(),nt=!0,bt&&f.navigation.type!=="enter"&&C.navigating.set(Z.current=f.navigation);let g=p&&await Oe(p);if(!g){if(Rt(e,A,S.hash))return await et(e,i);g=await $e(e,{id:null},await rt(new Bt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,i)}if(e=(p==null?void 0:p.url)||e,D!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:t,url:new URL(g.location,e),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await Xt({status:500,error:await rt(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await Ee(),await et(e,i));if(dn(),Gt(m),Ue(h),g.props.page.url.pathname!==e.pathname&&(e.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,G={[z]:k+=E,[Q]:L+=E,[we]:s};(i?history.replaceState:history.pushState).call(history,G,"",e),i||fn(k,L)}const b=p&&(y==null?void 0:y.id)===p.id?y.fork:null;y=null,g.props.page.state=s;let x;if(bt){const E=(await Promise.all(Array.from(un,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(At=>{X.delete(At)})};E.push(W),E.forEach(At=>{X.add(At)})}const G=f.navigation.to;_={...g.state,nav:{params:G.params,route:G.route,url:G.url}},g.props.page&&(g.props.page.url=e);const Lt=b&&await b;Lt?x=Lt.commit():(J=null,Ae.$set(g.props),J&&Object.assign(g.props.page,J),ln(g.props.page),x=(K=qe)==null?void 0:K()),Le=!0}else await Ie(g,jt,!1);const{activeElement:$}=document;await x,await mt(),await mt();let N=null;if(ie){const E=n?n.scroll:r?V():null;E?scrollTo(E.x,E.y):(N=e.hash&&document.getElementById(Ce(e)))?N.scrollIntoView():scrollTo(0,0)}const pt=document.activeElement!==$&&document.activeElement!==document.body;!a&&!pt&&Ln(e,!N),ie=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),nt=!1,t==="popstate"&&Te(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=V()),X.forEach(E=>E(f.navigation)),C.navigating.set(Z.current=null)}async function $e(t,e,n,a,r){return t.origin===zt&&t.pathname===location.pathname&&!xe?await Xt({status:a,error:n,url:t,route:e}):await et(t,r)}function kn(){let t,e={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(t),t=setTimeout(()=>{i(l,q.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],q.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Pt(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=be(o,P),d=c===e.element&&(c==null?void 0:c.href)===e.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=$t(c,A,S.hash);if(w||p)return;const f=_t(c),m=u&&Et(_.url)===Et(u);if(!(f.reload||m))if(l<=f.preload_data){e={element:c,href:c.href},n=q.tap;const h=await xt(u,!1);if(!h)return;pn(h)}else l<=f.preload_code&&(e={element:c,href:c.href},n=l,Pt(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=$t(o,A,S.hash);if(c||d)continue;const u=_t(o);u.reload||(u.preload_code===q.viewport&&r.observe(o),u.preload_code===q.eager&&Pt(l))}}X.add(s),s()}function rt(t,e){if(t instanceof Vt)return t.body;const n=Ft(t),a=on(t);return S.hooks.handleError({error:t,event:e,status:n,message:a})??{message:a}}function Sn(t){if(typeof t=="function")vt.push(t);else{const{href:e}=new URL(t,location.href);vt.push(n=>n.href===e)}}function En(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ce(),!nt){const r=Qt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Re.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||kn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=be(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=$t(a,A,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=_t(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Tt(location);if(i||l.reload&&(!w||!u)){Pe({url:r,type:"link",event:n})?nt=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Gt(k),t(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await F({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Rt(o,A,!1))return;const l=n.target,c=_t(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),F({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!qt){if((a=n.state)!=null&&a[z]){const r=n.state[z];if(D={},r===k)return;const i=j[r],s=n.state[we]??{},o=new URL(n.state[en]??location.href),l=n.state[Q],c=_.url?Tt(location)===Tt(_.url):!1;if(l===L&&(Le||c)){s!==R.state&&(R.state=s),t(o),j[k]=V(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await F({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:D,event:n})}else if(!Y){const r=new URL(location.href);t(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[z]:++k,[Q]:L},"",location.href))});for(const n of document.querySelectorAll("link"))cn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(Z.current=null)});function t(n){_.url=R.url=n,C.page.set(Zt(R)),C.page.notify()}}async function Rn(t,{status:e=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){xe=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await xt(c,!1)||{}),d=Wt.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=xn(g.uses)),Yt({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x{const o=history.state;qt=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",t),e&&scrollTo(i,s),qt=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s{if(r.rangeCount===i.length){for(let s=0;s{i=u,s=w});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:V()},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((d=e==null?void 0:e.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!e,type:a,complete:o},fulfil:i,reject:s}}function Zt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function An(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Ce(t){let e;if(S.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{jn as a,On as l,R as p,C as s}; diff --git a/frontend/dist/_app/immutable/entry/app.CFH18tUV.js b/frontend/dist/_app/immutable/entry/app.BcimqTdT.js similarity index 94% rename from frontend/dist/_app/immutable/entry/app.CFH18tUV.js rename to frontend/dist/_app/immutable/entry/app.BcimqTdT.js index 16b7090..df3cf23 100644 --- a/frontend/dist/_app/immutable/entry/app.CFH18tUV.js +++ b/frontend/dist/_app/immutable/entry/app.BcimqTdT.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DecrOZwe.js","../chunks/C14P8jaG.js","../chunks/VJhVTb1A.js","../chunks/CiUbu-1F.js","../chunks/U5yjBaoU.js","../nodes/1.CrjZXtQm.js","../chunks/DmjnTBOd.js","../chunks/BeON-0X8.js","../chunks/B87JTjoX.js","../chunks/Cz6m6K8p.js","../nodes/2.VYoLrj39.js","../chunks/zf4GFcxs.js","../assets/2.DKE6ochW.css"])))=>i.map(i=>d[i]); -var H=t=>{throw TypeError(t)};var J=(t,e,s)=>e.has(t)||H("Cannot "+s);var l=(t,e,s)=>(J(t,e,"read from private field"),s?s.call(t):e.get(t)),S=(t,e,s)=>e.has(t)?H("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),C=(t,e,s,o)=>(J(t,e,"write to private field"),o?o.call(t,s):e.set(t,s),s);import{$ as L,ab as X,o as g,aH as Z,au as M,aI as N,x as $,u as ee,j as te,aJ as re,g as j,C as se,z as ae,aK as A,A as ne,B as oe,aL as B,y as ce}from"../chunks/VJhVTb1A.js";import{h as ie,m as le,u as ue,s as fe}from"../chunks/BeON-0X8.js";import{a as w,c as I,f as W,t as me}from"../chunks/C14P8jaG.js";import{o as de}from"../chunks/Cz6m6K8p.js";import{p as T,i as D,c as V,b as q}from"../chunks/zf4GFcxs.js";function he(t){return class extends _e{constructor(e){super({component:t,...e})}}}var y,m;class _e{constructor(e){S(this,y);S(this,m);var _;var s=new Map,o=(a,r)=>{var c=N(r,!1,!1);return s.set(a,c),c};const u=new Proxy({...e.props||{},$$events:{}},{get(a,r){return g(s.get(r)??o(r,Reflect.get(a,r)))},has(a,r){return r===X?!0:(g(s.get(r)??o(r,Reflect.get(a,r))),Reflect.has(a,r))},set(a,r,c){return L(s.get(r)??o(r,c),c),Reflect.set(a,r,c)}});C(this,m,(e.hydrate?ie:le)(e.component,{target:e.target,anchor:e.anchor,props:u,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((_=e==null?void 0:e.props)!=null&&_.$$host)||e.sync===!1)&&Z(),C(this,y,u.$$events);for(const a of Object.keys(l(this,m)))a==="$set"||a==="$destroy"||a==="$on"||M(this,a,{get(){return l(this,m)[a]},set(r){l(this,m)[a]=r},enumerable:!0});l(this,m).$set=a=>{Object.assign(u,a)},l(this,m).$destroy=()=>{ue(l(this,m))}}$set(e){l(this,m).$set(e)}$on(e,s){l(this,y)[e]=l(this,y)[e]||[];const o=(...u)=>s.call(this,...u);return l(this,y)[e].push(o),()=>{l(this,y)[e]=l(this,y)[e].filter(u=>u!==o)}}$destroy(){l(this,m).$destroy()}}y=new WeakMap,m=new WeakMap;const ve="modulepreload",ge=function(t,e){return new URL(t,e).href},K={},U=function(e,s,o){let u=Promise.resolve();if(s&&s.length>0){let a=function(i){return Promise.all(i.map(v=>Promise.resolve(v).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const r=document.getElementsByTagName("link"),c=document.querySelector("meta[property=csp-nonce]"),k=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));u=a(s.map(i=>{if(i=ge(i,o),i in K)return;K[i]=!0;const v=i.endsWith(".css"),b=v?'[rel="stylesheet"]':"";if(!!o)for(let n=r.length-1;n>=0;n--){const f=r[n];if(f.href===i&&(!v||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${b}`))return;const h=document.createElement("link");if(h.rel=v?"stylesheet":ve,v||(h.as="script"),h.crossOrigin="",h.href=i,k&&h.setAttribute("nonce",k),document.head.appendChild(h),v)return new Promise((n,f)=>{h.addEventListener("load",n),h.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${i}`)))})}))}function _(a){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=a,window.dispatchEvent(r),!r.defaultPrevented)throw a}return u.then(a=>{for(const r of a||[])r.status==="rejected"&&_(r.reason);return e().catch(_)})},Se={};var ye=W('
'),be=W(" ",1);function Ee(t,e){$(e,!0);let s=T(e,"components",23,()=>[]),o=T(e,"data_0",3,null),u=T(e,"data_1",3,null);ee(()=>e.stores.page.set(e.page)),te(()=>{e.stores,e.page,e.constructors,s(),e.form,o(),u(),e.stores.page.notify()});let _=A(!1),a=A(!1),r=A(null);de(()=>{const n=e.stores.page.subscribe(()=>{g(_)&&(L(a,!0),re().then(()=>{L(r,document.title||"untitled page",!0)}))});return L(_,!0),n});const c=B(()=>e.constructors[1]);var k=be(),i=j(k);{var v=n=>{const f=B(()=>e.constructors[0]);var E=I(),x=j(E);V(x,()=>g(f),(P,R)=>{q(R(P,{get data(){return o()},get form(){return e.form},get params(){return e.page.params},children:(d,Re)=>{var G=I(),p=j(G);V(p,()=>g(c),(F,Q)=>{q(Q(F,{get data(){return u()},get form(){return e.form},get params(){return e.page.params}}),O=>s()[1]=O,()=>{var O;return(O=s())==null?void 0:O[1]})}),w(d,G)},$$slots:{default:!0}}),d=>s()[0]=d,()=>{var d;return(d=s())==null?void 0:d[0]})}),w(n,E)},b=n=>{const f=B(()=>e.constructors[0]);var E=I(),x=j(E);V(x,()=>g(f),(P,R)=>{q(R(P,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),d=>s()[0]=d,()=>{var d;return(d=s())==null?void 0:d[0]})}),w(n,E)};D(i,n=>{e.constructors[1]?n(v):n(b,-1)})}var z=se(i,2);{var h=n=>{var f=ye(),E=ne(f);{var x=P=>{var R=me();ce(()=>fe(R,g(r))),w(P,R)};D(E,P=>{g(a)&&P(x)})}oe(f),w(n,f)};D(z,n=>{g(_)&&n(h)})}w(t,k),ae()}const Ce=he(Ee),Ae=[()=>U(()=>import("../nodes/0.DecrOZwe.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>U(()=>import("../nodes/1.CrjZXtQm.js"),__vite__mapDeps([5,1,2,6,7,8,9]),import.meta.url),()=>U(()=>import("../nodes/2.VYoLrj39.js"),__vite__mapDeps([10,1,2,9,11,4,7,3,6,12]),import.meta.url)],Be=[],Ie={"/":[2]},Y={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},Pe=Object.fromEntries(Object.entries(Y.transport).map(([t,e])=>[t,e.decode])),Te=Object.fromEntries(Object.entries(Y.transport).map(([t,e])=>[t,e.encode])),De=!1,Ve=(t,e)=>Pe[t](e);export{Ve as decode,Pe as decoders,Ie as dictionary,Te as encoders,De as hash,Y as hooks,Se as matchers,Ae as nodes,Ce as root,Be as server_loads}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DecrOZwe.js","../chunks/C14P8jaG.js","../chunks/VJhVTb1A.js","../chunks/CiUbu-1F.js","../chunks/U5yjBaoU.js","../nodes/1.CqrNlNqJ.js","../chunks/DmjnTBOd.js","../chunks/BeON-0X8.js","../chunks/eeJ2SmtH.js","../chunks/Cz6m6K8p.js","../nodes/2.Cadsvez-.js","../chunks/zf4GFcxs.js","../assets/2.DKE6ochW.css"])))=>i.map(i=>d[i]); +var H=t=>{throw TypeError(t)};var J=(t,e,s)=>e.has(t)||H("Cannot "+s);var l=(t,e,s)=>(J(t,e,"read from private field"),s?s.call(t):e.get(t)),S=(t,e,s)=>e.has(t)?H("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),C=(t,e,s,o)=>(J(t,e,"write to private field"),o?o.call(t,s):e.set(t,s),s);import{$ as L,ab as X,o as g,aH as Z,au as M,aI as N,x as $,u as ee,j as te,aJ as re,g as j,C as se,z as ae,aK as A,A as ne,B as oe,aL as B,y as ce}from"../chunks/VJhVTb1A.js";import{h as ie,m as le,u as ue,s as fe}from"../chunks/BeON-0X8.js";import{a as w,c as I,f as W,t as me}from"../chunks/C14P8jaG.js";import{o as de}from"../chunks/Cz6m6K8p.js";import{p as T,i as D,c as V,b as q}from"../chunks/zf4GFcxs.js";function he(t){return class extends _e{constructor(e){super({component:t,...e})}}}var y,m;class _e{constructor(e){S(this,y);S(this,m);var _;var s=new Map,o=(a,r)=>{var c=N(r,!1,!1);return s.set(a,c),c};const u=new Proxy({...e.props||{},$$events:{}},{get(a,r){return g(s.get(r)??o(r,Reflect.get(a,r)))},has(a,r){return r===X?!0:(g(s.get(r)??o(r,Reflect.get(a,r))),Reflect.has(a,r))},set(a,r,c){return L(s.get(r)??o(r,c),c),Reflect.set(a,r,c)}});C(this,m,(e.hydrate?ie:le)(e.component,{target:e.target,anchor:e.anchor,props:u,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError})),(!((_=e==null?void 0:e.props)!=null&&_.$$host)||e.sync===!1)&&Z(),C(this,y,u.$$events);for(const a of Object.keys(l(this,m)))a==="$set"||a==="$destroy"||a==="$on"||M(this,a,{get(){return l(this,m)[a]},set(r){l(this,m)[a]=r},enumerable:!0});l(this,m).$set=a=>{Object.assign(u,a)},l(this,m).$destroy=()=>{ue(l(this,m))}}$set(e){l(this,m).$set(e)}$on(e,s){l(this,y)[e]=l(this,y)[e]||[];const o=(...u)=>s.call(this,...u);return l(this,y)[e].push(o),()=>{l(this,y)[e]=l(this,y)[e].filter(u=>u!==o)}}$destroy(){l(this,m).$destroy()}}y=new WeakMap,m=new WeakMap;const ve="modulepreload",ge=function(t,e){return new URL(t,e).href},K={},U=function(e,s,o){let u=Promise.resolve();if(s&&s.length>0){let a=function(i){return Promise.all(i.map(v=>Promise.resolve(v).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const r=document.getElementsByTagName("link"),c=document.querySelector("meta[property=csp-nonce]"),k=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));u=a(s.map(i=>{if(i=ge(i,o),i in K)return;K[i]=!0;const v=i.endsWith(".css"),b=v?'[rel="stylesheet"]':"";if(!!o)for(let n=r.length-1;n>=0;n--){const f=r[n];if(f.href===i&&(!v||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${b}`))return;const h=document.createElement("link");if(h.rel=v?"stylesheet":ve,v||(h.as="script"),h.crossOrigin="",h.href=i,k&&h.setAttribute("nonce",k),document.head.appendChild(h),v)return new Promise((n,f)=>{h.addEventListener("load",n),h.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${i}`)))})}))}function _(a){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=a,window.dispatchEvent(r),!r.defaultPrevented)throw a}return u.then(a=>{for(const r of a||[])r.status==="rejected"&&_(r.reason);return e().catch(_)})},Se={};var ye=W('
'),be=W(" ",1);function Ee(t,e){$(e,!0);let s=T(e,"components",23,()=>[]),o=T(e,"data_0",3,null),u=T(e,"data_1",3,null);ee(()=>e.stores.page.set(e.page)),te(()=>{e.stores,e.page,e.constructors,s(),e.form,o(),u(),e.stores.page.notify()});let _=A(!1),a=A(!1),r=A(null);de(()=>{const n=e.stores.page.subscribe(()=>{g(_)&&(L(a,!0),re().then(()=>{L(r,document.title||"untitled page",!0)}))});return L(_,!0),n});const c=B(()=>e.constructors[1]);var k=be(),i=j(k);{var v=n=>{const f=B(()=>e.constructors[0]);var E=I(),x=j(E);V(x,()=>g(f),(P,R)=>{q(R(P,{get data(){return o()},get form(){return e.form},get params(){return e.page.params},children:(d,Re)=>{var G=I(),p=j(G);V(p,()=>g(c),(F,Q)=>{q(Q(F,{get data(){return u()},get form(){return e.form},get params(){return e.page.params}}),O=>s()[1]=O,()=>{var O;return(O=s())==null?void 0:O[1]})}),w(d,G)},$$slots:{default:!0}}),d=>s()[0]=d,()=>{var d;return(d=s())==null?void 0:d[0]})}),w(n,E)},b=n=>{const f=B(()=>e.constructors[0]);var E=I(),x=j(E);V(x,()=>g(f),(P,R)=>{q(R(P,{get data(){return o()},get form(){return e.form},get params(){return e.page.params}}),d=>s()[0]=d,()=>{var d;return(d=s())==null?void 0:d[0]})}),w(n,E)};D(i,n=>{e.constructors[1]?n(v):n(b,-1)})}var z=se(i,2);{var h=n=>{var f=ye(),E=ne(f);{var x=P=>{var R=me();ce(()=>fe(R,g(r))),w(P,R)};D(E,P=>{g(a)&&P(x)})}oe(f),w(n,f)};D(z,n=>{g(_)&&n(h)})}w(t,k),ae()}const Ce=he(Ee),Ae=[()=>U(()=>import("../nodes/0.DecrOZwe.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>U(()=>import("../nodes/1.CqrNlNqJ.js"),__vite__mapDeps([5,1,2,6,7,8,9]),import.meta.url),()=>U(()=>import("../nodes/2.Cadsvez-.js"),__vite__mapDeps([10,1,2,9,11,4,7,3,6,12]),import.meta.url)],Be=[],Ie={"/":[2]},Y={handleError:(({error:t})=>{console.error(t)}),reroute:(()=>{}),transport:{}},Pe=Object.fromEntries(Object.entries(Y.transport).map(([t,e])=>[t,e.decode])),Te=Object.fromEntries(Object.entries(Y.transport).map(([t,e])=>[t,e.encode])),De=!1,Ve=(t,e)=>Pe[t](e);export{Ve as decode,Pe as decoders,Ie as dictionary,Te as encoders,De as hash,Y as hooks,Se as matchers,Ae as nodes,Ce as root,Be as server_loads}; diff --git a/frontend/dist/_app/immutable/entry/start.Cnn_J3kK.js b/frontend/dist/_app/immutable/entry/start.Cnn_J3kK.js new file mode 100644 index 0000000..bf59000 --- /dev/null +++ b/frontend/dist/_app/immutable/entry/start.Cnn_J3kK.js @@ -0,0 +1 @@ +import{l as o,a as r}from"../chunks/eeJ2SmtH.js";export{o as load_css,r as start}; diff --git a/frontend/dist/_app/immutable/entry/start.Dsp_JzAf.js b/frontend/dist/_app/immutable/entry/start.Dsp_JzAf.js deleted file mode 100644 index d878885..0000000 --- a/frontend/dist/_app/immutable/entry/start.Dsp_JzAf.js +++ /dev/null @@ -1 +0,0 @@ -import{l as o,a as r}from"../chunks/B87JTjoX.js";export{o as load_css,r as start}; diff --git a/frontend/dist/_app/immutable/nodes/1.CrjZXtQm.js b/frontend/dist/_app/immutable/nodes/1.CqrNlNqJ.js similarity index 78% rename from frontend/dist/_app/immutable/nodes/1.CrjZXtQm.js rename to frontend/dist/_app/immutable/nodes/1.CqrNlNqJ.js index 71c41f0..7310eac 100644 --- a/frontend/dist/_app/immutable/nodes/1.CrjZXtQm.js +++ b/frontend/dist/_app/immutable/nodes/1.CqrNlNqJ.js @@ -1 +1 @@ -import{a as g,f as h}from"../chunks/C14P8jaG.js";import{i as l}from"../chunks/DmjnTBOd.js";import{x as v,g as d,y as x,z as _,A as e,B as o,C as $}from"../chunks/VJhVTb1A.js";import{s as p}from"../chunks/BeON-0X8.js";import{s as k,p as m}from"../chunks/B87JTjoX.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var y=h("

",1);function j(f,n){v(n,!1),l();var t=y(),r=d(t),c=e(r,!0);o(r);var s=$(r,2),u=e(s,!0);o(s),x(()=>{var a;p(c,i.status),p(u,(a=i.error)==null?void 0:a.message)}),g(f,t),_()}export{j as component}; +import{a as g,f as h}from"../chunks/C14P8jaG.js";import{i as l}from"../chunks/DmjnTBOd.js";import{x as v,g as d,y as x,z as _,A as e,B as o,C as $}from"../chunks/VJhVTb1A.js";import{s as p}from"../chunks/BeON-0X8.js";import{s as k,p as m}from"../chunks/eeJ2SmtH.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var y=h("

",1);function j(f,n){v(n,!1),l();var t=y(),r=d(t),c=e(r,!0);o(r);var s=$(r,2),u=e(s,!0);o(s),x(()=>{var a;p(c,i.status),p(u,(a=i.error)==null?void 0:a.message)}),g(f,t),_()}export{j as component}; diff --git a/frontend/dist/_app/immutable/nodes/2.VYoLrj39.js b/frontend/dist/_app/immutable/nodes/2.Cadsvez-.js similarity index 50% rename from frontend/dist/_app/immutable/nodes/2.VYoLrj39.js rename to frontend/dist/_app/immutable/nodes/2.Cadsvez-.js index cd828ff..b819d1c 100644 --- a/frontend/dist/_app/immutable/nodes/2.VYoLrj39.js +++ b/frontend/dist/_app/immutable/nodes/2.Cadsvez-.js @@ -1,5 +1,5 @@ -import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js";import{o as Yn,a as dr}from"../chunks/Cz6m6K8p.js";import{h as De,L as $t,G as Lt,c as $r,J as Kt,b as Qn,o as e,N as Ha,ag as ja,O as $n,P as Dt,f as _t,ay as Jn,aF as Ua,ao as Pn,e as mt,a as cr,aM as Va,s as Ba,a5 as qa,aN as Zn,aE as cn,aO as Ka,a7 as En,aP as Ga,aQ as Wa,aI as Xa,aR as ht,aS as ea,a1 as Ya,r as ta,p as ra,aT as jr,ae as na,aU as Qa,aV as Ja,aC as Za,m as eo,d as Er,az as aa,y as Q,F as oa,aW as to,aG as ro,aA as no,D as sa,aX as ia,aY as ao,aZ as oo,E as so,aw as la,S as Tr,k as Rr,a_ as ca,a$ as io,b0 as lo,b1 as ua,b2 as co,b3 as uo,b4 as fr,b5 as fo,b6 as vo,b7 as go,b8 as ho,b9 as po,ba as mo,bb as _o,aJ as Pt,U as bo,aK as I,_ as se,$ as f,A as k,B as p,x as Ae,g as B,z as Le,C as P,j as Ne,ap as we,aL as U,bc as xo,q as jt,bd as yo,be as it,bf as wo}from"../chunks/VJhVTb1A.js";import{p as he,i as X,b as nt,c as ko,l as Ue,s as qe}from"../chunks/zf4GFcxs.js";import{i as Co,a as So,d as ie,b as We,c as $o,n as Po,e as Eo,s as ee,f as rt}from"../chunks/BeON-0X8.js";import{s as ft}from"../chunks/CiUbu-1F.js";import{i as Ro}from"../chunks/DmjnTBOd.js";import{B as No}from"../chunks/U5yjBaoU.js";function un(t,r){return r}function Mo(t,r,a){for(var n=[],o=r.length,i,s=r.length,l=0;l{if(i){if(i.pending.delete(L),i.done.add(L),i.pending.size===0){var m=t.outrogroups;Xr(t,cn(i.done)),m.delete(i),m.size===0&&(t.outrogroups=null)}}else s-=1},!1)}if(s===0){var d=n.length===0&&a!==null;if(d){var y=a,w=y.parentNode;Za(w),w.append(y),t.items.clear()}Xr(t,r,!d)}else i={pending:new Set(r),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(i)}function Xr(t,r,a=!0){var n;if(t.pending.size>0){n=new Set;for(const s of t.pending.values())for(const l of s)n.add(t.items.get(l).e)}for(var o=0;o{var g=a();return Zn(g)?g:g==null?[]:cn(g)}),m,M=new Map,F=!0;function h(g){(R.effect.f&Ya)===0&&(R.pending.delete(g),R.fallback=w,Ao(R,m,s,r,n),w!==null&&(m.length===0?(w.f&ht)===0?ta(w):(w.f^=ht,ir(w,null,s)):ra(w,()=>{w=null})))}function c(g){R.pending.delete(g)}var x=Qn(()=>{m=e(L);var g=m.length;let b=!1;if(De){var S=Ha(s)===ja;S!==(g===0)&&(s=$n(),$t(s),Dt(!1),b=!0)}for(var _=new Set,T=mt,z=Ba(),D=0;Di(s)):(w=cr(()=>i(Rn??(Rn=$r()))),w.f|=ht)),g>_.size&&Va(),De&&g>0&&$t($n()),!F)if(M.set(T,_),z){for(const[j,q]of l)_.has(j)||T.skip_effect(q.e);T.oncommit(h),T.ondiscard(c)}else h(T);b&&Dt(!0),e(L)}),R={effect:x,items:l,pending:M,outrogroups:null,fallback:w};F=!1,De&&(s=_t)}function nr(t){for(;t!==null&&(t.f&Qa)===0;)t=t.next;return t}function Ao(t,r,a,n,o){var V,H,O,j,q,Y,ae,N,C;var i=(n&Ja)!==0,s=r.length,l=t.items,d=nr(t.effect.first),y,w=null,L,m=[],M=[],F,h,c,x;if(i)for(x=0;x0){var D=(n&ea)!==0&&s===0?a:null;if(i){for(x=0;x{var v,A;if(L!==void 0)for(c of L)(A=(v=c.nodes)==null?void 0:v.a)==null||A.apply()})}function Lo(t,r,a,n,o,i,s,l){var d=(s&Ga)!==0?(s&Wa)===0?Xa(a,!1,!1):En(a):null,y=(s&Ka)!==0?En(o):null;return{v:d,i:y,e:cr(()=>(i(r,d??a,y??o,l),()=>{t.delete(n)}))}}function ir(t,r,a){if(t.nodes)for(var n=t.nodes.start,o=t.nodes.end,i=r&&(r.f&ht)===0?r.nodes.start:a;n!==null;){var s=aa(n);if(i.before(n),n===o)return;n=s}}function wt(t,r,a){r===null?t.effect.first=a:r.next=a,a===null?t.effect.last=r:a.prev=r}function Fr(t,r,a=!1,n=!1,o=!1,i=!1){var s=t,l="";if(a){var d=t;De&&(s=$t(Lt(d)))}Q(()=>{var y=oa;if(l===(l=r()??"")){De&&Kt();return}if(a&&!De){y.nodes=null,d.innerHTML=l,l!==""&&Sr(Lt(d),d.lastChild);return}if(y.nodes!==null&&(to(y.nodes.start,y.nodes.end),y.nodes=null),l!==""){if(De){_t.data;for(var w=Kt(),L=w;w!==null&&(w.nodeType!==Jn||w.data!=="");)L=w,w=aa(w);if(w===null)throw ro(),no;Sr(_t,L),s=$t(w);return}var m=n?ia:o?ao:void 0,M=sa(n?"svg":o?"math":"template",m);M.innerHTML=l;var F=n||o?M:M.content;if(Sr(Lt(F),F.lastChild),n||o)for(;Lt(F);)s.before(Lt(F));else s.before(F)}})}function Ve(t,r,a,n,o){var l;De&&Kt();var i=(l=r.$$slots)==null?void 0:l[a],s=!1;i===!0&&(i=r.children,s=!0),i===void 0||i(t,s?()=>n:n)}function To(t,r,a,n,o,i){let s=De;De&&Kt();var l=null;De&&_t.nodeType===oo&&(l=_t,Kt());var d=De?_t:t,y=new No(d,!1);Qn(()=>{const w=r()||null;var L=ia;if(w===null){y.ensure(null,null);return}return y.ensure(w,m=>{if(w){if(l=De?l:sa(w,L),Sr(l,l),n){De&&Co(w)&&l.append(document.createComment(""));var M=De?Lt(l):l.appendChild($r());De&&(M===null?Dt(!1):$t(M)),n(l,M)}oa.nodes.end=l,m.before(l)}De&&$t(m)}),()=>{}},so),la(()=>{}),s&&(Dt(!0),$t(d))}function Fo(t,r,a){Tr(()=>{var n=Rr(()=>r(t,a==null?void 0:a())||{});if(n!=null&&n.destroy)return()=>n.destroy()})}function Do(t,r){var a=void 0,n;ca(()=>{a!==(a=r())&&(n&&(Er(n),n=null),a&&(n=cr(()=>{Tr(()=>a(t))})))})}function da(t){var r,a,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(r=0;r=0;){var l=s+i;(s===0||Nn.includes(n[s-1]))&&(l===n.length||Nn.includes(n[l]))?n=(s===0?"":n.substring(0,s))+n.substring(l+1):s=l}}return n===""?null:n}function Mn(t,r=!1){var a=r?" !important;":";",n="";for(var o of Object.keys(t)){var i=t[o];i!=null&&i!==""&&(n+=" "+o+": "+i+a)}return n}function Ur(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function Oo(t,r){if(r){var a="",n,o;if(Array.isArray(r)?(n=r[0],o=r[1]):n=r,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var i=!1,s=0,l=!1,d=[];n&&d.push(...Object.keys(n).map(Ur)),o&&d.push(...Object.keys(o).map(Ur));var y=0,w=-1;const h=t.length;for(var L=0;L{Nr(t,t.__value)});r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),la(()=>{r.disconnect()})}function Ho(t,r,a=r){var n=new WeakSet,o=!0;ua(t,"change",i=>{var s=i?"[selected]":":checked",l;if(t.multiple)l=[].map.call(t.querySelectorAll(s),lr);else{var d=t.querySelector(s)??t.querySelector("option:not([disabled])");l=d&&lr(d)}a(l),t.__value=l,mt!==null&&n.add(mt)}),Tr(()=>{var i=r();if(t===document.activeElement){var s=mt;if(n.has(s))return}if(Nr(t,i,o),o&&i===void 0){var l=t.querySelector(":checked");l!==null&&(i=lr(l),a(i))}t.__value=i,o=!1}),fa(t)}function lr(t){return"__value"in t?t.__value:t.value}const ar=Symbol("class"),or=Symbol("style"),va=Symbol("is custom element"),ga=Symbol("is html"),jo=fr?"link":"LINK",Uo=fr?"input":"INPUT",Vo=fr?"option":"OPTION",Bo=fr?"select":"SELECT",qo=fr?"progress":"PROGRESS";function Qe(t){if(De){var r=!1,a=()=>{if(!r){if(r=!0,t.hasAttribute("value")){var n=t.value;Se(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var o=t.checked;Se(t,"checked",null),t.checked=o}}};t.__on_r=a,na(a),go()}}function dn(t,r){var a=fn(t);a.value===(a.value=r??void 0)||t.value===r&&(r!==0||t.nodeName!==qo)||(t.value=r??"")}function Ko(t,r){r?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Se(t,r,a,n){var o=fn(t);De&&(o[r]=t.getAttribute(r),r==="src"||r==="srcset"||r==="href"&&t.nodeName===jo)||o[r]!==(o[r]=a)&&(r==="loading"&&(t[mo]=a),a==null?t.removeAttribute(r):typeof a!="string"&&ha(t).includes(r)?t[r]=a:t.setAttribute(r,a))}function Go(t,r,a,n,o=!1,i=!1){if(De&&o&&t.nodeName===Uo){var s=t,l=s.type==="checkbox"?"defaultChecked":"defaultValue";l in a||Qe(s)}var d=fn(t),y=d[va],w=!d[ga];let L=De&&y;L&&Dt(!1);var m=r||{},M=t.nodeName===Vo;for(var F in r)F in a||(a[F]=null);a.class?a.class=dt(a.class):a[ar]&&(a.class=null),a[or]&&(a.style??(a.style=null));var h=ha(t);for(const _ in a){let T=a[_];if(M&&_==="value"&&T==null){t.value=t.__value="",m[_]=T;continue}if(_==="class"){var c=t.namespaceURI==="http://www.w3.org/1999/xhtml";Ce(t,c,T,n,r==null?void 0:r[ar],a[ar]),m[_]=T,m[ar]=a[ar];continue}if(_==="style"){Ze(t,T,r==null?void 0:r[or],a[or]),m[_]=T,m[or]=a[or];continue}var x=m[_];if(!(T===x&&!(T===void 0&&t.hasAttribute(_)))){m[_]=T;var R=_[0]+_[1];if(R!=="$$")if(R==="on"){const z={},D="$$"+_;let V=_.slice(2);var g=Eo(V);if(So(V)&&(V=V.slice(0,-7),z.capture=!0),!g&&x){if(T!=null)continue;t.removeEventListener(V,m[D],z),m[D]=null}if(g)ie(V,t,T),We([V]);else if(T!=null){let H=function(O){m[_].call(this,O)};m[D]=$o(V,t,H,z)}}else if(_==="style")Se(t,_,T);else if(_==="autofocus")fo(t,!!T);else if(!y&&(_==="__value"||_==="value"&&T!=null))t.value=t.__value=T;else if(_==="selected"&&M)Ko(t,T);else{var b=_;w||(b=Po(b));var S=b==="defaultValue"||b==="defaultChecked";if(T==null&&!y&&!S)if(d[_]=null,b==="value"||b==="checked"){let z=t;const D=r===void 0;if(b==="value"){let V=z.defaultValue;z.removeAttribute(b),z.defaultValue=V,z.value=z.__value=D?V:null}else{let V=z.defaultChecked;z.removeAttribute(b),z.defaultChecked=V,z.checked=D?V:!1}}else t.removeAttribute(_);else S||h.includes(b)&&(y||typeof T!="string")?(t[b]=T,b in d&&(d[b]=vo)):typeof T!="function"&&Se(t,b,T)}}}return L&&Dt(!0),m}function An(t,r,a=[],n=[],o=[],i,s=!1,l=!1){co(o,a,n,d=>{var y=void 0,w={},L=t.nodeName===Bo,m=!1;if(ca(()=>{var F=r(...d.map(e)),h=Go(t,y,F,i,s,l);m&&L&&"value"in F&&Nr(t,F.value);for(let x of Object.getOwnPropertySymbols(w))F[x]||Er(w[x]);for(let x of Object.getOwnPropertySymbols(F)){var c=F[x];x.description===uo&&(!y||c!==y[x])&&(w[x]&&Er(w[x]),w[x]=cr(()=>Do(t,()=>c))),h[x]=c}y=h}),L){var M=t;Tr(()=>{Nr(M,y.value,!0),fa(M)})}m=!0})}function fn(t){return t.__attributes??(t.__attributes={[va]:t.nodeName.includes("-"),[ga]:t.namespaceURI===ho})}var Ln=new Map;function ha(t){var r=t.getAttribute("is")||t.nodeName,a=Ln.get(r);if(a)return a;Ln.set(r,a=[]);for(var n,o=t,i=Element.prototype;i!==o;){n=_o(o);for(var s in n)n[s].set&&a.push(s);o=po(o)}return a}function tt(t,r,a=r){var n=new WeakSet;ua(t,"input",async o=>{var i=o?t.defaultValue:t.value;if(i=Br(t)?qr(i):i,a(i),mt!==null&&n.add(mt),await Pt(),i!==(i=r())){var s=t.selectionStart,l=t.selectionEnd,d=t.value.length;if(t.value=i??"",l!==null){var y=t.value.length;s===l&&l===d&&y>d?(t.selectionStart=y,t.selectionEnd=y):(t.selectionStart=s,t.selectionEnd=Math.min(l,y))}}}),(De&&t.defaultValue!==t.value||Rr(r)==null&&t.value)&&(a(Br(t)?qr(t.value):t.value),mt!==null&&n.add(mt)),bo(()=>{var o=r();if(t===document.activeElement){var i=mt;if(n.has(i))return}Br(t)&&o===qr(t.value)||t.type==="date"&&!o&&!t.value||o!==t.value&&(t.value=o??"")})}function Br(t){var r=t.type;return r==="number"||r==="range"}function qr(t){return t===""?null:+t}let xt=I(se({type:"none",props:{},resolve:null}));function Wo(){return e(xt)}function st(t=void 0){const{resolve:r}=e(xt);f(xt,{type:"none",props:{},resolve:null},!0),r==null||r(t)}function Xo(t){return new Promise(r=>{f(xt,{type:"run",props:{cases:t},resolve:r},!0)})}function Yo(t){return new Promise(r=>{f(xt,{type:"restart",props:{cases:t},resolve:r},!0)})}function Qo(t){return new Promise(r=>{f(xt,{type:"clean",props:{cases:t},resolve:r},!0)})}function Ye(t,r="Alert"){return new Promise(a=>{f(xt,{type:"alert",props:{title:r,message:t},resolve:()=>a()},!0)})}function Tn(t,r="Confirm",a="OK",n="primary"){return new Promise(o=>{f(xt,{type:"confirm",props:{title:r,message:t,confirmLabel:a,confirmVariant:n},resolve:o},!0)})}function vn(t,r="",a="Input",n="",o=!1){return new Promise(i=>{f(xt,{type:"prompt",props:{title:a,message:t,value:r,placeholder:n,multiline:o},resolve:i},!0)})}var Jo=$('
');function Jt(t,r){function a(i){return document.body.appendChild(i),{destroy(){i.remove()}}}var n=Jo(),o=k(n);ft(o,()=>r.children),p(n),Fo(n,i=>a==null?void 0:a(i)),u(t,n)}var Zo=$('
'),es=$('
');function vr(t,r){Ae(r,!0);const a=F=>{var h=es(),c=k(h),x=k(c),R=k(x),g=k(R,!0);p(R);var b=P(R,2);{var S=D=>{var V=Zo(),H=k(V,!0);p(V),Q(()=>ee(H,r.subtitle)),u(D,V)};X(b,D=>{r.subtitle&&D(S)})}p(x);var _=P(x,2);ft(_,()=>r.children);var T=P(_,2),z=k(T);ft(z,()=>r.footer),p(T),p(c),p(h),Q(()=>{Ce(c,1,`w-[min(${n()??""},96vw)] bg-white border border-border rounded-[10px] p-4.5`),Se(c,"aria-labelledby",r.titleId),Se(R,"id",r.titleId),ee(g,r.title)}),ie("keydown",h,s),ie("mousedown",h,d),ie("click",h,y),u(F,h)};let n=he(r,"maxWidth",3,"520px"),o=he(r,"portal",3,!1);function i(){r.onCancel?r.onCancel():st(null)}function s(F){F.key==="Escape"?i():F.key==="Enter"&&r.onConfirm&&r.onConfirm()}let l=!1;function d(F){l=F.target.dataset.backdrop!==void 0}function y(F){const h=F.target.dataset.backdrop!==void 0;l&&h&&i(),l=!1}var w=_e(),L=B(w);{var m=F=>{Jt(F,{children:(h,c)=>{a(h)}})},M=F=>{a(F)};X(L,F=>{o()?F(m):F(M,-1)})}u(t,w),Le()}We(["keydown","mousedown","click"]);var ts=$("");function $e(t,r){let a=he(r,"variant",3,"primary"),n=he(r,"size",3,"default"),o=he(r,"disabled",3,!1);const i={default:"h-[34px] rounded-md px-3.5 leading-none text-[13px] tracking-wide",sm:"h-[30px] rounded-md px-2.5 leading-none text-xs"},s={primary:"bg-edf-bleu-moyen text-white border-none hover:bg-[rgb(12,72,170)]",secondary:"bg-white text-ink border border-border hover:bg-edf-gris-clair",run:"bg-edf-vert-fonce text-white border-none hover:bg-[rgb(38,98,12)]",warning:"bg-edf-orange-moyen text-white border-none hover:bg-[rgb(230,118,20)]",danger:"bg-edf-orange-fonce text-white border-none hover:bg-[rgb(180,56,8)]"};var l=ts(),d=k(l);ft(d,()=>r.children),p(l),Q(()=>{Ce(l,1,`inline-flex items-center justify-center gap-1.5 font-bold cursor-pointer transition-colors duration-150 disabled:opacity-40 disabled:pointer-events-none ${i[n()]??""} ${s[a()]??""}`),l.disabled=o()}),ie("click",l,function(...y){var w;(w=r.onclick)==null||w.apply(this,y)}),u(t,l)}We(["click"]);var rs=$(" ",1),ns=$(''),as=$(''),os=$('
'),ss=$('

',1);function is(t,r){Ae(r,!0);let a=he(r,"confirmLabel",3,"OK"),n=he(r,"confirmVariant",3,"primary"),o=he(r,"value",3,""),i=he(r,"placeholder",3,""),s=he(r,"multiline",3,!1);const l=o();let d=I(se(l)),y=I(void 0),w=I(void 0);Ne(()=>{var M;r.mode==="prompt"&&e(y)?(e(y).focus(),"select"in e(y)&&e(y).select()):e(w)&&((M=e(w).querySelector("button"))==null||M.focus())});function L(){r.mode==="prompt"?st(e(d)):r.mode==="confirm"?st(!0):st()}function m(){r.mode==="confirm"?st(!1):r.mode==="prompt"?st(null):st()}{const M=h=>{var c=rs(),x=B(c);{var R=S=>{$e(S,{variant:"secondary",onclick:m,children:(_,T)=>{we();var z=Be("Cancel");u(_,z)},$$slots:{default:!0}})};X(x,S=>{r.mode!=="alert"&&S(R)})}var g=P(x,2),b=k(g);$e(b,{get variant(){return n()},onclick:L,children:(S,_)=>{we();var T=Be();Q(()=>ee(T,a())),u(S,T)},$$slots:{default:!0}}),p(g),nt(g,S=>f(w,S),()=>e(w)),u(h,c)};let F=U(()=>s()?void 0:L);vr(t,{get title(){return r.title},titleId:"app-dialog-title",get onConfirm(){return e(F)},onCancel:m,footer:M,children:(h,c)=>{var x=ss(),R=B(x),g=k(R,!0);p(R);var b=P(R,2);{var S=_=>{var T=os(),z=k(T);{var D=H=>{var O=ns();xo(O),nt(O,j=>f(y,j),()=>e(y)),Q(()=>Se(O,"placeholder",i())),tt(O,()=>e(d),j=>f(d,j)),u(H,O)},V=H=>{var O=as();Qe(O),nt(O,j=>f(y,j),()=>e(y)),Q(()=>Se(O,"placeholder",i())),tt(O,()=>e(d),j=>f(d,j)),u(H,O)};X(z,H=>{s()?H(D):H(V,-1)})}p(T),u(_,T)};X(b,_=>{r.mode==="prompt"&&_(S)})}Q(()=>ee(g,r.message)),u(h,x)},$$slots:{footer:!0,default:!0}})}Le()}var ls=$('');function Me(t,r){var a=ls(),n=k(a),o=P(n);ft(o,()=>r.children),p(a),Q(()=>ee(n,`${r.text??""} `)),u(t,a)}function Ct(t,r){const a=localStorage.getItem(t);if(a===null)return r;const n=Number(a);return Number.isFinite(n)?n:r}function St(t,r){Number.isFinite(r)&&localStorage.setItem(t,String(r))}function cs(t,r){return localStorage.getItem(t)??r}function us(){return{n:Ct("csauto_run_n",1),nt:Ct("csauto_run_nt",1),maxParallel:Ct("csauto_run_max_parallel",0)||null}}function ds(t){St("csauto_run_n",t.n),St("csauto_run_nt",t.nt),t.maxParallel&&St("csauto_run_max_parallel",t.maxParallel)}function fs(){return{n:Ct("csauto_restart_n",1),nt:Ct("csauto_restart_nt",1),maxParallel:Ct("csauto_restart_max_parallel",0)||null,mode:cs("csauto_restart_mode","iterations"),value:Ct("csauto_restart_value",100)}}function vs(t){St("csauto_restart_n",t.n),St("csauto_restart_nt",t.nt),t.maxParallel&&St("csauto_restart_max_parallel",t.maxParallel),localStorage.setItem("csauto_restart_mode",t.mode),St("csauto_restart_value",t.value)}function gs(){return{keepLast:Ct("csauto_clean_keep_last",1)}}function hs(t){St("csauto_clean_keep_last",t.keepLast)}var ps=$(" ",1),ms=$(''),_s=$(''),bs=$(''),xs=$('
');function ys(t,r){Ae(r,!0);const a=us(),n=a.maxParallel??(r.cases.length>1?r.cases.length:0);let o=I(se(a.n)),i=I(se(a.nt)),s=I(se(n));async function l(){if(!Number.isFinite(e(o))||e(o)<=0){await Ye("MPI ranks must be an integer > 0.","Invalid value");return}if(!Number.isFinite(e(i))||e(i)<=0){await Ye("Threads must be an integer > 0.","Invalid value");return}if(e(s)&&(!Number.isFinite(e(s))||e(s)<=0)){await Ye("Max parallel must be empty or > 0.","Invalid value");return}const d={n:e(o),nt:e(i),maxParallel:e(s)||null};ds(d),st(d)}{const d=L=>{var m=ps(),M=B(m);$e(M,{variant:"secondary",onclick:()=>st(null),children:(h,c)=>{we();var x=Be("Cancel");u(h,x)},$$slots:{default:!0}});var F=P(M,2);$e(F,{variant:"run",onclick:l,children:(h,c)=>{we();var x=Be("Run");u(h,x)},$$slots:{default:!0}}),u(L,m)};let y=U(()=>r.cases.length),w=U(()=>r.cases.length>1?"s":"");vr(t,{title:"Run Cases",titleId:"run-dialog-title",get subtitle(){return`${e(y)??""} case${e(w)??""} selected`},onConfirm:l,footer:d,children:(L,m)=>{var M=xs(),F=k(M);Me(F,{text:"MPI Ranks (n)",children:(x,R)=>{var g=ms();Qe(g),tt(g,()=>e(o),b=>f(o,b)),u(x,g)}});var h=P(F,2);Me(h,{text:"OMP Threads (nt)",children:(x,R)=>{var g=_s();Qe(g),tt(g,()=>e(i),b=>f(i,b)),u(x,g)}});var c=P(h,2);Me(c,{text:"Max Parallel",children:(x,R)=>{var g=bs();Qe(g),tt(g,()=>e(s),b=>f(s,b)),u(x,g)}}),p(M),u(L,M)},$$slots:{footer:!0,default:!0}})}Le()}var ws=$(" ",1),ks=$(''),Cs=$(''),Ss=$(''),$s=$(""),Ps=$(''),Es=$('
',1);function Rs(t,r){Ae(r,!0);const a=fs(),n=a.maxParallel??(r.cases.length>1?r.cases.length:0);let o=I(se(a.n)),i=I(se(a.nt)),s=I(se(n)),l=I(se(a.mode)),d=I(se(a.value)),y=U(()=>e(l)==="iterations"?"Additional iterations":"Additional physical time"),w=U(()=>e(l)==="iterations"?"1":"any"),L=U(()=>e(l)==="iterations"?"1":"0");async function m(){if(!Number.isFinite(e(o))||e(o)<=0){await Ye("MPI ranks must be an integer > 0.","Invalid value");return}if(!Number.isFinite(e(i))||e(i)<=0){await Ye("Threads must be an integer > 0.","Invalid value");return}if(e(s)&&(!Number.isFinite(e(s))||e(s)<=0)){await Ye("Max parallel must be empty or > 0.","Invalid value");return}if(!Number.isFinite(e(d))||e(d)<=0){await Ye("Value must be > 0.","Invalid value");return}if(e(l)==="iterations"&&!Number.isInteger(e(d))){await Ye("Iterations must be an integer.","Invalid value");return}const M={n:e(o),nt:e(i),maxParallel:e(s)||null,restartMode:e(l),restartValue:e(d)};vs({n:e(o),nt:e(i),maxParallel:e(s)||null,mode:e(l),value:e(d)}),st(M)}{const M=c=>{var x=ws(),R=B(x);$e(R,{variant:"secondary",onclick:()=>st(null),children:(b,S)=>{we();var _=Be("Cancel");u(b,_)},$$slots:{default:!0}});var g=P(R,2);$e(g,{variant:"warning",onclick:m,children:(b,S)=>{we();var _=Be("Restart");u(b,_)},$$slots:{default:!0}}),u(c,x)};let F=U(()=>r.cases.length),h=U(()=>r.cases.length>1?"s":"");vr(t,{title:"Restart Cases",titleId:"restart-dialog-title",get subtitle(){return`${e(F)??""} case${e(h)??""} selected`},onConfirm:m,footer:M,children:(c,x)=>{var R=Es(),g=B(R),b=k(g);Me(b,{text:"MPI Ranks (n)",children:(V,H)=>{var O=ks();Qe(O),tt(O,()=>e(o),j=>f(o,j)),u(V,O)}});var S=P(b,2);Me(S,{text:"OMP Threads (nt)",children:(V,H)=>{var O=Cs();Qe(O),tt(O,()=>e(i),j=>f(i,j)),u(V,O)}});var _=P(S,2);Me(_,{text:"Max Parallel",children:(V,H)=>{var O=Ss();Qe(O),tt(O,()=>e(s),j=>f(s,j)),u(V,O)}}),p(g);var T=P(g,2),z=k(T);Me(z,{text:"Stop criterion",children:(V,H)=>{var O=$s(),j=k(O);j.value=j.__value="iterations";var q=P(j);q.value=q.__value="physical_time",p(O),Ho(O,()=>e(l),Y=>f(l,Y)),u(V,O)}});var D=P(z,2);Me(D,{get text(){return e(y)},children:(V,H)=>{var O=Ps();Qe(O),Q(()=>{Se(O,"min",e(L)),Se(O,"step",e(w))}),tt(O,()=>e(d),j=>f(d,j)),u(V,O)}}),p(T),u(c,R)},$$slots:{footer:!0,default:!0}})}Le()}function Te(t,r){let a=he(r,"size",3,14);var n=_e(),o=B(n);ko(o,()=>r.icon,(i,s)=>{s(i,{get size(){return a()},class:"icon"})}),u(t,n)}/** +import{b as Sr,a as u,f as P,c as _e,t as Be,d as Ot}from"../chunks/C14P8jaG.js";import{o as Yn,a as dr}from"../chunks/Cz6m6K8p.js";import{h as De,L as $t,G as Lt,c as $r,J as Kt,b as Qn,o as e,N as Ha,ag as ja,O as $n,P as zt,f as _t,ay as Zn,aF as Va,ao as Pn,e as mt,a as cr,aM as Ua,s as Ba,a5 as qa,aN as Jn,aE as cn,aO as Ka,a7 as En,aP as Ga,aQ as Wa,aI as Xa,aR as ht,aS as ea,a1 as Ya,r as ta,p as ra,aT as jr,ae as na,aU as Qa,aV as Za,aC as Ja,m as es,d as Er,az as aa,y as Q,F as sa,aW as ts,aG as rs,aA as ns,D as oa,aX as ia,aY as as,aZ as ss,E as os,aw as la,S as Tr,k as Rr,a_ as ca,a$ as is,b0 as ls,b1 as ua,b2 as cs,b3 as us,b4 as fr,b5 as ds,b6 as fs,b7 as vs,b8 as gs,b9 as hs,ba as ps,bb as ms,aJ as Pt,U as _s,aK as I,_ as oe,$ as f,A as C,B as p,x as Ae,g as B,z as Le,C as E,j as Ne,ap as ke,aL as j,bc as bs,q as Vt,bd as xs,be as it,bf as ys}from"../chunks/VJhVTb1A.js";import{p as he,i as Y,b as nt,c as ws,l as Ve,s as qe}from"../chunks/zf4GFcxs.js";import{i as ks,a as Cs,d as ie,b as We,c as Ss,n as $s,e as Ps,s as ee,f as rt}from"../chunks/BeON-0X8.js";import{s as ft}from"../chunks/CiUbu-1F.js";import{i as Es}from"../chunks/DmjnTBOd.js";import{B as Rs}from"../chunks/U5yjBaoU.js";function un(t,r){return r}function Ns(t,r,a){for(var n=[],s=r.length,i,o=r.length,l=0;l{if(i){if(i.pending.delete(T),i.done.add(T),i.pending.size===0){var m=t.outrogroups;Xr(t,cn(i.done)),m.delete(i),m.size===0&&(t.outrogroups=null)}}else o-=1},!1)}if(o===0){var d=n.length===0&&a!==null;if(d){var x=a,w=x.parentNode;Ja(w),w.append(x),t.items.clear()}Xr(t,r,!d)}else i={pending:new Set(r),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(i)}function Xr(t,r,a=!0){var n;if(t.pending.size>0){n=new Set;for(const o of t.pending.values())for(const l of o)n.add(t.items.get(l).e)}for(var s=0;s{var g=a();return Jn(g)?g:g==null?[]:cn(g)}),m,A=new Map,F=!0;function v(g){(R.effect.f&Ya)===0&&(R.pending.delete(g),R.fallback=w,Ms(R,m,o,r,n),w!==null&&(m.length===0?(w.f&ht)===0?ta(w):(w.f^=ht,ir(w,null,o)):ra(w,()=>{w=null})))}function c(g){R.pending.delete(g)}var y=Qn(()=>{m=e(T);var g=m.length;let b=!1;if(De){var $=Ha(o)===ja;$!==(g===0)&&(o=$n(),$t(o),zt(!1),b=!0)}for(var _=new Set,L=mt,z=Ba(),D=0;Di(o)):(w=cr(()=>i(Rn??(Rn=$r()))),w.f|=ht)),g>_.size&&Ua(),De&&g>0&&$t($n()),!F)if(A.set(L,_),z){for(const[V,q]of l)_.has(V)||L.skip_effect(q.e);L.oncommit(v),L.ondiscard(c)}else v(L);b&&zt(!0),e(T)}),R={effect:y,items:l,pending:A,outrogroups:null,fallback:w};F=!1,De&&(o=_t)}function nr(t){for(;t!==null&&(t.f&Qa)===0;)t=t.next;return t}function Ms(t,r,a,n,s){var U,H,O,V,q,X,ae,N,M;var i=(n&Za)!==0,o=r.length,l=t.items,d=nr(t.effect.first),x,w=null,T,m=[],A=[],F,v,c,y;if(i)for(y=0;y0){var D=(n&ea)!==0&&o===0?a:null;if(i){for(y=0;y{var h,k;if(T!==void 0)for(c of T)(k=(h=c.nodes)==null?void 0:h.a)==null||k.apply()})}function As(t,r,a,n,s,i,o,l){var d=(o&Ga)!==0?(o&Wa)===0?Xa(a,!1,!1):En(a):null,x=(o&Ka)!==0?En(s):null;return{v:d,i:x,e:cr(()=>(i(r,d??a,x??s,l),()=>{t.delete(n)}))}}function ir(t,r,a){if(t.nodes)for(var n=t.nodes.start,s=t.nodes.end,i=r&&(r.f&ht)===0?r.nodes.start:a;n!==null;){var o=aa(n);if(i.before(n),n===s)return;n=o}}function wt(t,r,a){r===null?t.effect.first=a:r.next=a,a===null?t.effect.last=r:a.prev=r}function Fr(t,r,a=!1,n=!1,s=!1,i=!1){var o=t,l="";if(a){var d=t;De&&(o=$t(Lt(d)))}Q(()=>{var x=sa;if(l===(l=r()??"")){De&&Kt();return}if(a&&!De){x.nodes=null,d.innerHTML=l,l!==""&&Sr(Lt(d),d.lastChild);return}if(x.nodes!==null&&(ts(x.nodes.start,x.nodes.end),x.nodes=null),l!==""){if(De){_t.data;for(var w=Kt(),T=w;w!==null&&(w.nodeType!==Zn||w.data!=="");)T=w,w=aa(w);if(w===null)throw rs(),ns;Sr(_t,T),o=$t(w);return}var m=n?ia:s?as:void 0,A=oa(n?"svg":s?"math":"template",m);A.innerHTML=l;var F=n||s?A:A.content;if(Sr(Lt(F),F.lastChild),n||s)for(;Lt(F);)o.before(Lt(F));else o.before(F)}})}function Ue(t,r,a,n,s){var l;De&&Kt();var i=(l=r.$$slots)==null?void 0:l[a],o=!1;i===!0&&(i=r.children,o=!0),i===void 0||i(t,o?()=>n:n)}function Ls(t,r,a,n,s,i){let o=De;De&&Kt();var l=null;De&&_t.nodeType===ss&&(l=_t,Kt());var d=De?_t:t,x=new Rs(d,!1);Qn(()=>{const w=r()||null;var T=ia;if(w===null){x.ensure(null,null);return}return x.ensure(w,m=>{if(w){if(l=De?l:oa(w,T),Sr(l,l),n){De&&ks(w)&&l.append(document.createComment(""));var A=De?Lt(l):l.appendChild($r());De&&(A===null?zt(!1):$t(A)),n(l,A)}sa.nodes.end=l,m.before(l)}De&&$t(m)}),()=>{}},os),la(()=>{}),o&&(zt(!0),$t(d))}function Ts(t,r,a){Tr(()=>{var n=Rr(()=>r(t,a==null?void 0:a())||{});if(n!=null&&n.destroy)return()=>n.destroy()})}function Fs(t,r){var a=void 0,n;ca(()=>{a!==(a=r())&&(n&&(Er(n),n=null),a&&(n=cr(()=>{Tr(()=>a(t))})))})}function da(t){var r,a,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(r=0;r=0;){var l=o+i;(o===0||Nn.includes(n[o-1]))&&(l===n.length||Nn.includes(n[l]))?n=(o===0?"":n.substring(0,o))+n.substring(l+1):o=l}}return n===""?null:n}function Mn(t,r=!1){var a=r?" !important;":";",n="";for(var s of Object.keys(t)){var i=t[s];i!=null&&i!==""&&(n+=" "+s+": "+i+a)}return n}function Vr(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function Is(t,r){if(r){var a="",n,s;if(Array.isArray(r)?(n=r[0],s=r[1]):n=r,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var i=!1,o=0,l=!1,d=[];n&&d.push(...Object.keys(n).map(Vr)),s&&d.push(...Object.keys(s).map(Vr));var x=0,w=-1;const v=t.length;for(var T=0;T{Nr(t,t.__value)});r.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),la(()=>{r.disconnect()})}function Os(t,r,a=r){var n=new WeakSet,s=!0;ua(t,"change",i=>{var o=i?"[selected]":":checked",l;if(t.multiple)l=[].map.call(t.querySelectorAll(o),lr);else{var d=t.querySelector(o)??t.querySelector("option:not([disabled])");l=d&&lr(d)}a(l),t.__value=l,mt!==null&&n.add(mt)}),Tr(()=>{var i=r();if(t===document.activeElement){var o=mt;if(n.has(o))return}if(Nr(t,i,s),s&&i===void 0){var l=t.querySelector(":checked");l!==null&&(i=lr(l),a(i))}t.__value=i,s=!1}),fa(t)}function lr(t){return"__value"in t?t.__value:t.value}const ar=Symbol("class"),sr=Symbol("style"),va=Symbol("is custom element"),ga=Symbol("is html"),Hs=fr?"link":"LINK",js=fr?"input":"INPUT",Vs=fr?"option":"OPTION",Us=fr?"select":"SELECT",Bs=fr?"progress":"PROGRESS";function Qe(t){if(De){var r=!1,a=()=>{if(!r){if(r=!0,t.hasAttribute("value")){var n=t.value;we(t,"value",null),t.value=n}if(t.hasAttribute("checked")){var s=t.checked;we(t,"checked",null),t.checked=s}}};t.__on_r=a,na(a),vs()}}function dn(t,r){var a=fn(t);a.value===(a.value=r??void 0)||t.value===r&&(r!==0||t.nodeName!==Bs)||(t.value=r??"")}function qs(t,r){r?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function we(t,r,a,n){var s=fn(t);De&&(s[r]=t.getAttribute(r),r==="src"||r==="srcset"||r==="href"&&t.nodeName===Hs)||s[r]!==(s[r]=a)&&(r==="loading"&&(t[ps]=a),a==null?t.removeAttribute(r):typeof a!="string"&&ha(t).includes(r)?t[r]=a:t.setAttribute(r,a))}function Ks(t,r,a,n,s=!1,i=!1){if(De&&s&&t.nodeName===js){var o=t,l=o.type==="checkbox"?"defaultChecked":"defaultValue";l in a||Qe(o)}var d=fn(t),x=d[va],w=!d[ga];let T=De&&x;T&&zt(!1);var m=r||{},A=t.nodeName===Vs;for(var F in r)F in a||(a[F]=null);a.class?a.class=dt(a.class):a[ar]&&(a.class=null),a[sr]&&(a.style??(a.style=null));var v=ha(t);for(const _ in a){let L=a[_];if(A&&_==="value"&&L==null){t.value=t.__value="",m[_]=L;continue}if(_==="class"){var c=t.namespaceURI==="http://www.w3.org/1999/xhtml";Se(t,c,L,n,r==null?void 0:r[ar],a[ar]),m[_]=L,m[ar]=a[ar];continue}if(_==="style"){Je(t,L,r==null?void 0:r[sr],a[sr]),m[_]=L,m[sr]=a[sr];continue}var y=m[_];if(!(L===y&&!(L===void 0&&t.hasAttribute(_)))){m[_]=L;var R=_[0]+_[1];if(R!=="$$")if(R==="on"){const z={},D="$$"+_;let U=_.slice(2);var g=Ps(U);if(Cs(U)&&(U=U.slice(0,-7),z.capture=!0),!g&&y){if(L!=null)continue;t.removeEventListener(U,m[D],z),m[D]=null}if(g)ie(U,t,L),We([U]);else if(L!=null){let H=function(O){m[_].call(this,O)};m[D]=Ss(U,t,H,z)}}else if(_==="style")we(t,_,L);else if(_==="autofocus")ds(t,!!L);else if(!x&&(_==="__value"||_==="value"&&L!=null))t.value=t.__value=L;else if(_==="selected"&&A)qs(t,L);else{var b=_;w||(b=$s(b));var $=b==="defaultValue"||b==="defaultChecked";if(L==null&&!x&&!$)if(d[_]=null,b==="value"||b==="checked"){let z=t;const D=r===void 0;if(b==="value"){let U=z.defaultValue;z.removeAttribute(b),z.defaultValue=U,z.value=z.__value=D?U:null}else{let U=z.defaultChecked;z.removeAttribute(b),z.defaultChecked=U,z.checked=D?U:!1}}else t.removeAttribute(_);else $||v.includes(b)&&(x||typeof L!="string")?(t[b]=L,b in d&&(d[b]=fs)):typeof L!="function"&&we(t,b,L)}}}return T&&zt(!0),m}function An(t,r,a=[],n=[],s=[],i,o=!1,l=!1){cs(s,a,n,d=>{var x=void 0,w={},T=t.nodeName===Us,m=!1;if(ca(()=>{var F=r(...d.map(e)),v=Ks(t,x,F,i,o,l);m&&T&&"value"in F&&Nr(t,F.value);for(let y of Object.getOwnPropertySymbols(w))F[y]||Er(w[y]);for(let y of Object.getOwnPropertySymbols(F)){var c=F[y];y.description===us&&(!x||c!==x[y])&&(w[y]&&Er(w[y]),w[y]=cr(()=>Fs(t,()=>c))),v[y]=c}x=v}),T){var A=t;Tr(()=>{Nr(A,x.value,!0),fa(A)})}m=!0})}function fn(t){return t.__attributes??(t.__attributes={[va]:t.nodeName.includes("-"),[ga]:t.namespaceURI===gs})}var Ln=new Map;function ha(t){var r=t.getAttribute("is")||t.nodeName,a=Ln.get(r);if(a)return a;Ln.set(r,a=[]);for(var n,s=t,i=Element.prototype;i!==s;){n=ms(s);for(var o in n)n[o].set&&a.push(o);s=hs(s)}return a}function tt(t,r,a=r){var n=new WeakSet;ua(t,"input",async s=>{var i=s?t.defaultValue:t.value;if(i=Br(t)?qr(i):i,a(i),mt!==null&&n.add(mt),await Pt(),i!==(i=r())){var o=t.selectionStart,l=t.selectionEnd,d=t.value.length;if(t.value=i??"",l!==null){var x=t.value.length;o===l&&l===d&&x>d?(t.selectionStart=x,t.selectionEnd=x):(t.selectionStart=o,t.selectionEnd=Math.min(l,x))}}}),(De&&t.defaultValue!==t.value||Rr(r)==null&&t.value)&&(a(Br(t)?qr(t.value):t.value),mt!==null&&n.add(mt)),_s(()=>{var s=r();if(t===document.activeElement){var i=mt;if(n.has(i))return}Br(t)&&s===qr(t.value)||t.type==="date"&&!s&&!t.value||s!==t.value&&(t.value=s??"")})}function Br(t){var r=t.type;return r==="number"||r==="range"}function qr(t){return t===""?null:+t}let xt=I(oe({type:"none",props:{},resolve:null}));function Gs(){return e(xt)}function ot(t=void 0){const{resolve:r}=e(xt);f(xt,{type:"none",props:{},resolve:null},!0),r==null||r(t)}function Ws(t){return new Promise(r=>{f(xt,{type:"run",props:{cases:t},resolve:r},!0)})}function Xs(t){return new Promise(r=>{f(xt,{type:"restart",props:{cases:t},resolve:r},!0)})}function Ys(t){return new Promise(r=>{f(xt,{type:"clean",props:{cases:t},resolve:r},!0)})}function Ye(t,r="Alert"){return new Promise(a=>{f(xt,{type:"alert",props:{title:r,message:t},resolve:()=>a()},!0)})}function Tn(t,r="Confirm",a="OK",n="primary"){return new Promise(s=>{f(xt,{type:"confirm",props:{title:r,message:t,confirmLabel:a,confirmVariant:n},resolve:s},!0)})}function vn(t,r="",a="Input",n="",s=!1){return new Promise(i=>{f(xt,{type:"prompt",props:{title:a,message:t,value:r,placeholder:n,multiline:s},resolve:i},!0)})}var Qs=P('
');function Zt(t,r){function a(i){return document.body.appendChild(i),{destroy(){i.remove()}}}var n=Qs(),s=C(n);ft(s,()=>r.children),p(n),Ts(n,i=>a==null?void 0:a(i)),u(t,n)}var Zs=P('
'),Js=P('
');function vr(t,r){Ae(r,!0);const a=F=>{var v=Js(),c=C(v),y=C(c),R=C(y),g=C(R,!0);p(R);var b=E(R,2);{var $=D=>{var U=Zs(),H=C(U,!0);p(U),Q(()=>ee(H,r.subtitle)),u(D,U)};Y(b,D=>{r.subtitle&&D($)})}p(y);var _=E(y,2);ft(_,()=>r.children);var L=E(_,2),z=C(L);ft(z,()=>r.footer),p(L),p(c),p(v),Q(()=>{Se(c,1,`w-[min(${n()??""},96vw)] bg-white border border-border rounded-[10px] p-4.5`),we(c,"aria-labelledby",r.titleId),we(R,"id",r.titleId),ee(g,r.title)}),ie("keydown",v,o),ie("mousedown",v,d),ie("click",v,x),u(F,v)};let n=he(r,"maxWidth",3,"520px"),s=he(r,"portal",3,!1);function i(){r.onCancel?r.onCancel():ot(null)}function o(F){F.key==="Escape"?i():F.key==="Enter"&&r.onConfirm&&r.onConfirm()}let l=!1;function d(F){l=F.target.dataset.backdrop!==void 0}function x(F){const v=F.target.dataset.backdrop!==void 0;l&&v&&i(),l=!1}var w=_e(),T=B(w);{var m=F=>{Zt(F,{children:(v,c)=>{a(v)}})},A=F=>{a(F)};Y(T,F=>{s()?F(m):F(A,-1)})}u(t,w),Le()}We(["keydown","mousedown","click"]);var eo=P("");function $e(t,r){let a=he(r,"variant",3,"primary"),n=he(r,"size",3,"default"),s=he(r,"disabled",3,!1);const i={default:"h-[34px] rounded-md px-3.5 leading-none text-[13px] tracking-wide",sm:"h-[30px] rounded-md px-2.5 leading-none text-xs"},o={primary:"bg-edf-bleu-moyen text-white border-none hover:bg-[rgb(12,72,170)]",secondary:"bg-white text-ink border border-border hover:bg-edf-gris-clair",run:"bg-edf-vert-fonce text-white border-none hover:bg-[rgb(38,98,12)]",warning:"bg-edf-orange-moyen text-white border-none hover:bg-[rgb(230,118,20)]",danger:"bg-edf-orange-fonce text-white border-none hover:bg-[rgb(180,56,8)]"};var l=eo(),d=C(l);ft(d,()=>r.children),p(l),Q(()=>{Se(l,1,`inline-flex items-center justify-center gap-1.5 font-bold cursor-pointer transition-colors duration-150 disabled:opacity-40 disabled:pointer-events-none ${i[n()]??""} ${o[a()]??""}`),l.disabled=s()}),ie("click",l,function(...x){var w;(w=r.onclick)==null||w.apply(this,x)}),u(t,l)}We(["click"]);var to=P(" ",1),ro=P(''),no=P(''),ao=P('
'),so=P('

',1);function oo(t,r){Ae(r,!0);let a=he(r,"confirmLabel",3,"OK"),n=he(r,"confirmVariant",3,"primary"),s=he(r,"value",3,""),i=he(r,"placeholder",3,""),o=he(r,"multiline",3,!1);const l=s();let d=I(oe(l)),x=I(void 0),w=I(void 0);Ne(()=>{var A;r.mode==="prompt"&&e(x)?(e(x).focus(),"select"in e(x)&&e(x).select()):e(w)&&((A=e(w).querySelector("button"))==null||A.focus())});function T(){r.mode==="prompt"?ot(e(d)):r.mode==="confirm"?ot(!0):ot()}function m(){r.mode==="confirm"?ot(!1):r.mode==="prompt"?ot(null):ot()}{const A=v=>{var c=to(),y=B(c);{var R=$=>{$e($,{variant:"secondary",onclick:m,children:(_,L)=>{ke();var z=Be("Cancel");u(_,z)},$$slots:{default:!0}})};Y(y,$=>{r.mode!=="alert"&&$(R)})}var g=E(y,2),b=C(g);$e(b,{get variant(){return n()},onclick:T,children:($,_)=>{ke();var L=Be();Q(()=>ee(L,a())),u($,L)},$$slots:{default:!0}}),p(g),nt(g,$=>f(w,$),()=>e(w)),u(v,c)};let F=j(()=>o()?void 0:T);vr(t,{get title(){return r.title},titleId:"app-dialog-title",get onConfirm(){return e(F)},onCancel:m,footer:A,children:(v,c)=>{var y=so(),R=B(y),g=C(R,!0);p(R);var b=E(R,2);{var $=_=>{var L=ao(),z=C(L);{var D=H=>{var O=ro();bs(O),nt(O,V=>f(x,V),()=>e(x)),Q(()=>we(O,"placeholder",i())),tt(O,()=>e(d),V=>f(d,V)),u(H,O)},U=H=>{var O=no();Qe(O),nt(O,V=>f(x,V),()=>e(x)),Q(()=>we(O,"placeholder",i())),tt(O,()=>e(d),V=>f(d,V)),u(H,O)};Y(z,H=>{o()?H(D):H(U,-1)})}p(L),u(_,L)};Y(b,_=>{r.mode==="prompt"&&_($)})}Q(()=>ee(g,r.message)),u(v,y)},$$slots:{footer:!0,default:!0}})}Le()}var io=P('');function Me(t,r){var a=io(),n=C(a),s=E(n);ft(s,()=>r.children),p(a),Q(()=>ee(n,`${r.text??""} `)),u(t,a)}function Ct(t,r){const a=localStorage.getItem(t);if(a===null)return r;const n=Number(a);return Number.isFinite(n)?n:r}function St(t,r){Number.isFinite(r)&&localStorage.setItem(t,String(r))}function lo(t,r){return localStorage.getItem(t)??r}function co(){return{n:Ct("csauto_run_n",1),nt:Ct("csauto_run_nt",1),maxParallel:Ct("csauto_run_max_parallel",0)||null}}function uo(t){St("csauto_run_n",t.n),St("csauto_run_nt",t.nt),t.maxParallel&&St("csauto_run_max_parallel",t.maxParallel)}function fo(){return{n:Ct("csauto_restart_n",1),nt:Ct("csauto_restart_nt",1),maxParallel:Ct("csauto_restart_max_parallel",0)||null,mode:lo("csauto_restart_mode","iterations"),value:Ct("csauto_restart_value",100)}}function vo(t){St("csauto_restart_n",t.n),St("csauto_restart_nt",t.nt),t.maxParallel&&St("csauto_restart_max_parallel",t.maxParallel),localStorage.setItem("csauto_restart_mode",t.mode),St("csauto_restart_value",t.value)}function go(){return{keepLast:Ct("csauto_clean_keep_last",1)}}function ho(t){St("csauto_clean_keep_last",t.keepLast)}var po=P(" ",1),mo=P(''),_o=P(''),bo=P(''),xo=P('
');function yo(t,r){Ae(r,!0);const a=co(),n=a.maxParallel??(r.cases.length>1?r.cases.length:0);let s=I(oe(a.n)),i=I(oe(a.nt)),o=I(oe(n));async function l(){if(!Number.isFinite(e(s))||e(s)<=0){await Ye("MPI ranks must be an integer > 0.","Invalid value");return}if(!Number.isFinite(e(i))||e(i)<=0){await Ye("Threads must be an integer > 0.","Invalid value");return}if(e(o)&&(!Number.isFinite(e(o))||e(o)<=0)){await Ye("Max parallel must be empty or > 0.","Invalid value");return}const d={n:e(s),nt:e(i),maxParallel:e(o)||null};uo(d),ot(d)}{const d=T=>{var m=po(),A=B(m);$e(A,{variant:"secondary",onclick:()=>ot(null),children:(v,c)=>{ke();var y=Be("Cancel");u(v,y)},$$slots:{default:!0}});var F=E(A,2);$e(F,{variant:"run",onclick:l,children:(v,c)=>{ke();var y=Be("Run");u(v,y)},$$slots:{default:!0}}),u(T,m)};let x=j(()=>r.cases.length),w=j(()=>r.cases.length>1?"s":"");vr(t,{title:"Run Cases",titleId:"run-dialog-title",get subtitle(){return`${e(x)??""} case${e(w)??""} selected`},onConfirm:l,footer:d,children:(T,m)=>{var A=xo(),F=C(A);Me(F,{text:"MPI Ranks (n)",children:(y,R)=>{var g=mo();Qe(g),tt(g,()=>e(s),b=>f(s,b)),u(y,g)}});var v=E(F,2);Me(v,{text:"OMP Threads (nt)",children:(y,R)=>{var g=_o();Qe(g),tt(g,()=>e(i),b=>f(i,b)),u(y,g)}});var c=E(v,2);Me(c,{text:"Max Parallel",children:(y,R)=>{var g=bo();Qe(g),tt(g,()=>e(o),b=>f(o,b)),u(y,g)}}),p(A),u(T,A)},$$slots:{footer:!0,default:!0}})}Le()}var wo=P(" ",1),ko=P(''),Co=P(''),So=P(''),$o=P(""),Po=P(''),Eo=P('
',1);function Ro(t,r){Ae(r,!0);const a=fo(),n=a.maxParallel??(r.cases.length>1?r.cases.length:0);let s=I(oe(a.n)),i=I(oe(a.nt)),o=I(oe(n)),l=I(oe(a.mode)),d=I(oe(a.value)),x=j(()=>e(l)==="iterations"?"Additional iterations":"Additional physical time"),w=j(()=>e(l)==="iterations"?"1":"any"),T=j(()=>e(l)==="iterations"?"1":"0");async function m(){if(!Number.isFinite(e(s))||e(s)<=0){await Ye("MPI ranks must be an integer > 0.","Invalid value");return}if(!Number.isFinite(e(i))||e(i)<=0){await Ye("Threads must be an integer > 0.","Invalid value");return}if(e(o)&&(!Number.isFinite(e(o))||e(o)<=0)){await Ye("Max parallel must be empty or > 0.","Invalid value");return}if(!Number.isFinite(e(d))||e(d)<=0){await Ye("Value must be > 0.","Invalid value");return}if(e(l)==="iterations"&&!Number.isInteger(e(d))){await Ye("Iterations must be an integer.","Invalid value");return}const A={n:e(s),nt:e(i),maxParallel:e(o)||null,restartMode:e(l),restartValue:e(d)};vo({n:e(s),nt:e(i),maxParallel:e(o)||null,mode:e(l),value:e(d)}),ot(A)}{const A=c=>{var y=wo(),R=B(y);$e(R,{variant:"secondary",onclick:()=>ot(null),children:(b,$)=>{ke();var _=Be("Cancel");u(b,_)},$$slots:{default:!0}});var g=E(R,2);$e(g,{variant:"warning",onclick:m,children:(b,$)=>{ke();var _=Be("Restart");u(b,_)},$$slots:{default:!0}}),u(c,y)};let F=j(()=>r.cases.length),v=j(()=>r.cases.length>1?"s":"");vr(t,{title:"Restart Cases",titleId:"restart-dialog-title",get subtitle(){return`${e(F)??""} case${e(v)??""} selected`},onConfirm:m,footer:A,children:(c,y)=>{var R=Eo(),g=B(R),b=C(g);Me(b,{text:"MPI Ranks (n)",children:(U,H)=>{var O=ko();Qe(O),tt(O,()=>e(s),V=>f(s,V)),u(U,O)}});var $=E(b,2);Me($,{text:"OMP Threads (nt)",children:(U,H)=>{var O=Co();Qe(O),tt(O,()=>e(i),V=>f(i,V)),u(U,O)}});var _=E($,2);Me(_,{text:"Max Parallel",children:(U,H)=>{var O=So();Qe(O),tt(O,()=>e(o),V=>f(o,V)),u(U,O)}}),p(g);var L=E(g,2),z=C(L);Me(z,{text:"Stop criterion",children:(U,H)=>{var O=$o(),V=C(O);V.value=V.__value="iterations";var q=E(V);q.value=q.__value="physical_time",p(O),Os(O,()=>e(l),X=>f(l,X)),u(U,O)}});var D=E(z,2);Me(D,{get text(){return e(x)},children:(U,H)=>{var O=Po();Qe(O),Q(()=>{we(O,"min",e(T)),we(O,"step",e(w))}),tt(O,()=>e(d),V=>f(d,V)),u(U,O)}}),p(L),u(c,R)},$$slots:{footer:!0,default:!0}})}Le()}function Te(t,r){let a=he(r,"size",3,14);var n=_e(),s=B(n);ws(s,()=>r.icon,(i,o)=>{o(i,{get size(){return a()},class:"icon"})}),u(t,n)}/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -46,7 +46,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const Ns={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** + */const No={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -93,7 +93,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const Ms=t=>{for(const r in t)if(r.startsWith("aria-")||r==="role"||r==="title")return!0;return!1};/** + */const Mo=t=>{for(const r in t)if(r.startsWith("aria-")||r==="role"||r==="title")return!0;return!1};/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -140,7 +140,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const Fn=(...t)=>t.filter((r,a,n)=>!!r&&r.trim()!==""&&n.indexOf(r)===a).join(" ").trim();var As=It("");function Ke(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]),n=Ue(a,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);Ae(r,!1);let o=he(r,"name",8,void 0),i=he(r,"color",8,"currentColor"),s=he(r,"size",8,24),l=he(r,"strokeWidth",8,2),d=he(r,"absoluteStrokeWidth",8,!1),y=he(r,"iconNode",24,()=>[]);Ro();var w=As();An(w,(M,F,h)=>({...Ns,...M,...n,width:s(),height:s(),stroke:i(),"stroke-width":F,class:h}),[()=>Ms(n)?void 0:{"aria-hidden":"true"},()=>(jt(d()),jt(l()),jt(s()),Rr(()=>d()?Number(l())*24/Number(s()):l())),()=>(jt(Fn),jt(o()),jt(a),Rr(()=>Fn("lucide-icon","lucide",o()?`lucide-${o()}`:"",a.class)))]);var L=k(w);Je(L,1,y,un,(M,F)=>{var h=U(()=>yo(e(F),2));let c=()=>e(h)[0],x=()=>e(h)[1];var R=_e(),g=B(R);To(g,c,!0,(b,S)=>{An(b,()=>({...x()}))}),u(M,R)});var m=P(L);Ve(m,r,"default",{}),p(w),u(t,w),Le()}function Ls(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const Fn=(...t)=>t.filter((r,a,n)=>!!r&&r.trim()!==""&&n.indexOf(r)===a).join(" ").trim();var Ao=Ot("");function Ke(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]),n=Ve(a,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);Ae(r,!1);let s=he(r,"name",8,void 0),i=he(r,"color",8,"currentColor"),o=he(r,"size",8,24),l=he(r,"strokeWidth",8,2),d=he(r,"absoluteStrokeWidth",8,!1),x=he(r,"iconNode",24,()=>[]);Es();var w=Ao();An(w,(A,F,v)=>({...No,...A,...n,width:o(),height:o(),stroke:i(),"stroke-width":F,class:v}),[()=>Mo(n)?void 0:{"aria-hidden":"true"},()=>(Vt(d()),Vt(l()),Vt(o()),Rr(()=>d()?Number(l())*24/Number(o()):l())),()=>(Vt(Fn),Vt(s()),Vt(a),Rr(()=>Fn("lucide-icon","lucide",s()?`lucide-${s()}`:"",a.class)))]);var T=C(w);Ze(T,1,x,un,(A,F)=>{var v=j(()=>xs(e(F),2));let c=()=>e(v)[0],y=()=>e(v)[1];var R=_e(),g=B(R);Ls(g,c,!0,(b,$)=>{An(b,()=>({...y()}))}),u(A,R)});var m=E(T);Ue(m,r,"default",{}),p(w),u(t,w),Le()}function Lo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -187,7 +187,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]];Ke(t,qe({name:"arrow-down"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Ts(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]];Ke(t,qe({name:"arrow-down"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function To(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -234,7 +234,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M8 3 4 7l4 4"}],["path",{d:"M4 7h16"}],["path",{d:"m16 21 4-4-4-4"}],["path",{d:"M20 17H4"}]];Ke(t,qe({name:"arrow-left-right"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Fs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M8 3 4 7l4 4"}],["path",{d:"M4 7h16"}],["path",{d:"m16 21 4-4-4-4"}],["path",{d:"M20 17H4"}]];Ke(t,qe({name:"arrow-left-right"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Fo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -281,7 +281,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];Ke(t,qe({name:"arrow-up"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function gn(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];Ke(t,qe({name:"arrow-up"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function gn(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -328,7 +328,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"m6 9 6 6 6-6"}]];Ke(t,qe({name:"chevron-down"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Ds(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"m6 9 6 6 6-6"}]];Ke(t,qe({name:"chevron-down"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Do(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -375,7 +375,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"m9 18 6-6-6-6"}]];Ke(t,qe({name:"chevron-right"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function zs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"m9 18 6-6-6-6"}]];Ke(t,qe({name:"chevron-right"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function zo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -422,7 +422,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"}]];Ke(t,qe({name:"circle-stop"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Is(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"}]];Ke(t,qe({name:"circle-stop"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Io(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -469,7 +469,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m15 9-6 6"}],["path",{d:"m9 9 6 6"}]];Ke(t,qe({name:"circle-x"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function gr(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"m15 9-6 6"}],["path",{d:"m9 9 6 6"}]];Ke(t,qe({name:"circle-x"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function gr(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -516,7 +516,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M12 15V3"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}],["path",{d:"m7 10 5 5 5-5"}]];Ke(t,qe({name:"download"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Os(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M12 15V3"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}],["path",{d:"m7 10 5 5 5-5"}]];Ke(t,qe({name:"download"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Oo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -563,7 +563,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97"}]];Ke(t,qe({name:"droplets"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Hs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97"}]];Ke(t,qe({name:"droplets"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Ho(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -610,7 +610,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];Ke(t,qe({name:"ellipsis"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function js(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["circle",{cx:"12",cy:"12",r:"1"}],["circle",{cx:"19",cy:"12",r:"1"}],["circle",{cx:"5",cy:"12",r:"1"}]];Ke(t,qe({name:"ellipsis"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function jo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -657,7 +657,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];Ke(t,qe({name:"external-link"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Us(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];Ke(t,qe({name:"external-link"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Vo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -704,7 +704,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z"}]];Ke(t,qe({name:"fast-forward"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Vs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z"}]];Ke(t,qe({name:"fast-forward"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Uo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -751,7 +751,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1"}]];Ke(t,qe({name:"pause"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Bs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1"}]];Ke(t,qe({name:"pause"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Bo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -798,7 +798,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M13 21h8"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}]];Ke(t,qe({name:"pen-line"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function qs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M13 21h8"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}]];Ke(t,qe({name:"pen-line"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function qo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -845,7 +845,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];Ke(t,qe({name:"pencil"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function pa(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}],["path",{d:"m15 5 4 4"}]];Ke(t,qe({name:"pencil"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function pa(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -892,7 +892,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Ke(t,qe({name:"play"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Ks(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Ke(t,qe({name:"play"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Ko(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -939,7 +939,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];Ke(t,qe({name:"plus"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Zt(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];Ke(t,qe({name:"plus"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Jt(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -986,7 +986,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];Ke(t,qe({name:"refresh-cw"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Gs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];Ke(t,qe({name:"refresh-cw"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Go(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -1033,7 +1033,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];Ke(t,qe({name:"rotate-ccw"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Ws(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];Ke(t,qe({name:"rotate-ccw"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Wo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -1080,7 +1080,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7"}]];Ke(t,qe({name:"save"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Xs(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7"}]];Ke(t,qe({name:"save"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Xo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -1127,7 +1127,7 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];Ke(t,qe({name:"settings"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}function Ys(t,r){const a=Ue(r,["children","$$slots","$$events","$$legacy"]);/** + */const n=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];Ke(t,qe({name:"settings"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}function Yo(t,r){const a=Ve(r,["children","$$slots","$$events","$$legacy"]);/** * @license lucide-svelte v1.0.1 - ISC * * ISC License @@ -1174,17 +1174,17 @@ import{b as Sr,a as u,f as $,c as _e,t as Be,d as It}from"../chunks/C14P8jaG.js" * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * - */const n=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];Ke(t,qe({name:"trash-2"},()=>a,{get iconNode(){return n},children:(o,i)=>{var s=_e(),l=B(s);Ve(l,r,"default",{}),u(o,s)},$$slots:{default:!0}}))}var Qs=$('
  • '),Js=$('
      '),Zs=$('
      ',1);function lt(t,r){Ae(r,!0);let a=he(r,"value",3,""),n=he(r,"placeholder",3,"Select..."),o=he(r,"class",3,""),i=he(r,"buttonClass",3,""),s=I(!1),l=I(void 0),d=I(void 0),y=I(""),w=U(()=>{var D;return((D=r.options.find(V=>V.value===a()))==null?void 0:D.label)??n()});function L(D){var V;f(s,!1),(V=r.onchange)==null||V.call(r,D)}function m(){if(!e(l)||!e(d))return;const D=e(l).getBoundingClientRect(),V=e(d).offsetHeight,H=4,O=window.innerHeight-D.bottom-H,q=OO?D.top-H-V:D.bottom+H,Y=Math.min(D.left,window.innerWidth-D.width);f(y,`position:fixed; top:${q}px; left:${Y}px; width:${D.width}px; z-index:9999;`)}async function M(){f(s,!e(s)),e(s)&&(await Pt(),m())}function F(D){D.key==="Escape"&&f(s,!1)}function h(D){e(s)&&e(l)&&!e(l).contains(D.target)&&e(d)&&!e(d).contains(D.target)&&f(s,!1)}var c=Zs();rt("mousedown",it,h),rt("keydown",it,F),rt("scroll",it,()=>{e(s)&&f(s,!1)});var x=B(c),R=k(x),g=k(R),b=k(g,!0);p(g);var S=P(g,2),_=k(S);Te(_,{get icon(){return gn},size:14}),p(S),p(R),nt(R,D=>f(l,D),()=>e(l)),p(x);var T=P(x,2);{var z=D=>{Jt(D,{children:(V,H)=>{var O=Js();Je(O,21,()=>r.options,j=>j.value,(j,q)=>{var Y=Qs();Se(Y,"tabindex",0);var ae=k(Y,!0);p(Y),Q(()=>{Se(Y,"aria-selected",e(q).value===a()),Ce(Y,1,`px-2.5 py-1.5 text-[13px] cursor-pointer transition-colors duration-100 - ${e(q).value===a()?"text-edf-bleu-fonce font-bold bg-[rgba(16,87,200,0.06)]":"text-ink hover:bg-edf-gris-clair"}`),ee(ae,e(q).label)}),ie("mousedown",Y,N=>{N.stopPropagation(),L(e(q).value)}),u(j,Y)}),p(O),nt(O,j=>f(d,j),()=>e(d)),Q(()=>Ze(O,e(y))),u(V,O)}})};X(T,D=>{e(s)&&D(z)})}Q(()=>{Ce(x,1,`relative inline-flex ${o()??""}`),Ce(R,1,dt(i()||"flex items-center justify-between gap-1.5 w-full h-[30px] cursor-pointer bg-white border border-border rounded-md text-[13px] text-ink font-normal pl-2.5 pr-2 transition-colors duration-150 hover:bg-edf-gris-clair focus:outline-none focus:border-edf-bleu-moyen")),Se(R,"aria-expanded",e(s)),ee(b,e(w)),Ce(S,1,`text-muted shrink-0 transition-transform duration-150 ${e(s)?"rotate-180":""}`)}),ie("mousedown",R,D=>{D.stopPropagation(),M()}),u(t,c),Le()}We(["mousedown"]);var ei=It(''),ti=$('
      '),ri=$('
      '),ni=$('
      ',1);function Gt(t,r){Ae(r,!0);let a=he(r,"selected",19,()=>[]),n=he(r,"placeholder",3,"Select..."),o=he(r,"class",3,""),i=I(!1),s=I(void 0),l=I(void 0),d=I(""),y=U(()=>new Set(a())),w=U(()=>a().length===0?n():a().length===r.options.length?`All (${r.options.length})`:a().length<=2?a().map(H=>{var O;return((O=r.options.find(j=>j.value===H))==null?void 0:O.label)??H}).join(", "):`${a().length} selected`);function L(H){var j;const O=new Set(e(y));O.has(H)?O.delete(H):O.add(H),(j=r.onchange)==null||j.call(r,[...O])}function m(){var H;(H=r.onchange)==null||H.call(r,r.options.map(O=>O.value))}function M(){var H;(H=r.onchange)==null||H.call(r,[])}function F(){if(!e(s)||!e(l))return;const H=e(s).getBoundingClientRect(),O=e(l).offsetHeight,j=4,q=window.innerHeight-H.bottom-j,ae=qq?H.top-j-O:H.bottom+j,N=Math.min(H.left,window.innerWidth-H.width);f(d,`position:fixed; top:${ae}px; left:${N}px; min-width:${H.width}px; z-index:9999;`)}async function h(){f(i,!e(i)),e(i)&&(await Pt(),F())}function c(H){e(i)&&e(s)&&!e(s).contains(H.target)&&e(l)&&!e(l).contains(H.target)&&f(i,!1)}function x(H){H.key==="Escape"&&f(i,!1)}var R=ni();rt("mousedown",it,c),rt("keydown",it,x),rt("scroll",it,()=>{e(i)&&f(i,!1)});var g=B(R),b=k(g),S=k(b),_=k(S,!0);p(S);var T=P(S,2),z=k(T);Te(z,{get icon(){return gn},size:14}),p(T),p(b),nt(b,H=>f(s,H),()=>e(s)),p(g);var D=P(g,2);{var V=H=>{Jt(H,{children:(O,j)=>{var q=ri(),Y=k(q),ae=k(Y),N=P(ae,2);p(Y);var C=P(Y,2);Je(C,17,()=>r.options,v=>v.value,(v,A)=>{var E=ti(),J=k(E),oe=k(J);{var ge=ne=>{var ue=ei();u(ne,ue)},le=U(()=>e(y).has(e(A).value));X(oe,ne=>{e(le)&&ne(ge)})}p(J);var K=P(J,2),re=k(K,!0);p(K),p(E),Q(ne=>{Ce(J,1,`inline-flex items-center justify-center shrink-0 w-[14px] h-[14px] rounded border-2 transition-colors duration-100 - ${ne??""}`),ee(re,e(A).label)},[()=>e(y).has(e(A).value)?"bg-edf-bleu-moyen border-edf-bleu-moyen text-white":"bg-white border-edf-gris-moyen"]),ie("mousedown",E,ne=>{ne.stopPropagation(),L(e(A).value)}),u(v,E)}),p(q),nt(q,v=>f(l,v),()=>e(l)),Q(()=>Ze(q,e(d))),ie("mousedown",ae,v=>{v.stopPropagation(),m()}),ie("mousedown",N,v=>{v.stopPropagation(),M()}),u(O,q)}})};X(D,H=>{e(i)&&H(V)})}Q(()=>{Ce(g,1,`relative inline-flex ${o()??""}`),Se(b,"aria-expanded",e(i)),ee(_,e(w)),Ce(T,1,`text-muted shrink-0 transition-transform duration-150 ${e(i)?"rotate-180":""}`)}),ie("mousedown",b,H=>{H.stopPropagation(),h()}),u(t,R),Le()}We(["mousedown"]);const Yr="csauto_token";let ma=I(se(localStorage.getItem(Yr)??""));function _a(){return e(ma)}function ba(t){f(ma,t,!0),t?localStorage.setItem(Yr,t):localStorage.removeItem(Yr)}let xr=null;async function hn(t,r={}){const a=new Headers(r.headers),n=_a();n&&a.set("X-CSAUTO-TOKEN",n);const o=await fetch(t,{...r,headers:a});if(o.status===401){xr||(xr=vn("API token required:",n,"Authentication"));const i=await xr;return xr=null,i===null?o:(ba(i),a.set("X-CSAUTO-TOKEN",i),fetch(t,{...r,headers:a}))}return o}async function ct(t){const r=await hn(t);if(!r.ok)throw new Error(`GET ${t} failed: ${r.status}`);return r.json()}async function Dr(t){const r=await hn(t);if(!r.ok)throw new Error(`GET ${t} failed: ${r.status}`);return r.text()}async function Rt(t,r){const a=await hn(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!a.ok){const n=await a.text().catch(()=>a.statusText);throw new Error(`POST ${t} failed: ${a.status} — ${n}`)}return a.json()}function zr(t){return t.map(r=>`case=${encodeURIComponent(r)}`).join("&")}function ai(t=!1){return ct(`/api/status${t?"?log=1":""}`)}function Dn(t){return ct(`/api/perf?${zr(t)}`)}function oi(){return ct("/api/app_config")}function si(t){return ct(`/api/residual_columns?${zr(t)}`).then(r=>r.columns??[])}function ii(t,r,a={}){const n=new URLSearchParams;return t.forEach(o=>n.append("case",o)),n.set("columns",r.join(",")),a.width&&n.set("width",String(a.width)),a.height&&n.set("height",String(a.height)),a.xMin!==void 0&&n.set("x_min",String(a.xMin)),a.includeHistory&&n.set("include_history","true"),Dr(`/api/residuals_svg?${n}`)}function xa(t){return ct(`/api/restart_origin?${zr(t)}`)}function li(t){var a;const r=new URLSearchParams;return t.cases.forEach(n=>r.append("case",n)),(a=t.files)!=null&&a.length&&r.set("files",t.files.join(",")),t.maxHits&&r.set("max_hits",String(t.maxHits)),t.context!==void 0&&r.set("context",String(t.context)),t.sev&&r.set("sev",t.sev),t.q&&r.set("q",t.q),ct(`/api/recent_errors?${r}`)}function ci(t,r,a){const n=new URLSearchParams({case:t,file:r,n:String(a)});return Dr(`/api/tail?${n}`)}function ui(t){return ct(`/api/resu_files?case=${encodeURIComponent(t)}`).then(r=>r.files??[])}function di(t){return ct(`/api/resu_dirs?${zr(t)}`).then(r=>r.dirs??[])}function Qr(t,r){const a=new URLSearchParams({scope:r});return t.forEach(n=>a.append("case",n)),ct(`/api/probes?${a}`).then(n=>n.files??[])}function fi(t,r){const a=new URLSearchParams;return t.forEach(n=>a.append("case",n)),r.forEach(n=>a.append("probe",n)),ct(`/api/probe_columns?${a}`).then(n=>n.columns??[])}function vi(t,r,a){const n=new URLSearchParams({case:t,probe:r});return a.forEach(o=>n.append("column",o)),ct(`/api/probe_position?${n}`)}function gi(t){const r=new URLSearchParams;return t.cases.forEach(a=>r.append("case",a)),t.probes.forEach(a=>r.append("probe",a)),r.set("columns",t.columns.join(",")),t.axis&&r.set("axis",t.axis),t.xMin!==void 0&&r.set("x_min",String(t.xMin)),t.timeMin!==void 0&&r.set("time_min",String(t.timeMin)),r.set("include_history","true"),t.width&&r.set("width",String(t.width)),t.height&&r.set("height",String(t.height)),Dr(`/api/probe_svg?${r}`)}function hi(t){const r=new URLSearchParams;return t.cases.forEach(a=>r.append("case",a)),t.base&&r.set("base",t.base),t.kind&&r.set("kind",t.kind),t.filter&&r.set("filter",t.filter),Dr(`/api/compare_runs?${r}`)}function zn(t){return Rt("/api/run_case",{cases:t.cases,n:t.n,nt:t.nt,max_parallel:t.maxParallel??void 0,restart:t.restart??!1,restart_mode:t.restartMode??"",restart_value:t.restartValue??void 0}).then(()=>{})}function pi(t){return Rt("/api/kill_case",{cases:t}).then(()=>{})}function yr(t){return Rt("/api/control_case",{cases:t.cases,action:t.action,value:t.value??void 0}).then(()=>{})}function mi(t){return Rt("/api/cleanup_cases",{cases:t.cases,keep_last:t.keepLast??1,prune_resu:t.pruneResu??!0,keep_resu:t.keepResu??[],delete_resu:t.deleteResu??[],max_log_mb:t.maxLogMb??50,clear_cid:!0,clear_pyc:!1})}function _i(t,r){return Rt("/api/case_note",{case:t,note:r}).then(()=>{})}function bi(t,r){return Rt("/api/case_convergence",{case:t,convergence:r}).then(()=>{})}function xi(t){return Rt("/api/open_gui",{case:t}).then(()=>{})}function yi(){return ct("/api/settings/telemetry")}function wi(t){return Rt("/api/settings/telemetry",{enabled:t})}var ki=$(" ",1),Ci=$(''),Si=$('Loading...'),$i=$('No folders found'),Pi=$('
      '),Ei=$('
      ',1);function Ri(t,r){Ae(r,!0);const a=gs();let n=I("keep_latest"),o=I(se(a.keepLast)),i=I(se([])),s=I(se([])),l=I(!0),d=U(()=>e(n)==="keep_folder"||e(n)==="delete_folder");const y=[{value:"keep_latest",label:"Keep latest N"},{value:"delete_all",label:"Delete all RESU"},{value:"keep_folder",label:"Keep specific folders"},{value:"delete_folder",label:"Delete specific folders"}];let w=U(()=>e(i).map(m=>({value:m,label:m})));Yn(async()=>{try{f(i,await di(r.cases),!0)}catch{f(i,[],!0)}f(l,!1)});async function L(){if(e(d)&&e(s).length===0){await Ye("Please select at least one RESU folder.","Missing selection");return}const m={action:e(n)};e(n)==="keep_latest"?(m.keepLast=e(o),hs({keepLast:e(o)})):e(n)==="delete_all"?m.keepLast=0:e(n)==="keep_folder"?m.keepResu=e(s):e(n)==="delete_folder"&&(m.deleteResu=e(s)),st(m)}{const m=h=>{var c=ki(),x=B(c);$e(x,{variant:"secondary",onclick:()=>st(null),children:(g,b)=>{we();var S=Be("Cancel");u(g,S)},$$slots:{default:!0}});var R=P(x,2);$e(R,{variant:"primary",onclick:L,children:(g,b)=>{we();var S=Be("Clean");u(g,S)},$$slots:{default:!0}}),u(h,c)};let M=U(()=>r.cases.length),F=U(()=>r.cases.length>1?"s":"");vr(t,{title:"Cleanup Cases",titleId:"clean-dialog-title",get subtitle(){return`${e(M)??""} case${e(F)??""} selected`},footer:m,children:(h,c)=>{var x=Ei(),R=B(x),g=k(R);Me(g,{text:"Action",children:(z,D)=>{lt(z,{class:"w-[200px]",get options(){return y},get value(){return e(n)},onchange:V=>f(n,V,!0)})}});var b=P(g,2);{var S=z=>{Me(z,{text:"Keep last",children:(D,V)=>{var H=Ci();Qe(H),tt(H,()=>e(o),O=>f(o,O)),u(D,H)}})};X(b,z=>{e(n)==="keep_latest"&&z(S)})}p(R);var _=P(R,2);{var T=z=>{var D=Pi(),V=k(D);Me(V,{text:"RESU folders",children:(H,O)=>{var j=_e(),q=B(j);{var Y=C=>{var v=Si();u(C,v)},ae=C=>{var v=$i();u(C,v)},N=C=>{Gt(C,{class:"w-full",get options(){return e(w)},get selected(){return e(s)},onchange:v=>f(s,v,!0),placeholder:"Select folders..."})};X(q,C=>{e(l)?C(Y):e(i).length===0?C(ae,1):C(N,-1)})}u(H,j)}}),p(D),u(z,D)};X(_,z=>{e(d)&&z(T)})}u(h,x)},$$slots:{footer:!0,default:!0}})}Le()}function Ni(t,r){Ae(r,!0);let a=U(Wo);var n=_e(),o=B(n);{var i=y=>{ys(y,{get cases(){return e(a).props.cases}})},s=y=>{Rs(y,{get cases(){return e(a).props.cases}})},l=y=>{Ri(y,{get cases(){return e(a).props.cases}})},d=y=>{is(y,{get mode(){return e(a).type},get title(){return e(a).props.title},get message(){return e(a).props.message},get confirmLabel(){return e(a).props.confirmLabel},get confirmVariant(){return e(a).props.confirmVariant},get value(){return e(a).props.value},get placeholder(){return e(a).props.placeholder},get multiline(){return e(a).props.multiline}})};X(o,y=>{e(a).type==="run"?y(i):e(a).type==="restart"?y(s,1):e(a).type==="clean"?y(l,2):(e(a).type==="alert"||e(a).type==="confirm"||e(a).type==="prompt")&&y(d,3)})}u(t,n),Le()}let ur=I(se([])),Mi=0;function Ai(){return e(ur)}function wr(t,r="success",a=3500){const n=++Mi;f(ur,[...e(ur),{id:n,message:t,variant:r}],!0),setTimeout(()=>ya(n),a)}function ya(t){f(ur,e(ur).filter(r=>r.id!==t),!0)}var Li=$('
      '),Ti=$('
      ');function Fi(t,r){Ae(r,!0);let a=U(Ai);Jt(t,{children:(n,o)=>{var i=Ti();Je(i,21,()=>e(a),s=>s.id,(s,l)=>{var d=Li(),y=k(d,!0);p(d),Q(()=>{Ce(d,1,`pointer-events-auto max-w-[320px] px-4 py-2.5 rounded-md shadow-lg text-sm font-semibold text-white cursor-pointer ${e(l).variant==="success"?"bg-edf-vert-fonce":"bg-edf-orange-fonce"}`),ee(y,e(l).message)}),ie("click",d,()=>ya(e(l).id)),u(s,d)}),p(i),u(n,i)}}),Le()}We(["click"]);var Di=It(''),zi=It(''),Ii=$(''),Oi=$(" ",1),Hi=$(" ",1),ji=$('');function zt(t,r){Ae(r,!0);const a=h=>{var c=Ii(),x=k(c);{var R=b=>{var S=Di();Q(()=>Ze(S,`width: ${s()-4}px; height: ${s()-4}px;`)),u(b,S)},g=b=>{var S=zi();Q(()=>Ze(S,`width: ${s()-4}px; height: ${s()-4}px;`)),u(b,S)};X(x,b=>{n()&&!o()?b(R):o()&&b(g,1)})}p(c),Q(()=>{Ce(c,1,`inline-flex items-center justify-center rounded border-2 cursor-pointer transition-colors duration-100 shrink-0 + */const n=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];Ke(t,qe({name:"trash-2"},()=>a,{get iconNode(){return n},children:(s,i)=>{var o=_e(),l=B(o);Ue(l,r,"default",{}),u(s,o)},$$slots:{default:!0}}))}var Qo=P('
    • '),Zo=P('
        '),Jo=P('
        ',1);function lt(t,r){Ae(r,!0);let a=he(r,"value",3,""),n=he(r,"placeholder",3,"Select..."),s=he(r,"class",3,""),i=he(r,"buttonClass",3,""),o=I(!1),l=I(void 0),d=I(void 0),x=I(""),w=j(()=>{var D;return((D=r.options.find(U=>U.value===a()))==null?void 0:D.label)??n()});function T(D){var U;f(o,!1),(U=r.onchange)==null||U.call(r,D)}function m(){if(!e(l)||!e(d))return;const D=e(l).getBoundingClientRect(),U=e(d).offsetHeight,H=4,O=window.innerHeight-D.bottom-H,q=OO?D.top-H-U:D.bottom+H,X=Math.min(D.left,window.innerWidth-D.width);f(x,`position:fixed; top:${q}px; left:${X}px; width:${D.width}px; z-index:9999;`)}async function A(){f(o,!e(o)),e(o)&&(await Pt(),m())}function F(D){D.key==="Escape"&&f(o,!1)}function v(D){e(o)&&e(l)&&!e(l).contains(D.target)&&e(d)&&!e(d).contains(D.target)&&f(o,!1)}var c=Jo();rt("mousedown",it,v),rt("keydown",it,F),rt("scroll",it,()=>{e(o)&&f(o,!1)});var y=B(c),R=C(y),g=C(R),b=C(g,!0);p(g);var $=E(g,2),_=C($);Te(_,{get icon(){return gn},size:14}),p($),p(R),nt(R,D=>f(l,D),()=>e(l)),p(y);var L=E(y,2);{var z=D=>{Zt(D,{children:(U,H)=>{var O=Zo();Ze(O,21,()=>r.options,V=>V.value,(V,q)=>{var X=Qo();we(X,"tabindex",0);var ae=C(X,!0);p(X),Q(()=>{we(X,"aria-selected",e(q).value===a()),Se(X,1,`px-2.5 py-1.5 text-[13px] cursor-pointer transition-colors duration-100 + ${e(q).value===a()?"text-edf-bleu-fonce font-bold bg-[rgba(16,87,200,0.06)]":"text-ink hover:bg-edf-gris-clair"}`),ee(ae,e(q).label)}),ie("mousedown",X,N=>{N.stopPropagation(),T(e(q).value)}),u(V,X)}),p(O),nt(O,V=>f(d,V),()=>e(d)),Q(()=>Je(O,e(x))),u(U,O)}})};Y(L,D=>{e(o)&&D(z)})}Q(()=>{Se(y,1,`relative inline-flex ${s()??""}`),Se(R,1,dt(i()||"flex items-center justify-between gap-1.5 w-full h-[30px] cursor-pointer bg-white border border-border rounded-md text-[13px] text-ink font-normal pl-2.5 pr-2 transition-colors duration-150 hover:bg-edf-gris-clair focus:outline-none focus:border-edf-bleu-moyen")),we(R,"aria-expanded",e(o)),ee(b,e(w)),Se($,1,`text-muted shrink-0 transition-transform duration-150 ${e(o)?"rotate-180":""}`)}),ie("mousedown",R,D=>{D.stopPropagation(),A()}),u(t,c),Le()}We(["mousedown"]);var ei=Ot(''),ti=P('
        '),ri=P('
        '),ni=P('
        ',1);function Gt(t,r){Ae(r,!0);let a=he(r,"selected",19,()=>[]),n=he(r,"placeholder",3,"Select..."),s=he(r,"class",3,""),i=I(!1),o=I(void 0),l=I(void 0),d=I(""),x=j(()=>new Set(a())),w=j(()=>a().length===0?n():a().length===r.options.length?`All (${r.options.length})`:a().length<=2?a().map(H=>{var O;return((O=r.options.find(V=>V.value===H))==null?void 0:O.label)??H}).join(", "):`${a().length} selected`);function T(H){var V;const O=new Set(e(x));O.has(H)?O.delete(H):O.add(H),(V=r.onchange)==null||V.call(r,[...O])}function m(){var H;(H=r.onchange)==null||H.call(r,r.options.map(O=>O.value))}function A(){var H;(H=r.onchange)==null||H.call(r,[])}function F(){if(!e(o)||!e(l))return;const H=e(o).getBoundingClientRect(),O=e(l).offsetHeight,V=4,q=window.innerHeight-H.bottom-V,ae=qq?H.top-V-O:H.bottom+V,N=Math.min(H.left,window.innerWidth-H.width);f(d,`position:fixed; top:${ae}px; left:${N}px; min-width:${H.width}px; z-index:9999;`)}async function v(){f(i,!e(i)),e(i)&&(await Pt(),F())}function c(H){e(i)&&e(o)&&!e(o).contains(H.target)&&e(l)&&!e(l).contains(H.target)&&f(i,!1)}function y(H){H.key==="Escape"&&f(i,!1)}var R=ni();rt("mousedown",it,c),rt("keydown",it,y),rt("scroll",it,()=>{e(i)&&f(i,!1)});var g=B(R),b=C(g),$=C(b),_=C($,!0);p($);var L=E($,2),z=C(L);Te(z,{get icon(){return gn},size:14}),p(L),p(b),nt(b,H=>f(o,H),()=>e(o)),p(g);var D=E(g,2);{var U=H=>{Zt(H,{children:(O,V)=>{var q=ri(),X=C(q),ae=C(X),N=E(ae,2);p(X);var M=E(X,2);Ze(M,17,()=>r.options,h=>h.value,(h,k)=>{var S=ti(),Z=C(S),re=C(Z);{var ge=se=>{var ue=ei();u(se,ue)},le=j(()=>e(x).has(e(k).value));Y(re,se=>{e(le)&&se(ge)})}p(Z);var K=E(Z,2),ne=C(K,!0);p(K),p(S),Q(se=>{Se(Z,1,`inline-flex items-center justify-center shrink-0 w-[14px] h-[14px] rounded border-2 transition-colors duration-100 + ${se??""}`),ee(ne,e(k).label)},[()=>e(x).has(e(k).value)?"bg-edf-bleu-moyen border-edf-bleu-moyen text-white":"bg-white border-edf-gris-moyen"]),ie("mousedown",S,se=>{se.stopPropagation(),T(e(k).value)}),u(h,S)}),p(q),nt(q,h=>f(l,h),()=>e(l)),Q(()=>Je(q,e(d))),ie("mousedown",ae,h=>{h.stopPropagation(),m()}),ie("mousedown",N,h=>{h.stopPropagation(),A()}),u(O,q)}})};Y(D,H=>{e(i)&&H(U)})}Q(()=>{Se(g,1,`relative inline-flex ${s()??""}`),we(b,"aria-expanded",e(i)),ee(_,e(w)),Se(L,1,`text-muted shrink-0 transition-transform duration-150 ${e(i)?"rotate-180":""}`)}),ie("mousedown",b,H=>{H.stopPropagation(),v()}),u(t,R),Le()}We(["mousedown"]);const Yr="csauto_token";let ma=I(oe(localStorage.getItem(Yr)??""));function _a(){return e(ma)}function ba(t){f(ma,t,!0),t?localStorage.setItem(Yr,t):localStorage.removeItem(Yr)}let xr=null;async function hn(t,r={}){const a=new Headers(r.headers),n=_a();n&&a.set("X-CSAUTO-TOKEN",n);const s=await fetch(t,{...r,headers:a});if(s.status===401){xr||(xr=vn("API token required:",n,"Authentication"));const i=await xr;return xr=null,i===null?s:(ba(i),a.set("X-CSAUTO-TOKEN",i),fetch(t,{...r,headers:a}))}return s}async function ct(t){const r=await hn(t);if(!r.ok)throw new Error(`GET ${t} failed: ${r.status}`);return r.json()}async function Dr(t){const r=await hn(t);if(!r.ok)throw new Error(`GET ${t} failed: ${r.status}`);return r.text()}async function Rt(t,r){const a=await hn(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!a.ok){const n=await a.text().catch(()=>a.statusText);throw new Error(`POST ${t} failed: ${a.status} — ${n}`)}return a.json()}function zr(t){return t.map(r=>`case=${encodeURIComponent(r)}`).join("&")}function ai(t=!1){return ct(`/api/status${t?"?log=1":""}`)}function Dn(t){return ct(`/api/perf?${zr(t)}`)}function si(){return ct("/api/app_config")}function oi(t){return ct(`/api/residual_columns?${zr(t)}`).then(r=>r.columns??[])}function ii(t,r,a={}){const n=new URLSearchParams;return t.forEach(s=>n.append("case",s)),n.set("columns",r.join(",")),a.width&&n.set("width",String(a.width)),a.height&&n.set("height",String(a.height)),a.xMin!==void 0&&n.set("x_min",String(a.xMin)),a.includeHistory&&n.set("include_history","true"),Dr(`/api/residuals_svg?${n}`)}function xa(t){return ct(`/api/restart_origin?${zr(t)}`)}function li(t){var a;const r=new URLSearchParams;return t.cases.forEach(n=>r.append("case",n)),(a=t.files)!=null&&a.length&&r.set("files",t.files.join(",")),t.maxHits&&r.set("max_hits",String(t.maxHits)),t.context!==void 0&&r.set("context",String(t.context)),t.sev&&r.set("sev",t.sev),t.q&&r.set("q",t.q),ct(`/api/recent_errors?${r}`)}function ci(t,r,a){const n=new URLSearchParams({case:t,file:r,n:String(a)});return Dr(`/api/tail?${n}`)}function ui(t){return ct(`/api/resu_files?case=${encodeURIComponent(t)}`).then(r=>r.files??[])}function di(t){return ct(`/api/resu_dirs?${zr(t)}`).then(r=>r.dirs??[])}function Qr(t,r){const a=new URLSearchParams({scope:r});return t.forEach(n=>a.append("case",n)),ct(`/api/probes?${a}`).then(n=>n.files??[])}function fi(t,r){const a=new URLSearchParams;return t.forEach(n=>a.append("case",n)),r.forEach(n=>a.append("probe",n)),ct(`/api/probe_columns?${a}`).then(n=>n.columns??[])}function vi(t,r,a){const n=new URLSearchParams({case:t,probe:r});return a.forEach(s=>n.append("column",s)),ct(`/api/probe_position?${n}`)}function gi(t){const r=new URLSearchParams;return t.cases.forEach(a=>r.append("case",a)),t.probes.forEach(a=>r.append("probe",a)),r.set("columns",t.columns.join(",")),t.axis&&r.set("axis",t.axis),t.xMin!==void 0&&r.set("x_min",String(t.xMin)),t.timeMin!==void 0&&r.set("time_min",String(t.timeMin)),r.set("include_history","true"),t.width&&r.set("width",String(t.width)),t.height&&r.set("height",String(t.height)),Dr(`/api/probe_svg?${r}`)}function hi(t){const r=new URLSearchParams;return t.cases.forEach(a=>r.append("case",a)),t.base&&r.set("base",t.base),t.kind&&r.set("kind",t.kind),t.filter&&r.set("filter",t.filter),Dr(`/api/compare_runs?${r}`)}function zn(t){return Rt("/api/run_case",{cases:t.cases,n:t.n,nt:t.nt,max_parallel:t.maxParallel??void 0,restart:t.restart??!1,restart_mode:t.restartMode??"",restart_value:t.restartValue??void 0}).then(()=>{})}function pi(t){return Rt("/api/kill_case",{cases:t}).then(()=>{})}function yr(t){return Rt("/api/control_case",{cases:t.cases,action:t.action,value:t.value??void 0}).then(()=>{})}function mi(t){return Rt("/api/cleanup_cases",{cases:t.cases,keep_last:t.keepLast??1,prune_resu:t.pruneResu??!0,keep_resu:t.keepResu??[],delete_resu:t.deleteResu??[],max_log_mb:t.maxLogMb??50,clear_cid:!0,clear_pyc:!1})}function _i(t,r){return Rt("/api/case_note",{case:t,note:r}).then(()=>{})}function bi(t,r){return Rt("/api/case_convergence",{case:t,convergence:r}).then(()=>{})}function xi(t){return Rt("/api/open_gui",{case:t}).then(()=>{})}function yi(){return ct("/api/settings/telemetry")}function wi(t){return Rt("/api/settings/telemetry",{enabled:t})}var ki=P(" ",1),Ci=P(''),Si=P('Loading...'),$i=P('No folders found'),Pi=P('
        '),Ei=P('
        ',1);function Ri(t,r){Ae(r,!0);const a=go();let n=I("keep_latest"),s=I(oe(a.keepLast)),i=I(oe([])),o=I(oe([])),l=I(!0),d=j(()=>e(n)==="keep_folder"||e(n)==="delete_folder");const x=[{value:"keep_latest",label:"Keep latest N"},{value:"delete_all",label:"Delete all RESU"},{value:"keep_folder",label:"Keep specific folders"},{value:"delete_folder",label:"Delete specific folders"}];let w=j(()=>e(i).map(m=>({value:m,label:m})));Yn(async()=>{try{f(i,await di(r.cases),!0)}catch{f(i,[],!0)}f(l,!1)});async function T(){if(e(d)&&e(o).length===0){await Ye("Please select at least one RESU folder.","Missing selection");return}const m={action:e(n)};e(n)==="keep_latest"?(m.keepLast=e(s),ho({keepLast:e(s)})):e(n)==="delete_all"?m.keepLast=0:e(n)==="keep_folder"?m.keepResu=e(o):e(n)==="delete_folder"&&(m.deleteResu=e(o)),ot(m)}{const m=v=>{var c=ki(),y=B(c);$e(y,{variant:"secondary",onclick:()=>ot(null),children:(g,b)=>{ke();var $=Be("Cancel");u(g,$)},$$slots:{default:!0}});var R=E(y,2);$e(R,{variant:"primary",onclick:T,children:(g,b)=>{ke();var $=Be("Clean");u(g,$)},$$slots:{default:!0}}),u(v,c)};let A=j(()=>r.cases.length),F=j(()=>r.cases.length>1?"s":"");vr(t,{title:"Cleanup Cases",titleId:"clean-dialog-title",get subtitle(){return`${e(A)??""} case${e(F)??""} selected`},footer:m,children:(v,c)=>{var y=Ei(),R=B(y),g=C(R);Me(g,{text:"Action",children:(z,D)=>{lt(z,{class:"w-[200px]",get options(){return x},get value(){return e(n)},onchange:U=>f(n,U,!0)})}});var b=E(g,2);{var $=z=>{Me(z,{text:"Keep last",children:(D,U)=>{var H=Ci();Qe(H),tt(H,()=>e(s),O=>f(s,O)),u(D,H)}})};Y(b,z=>{e(n)==="keep_latest"&&z($)})}p(R);var _=E(R,2);{var L=z=>{var D=Pi(),U=C(D);Me(U,{text:"RESU folders",children:(H,O)=>{var V=_e(),q=B(V);{var X=M=>{var h=Si();u(M,h)},ae=M=>{var h=$i();u(M,h)},N=M=>{Gt(M,{class:"w-full",get options(){return e(w)},get selected(){return e(o)},onchange:h=>f(o,h,!0),placeholder:"Select folders..."})};Y(q,M=>{e(l)?M(X):e(i).length===0?M(ae,1):M(N,-1)})}u(H,V)}}),p(D),u(z,D)};Y(_,z=>{e(d)&&z(L)})}u(v,y)},$$slots:{footer:!0,default:!0}})}Le()}function Ni(t,r){Ae(r,!0);let a=j(Gs);var n=_e(),s=B(n);{var i=x=>{yo(x,{get cases(){return e(a).props.cases}})},o=x=>{Ro(x,{get cases(){return e(a).props.cases}})},l=x=>{Ri(x,{get cases(){return e(a).props.cases}})},d=x=>{oo(x,{get mode(){return e(a).type},get title(){return e(a).props.title},get message(){return e(a).props.message},get confirmLabel(){return e(a).props.confirmLabel},get confirmVariant(){return e(a).props.confirmVariant},get value(){return e(a).props.value},get placeholder(){return e(a).props.placeholder},get multiline(){return e(a).props.multiline}})};Y(s,x=>{e(a).type==="run"?x(i):e(a).type==="restart"?x(o,1):e(a).type==="clean"?x(l,2):(e(a).type==="alert"||e(a).type==="confirm"||e(a).type==="prompt")&&x(d,3)})}u(t,n),Le()}let ur=I(oe([])),Mi=0;function Ai(){return e(ur)}function wr(t,r="success",a=3500){const n=++Mi;f(ur,[...e(ur),{id:n,message:t,variant:r}],!0),setTimeout(()=>ya(n),a)}function ya(t){f(ur,e(ur).filter(r=>r.id!==t),!0)}var Li=P('
        '),Ti=P('
        ');function Fi(t,r){Ae(r,!0);let a=j(Ai);Zt(t,{children:(n,s)=>{var i=Ti();Ze(i,21,()=>e(a),o=>o.id,(o,l)=>{var d=Li(),x=C(d,!0);p(d),Q(()=>{Se(d,1,`pointer-events-auto max-w-[320px] px-4 py-2.5 rounded-md shadow-lg text-sm font-semibold text-white cursor-pointer ${e(l).variant==="success"?"bg-edf-vert-fonce":"bg-edf-orange-fonce"}`),ee(x,e(l).message)}),ie("click",d,()=>ya(e(l).id)),u(o,d)}),p(i),u(n,i)}}),Le()}We(["click"]);var Di=Ot(''),zi=Ot(''),Ii=P(''),Oi=P(" ",1),Hi=P(" ",1),ji=P('');function It(t,r){Ae(r,!0);const a=v=>{var c=Ii(),y=C(c);{var R=b=>{var $=Di();Q(()=>Je($,`width: ${o()-4}px; height: ${o()-4}px;`)),u(b,$)},g=b=>{var $=zi();Q(()=>Je($,`width: ${o()-4}px; height: ${o()-4}px;`)),u(b,$)};Y(y,b=>{n()&&!s()?b(R):s()&&b(g,1)})}p(c),Q(()=>{Se(c,1,`inline-flex items-center justify-center rounded border-2 cursor-pointer transition-colors duration-100 shrink-0 ${i()?"opacity-40 cursor-not-allowed":""} - ${n()||o()?"bg-edf-bleu-moyen border-edf-bleu-moyen text-white":"bg-white border-edf-gris-moyen hover:border-edf-bleu-clair"}`),Ze(c,`width: ${s()??""}px; height: ${s()??""}px;`),Se(c,"aria-checked",o()?"mixed":n()),Se(c,"aria-disabled",i()),Se(c,"tabindex",i()?-1:0)}),ie("click",c,y),ie("keydown",c,w),u(h,c)};let n=he(r,"checked",3,!1),o=he(r,"indeterminate",3,!1),i=he(r,"disabled",3,!1),s=he(r,"size",3,16),l=he(r,"label",3,""),d=he(r,"labelFirst",3,!1);function y(h){var x;if(h.stopPropagation(),i())return;const c=o()?!0:!n();(x=r.onchange)==null||x.call(r,c)}function w(h){(h.key===" "||h.key==="Enter")&&(h.preventDefault(),h.stopPropagation(),y(h))}var L=_e(),m=B(L);{var M=h=>{var c=ji(),x=k(c);{var R=b=>{var S=Oi(),_=B(S),T=k(_,!0);p(_);var z=P(_);a(z),Q(()=>ee(T,l())),u(b,S)},g=b=>{var S=Hi(),_=B(S);a(_);var T=P(_),z=k(T,!0);p(T),Q(()=>ee(z,l())),u(b,S)};X(x,b=>{d()?b(R):b(g,-1)})}p(c),ie("click",c,y),ie("keydown",c,w),u(h,c)},F=h=>{a(h)};X(m,h=>{l()?h(M):h(F,-1)})}u(t,L),Le()}We(["click","keydown"]);function pn(t,r){try{const a=localStorage.getItem(t);return a===null?r:JSON.parse(a)}catch{return r}}function Ir(t,r){localStorage.setItem(t,JSON.stringify(r))}const Jr=new Map;function hr(t,r,a){vt(t),Jr.set(t,setInterval(r,a))}function vt(t){const r=Jr.get(t);r!==void 0&&(clearInterval(r),Jr.delete(t))}const Tt={status:1e3,tail:1e3,plot:3e3,probe:3e3,errors:5e3},Ui=["status","plot","probe","tail","errors"],Kr={status:{label:"Status table",min:500},plot:{label:"Residual plots",min:1e3},probe:{label:"Probe plots",min:1e3},tail:{label:"Log tail",min:500},errors:{label:"Recent errors",min:2e3}},sr=pn("csauto_refresh_rates",{});let bt=I(se({status:sr.status??Tt.status,tail:sr.tail??Tt.tail,plot:sr.plot??Tt.plot,probe:sr.probe??Tt.probe,errors:sr.errors??Tt.errors}));function Vi(){return e(bt)}function Bi(t,r){f(bt,{...e(bt),[t]:r},!0),Ir("csauto_refresh_rates",e(bt))}function qi(){return e(bt).status}function In(){return e(bt).tail}function On(){return e(bt).plot}function Ki(){return e(bt).probe}function Hn(){return e(bt).errors}const Zr=new Set;function pr(t){return Zr.add(t),()=>Zr.delete(t)}function Gi(){Zr.forEach(t=>t())}const en=pn("csauto_autorefresh_enabled",{});function er(t){return en[t]??!0}function tr(t,r){en[t]=r,Ir("csauto_autorefresh_enabled",en)}var Wi=$(" ",1),Xi=$('
        ms
        '),Yi=$('
        Telemetry
        '),Qi=$('
        API token
        Auto-refresh intervals
        ',1);function Ji(t,r){Ae(r,!0);let a=I(se(_a())),n=I(se({...Vi()})),o=I(!0),i=I(!1);Ne(()=>{yi().then(y=>{f(o,y.enabled,!0),f(i,!0)}).catch(()=>{f(i,!1)})});function s(y){const{min:w}=Kr[y];let L=e(n)[y];(typeof L!="number"||isNaN(L))&&(L=Tt[y]),f(n,{...e(n),[y]:Math.max(w,Math.round(L))},!0)}function l(y,w){const L=w.target,m=L.value.replace(/[^0-9]/g,""),M=parseInt(m,10);isNaN(M)?m===""&&f(n,{...e(n),[y]:Kr[y].min},!0):f(n,{...e(n),[y]:M},!0),L.value=String(e(n)[y])}function d(){ba(e(a));for(const y of Object.keys(e(n)))s(y),Bi(y,e(n)[y]);e(i)&&wi(e(o)).catch(()=>{}),r.onClose()}vr(t,{title:"Settings",titleId:"settings-dialog-title",get onCancel(){return r.onClose},onConfirm:d,maxWidth:"400px",portal:!0,footer:w=>{var L=Wi(),m=B(L);$e(m,{variant:"secondary",get onclick(){return r.onClose},children:(F,h)=>{we();var c=Be("Cancel");u(F,c)},$$slots:{default:!0}});var M=P(m,2);$e(M,{variant:"primary",onclick:d,children:(F,h)=>{we();var c=Be("Save");u(F,c)},$$slots:{default:!0}}),u(w,L)},children:(w,L)=>{var m=Qi(),M=B(m),F=P(k(M),2);Qe(F),p(M);var h=P(M,2),c=k(h),x=P(k(c),2);p(c);var R=P(c,2);Je(R,20,()=>Ui,S=>S,(S,_)=>{const T=U(()=>Kr[_]);var z=Xi(),D=k(z),V=k(D),H=k(V,!0);p(V);var O=P(V,2),j=k(O);p(O),p(D);var q=P(D,2),Y=k(q);Qe(Y),we(2),p(q),p(z),Q(()=>{ee(H,e(T).label),ee(j,`min ${e(T).min??""}ms`),dn(Y,e(n)[_])}),ie("input",Y,ae=>l(_,ae)),rt("blur",Y,()=>s(_)),u(S,z)}),p(R),p(h);var g=P(h,2);{var b=S=>{var _=Yi(),T=P(k(_),2);zt(T,{get checked(){return e(o)},onchange:z=>f(o,z,!0),label:"Send anonymous usage statistics"}),p(_),u(S,_)};X(g,S=>{e(i)&&S(b)})}tt(F,()=>e(a),S=>f(a,S)),ie("click",x,()=>f(n,{...Tt},!0)),u(w,m)},$$slots:{footer:!0,default:!0}}),Le()}We(["click","input"]);const Zi=""+new URL("../assets/code-saturne.BHojVttu.svg",import.meta.url).href;let wa=I(null);function el(t){f(wa,t,!0)}function Bt(){return e(wa)}var tl=$('CODE_SATURNE'),rl=$(' '),nl=$('
        ',1);function al(t,r){Ae(r,!0);let a=U(()=>r.shownCases!==r.totalCases),n=I(!1);var o=nl(),i=B(o),s=k(i),l=k(s);{var d=C=>{var v=tl();Q(()=>Se(v,"src",Zi)),u(C,v)},y=U(()=>{var C;return!Bt()||((C=Bt())==null?void 0:C.solver)==="code_saturne"}),w=C=>{var v=rl(),A=k(v,!0);p(v),Q(E=>ee(A,E),[()=>{var E;return(E=Bt())==null?void 0:E.solver}]),u(C,v)};X(l,C=>{e(y)?C(d):C(w,-1)})}p(s);var L=P(s,2),m=k(L),M=k(m),F=k(M);{var h=C=>{var v=Be();Q(()=>ee(v,`${r.shownCases??""}/`)),u(C,v)};X(F,C=>{e(a)&&C(h)})}var c=P(F,1,!0);p(M);var x=P(M,2),R=k(x,!0);p(x),p(m);var g=P(m,2),b=k(g),S=k(b);{var _=C=>{var v=Be();Q(()=>ee(v,`${r.shownRunning??""}/`)),u(C,v)};X(S,C=>{e(a)&&C(_)})}var T=P(S,1,!0);p(b),we(2),p(g);var z=P(g,2),D=k(z),V=k(D);{var H=C=>{var v=Be();Q(()=>ee(v,`${r.shownConverged??""}/`)),u(C,v)};X(V,C=>{e(a)&&C(H)})}var O=P(V,1,!0);p(D),we(2),p(z),p(L);var j=P(L,2),q=k(j),Y=k(q);Te(Y,{get icon(){return Xs},size:18}),p(q),p(j),p(i);var ae=P(i,2);{var N=C=>{Ji(C,{onClose:()=>f(n,!1)})};X(ae,C=>{e(n)&&C(N)})}Q(()=>{ee(c,r.totalCases),ee(R,r.totalCases===1?"case":"cases"),ee(T,r.totalRunning),ee(O,r.totalConverged)}),ie("click",q,()=>f(n,!0)),u(t,o),Le()}We(["click"]);const ol=""+new URL("../assets/simvia-logo.kLDq7Uoj.svg",import.meta.url).href;var sl=$('
        '),il=$('

        '),ll=$("
        "),cl=$('
        '),ul=$('
        '),dl=$('
        ');function Ot(t,r){let a=he(r,"eyebrow",3,""),n=he(r,"title",3,""),o=he(r,"wide",3,!1);var i=dl(),s=P(k(i),2);{var l=y=>{var w=ul(),L=k(w);{var m=c=>{var x=_e(),R=B(x);ft(R,()=>r.titleSlot),u(c,x)},M=c=>{var x=ll(),R=k(x);{var g=_=>{var T=sl(),z=k(T,!0);p(T),Q(()=>ee(z,a())),u(_,T)};X(R,_=>{a()&&_(g)})}var b=P(R,2);{var S=_=>{var T=il(),z=k(T,!0);p(T),Q(()=>ee(z,n())),u(_,T)};X(b,_=>{n()&&_(S)})}p(x),u(c,x)};X(L,c=>{r.titleSlot?c(m):c(M,-1)})}var F=P(L,2);{var h=c=>{var x=cl(),R=k(x);ft(R,()=>r.actions),p(x),u(c,x)};X(F,c=>{r.actions&&c(h)})}p(w),u(y,w)};X(s,y=>{(a()||n()||r.titleSlot||r.actions)&&y(l)})}var d=P(s,2);ft(d,()=>r.children),p(i),Q(()=>{Ce(i,1,`${o()?"col-span-12":"col-span-6"} bg-card border border-border rounded-[10px] p-[16px_18px_18px] relative overflow-clip animate-rise`),Se(i,"id",r.id)}),u(t,i)}function rr(t,r){Ae(r,!0);let a=he(r,"checked",15,!0);Ne(()=>{a()?hr(r.name,r.onRefresh,r.intervalMs):vt(r.name)}),dr(()=>vt(r.name)),zt(t,{get checked(){return a()},onchange:n=>a(n),size:14,label:"Auto-refresh",labelFirst:!0}),Le()}var fl=$(" ",1),vl=$('
      • '),gl=$(''),hl=$(' ',1);function pl(t,r){Ae(r,!0);let a=he(r,"label",3,"More"),n=I(!1),o=I(void 0),i=I(void 0),s=I("");function l(){if(!e(o)||!e(i))return;const c=e(o).getBoundingClientRect(),x=e(i).offsetHeight,R=4,g=window.innerHeight-c.bottom-R,S=gg?c.top-R-x:c.bottom+R,_=Math.min(c.left,window.innerWidth-180);f(s,`position:fixed; top:${S}px; left:${_}px; min-width:170px; z-index:9999;`)}async function d(){f(n,!e(n)),e(n)&&(await Pt(),l())}function y(c){c.disabled||(f(n,!1),c.onClick())}function w(c){e(n)&&e(o)&&!e(o).contains(c.target)&&e(i)&&!e(i).contains(c.target)&&f(n,!1)}var L=hl();rt("mousedown",it,w),rt("keydown",it,c=>{c.key==="Escape"&&f(n,!1)}),rt("scroll",it,()=>{e(n)&&f(n,!1)});var m=B(L),M=k(m);$e(M,{variant:"secondary",size:"sm",onclick:d,children:(c,x)=>{var R=fl(),g=B(R);Te(g,{get icon(){return Hs}});var b=P(g);Q(()=>ee(b,` ${a()??""}`)),u(c,R)},$$slots:{default:!0}}),p(m),nt(m,c=>f(o,c),()=>e(o));var F=P(m,2);{var h=c=>{Jt(c,{children:(x,R)=>{var g=gl();Je(g,21,()=>r.items,b=>b.label,(b,S)=>{var _=vl(),T=k(_),z=k(T);Te(z,{get icon(){return e(S).icon},size:14});var D=P(z);p(T),p(_),Q(()=>{T.disabled=e(S).disabled,Se(T,"aria-disabled",e(S).disabled),Ce(T,1,`w-full flex items-center gap-2 text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] text-ink transition-[background] duration-[120ms] ease-in-out disabled:opacity-40 disabled:pointer-events-none ${e(S).disabled?"":"cursor-pointer hover:bg-edf-gris-clair hover:border-border"}`),ee(D,` ${e(S).label??""}`)}),ie("mousedown",T,V=>{V.stopPropagation(),y(e(S))}),u(b,_)}),p(g),nt(g,b=>f(i,b),()=>e(i)),Q(()=>Ze(g,e(s))),u(x,g)}})};X(F,c=>{e(n)&&c(h)})}u(t,L),Le()}We(["mousedown"]);const Ft=[{key:"note",label:"Note"},{key:"nprocs",label:"MPI Ranks"},{key:"nt",label:"Thread Count"},{key:"last_iter",label:"Last Iter"},{key:"duration",label:"Duration"},{key:"last_mod",label:"Last Modified"},{key:"resu_size_mb",label:"RESU Size (MB)"}];let Wt=I(se([])),Mr=I(se([])),pt=I(se(new Set)),mr=I(""),mn=I(""),Et=I(se([])),ot=I(se([])),Xt=I(""),ka=I(!0),ml=I(!0),qt=I(se(pn("csauto_status_views",{}))),_n=I(se(localStorage.getItem("csauto_status_view_selected")??""));function bn(){return e(Wt)}function xn(){return e(Mr)}function Ut(){return e(pt)}function jn(){return e(mr)}function tn(){return e(mn)}function _l(){return e(Et)}function bl(){return e(Et).filter(t=>e(Mr).includes(t))}function xl(){return e(Et).filter(t=>Ft.some(r=>r.key===t))}function yl(){return e(ot)}function wl(){return e(Xt)}function kl(){return e(ka)}function Un(){return e(qt)}function Cl(){return e(_n)}function Sl(t){f(Wt,t,!0)}function $l(t){const r=e(Mr).length===0&&t.length>0;f(Mr,t,!0),r&&e(Et).length===0&&f(Et,[...t,...Ft.map(a=>a.key)],!0)}function Pl(t){f(mr,t,!0)}function Vn(t){f(Et,t,!0)}function El(t){f(Xt,t,!0)}function Rl(t){f(ka,t,!0)}function Nl(t){f(ml,t,!0)}function yn(t){f(_n,t,!0),localStorage.setItem("csauto_status_view_selected",t)}function rn(t){const r=new Set(e(pt));r.has(t)?r.delete(t):r.add(t),f(pt,r,!0),f(mr,t,!0),f(mn,t,!0)}function Ca(t){f(pt,new Set([t]),!0),f(mr,t,!0),f(mn,t,!0)}function nn(t,r,a){const n=a.indexOf(t),o=a.indexOf(r);if(n<0||o<0)return;const[i,s]=n{const a=Ml(r);return t.every(n=>a.includes(n))})}function Al(t){if(t==null||t==="")return"";const r=Number(t);return Number.isFinite(r)?r:String(t).toLowerCase()}function Kn(t,r){var n;if(r==="case_id")return t.case_id;if(r==="status")return t.status??"";if(r==="note")return t.note??"";if(r==="nprocs")return t.nprocs??0;if(r==="nt")return t.nt??0;if(r==="last_iter")return t.last_iter??0;if(r==="duration")return t.duration_s??0;if(r==="last_mod")return t.last_mod??"";if(r==="resu_size_mb")return t.resu_size_mb??0;const a=(n=t.doe)==null?void 0:n[r];return a!==void 0?Al(a):""}function Ll(t,r){return t===""&&r===""?0:t===""?1:r===""?-1:typeof t=="number"&&typeof r=="number"?t-r:String(t).localeCompare(String(r))}function $a(){const t=Sa();return e(ot).length===0?t:[...t].sort((r,a)=>{for(const n of e(ot)){const o=Kn(r,n.key),i=Kn(a,n.key),s=Ll(o,i);if(s!==0)return n.dir==="asc"?s:-s}return 0})}function Pr(){return $a().map(t=>t.case_id)}function Tl(t,r){const a=e(ot).findIndex(n=>n.key===t);if(r)if(a>=0){const n=[...e(ot)];n[a]={key:t,dir:n[a].dir==="asc"?"desc":"asc"},f(ot,n,!0)}else f(ot,[...e(ot),{key:t,dir:"asc"}],!0);else a>=0&&e(ot).length===1?f(ot,[{key:t,dir:e(ot)[0].dir==="asc"?"desc":"asc"}],!0):f(ot,[{key:t,dir:"asc"}],!0)}function Fl(){return{visibleColumns:[...e(Et)],search:e(Xt),sorts:e(ot).map(t=>({...t}))}}function Dl(t){f(Et,[...t.visibleColumns],!0),f(Xt,t.search,!0),f(ot,t.sorts.map(r=>({...r})),!0)}function zl(t){f(qt,{...e(qt),[t]:Fl()},!0),Ir("csauto_status_views",e(qt)),yn(t)}function Il(t){const r={...e(qt)};delete r[t],f(qt,r,!0),Ir("csauto_status_views",r),e(_n)===t&&yn("")}function kr(){const t=new Set;for(const r of e(Wt))e(pt).has(r.case_id)&&t.add((r.status??"").toUpperCase());return t}function Gn(){for(const t of e(Wt))if(e(pt).has(t.case_id)&&t.resu_size_mb!=null&&t.resu_size_mb>0)return!0;return!1}function Ol(t,r){const a=r.length,n=t.length,o=r.filter(d=>d.status==="RUNNING").length,i=t.filter(d=>d.status==="RUNNING").length,s=r.filter(d=>d.convergence==="converged").length,l=t.filter(d=>d.convergence==="converged").length;return{totalCases:a,shownCases:n,totalRunning:o,shownRunning:i,totalConverged:s,shownConverged:l}}var Hl=$('
        DOE columns
        '),jl=$('
        ');function Ul(t,r){Ae(r,!0);let a=he(r,"initialName",3,""),n=U(xn),o=I(se(a())),i=I(se(new Set(r.initialColumns??[...e(n),...Ft.map(j=>j.key)])));function s(j){const q=new Set(e(i));q.has(j)?q.delete(j):q.add(j),f(i,q,!0)}function l(j,q){const Y=new Set(e(i));j.forEach(ae=>q?Y.add(ae):Y.delete(ae)),f(i,Y,!0)}function d(){const j=e(o).trim();j&&r.onSave(j,[...e(i)])}function y(j){j.key==="Escape"&&r.onCancel()}function w(j){j.target.dataset.backdrop!==void 0&&r.onCancel()}let L=I(void 0);Ne(()=>{var j,q;(j=e(L))==null||j.focus(),(q=e(L))==null||q.select()});var m=jl(),M=k(m),F=k(M),h=k(F,!0);p(F);var c=P(F,2),x=P(k(c),2);Qe(x),nt(x,j=>f(L,j),()=>e(L)),p(c);var R=P(c,2);{var g=j=>{var q=Hl(),Y=k(q),ae=P(k(Y),2),N=k(ae),C=P(N,2);p(ae),p(Y);var v=P(Y,2);Je(v,20,()=>e(n),A=>A,(A,E)=>{{let J=U(()=>e(i).has(E));zt(A,{get checked(){return e(J)},onchange:()=>s(E),size:14,get label(){return E}})}}),p(v),p(q),ie("click",N,()=>l(e(n),!0)),ie("click",C,()=>l(e(n),!1)),u(j,q)};X(R,j=>{e(n).length>0&&j(g)})}var b=P(R,2),S=k(b),_=P(k(S),2),T=k(_),z=P(T,2);p(_),p(S);var D=P(S,2);Je(D,21,()=>Ft,j=>j.key,(j,q)=>{{let Y=U(()=>e(i).has(e(q).key));zt(j,{get checked(){return e(Y)},onchange:()=>s(e(q).key),size:14,get label(){return e(q).label}})}}),p(D),p(b);var V=P(b,2),H=k(V);$e(H,{variant:"secondary",get onclick(){return r.onCancel},children:(j,q)=>{we();var Y=Be("Cancel");u(j,Y)},$$slots:{default:!0}});var O=P(H,2);{let j=U(()=>!e(o).trim());$e(O,{variant:"primary",onclick:d,get disabled(){return e(j)},children:(q,Y)=>{we();var ae=Be("Save");u(q,ae)},$$slots:{default:!0}})}p(V),p(M),p(m),Q(()=>ee(h,r.mode==="create"?"New view":"Edit view")),ie("keydown",m,y),ie("click",m,w),tt(x,()=>e(o),j=>f(o,j)),ie("click",T,()=>l(Ft.map(j=>j.key),!0)),ie("click",z,()=>l(Ft.map(j=>j.key),!1)),u(t,m),Le()}We(["keydown","click"]);var Vl=$('
        ',1);function Bl(t,r){Ae(r,!0);let a=U(()=>Object.keys(Un())),n=I(se(Cl())),o=I(!1),i=I("create"),s=U(()=>[{value:"",label:"All columns"},...e(a).map(S=>({value:S,label:S}))]);function l(S){if(f(n,S,!0),yn(S),S==="")Vn([...xn(),...Ft.map(_=>_.key)]);else{const _=Un();_[S]&&Dl(_[S])}}function d(){f(i,"edit"),f(o,!0)}function y(){f(i,"create"),f(o,!0)}function w(S,_){Vn(_),e(i)==="edit"&&e(n)&&S!==e(n)&&Il(e(n)),zl(S),f(n,S,!0),f(o,!1)}function L(){f(o,!1)}var m=Vl(),M=B(m),F=k(M);lt(F,{class:"w-[140px]",get options(){return e(s)},get value(){return e(n)},onchange:l});var h=P(F,2),c=k(h);Te(c,{get icon(){return qs},size:14}),p(h);var x=P(h,2),R=k(x);Te(R,{get icon(){return Ks},size:14}),p(x),p(M);var g=P(M,2);{var b=S=>{Jt(S,{children:(_,T)=>{{let z=U(()=>e(i)==="edit"?e(n):""),D=U(_l);Ul(_,{get mode(){return e(i)},get initialName(){return e(z)},get initialColumns(){return e(D)},onSave:w,onCancel:L})}}})};X(g,S=>{e(o)&&S(b)})}ie("click",h,d),ie("click",x,y),u(t,m),Le()}We(["click"]);var ql=$('
        '),Kl=$(""),Gl=$(' '),Wl=$(' '),Xl=$('
        '),Yl=$(" "),Ql=$(''),Jl=$(''),Zl=$(" Open GUI",1),ec=$(""),tc=$(" "),rc=$(""),nc=$('
        ');function ac(t,r){Ae(r,!0);let a=U(()=>r.rows.length>0&&r.rows.every(N=>e(y).has(N.case_id))),n=U(()=>r.rows.some(N=>e(y).has(N.case_id))),o=U(()=>e(n)&&!e(a)),i=U(bl),s=U(()=>new Set(xl())),l=U(yl),d=U(kl),y=U(Ut),w=U(()=>{const N=[{key:"_select",label:"",kind:"meta",sticky:"left"},{key:"case_id",label:"Case",kind:"meta",sticky:"left"},{key:"status",label:"Status",kind:"meta",sticky:"left"},...e(s).has("note")?[{key:"note",label:"Note",kind:"meta"}]:[]],C=e(i).map(J=>({key:J,label:J,kind:"doe"})),A=[{key:"nprocs",label:"MPI Ranks",kind:"calc"},{key:"nt",label:"Thread Count",kind:"calc"},{key:"last_iter",label:"Last Iter",kind:"calc"},{key:"duration",label:"Duration",kind:"calc"},{key:"last_mod",label:"Last Modified",kind:"calc"},{key:"resu_size_mb",label:"RESU Size (MB)",kind:"calc"}].filter(J=>e(s).has(J.key)),E=[{key:"_actions",label:"",kind:"meta",sticky:"right"}];return[...N,...C,...A,...E]});function L(N){const C=e(l).findIndex(A=>A.key===N);if(C<0)return"";const v=e(l)[C].dir==="asc"?"▲":"▼";return e(l).length>1?`${v}${C+1}`:v}function m(N,C){N!=="_actions"&&Tl(N,C.ctrlKey||C.metaKey)}function M(N,C){C.shiftKey?nn(tn()||N,N,Pr()):C.ctrlKey||C.metaKey?rn(N):Ca(N)}function F(N,C){var A;const v=((A=N.status)==null?void 0:A.toUpperCase())??"";v!=="DONE"&&v!=="FAILED"||(C.preventDefault(),r.onContextMenu(N.case_id,C.clientX,C.clientY,N.convergence??""))}async function h(N){const C=N.note??"",v=await vn("Case note:",C,`Note — ${N.case_id}`,"",!0);if(v!==null)try{await _i(N.case_id,v)}catch(A){await Ye(`Failed to set note: ${A instanceof Error?A.message:A}`,"Error")}}async function c(N){try{await xi(N)}catch(C){await Ye(`Failed to open GUI: ${C instanceof Error?C.message:C}`,"Error")}}function x(N,C){const v=(N==null?void 0:N.toUpperCase())??"";return(v==="DONE"||v==="FAILED")&&C==="converged"?"CONVERGED":(v==="DONE"||v==="FAILED")&&C==="not_converged"?"NOT CONVERGED":v}function R(N,C){const v=(N==null?void 0:N.toUpperCase())??"";return(v==="DONE"||v==="FAILED")&&C==="converged"?"status-converged":(v==="DONE"||v==="FAILED")&&C==="not_converged"?"status-not-converged":v==="RUNNING"?"status-running":v==="DONE"?"status-done":v==="FAILED"?"status-failed":v==="PREPARED"?"status-prepared":"status-unknown"}function g(N){return e(y).has(N.case_id)?"row-selected":""}function b(N,C){var v;return C.key==="case_id"?N.case_id:C.key==="nprocs"?N.nprocs!=null?String(N.nprocs):"":C.key==="nt"?N.nt!=null?String(N.nt):"":C.key==="last_iter"?N.last_iter!=null?String(N.last_iter):"":C.key==="duration"?N.duration??"":C.key==="last_mod"?S(N.last_mod):C.key==="resu_size_mb"?N.resu_size_mb!=null?String(N.resu_size_mb):"":C.kind==="doe"?((v=N.doe)==null?void 0:v[C.key])!=null&&String(N.doe[C.key])!==""?String(N.doe[C.key]):"—":""}function S(N){if(!N)return"";try{const C=new Date(N),v=new Date,A=C.toDateString()===v.toDateString(),E=new Date(v);E.setDate(E.getDate()-1);const J=C.toDateString()===E.toDateString(),oe=C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return A?`Today ${oe}`:J?`Yesterday ${oe}`:C.toLocaleDateString([],{month:"short",day:"numeric"})+` ${oe}`}catch{return N}}let _=I(se({})),T=I(void 0);Ne(()=>{e(d),e(w),r.rows,!(!e(T)||!e(d))&&Pt().then(()=>{if(!e(T))return;const N=Array.from(e(T).querySelectorAll("thead th.sticky-left")),C={};let v=0;N.forEach(A=>{const E=A.dataset.colKey??"";C[E]=v,v+=A.getBoundingClientRect().width}),f(_,C,!0)})});function z(N,C,v){const A=v&&N.key!=="_select"&&N.key!=="_actions"?["status-sortable"]:[];if(!v&&N.key==="case_id"&&A.push("case-id"),N.kind==="doe"&&A.push("status-col-doe"),!v&&N.key==="note"&&A.push("max-w-[140px] whitespace-nowrap overflow-hidden text-ellipsis cursor-pointer hover:underline hover:decoration-dotted hover:underline-offset-2"),e(d)&&N.sticky==="left"&&A.push("sticky-left"),e(d)&&N.sticky==="right"&&A.push("sticky-right"),e(d)&&N.sticky==="left"){const E=e(w)[C+1];(!E||E.sticky!=="left")&&A.push("sticky-divider")}if(e(d)&&N.sticky==="right"){const E=e(w)[C-1];(!E||E.sticky!=="right")&&A.push("sticky-divider")}return A.join(" ")}function D(N,C){return z(N,C,!0)}function V(N,C){return z(N,C,!1)}function H(N){return!e(d)||!N.sticky?"":N.sticky==="right"?"position:sticky;right:0;":N.sticky==="left"&&N.key in e(_)?`position:sticky;left:${e(_)[N.key]}px;`:""}var O=nc(),j=k(O),q=k(j),Y=k(q);Je(Y,23,()=>e(w),N=>N.key,(N,C,v)=>{var A=_e(),E=B(A);{var J=le=>{var K=ql(),re=k(K),ne=k(re);zt(ne,{get checked(){return e(a)},get indeterminate(){return e(o)},get onchange(){return r.onToggleAll},size:14}),p(re),p(K),Q((ue,de)=>{Ce(K,1,`${ue??""} !px-2.5 !py-0 w-9`),Se(K,"data-col-key",e(C).key),Ze(K,de)},[()=>D(e(C),e(v)),()=>H(e(C))]),u(le,K)},oe=le=>{var K=Kl();Q((re,ne)=>{Ce(K,1,re),Se(K,"data-col-key",e(C).key),Ze(K,ne)},[()=>dt(D(e(C),e(v))),()=>H(e(C))]),u(le,K)},ge=le=>{var K=Wl(),re=k(K),ne=P(re);{var ue=Z=>{var be=Gl(),fe=k(be,!0);p(be),Q(Pe=>ee(fe,Pe),[()=>L(e(C).key)]),u(Z,be)},de=U(()=>L(e(C).key));X(ne,Z=>{e(de)&&Z(ue)})}p(K),Q((Z,be)=>{Ce(K,1,Z),Se(K,"data-col-key",e(C).key),Ze(K,be),ee(re,`${e(C).label??""} `)},[()=>dt(D(e(C),e(v))),()=>H(e(C))]),ie("click",K,Z=>m(e(C).key,Z)),ie("keydown",K,Z=>{(Z.key==="Enter"||Z.key===" ")&&(Z.preventDefault(),m(e(C).key,Z))}),u(le,K)};X(E,le=>{e(C).key==="_select"?le(J):e(C).key==="_actions"?le(oe,1):le(ge,-1)})}u(N,A)}),p(Y),p(q);var ae=P(q);Je(ae,21,()=>r.rows,N=>N.case_id,(N,C)=>{var v=rc();Je(v,23,()=>e(w),A=>A.key,(A,E,J)=>{var oe=_e(),ge=B(oe);{var le=de=>{var Z=Xl(),be=k(Z),fe=k(be);{let Pe=U(()=>e(y).has(e(C).case_id));zt(fe,{get checked(){return e(Pe)},onchange:()=>r.onToggleRow(e(C).case_id),size:14})}p(be),p(Z),Q((Pe,ve)=>{Ce(Z,1,`${Pe??""} !px-2.5 !py-0 w-9`),Se(Z,"data-col-key",e(E).key),Ze(Z,ve)},[()=>V(e(E),e(J)),()=>H(e(E))]),u(de,Z)},K=de=>{var Z=Yl(),be=k(Z),fe=k(be,!0);p(be),p(Z),Q((Pe,ve,ze,pe)=>{Ce(Z,1,Pe),Se(Z,"data-col-key",e(E).key),Ze(Z,ve),Ce(be,1,`status-pill ${ze??""}`),ee(fe,pe)},[()=>dt(V(e(E),e(J))),()=>H(e(E)),()=>R(e(C).status,e(C).convergence),()=>x(e(C).status,e(C).convergence)]),u(de,Z)},re=de=>{var Z=Jl(),be=k(Z);{var fe=ve=>{var ze=Be();Q(()=>ee(ze,e(C).note)),u(ve,ze)},Pe=ve=>{var ze=Ql(),pe=k(ze);Te(pe,{get icon(){return Bs},size:12}),p(ze),u(ve,ze)};X(be,ve=>{e(C).note?ve(fe):ve(Pe,-1)})}p(Z),Q((ve,ze)=>{Ce(Z,1,ve),Se(Z,"data-col-key",e(E).key),Ze(Z,ze),Se(Z,"title",e(C).note||"Add note")},[()=>dt(V(e(E),e(J))),()=>H(e(E))]),ie("click",Z,ve=>{ve.stopPropagation(),h(e(C))}),ie("keydown",Z,ve=>{(ve.key==="Enter"||ve.key===" ")&&(ve.preventDefault(),ve.stopPropagation(),h(e(C)))}),u(de,Z)},ne=de=>{var Z=ec(),be=k(Z);$e(be,{variant:"primary",size:"sm",onclick:fe=>{fe.stopPropagation(),c(e(C).case_id)},children:(fe,Pe)=>{var ve=Zl(),ze=B(ve);Te(ze,{get icon(){return js},size:12}),we(),u(fe,ve)},$$slots:{default:!0}}),p(Z),Q((fe,Pe)=>{Ce(Z,1,fe),Se(Z,"data-col-key",e(E).key),Ze(Z,Pe)},[()=>dt(V(e(E),e(J))),()=>H(e(E))]),u(de,Z)},ue=de=>{var Z=tc(),be=k(Z,!0);p(Z),Q((fe,Pe,ve)=>{Ce(Z,1,fe),Se(Z,"data-col-key",e(E).key),Ze(Z,Pe),ee(be,ve)},[()=>dt(V(e(E),e(J))),()=>H(e(E)),()=>b(e(C),e(E))]),u(de,Z)};X(ge,de=>{e(E).key==="_select"?de(le):e(E).key==="status"?de(K,1):e(E).key==="note"?de(re,2):e(E).key==="_actions"?de(ne,3):de(ue,-1)})}u(A,oe)}),p(v),Q(A=>Ce(v,1,A),[()=>dt(g(e(C)))]),ie("click",v,A=>M(e(C).case_id,A)),ie("contextmenu",v,A=>F(e(C),A)),u(N,v)}),p(ae),p(j),nt(j,N=>f(T,N),()=>e(T)),p(O),Q(()=>Ce(O,1,`table-wrap ${e(d)?"sticky-enabled":""}`)),u(t,O),Le()}We(["click","keydown","contextmenu"]);var oc=$('
        ');function sc(t,r){Ae(r,!0);let a=U(()=>{const m=Math.min(r.x,window.innerWidth-180),M=Math.min(r.y,window.innerHeight-120);return`left: ${m}px; top: ${M}px;`});async function n(m){try{for(const M of r.cases)await bi(M,m)}catch(M){console.error("Failed to set convergence:",M)}r.onClose()}const o=r.cases.length>1?` (${r.cases.length})`:"";var i=oc();rt("keydown",it,m=>{m.key==="Escape"&&r.onClose()});var s=k(i),l=k(s);p(s);var d=P(s,2),y=k(d);p(d);var w=P(d,2),L=k(w);p(w),p(i),Q(()=>{Ze(i,e(a)),Ce(s,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue==="converged"?"is-active":""}`),ee(l,`Mark Converged${o}`),Ce(d,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue==="not_converged"?"is-active":""}`),ee(y,`Mark Not Converged${o}`),Ce(w,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue===""?"is-active":""}`),ee(L,`Clear Mark${o}`)}),ie("click",s,()=>n("converged")),ie("click",d,()=>n("not_converged")),ie("click",w,()=>n("")),u(t,i),Le()}We(["click"]);var ic=$(" Refresh",1),lc=$(" ",1),cc=$(" Run",1),uc=$(" Restart",1),dc=$(" Stop",1),fc=$(" Kill",1),vc=$(" Clean",1),gc=$('
        ',1),hc=$('
        ',1);function pc(t,r){Ae(r,!0);function a(){return[...Ut()]}async function n(){const v=a();if(!v.length)return;const A=await Xo(v);if(A)try{await zn({cases:v,n:A.n,nt:A.nt,maxParallel:A.maxParallel}),r.onRefresh()}catch(E){await Ye(`Run failed: ${E instanceof Error?E.message:E}`,"Error")}}async function o(){const v=a();if(!v.length)return;const A=await Yo(v);if(A)try{await zn({cases:v,n:A.n,nt:A.nt,maxParallel:A.maxParallel,restart:!0,restartMode:A.restartMode,restartValue:A.restartValue}),r.onRefresh()}catch(E){await Ye(`Restart failed: ${E instanceof Error?E.message:E}`,"Error")}}async function i(){const v=a();if(!(!v.length||!await Tn(`Kill ${v.length} case${v.length>1?"s":""}?`,"Confirm Kill","Kill","danger")))try{await pi(v),r.onRefresh()}catch(E){await Ye(`Kill failed: ${E instanceof Error?E.message:E}`,"Error")}}async function s(){const v=a();if(!(!v.length||!await Tn(`Stop ${v.length} case${v.length>1?"s":""} gracefully (checkpoint + exit)?`,"Confirm Stop","Stop","danger")))try{await yr({cases:v,action:"stop"}),r.onRefresh(),wr(`Stop requested for ${v.length} case${v.length>1?"s":""} — will checkpoint and exit`)}catch(E){await Ye(`Stop failed: ${E instanceof Error?E.message:E}`,"Error")}}async function l(){const v=a();if(v.length)try{await yr({cases:v,action:"checkpoint"}),r.onRefresh(),wr(`Checkpoint requested for ${v.length} case${v.length>1?"s":""}`)}catch(A){await Ye(`Checkpoint failed: ${A instanceof Error?A.message:A}`,"Error")}}async function d(){const v=a();if(!v.length)return;const A=await vn("Extend by how many additional time steps?","500","Extend Run");if(A===null)return;const E=parseInt(A,10);if(!Number.isFinite(E)||E<=0){await Ye("Enter a positive integer number of time steps.","Error");return}try{await yr({cases:v,action:"extend",value:E}),r.onRefresh(),wr(`Extended ${v.length} case${v.length>1?"s":""} by ${E} time steps`)}catch(J){await Ye(`Extend failed: ${J instanceof Error?J.message:J}`,"Error")}}async function y(){const v=a();if(v.length)try{await yr({cases:v,action:"flush"}),wr(`Flush requested for ${v.length} case${v.length>1?"s":""}`)}catch(A){await Ye(`Flush failed: ${A instanceof Error?A.message:A}`,"Error")}}async function w(){const v=a();if(!v.length)return;const A=await Qo(v);if(A)try{await mi({cases:v,keepLast:A.keepLast,keepResu:A.keepResu,deleteResu:A.deleteResu,pruneResu:!0}),r.onRefresh(),Gi()}catch(E){await Ye(`Cleanup failed: ${E instanceof Error?E.message:E}`,"Error")}}function L(){const v=Pr();v.length>0&&v.every(E=>Ut().has(E))?qn():Bn(v)}function m(v){rn(v)}let M=I(se(er("status")));Ne(()=>{tr("status",e(M))}),Rl(!0);let F=U(()=>{const v=kr();return v.size>0&&[...v].some(A=>A==="PREPARED"||A==="DONE"||A==="FAILED")}),h=U(()=>{const v=kr();return v.size>0&&[...v].some(A=>A==="DONE"||A==="FAILED")&&Gn()}),c=U(()=>{const v=kr();return v.size>0&&v.has("RUNNING")}),x=U(()=>{const v=kr();return v.size>0&&v.has("RUNNING")}),R=U(Gn),g=I(se(wl())),b=null;function S(){b&&clearTimeout(b),b=setTimeout(()=>{El(e(g))},200)}Ne(()=>Nl(e(M)));let _=I(!1),T=I(0),z=I(0),D=I(se([])),V=I("");function H(v,A,E,J){f(D,Ut().has(v)?[...Ut()]:[v],!0),f(V,J,!0),f(T,A,!0),f(z,E,!0),f(_,!0)}function O(){f(_,!1)}function j(v){const A=Pr();if(A.length){if(v.key==="Escape"){qn(),O();return}if((v.ctrlKey||v.metaKey)&&v.key==="a"){v.preventDefault(),Bn(A);return}if(v.key==="ArrowDown"||v.key==="ArrowUp"){v.preventDefault();const E=v.key==="ArrowDown"?1:-1,J=jn(),oe=A.indexOf(J),ge=Math.max(0,Math.min(A.length-1,oe+E)),le=A[ge];v.shiftKey?nn(tn()||A[0],le,A):Ca(le),Pl(le);return}if(v.key===" "){v.preventDefault();const E=jn();E&&(v.shiftKey?nn(tn()||E,E,Pr()):rn(E))}}}var q=hc();rt("click",it,O),rt("scroll",it,O);var Y=B(q),ae=k(Y);Ot(ae,{eyebrow:"Overview",title:"Status",wide:!0,id:"status-card-shell",actions:A=>{var E=lc(),J=B(E);{let le=U(qi);rr(J,{name:"status",get intervalMs(){return e(le)},get onRefresh(){return r.onRefresh},get checked(){return e(M)},set checked(K){f(M,K,!0)}})}var oe=P(J,2);{var ge=le=>{$e(le,{variant:"primary",onclick:()=>r.onRefresh(),children:(K,re)=>{var ne=ic(),ue=B(ne);Te(ue,{get icon(){return Zt}}),we(),u(K,ne)},$$slots:{default:!0}})};X(oe,le=>{e(M)||le(ge)})}u(A,E)},children:(A,E)=>{var J=gc(),oe=B(J),ge=k(oe),le=k(ge);Qe(le);var K=P(le,2);Bl(K,{}),p(ge);var re=P(ge,2),ne=k(re),ue=k(ne);p(ne);var de=P(ne,2);{let pe=U(()=>!e(F));$e(de,{variant:"run",size:"sm",onclick:n,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=cc(),ye=B(Fe);Te(ye,{get icon(){return pa}}),we(),u(Oe,Fe)},$$slots:{default:!0}})}var Z=P(de,2);{let pe=U(()=>!e(h));$e(Z,{variant:"warning",size:"sm",onclick:o,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=uc(),ye=B(Fe);Te(ye,{get icon(){return Gs}}),we(),u(Oe,Fe)},$$slots:{default:!0}})}var be=P(Z,2);{let pe=U(()=>!e(x));$e(be,{variant:"warning",size:"sm",onclick:s,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=dc(),ye=B(Fe);Te(ye,{get icon(){return zs}}),we(),u(Oe,Fe)},$$slots:{default:!0}})}var fe=P(be,2);{let pe=U(()=>[{label:"Extend",icon:Us,onClick:d,disabled:!e(x)},{label:"Checkpoint",icon:Ws,onClick:l,disabled:!e(x)},{label:"Flush",icon:Os,onClick:y,disabled:!e(x)}]);pl(fe,{get items(){return e(pe)}})}var Pe=P(fe,2);{let pe=U(()=>!e(c));$e(Pe,{variant:"danger",size:"sm",onclick:i,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=fc(),ye=B(Fe);Te(ye,{get icon(){return Is}}),we(),u(Oe,Fe)},$$slots:{default:!0}})}var ve=P(Pe,2);{let pe=U(()=>!e(R));$e(ve,{variant:"secondary",size:"sm",onclick:w,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=vc(),ye=B(Fe);Te(ye,{get icon(){return Ys}}),we(),u(Oe,Fe)},$$slots:{default:!0}})}p(re),p(oe);var ze=P(oe,2);{let pe=U($a);ac(ze,{get rows(){return e(pe)},onContextMenu:H,onToggleAll:L,onToggleRow:m})}Q(pe=>ee(ue,`${pe??""} selected`),[()=>Ut().size]),ie("input",le,S),tt(le,()=>e(g),pe=>f(g,pe)),u(A,J)},$$slots:{actions:!0,default:!0}}),p(Y);var N=P(Y,2);{var C=v=>{sc(v,{get cases(){return e(D)},get x(){return e(T)},get y(){return e(z)},get currentValue(){return e(V)},onClose:O})};X(N,v=>{e(_)&&v(C)})}ie("keydown",Y,j),u(t,q),Le()}We(["keydown","input"]);var mc=$('
        ');function Yt(t,r){var a=mc(),n=k(a);ft(n,()=>r.children),p(a),u(t,a)}function wn(t){return t.map(r=>({value:r,label:r}))}var _c=$(''),bc=$(" ",1);function kn(t,r){Ae(r,!0);let a=he(r,"columnLabel",3,"Columns"),n=he(r,"xMinLabel",3,"Iter min"),o=U(()=>wn(r.allCases)),i=U(()=>r.columns.map(d=>({value:d,label:d}))),s=[{value:"zero",label:"Zero"},{value:"restart",label:"Restart start"},{value:"custom",label:"Custom"}];function l(d){r.onXMinChange(Number(d.target.value)||0)}Yt(t,{children:(d,y)=>{var w=bc(),L=B(w);Me(L,{text:"Cases",children:(b,S)=>{Gt(b,{class:"w-[160px]",get options(){return e(o)},get selected(){return r.selectedCases},get onchange(){return r.onCasesChange},placeholder:"Select cases..."})}});var m=P(L,2);{var M=b=>{var S=_e(),_=B(S);ft(_,()=>r.middleSlot),u(b,S)};X(m,b=>{r.middleSlot&&b(M)})}var F=P(m,2);Me(F,{get text(){return a()},children:(b,S)=>{Gt(b,{class:"w-[160px]",get options(){return e(i)},get selected(){return r.selectedColumns},get onchange(){return r.onColumnsChange},placeholder:"Select..."})}});var h=P(F,2);Me(h,{text:"Start from",children:(b,S)=>{lt(b,{class:"w-[140px]",get options(){return s},get value(){return r.startFrom},onchange:_=>r.onStartFromChange(_)})}});var c=P(h,2);{var x=b=>{Me(b,{get text(){return n()},children:(S,_)=>{var T=_c();Qe(T),Q(()=>dn(T,r.xMin)),ie("input",T,l),u(S,T)}})};X(c,b=>{r.startFrom==="custom"&&b(x)})}var R=P(c,2);{var g=b=>{var S=_e(),_=B(S);ft(_,()=>r.extraSlot),u(b,S)};X(R,b=>{r.extraSlot&&b(g)})}u(d,w)}}),Le()}We(["input"]);var xc=$('
        '),yc=$('
        ');function Qt(t,r){let a=he(r,"emptyMessage",3,"");var n=yc(),o=k(n);{var i=l=>{var d=_e(),y=B(d);Fr(y,()=>r.svgHtml),u(l,d)},s=l=>{var d=xc(),y=k(d),w=k(y,!0);p(y),p(d),Q(()=>ee(w,a()||"No data to display.")),u(l,d)};X(o,l=>{r.svgHtml?l(i):l(s,-1)})}p(n),Q(()=>Se(n,"id",r.id)),u(t,n)}async function Cn(t,r="plot.png"){const a=document.getElementById(t),n=a==null?void 0:a.querySelector("svg");if(!n)return;const{width:o,height:i}=wc(n),s=window.devicePixelRatio||1,l=document.createElement("canvas");l.width=o*s,l.height=i*s;const d=l.getContext("2d");if(!d)return;d.scale(s,s);const y=new XMLSerializer().serializeToString(n),w=new Blob([y],{type:"image/svg+xml;charset=utf-8"}),L=URL.createObjectURL(w),m=new Image;m.width=o,m.height=i,await new Promise((F,h)=>{m.onload=()=>{d.drawImage(m,0,0,o,i),URL.revokeObjectURL(L),F()},m.onerror=h,m.src=L});const M=await new Promise(F=>l.toBlob(F,"image/png"));M&&await Ea(M,kc(r))}function _r(t,r,a="png"){const n=r.length<=3?r.join("_"):`${r.length}_cases`,o=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return Cc(`${t}_${n}_${o}.${a}`)}async function Pa(t,r){const a=new Blob([t],{type:"text/csv;charset=utf-8"});await Ea(a,r)}function wc(t){const r=t.getAttribute("viewBox");if(r){const a=r.split(/[\s,]+/).map(Number);if(a.length===4)return{width:a[2],height:a[3]}}return{width:t.width.baseVal.value||900,height:t.height.baseVal.value||500}}async function Ea(t,r){if("showSaveFilePicker"in window)try{const i=await(await window.showSaveFilePicker({suggestedName:r,types:[{description:t.type.startsWith("image/")?"Image":"File",accept:{[t.type]:[`.${r.split(".").pop()}`]}}]})).createWritable();await i.write(t),await i.close();return}catch(o){if((o==null?void 0:o.name)==="AbortError")return}const a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download=r,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(a)}function kc(t){return t.endsWith(".png")?t:`${t}.png`}function Cc(t){return t.replace(/[^a-zA-Z0-9._-]/g,"_")}let Ra=I(se([])),Na=I(se([])),Ma=I(se([])),Aa=I("zero"),La=I(0),Ta=I(""),Sc=I(!0);function $c(){return{selectedCases:e(Ra),columns:e(Na),selectedColumns:e(Ma),startFrom:e(Aa),iterMin:e(La),svgHtml:e(Ta),autoRefresh:e(Sc)}}function Wn(t){f(Ra,t,!0)}function Pc(t){f(Na,t,!0)}function Gr(t){f(Ma,t,!0)}function Ec(t){f(Aa,t,!0)}function Rc(t){f(La,t,!0)}function Cr(t){f(Ta,t,!0)}var Nc=$(" Refresh",1),Mc=$(" ",1),Ac=$(" Download as PNG",1),Lc=$('
        '),Tc=$('
        ',1),Fc=$('
        '),Dc=$('

        '),zc=$(" ",1);function Ic(t,r){Ae(r,!0);let a=U($c),n=I("");const o=new Set(["iteration","wall_distance","walldistance"]),i=["velocity","pressure"];async function s(){if(e(a).selectedCases.length)try{const h=await si(e(a).selectedCases);f(n,"");const c=h.filter(x=>!o.has(x.toLowerCase().replace(/\s+/g,"_")));if(Pc(c),c.length===0){Gr([]),Cr("");return}if(e(a).selectedColumns.length===0){const x=c.filter(R=>i.some(g=>R.toLowerCase().includes(g)));Gr(x.length>0?x:[c[0]])}}catch(h){f(n,"Failed to load residual columns"),console.error("Failed to load residual columns:",h)}}async function l(){if(e(a).selectedCases.length&&!((e(a).columns.length===0||e(a).selectedColumns.length===0)&&(await s(),!e(a).selectedColumns.length)))try{let h=0,c=!0;if(e(a).startFrom==="restart"){const R=await xa(e(a).selectedCases),g=Object.values(R.origins).map(b=>b.iteration).filter(b=>b!==void 0&&Number.isFinite(b));h=g.length>0?Math.min(...g):0}else e(a).startFrom==="custom"&&(h=e(a).iterMin);const x=await ii(e(a).selectedCases,e(a).selectedColumns,{xMin:h,includeHistory:c});f(n,""),x&&Cr(x)}catch(h){f(n,"Failed to load residual plot"),console.error("Failed to load residual plot:",h)}}function d(h){if(Wn(h),h.length===0){Cr("");return}s(),l()}function y(h){if(Gr(h),h.length===0){Cr("");return}l()}function w(h){Ec(h),l()}function L(h){Rc(h),l()}let m=I(se(er("plot")));Ne(()=>{tr("plot",e(m))}),Ne(()=>{e(m)?hr("residualPlot",l,On()):vt("residualPlot")});let M=!1;Ne(()=>{r.allCases.length>0&&!M&&(M=!0,Wn([...r.allCases]),s().then(()=>l()))});const F=pr(()=>{M&&s().then(()=>l())});dr(()=>{vt("residualPlot"),F()}),Ot(t,{eyebrow:"Diagnostics",title:"Residuals Plot",wide:!0,actions:c=>{var x=Mc(),R=B(x);{let S=U(On);rr(R,{name:"residualPlot",get intervalMs(){return e(S)},onRefresh:l,get checked(){return e(m)},set checked(_){f(m,_,!0)}})}var g=P(R,2);{var b=S=>{$e(S,{variant:"primary",onclick:l,children:(_,T)=>{var z=Nc(),D=B(z);Te(D,{get icon(){return Zt}}),we(),u(_,z)},$$slots:{default:!0}})};X(g,S=>{e(m)||S(b)})}u(c,x)},children:(c,x)=>{var R=zc(),g=B(R);{var b=z=>{const D=q=>{var Y=Lc(),ae=k(Y);{let N=U(()=>!e(a).svgHtml);$e(ae,{variant:"secondary",size:"sm",onclick:()=>Cn("plot-holder",_r("residuals",e(a).selectedCases)),get disabled(){return e(N)},children:(C,v)=>{var A=Ac(),E=B(A);Te(E,{get icon(){return gr}}),we(),u(C,A)},$$slots:{default:!0}})}p(Y),u(q,Y)};var V=Tc(),H=B(V);kn(H,{prefix:"plot",get allCases(){return r.allCases},get selectedCases(){return e(a).selectedCases},onCasesChange:d,columnLabel:"Variables",get columns(){return e(a).columns},get selectedColumns(){return e(a).selectedColumns},onColumnsChange:y,get startFrom(){return e(a).startFrom},onStartFromChange:w,xMinLabel:"Iter min",get xMin(){return e(a).iterMin},onXMinChange:L,get extraSlot(){return D}});var O=P(H,2),j=k(O);{let q=U(()=>e(a).selectedCases.length===0?"Please select at least one case.":e(a).selectedColumns.length===0?"Please select at least one variable.":"No data to display.");Qt(j,{id:"plot-holder",get svgHtml(){return e(a).svgHtml},get emptyMessage(){return e(q)}})}p(O),u(z,V)},S=z=>{var D=Fc(),V=k(D);Qt(V,{id:"plot-holder",svgHtml:"",emptyMessage:"No data available. Please run a simulation first."}),p(D),u(z,D)};X(g,z=>{e(a).columns.length>0?z(b):z(S,-1)})}var _=P(g,2);{var T=z=>{var D=Dc(),V=k(D,!0);p(D),Q(()=>ee(V,e(n))),u(z,D)};X(_,z=>{e(n)&&z(T)})}u(c,R)},$$slots:{actions:!0,default:!0}}),Le()}function Fa(t){const{scope:r,getState:a,setState:n,setHasData:o,getAxis:i}=t;async function s(){const m=a();if(m.selectedCases.length)try{let M=await Qr(m.selectedCases,r);if(t.filterFiles&&(M=t.filterFiles(M)),n({files:M}),o(M.length>0),M.length===0){n({file:"",columns:[],selectedColumns:[],positionText:"",svgHtml:""});return}(!m.file||!M.includes(m.file))&&(n({file:M[0]}),await l())}catch(M){console.error(`Failed to load ${r} files:`,M)}}async function l(){const m=a();if(!(!m.selectedCases.length||!m.file))try{const M=await fi(m.selectedCases,[m.file]),F=t.filterColumns?t.filterColumns(M):M;t.onColumnsLoaded?t.onColumnsLoaded(M):n({columns:F});const h=a();if(h.columns.length===0){n({selectedColumns:[],positionText:"",svgHtml:""});return}h.selectedColumns.length===0&&n({selectedColumns:[h.columns[0]]})}catch(M){console.error(`Failed to load ${r} columns:`,M)}}async function d(){let m=a();if(m.selectedCases.length){if(await s(),m=a(),!m.file){n({positionText:"",svgHtml:""});return}if((m.columns.length===0||m.selectedColumns.length===0)&&(await l(),m=a(),!m.selectedColumns.length)){n({positionText:"",svgHtml:""});return}try{let M;const F=a();if(F.startFrom==="restart"){const c=await xa(F.selectedCases),x=i().toLowerCase(),R=x==="t"||x==="time"?"time":"iteration",g=Object.values(c.origins).map(b=>b[R]).filter(b=>b!==void 0&&Number.isFinite(b));M=g.length>0?Math.min(...g):void 0}else F.startFrom==="custom"&&(M=F.xMin);const h=await gi({cases:F.selectedCases,probes:[F.file],columns:F.selectedColumns,axis:i(),timeMin:typeof M=="number"?M:void 0,xMin:M,includeHistory:!0});h&&n({svgHtml:h})}catch(M){console.error(`Failed to load ${r} plot:`,M)}}}async function y(m){if(n({selectedCases:m}),m.length===0){n({svgHtml:""});return}await s(),r==="monitoring"&&await d()}function w(m){if(n({selectedColumns:m}),m.length===0){n({svgHtml:""});return}d()}async function L(m){n({file:m}),await l(),await d()}return{loadFiles:s,loadColumns:l,loadPlot:d,handleCasesChange:y,handleColumnsChange:w,handleFileChange:L}}function Da(){return{selectedCases:[],file:"",files:[],columns:[],selectedColumns:[],axis:"time",startFrom:"zero",xMin:0,positionText:"",svgHtml:"",autoRefresh:!0}}let Vt=I("time"),an=I(se(Da())),on=I(se({...Da(),axis:""})),Oc=I(!0),Ar=I(!1),Lr=I(!1);function Hc(){return e(Vt)}function jc(t){f(Vt,t,!0)}function Uc(){return e(Ar)}function sn(t){f(Ar,t,!0)}function Vc(){return e(Lr)}function ln(t){f(Lr,t,!0)}function Bc(){e(Vt)==="time"&&!e(Ar)&&e(Lr)?f(Vt,"profile"):e(Vt)==="profile"&&!e(Lr)&&e(Ar)&&f(Vt,"time")}function Xn(){return e(an)}function Wr(){return e(on)}function kt(t){f(an,{...e(an),...t},!0)}function At(t){f(on,{...e(on),...t},!0)}function qc(){return e(Oc)}var Kc=$(" Download as PNG",1),Gc=$('
        '),Wc=$("
        "),Xc=$('
        '),Yc=$('
        ',1),Qc=$('
        ');function Jc(t,r){Ae(r,!0);let a=he(r,"onRefresh",15),n=U(Xn);const o=new Set(["time","t","iteration","iter"]),i=Fa({scope:"monitoring",getState:Xn,setState:kt,setHasData:sn,filterFiles:h=>h.filter(c=>{const x=c.replace(/\.csv$/i,"").toLowerCase();return x!=="coords"&&!x.includes("coordinates")}),filterColumns:h=>h.filter(c=>!o.has(c.toLowerCase())),onColumnsLoaded:h=>{const c=h.filter(x=>!o.has(x.toLowerCase()));kt({columns:c}),s()},getAxis:()=>"time"});async function s(){if(!(!e(n).selectedCases.length||!e(n).file||!e(n).selectedColumns.length))try{const h=[];for(const S of e(n).selectedColumns){const _=await vi(e(n).selectedCases[0],e(n).file,[S]);_.found&&h.push({col:S,x:_.x,y:_.y,z:_.z})}if(!h.length){kt({positionText:""});return}const c=S=>{let _=0;for(const T of S){if(T===void 0)continue;const z=String(T),D=z.indexOf(".");D>=0&&(_=Math.max(_,z.length-D-1))}return _},x=c(h.map(S=>S.x)),R=c(h.map(S=>S.y)),g=c(h.map(S=>S.z)),b=h.map(S=>{const _=[];return S.x!==void 0&&_.push(`x=${S.x.toFixed(x)}`),S.y!==void 0&&_.push(`y=${S.y.toFixed(R)}`),S.z!==void 0&&_.push(`z=${S.z.toFixed(g)}`),`Probe position [${S.col}] : ${_.join(" · ")}`});kt({positionText:b.join(` -`)})}catch{kt({positionText:""})}}function l(h){i.handleColumnsChange(h),h.length>0&&s()}let d=U(()=>e(n).files.map(h=>({value:h,label:h.replace(/\.csv$/i,"").replace(/^probes?_/i,"")}))),y=!1;Ne(()=>{r.allCases.length>0&&!y&&(y=!0,kt({selectedCases:[...r.allCases]}),i.loadFiles().then(()=>i.loadPlot()))}),Ne(()=>{a(i.loadPlot)});let w=U(()=>e(n).selectedCases.length===0?"Please select at least one case.":e(n).selectedColumns.length===0?"Please select at least one probe.":"No data to display.");var L=_e(),m=B(L);{var M=h=>{const c=z=>{Me(z,{text:"Quantity",children:(D,V)=>{lt(D,{class:"w-[160px]",get options(){return e(d)},get value(){return e(n).file},get onchange(){return i.handleFileChange}})}})},x=z=>{var D=Gc(),V=k(D);{let H=U(()=>!e(n).svgHtml);$e(V,{variant:"secondary",size:"sm",onclick:()=>Cn("probe-plot-holder",_r("probe",e(n).selectedCases)),get disabled(){return e(H)},children:(O,j)=>{var q=Kc(),Y=B(q);Te(Y,{get icon(){return gr}}),we(),u(O,q)},$$slots:{default:!0}})}p(D),u(z,D)};var R=Yc(),g=B(R);kn(g,{prefix:"probe",get allCases(){return r.allCases},get selectedCases(){return e(n).selectedCases},get onCasesChange(){return i.handleCasesChange},get middleSlot(){return c},columnLabel:"Probes",get columns(){return e(n).columns},get selectedColumns(){return e(n).selectedColumns},onColumnsChange:l,get startFrom(){return e(n).startFrom},onStartFromChange:z=>{kt({startFrom:z}),i.loadPlot()},xMinLabel:"Time min",get xMin(){return e(n).xMin},onXMinChange:z=>{kt({xMin:z}),i.loadPlot()},get extraSlot(){return x}});var b=P(g,2);{var S=z=>{var D=Xc();Je(D,21,()=>e(n).positionText.split(` -`).sort(),un,(V,H)=>{var O=Wc(),j=k(O,!0);p(O),Q(()=>ee(j,e(H))),u(V,O)}),p(D),u(z,D)};X(b,z=>{e(n).positionText&&z(S)})}var _=P(b,2),T=k(_);Qt(T,{id:"probe-plot-holder",get svgHtml(){return e(n).svgHtml},get emptyMessage(){return e(w)}}),p(_),u(h,R)},F=h=>{var c=Qc(),x=k(c);Qt(x,{id:"probe-plot-holder",svgHtml:"",emptyMessage:"No probe data available. Please run a simulation first."}),p(c),u(h,c)};X(m,h=>{e(n).files.length>0?h(M):h(F,-1)})}u(t,L),Le()}var Zc=$(" ",1),eu=$(" Download as PNG",1),tu=$('
        '),ru=$('
        ',1),nu=$('
        ');function au(t,r){Ae(r,!0);let a=he(r,"onRefresh",15),n=U(Wr);const o=["s","x","abscissa","distance","arclength","arc_length","curvilinear","length","r","y","z","coord","position"];function i(c){const x=c.map(R=>R.toLowerCase());for(const R of o){const g=x.indexOf(R);if(g>=0)return c[g]}return c[0]??""}const s=Fa({scope:"profiles",getState:Wr,setState:At,setHasData:ln,onColumnsLoaded:c=>{const x=e(n).axis||i(c),R=c.filter(g=>g!==x).toSorted((g,b)=>g.localeCompare(b));At({columns:R,axis:x,selectedColumns:e(n).selectedColumns.length?e(n).selectedColumns:R.length?[R[0]]:[]})},getAxis:()=>Wr().axis});function l(c){const x=e(n).axis;At({axis:c});const g=[...e(n).columns,...x?[x]:[]].filter(b=>b!==c).toSorted((b,S)=>b.localeCompare(S));At({columns:g}),s.loadPlot()}let d=U(()=>e(n).files.map(c=>({value:c,label:c.replace(/\.csv$/i,"").replace(/^profiles\//i,"").replace(/_/g," ")}))),y=U(()=>[...e(n).axis?[e(n).axis]:[],...e(n).columns].toSorted((c,x)=>c.localeCompare(x)).map(c=>({value:c,label:c}))),w=!1;Ne(()=>{r.allCases.length>0&&!w&&(w=!0,At({selectedCases:[...r.allCases]}),s.loadFiles().then(()=>s.loadPlot()))}),Ne(()=>{a(s.loadPlot)});let L=U(()=>e(n).selectedCases.length===0?"Please select at least one case.":e(n).selectedColumns.length===0?"Please select at least one value.":"No data to display.");var m=_e(),M=B(m);{var F=c=>{const x=T=>{var z=Zc(),D=B(z);Me(D,{text:"Profile",children:(H,O)=>{lt(H,{class:"w-[160px]",get options(){return e(d)},get value(){return e(n).file},get onchange(){return s.handleFileChange}})}});var V=P(D,2);Me(V,{text:"X axis",children:(H,O)=>{lt(H,{class:"w-[140px]",get options(){return e(y)},get value(){return e(n).axis},onchange:l})}}),u(T,z)},R=T=>{var z=tu(),D=k(z);{let V=U(()=>!e(n).svgHtml);$e(D,{variant:"secondary",size:"sm",onclick:()=>Cn("profile-plot-holder",_r("profile",e(n).selectedCases)),get disabled(){return e(V)},children:(H,O)=>{var j=eu(),q=B(j);Te(q,{get icon(){return gr}}),we(),u(H,j)},$$slots:{default:!0}})}p(z),u(T,z)};var g=ru(),b=B(g);kn(b,{prefix:"profile",get allCases(){return r.allCases},get selectedCases(){return e(n).selectedCases},get onCasesChange(){return s.handleCasesChange},get middleSlot(){return x},columnLabel:"Values",get columns(){return e(n).columns},get selectedColumns(){return e(n).selectedColumns},get onColumnsChange(){return s.handleColumnsChange},get startFrom(){return e(n).startFrom},onStartFromChange:T=>{At({startFrom:T}),s.loadPlot()},xMinLabel:"X min",get xMin(){return e(n).xMin},onXMinChange:T=>{At({xMin:T}),s.loadPlot()},get extraSlot(){return R}});var S=P(b,2),_=k(S);Qt(_,{id:"profile-plot-holder",get svgHtml(){return e(n).svgHtml},get emptyMessage(){return e(L)}}),p(S),u(c,g)},h=c=>{var x=nu(),R=k(x);Qt(R,{id:"profile-plot-holder",svgHtml:"",emptyMessage:"No profile data available. Please run a simulation first."}),p(x),u(c,x)};X(M,c=>{e(n).files.length>0?c(F):c(h,-1)})}u(t,m),Le()}var ou=$('
        Diagnostics
        '),su=$(" Refresh",1),iu=$(" ",1);function lu(t,r){Ae(r,!0);let a=U(Hc),n=U(qc),o=U(Uc),i=U(Vc),s=I(se(er("probe")));Ne(()=>{tr("probe",e(s))});let l=I(void 0);function d(){var F;(F=e(l))==null||F()}async function y(){if(r.allCases.length){try{const h=(await Qr(r.allCases,"monitoring")).filter(c=>{const x=c.replace(/\.csv$/i,"").toLowerCase();return x!=="coords"&&!x.includes("coordinates")});sn(h.length>0)}catch{sn(!1)}try{const F=await Qr(r.allCases,"profiles");ln(F.length>0)}catch{ln(!1)}}}Ne(()=>{r.allCases.length>0&&y()}),pr(()=>{y(),d()}),Ne(()=>{e(o),e(i),Bc()});function w(F){F==="time"&&!e(o)||F==="profile"&&!e(i)||jc(F)}var L=_e(),m=B(L);{var M=F=>{{const h=x=>{var R=ou(),g=P(k(R),2),b=k(g),S=P(b,2);p(g),p(R),Q(()=>{Ce(b,1,`bg-transparent border-none p-0 m-0 text-lg font-bold tracking-tight transition-colors duration-150 - ${e(o)?e(a)==="time"?"text-edf-bleu-fonce cursor-pointer":"text-edf-gris-moyen cursor-pointer hover:text-muted":"text-edf-gris-moyen cursor-not-allowed opacity-50"}`),b.disabled=!e(o),Se(b,"title",e(o)?"":"No probe data available. Run a simulation first."),Ce(S,1,`bg-transparent border-none p-0 m-0 text-lg font-bold tracking-tight transition-colors duration-150 - ${e(i)?e(a)==="profile"?"text-edf-bleu-fonce cursor-pointer":"text-edf-gris-moyen cursor-pointer hover:text-muted":"text-edf-gris-moyen cursor-not-allowed opacity-50"}`),S.disabled=!e(i),Se(S,"title",e(i)?"":"No profile data available. Run a simulation first.")}),ie("click",b,()=>w("time")),ie("click",S,()=>w("profile")),u(x,R)};Ot(F,{wide:!0,titleSlot:h,tabs:h,actions:x=>{var R=iu(),g=B(R);{let _=U(()=>e(a)==="time"?"probePlot":"profilePlot"),T=U(Ki);rr(g,{get name(){return e(_)},get intervalMs(){return e(T)},onRefresh:d,get checked(){return e(s)},set checked(z){f(s,z,!0)}})}var b=P(g,2);{var S=_=>{$e(_,{variant:"primary",onclick:d,children:(T,z)=>{var D=su(),V=B(D);Te(V,{get icon(){return Zt}}),we(),u(T,D)},$$slots:{default:!0}})};X(b,_=>{e(s)||_(S)})}u(x,R)},children:(x,R)=>{var g=_e(),b=B(g);{var S=T=>{Jc(T,{get allCases(){return r.allCases},get onRefresh(){return e(l)},set onRefresh(z){f(l,z,!0)}})},_=T=>{au(T,{get allCases(){return r.allCases},get onRefresh(){return e(l)},set onRefresh(z){f(l,z,!0)}})};X(b,T=>{e(a)==="time"?T(S):T(_,-1)})}u(x,g)},$$slots:{tabs:!0,actions:!0,default:!0}})}};X(m,F=>{e(n)&&F(M)})}u(t,L),Le()}We(["click"]);var cu=$(" Refresh",1),uu=$(" ",1),du=$(" Download as CSV",1),fu=$('
        ',1),vu=$(" "),gu=$(' '),hu=$(' '),pu=$('
        Case
        '),mu=$('

        '),_u=$(" ",1);function bu(t,r){Ae(r,!0);let a=I(se([])),n=I(se([])),o=I(!1),i=I(!1),s=I(se(er("perf")));Ne(()=>{tr("perf",e(s))});const l=5e3;let y=I(se([{key:"elapsed_time",label:"Elapsed (s)",kind:"time"},{key:"io_time",label:"I/O (s)",kind:"time"},{key:"linear_solver_time",label:"Linear Solver (s)",kind:"time"},{key:"gradients_time",label:"Gradients (s)",kind:"time"},{key:"balances_time",label:"Balances (s)",kind:"time"},{key:"mpi_ranks",label:"MPI Ranks",kind:"int"},{key:"threads",label:"Threads",kind:"int"}])),w=U(()=>r.allCases.map(R=>({value:R,label:R}))),L=U(()=>e(n).length>0);async function m(){var R;if(e(a).length){f(i,!0);try{const g=await Dn(e(a));(R=g.columns)!=null&&R.length&&f(y,g.columns,!0),f(n,g.records,!0),e(n).length>0&&f(o,!0)}catch(g){console.error("Failed to load perf:",g)}f(i,!1)}}function M(R){if(f(a,R,!0),R.length===0){f(n,[],!0);return}m()}function F(R,g){if(g==null||g==="")return"-";if(R==="text")return g;const b=Number(g);return Number.isFinite(b)?R==="int"?String(Math.round(b)):b.toFixed(3):g}async function h(){if(!e(n).length)return;const R=["case_id",...e(y).map(_=>_.key)],g=e(n).map(_=>[_.case_id,...e(y).map(T=>_[T.key]??"")].join(",")),b=[R.join(","),...g].join(` -`),S=_r("timing_snapshot",e(a),"csv");await Pa(b,S)}let c=!1;Ne(()=>{r.allCases.length>0&&!c&&(c=!0,f(a,[...r.allCases],!0),Dn(r.allCases).then(R=>{var g;(g=R.columns)!=null&&g.length&&f(y,R.columns,!0),f(o,R.records.length>0),f(n,R.records,!0)}).catch(()=>{}))}),Ne(()=>{e(s)?hr("perf",m,l):vt("perf")});const x=pr(()=>{c&&m()});dr(()=>{vt("perf"),x()}),Ot(t,{eyebrow:"Performance",title:"Timing Snapshot",wide:!0,actions:g=>{var b=uu(),S=B(b);rr(S,{name:"perf",intervalMs:l,onRefresh:m,get checked(){return e(s)},set checked(z){f(s,z,!0)}});var _=P(S,2);{var T=z=>{$e(z,{variant:"primary",onclick:m,children:(D,V)=>{var H=cu(),O=B(H);Te(O,{get icon(){return Zt}}),we(),u(D,H)},$$slots:{default:!0}})};X(_,z=>{e(s)||z(T)})}u(g,b)},children:(g,b)=>{var S=_u(),_=B(S);{var T=H=>{Yt(H,{children:(O,j)=>{var q=fu(),Y=B(q);Me(Y,{text:"Cases",children:(C,v)=>{Gt(C,{class:"w-[160px]",get options(){return e(w)},get selected(){return e(a)},onchange:M,placeholder:"Select cases..."})}});var ae=P(Y,2),N=k(ae);{let C=U(()=>!e(L));$e(N,{variant:"secondary",size:"sm",onclick:h,get disabled(){return e(C)},children:(v,A)=>{var E=du(),J=B(E);Te(J,{get icon(){return gr}}),we(),u(v,E)},$$slots:{default:!0}})}p(ae),u(O,q)}})};X(_,H=>{e(o)&&H(T)})}var z=P(_,2);{var D=H=>{var O=pu(),j=k(O),q=k(j),Y=k(q),ae=P(k(Y));Je(ae,17,()=>e(y),C=>C.key,(C,v)=>{var A=vu(),E=k(A,!0);p(A),Q(()=>ee(E,e(v).label)),u(C,A)}),p(Y),p(q);var N=P(q);Je(N,21,()=>e(n),C=>C.case_id,(C,v)=>{var A=hu(),E=k(A),J=k(E,!0);p(E);var oe=P(E);Je(oe,17,()=>e(y),ge=>ge.key,(ge,le)=>{var K=gu(),re=k(K,!0);p(K),Q(ne=>ee(re,ne),[()=>F(e(le).kind,e(v)[e(le).key])]),u(ge,K)}),p(A),Q(()=>ee(J,e(v).case_id)),u(C,A)}),p(N),p(j),p(O),u(H,O)},V=H=>{var O=mu(),j=k(O);{var q=ae=>{var N=Be("Select cases above to view timing information.");u(ae,N)},Y=ae=>{var N=Be("No performance data available. Please run a simulation first.");u(ae,N)};X(j,ae=>{e(o)?ae(q):ae(Y,-1)})}p(O),u(H,O)};X(z,H=>{e(L)?H(D):H(V,-1)})}u(g,S)},$$slots:{actions:!0,default:!0}}),Le()}const xu={"&":"&","<":"<",">":">",'"':""","'":"'"};function za(t){return t.replace(/[&<>"']/g,r=>xu[r]??r)}var yu=$("
        "),wu=$('
        ');function ku(t,r){Ae(r,!0);let a=I(void 0);function n(y){const w=za(y);if(!r.searchQuery.trim())return w;try{const L=new RegExp(`(${r.searchQuery})`,"gi");return w.replace(L,'$1')}catch{return w}}function o(y){return y==="error"?"tail-sev-error":y==="warn"?"tail-sev-warn":y==="info"?"tail-sev-info":""}function i(){return e(a)?e(a).scrollHeight-e(a).scrollTop-e(a).clientHeight<=24:!0}let s=I(!0);function l(){f(s,i(),!0)}Ne(()=>{r.autoScroll&&r.lines.length>0&&e(a)&&e(s)&&Pt().then(()=>{e(a)&&(e(a).scrollTop=e(a).scrollHeight)})});var d=wu();Je(d,21,()=>r.lines,y=>y.index,(y,w)=>{var L=yu();Fr(L,()=>n(e(w).text),!0),p(L),Q(m=>Ce(L,1,`tail-line ${m??""} ${e(w).isNew?"tail-new":""}`),[()=>o(e(w).severity)]),u(y,L)}),p(d),nt(d,y=>f(a,y),()=>e(a)),rt("scroll",d,l),u(t,d),Le()}const Cu=/(fatal error|error detected|error reading|error writing|segmentation fault|sigterm|sigsegv|sigkill|abort|killed|terminated|core dumped|traceback|exception|errno)/i,Su=/(warning|divergence|non-convergence|clipping|negative|nan detected|overflow|underflow)/i;function $u(t){return Cu.test(t)?"error":Su.test(t)?"warn":"none"}function Pu(t,r){return r==="all"||r===""?!0:r==="info"?t!=="none":t===r}var Eu=$(" Refresh",1),Ru=$(" ",1),Nu=$(''),Mu=$(''),Au=$("    ",1),Lu=It(''),Tu=It(''),Fu=It(''),Du=$(" Resume",1),zu=$(" Pause",1),Iu=$('Case not running'),Ou=$(' 
        ',1),Hu=$('

        No log data available. Please run a simulation first.

        '),ju=$('

        '),Uu=$(" ",1);function Vu(t,r){Ae(r,!0);const a=80;let n=I(""),o=I(""),i=I(!1),s=I(se([])),l=I(a),d=I(se([])),y=I(se(new Set)),w=I(!1),L=I(se(er("tail")));Ne(()=>{tr("tail",e(L))});let m=I(!0),M=I("all"),F=I(""),h=I(""),c=I(void 0),x=U(()=>wn(r.allCases)),R=U(()=>e(s).map(N=>{const C=N.split("/").pop()??N;return{value:N,label:C}})),g=[{value:"all",label:"All"},{value:"error",label:"Error"},{value:"warn",label:"Warn"}],b=U(()=>e(s).length>0),S=U(()=>bn().some(N=>{var C;return N.case_id===e(n)&&((C=N.status)==null?void 0:C.toUpperCase())==="RUNNING"}));const _={"run_solver.log":1,listing:2,"run_status.running":3,"csauto.stdout":4,"csauto.stderr":5,"performance.log":6};function T(N){const C=N.split("/").pop()??N;return _[C]??99}async function z(){if(e(n))try{const v=(await ui(e(n))).filter(A=>{const E=A.split("/").pop()??A;return A.endsWith(".log")||A.endsWith("/summary")||E in _}).sort((A,E)=>T(A)-T(E));if(f(s,v,!0),v.length>0){const A=v[0];!e(o)||!v.includes(e(o))?(f(o,A,!0),f(i,!1)):!e(i)&&T(A)0&&v[v.length-1]===""?v.slice(0,-1):v;if(e(d).length>0){const E=V(e(d),A),J=new Set;for(let oe=E;oe{let N=e(d).map((C,v)=>({text:C,index:v,severity:$u(C),isNew:e(y).has(v)}));if(e(M)!=="all"&&(N=N.filter(C=>Pu(C.severity,e(M)))),e(F).trim())try{const C=new RegExp(e(F),"i");N=N.filter(v=>C.test(v.text))}catch{}return N});function O(N){f(n,N,!0),f(o,""),f(i,!1),f(d,[],!0),z().then(()=>D(!0))}function j(N){f(o,N,!0),f(i,!0),f(d,[],!0),D(!0)}function q(){f(w,!e(w)),e(w)||D(!0)}function Y(N){(N.ctrlKey||N.metaKey)&&N.key==="f"&&e(c)&&(N.preventDefault(),e(c).focus())}Ne(()=>{r.allCases.length>0&&!e(n)&&(f(n,r.allCases[0],!0),z().then(()=>D(!0)))}),Ne(()=>{e(L)&&!e(w)&&e(n)?hr("tail",()=>D(!1),In()):vt("tail")});const ae=pr(()=>{e(n)&&z().then(()=>D(!0))});dr(()=>{vt("tail"),ae()}),rt("keydown",it,Y),Ot(t,{eyebrow:"Live",title:"Log Tail",wide:!0,actions:C=>{var v=Ru(),A=B(v);{let oe=U(In);rr(A,{name:"tail",get intervalMs(){return e(oe)},onRefresh:()=>D(!1),get checked(){return e(L)},set checked(ge){f(L,ge,!0)}})}var E=P(A,2);{var J=oe=>{$e(oe,{variant:"primary",onclick:()=>D(!0),children:(ge,le)=>{var K=Eu(),re=B(K);Te(re,{get icon(){return Zt}}),we(),u(ge,K)},$$slots:{default:!0}})};X(E,oe=>{e(L)||oe(J)})}u(C,v)},children:(C,v)=>{var A=Uu(),E=B(A);{var J=ne=>{Yt(ne,{children:(ue,de)=>{var Z=Au(),be=B(Z);Me(be,{text:"Case",children:(pe,Oe)=>{lt(pe,{class:"w-[130px]",get options(){return e(x)},get value(){return e(n)},onchange:O})}});var fe=P(be,2);Me(fe,{text:"File",children:(pe,Oe)=>{lt(pe,{class:"w-[150px]",get options(){return e(R)},get value(){return e(o)},onchange:j})}});var Pe=P(fe,2);Me(Pe,{text:"Lines",children:(pe,Oe)=>{var He=Nu();Qe(He),ie("change",He,()=>D(!0)),tt(He,()=>e(l),Fe=>f(l,Fe)),u(pe,He)}});var ve=P(Pe,2);Me(ve,{text:"Filter",children:(pe,Oe)=>{var He=Mu();Qe(He),nt(He,Fe=>f(c,Fe),()=>e(c)),tt(He,()=>e(F),Fe=>f(F,Fe)),u(pe,He)}});var ze=P(ve,2);Me(ze,{text:"Severity",children:(pe,Oe)=>{lt(pe,{class:"w-[90px]",get options(){return g},get value(){return e(M)},onchange:He=>f(M,He,!0)})}}),u(ue,Z)}})};X(E,ne=>{e(b)&&ne(J)})}var oe=P(E,2);{var ge=ne=>{var ue=Ou(),de=B(ue);ku(de,{get lines(){return e(H)},get searchQuery(){return e(F)},get autoScroll(){return e(m)}});var Z=P(de,2),be=k(Z),fe=k(be);{var Pe=G=>{var W=Lu();u(G,W)},ve=G=>{var W=Tu();u(G,W)},ze=G=>{var W=Fu();u(G,W)};X(fe,G=>{e(w)?G(Pe):e(S)?G(ve,1):G(ze,-1)})}var pe=P(fe);p(be);var Oe=P(be,2);{var He=G=>{$e(G,{variant:"secondary",size:"sm",onclick:q,children:(W,te)=>{var ce=_e(),Re=B(ce);{var Ie=me=>{var ke=Du(),je=B(ke);Te(je,{get icon(){return pa}}),we(),u(me,ke)},xe=me=>{var ke=zu(),je=B(ke);Te(je,{get icon(){return Vs}}),we(),u(me,ke)};X(Re,me=>{e(w)?me(Ie):me(xe,-1)})}u(W,ce)},$$slots:{default:!0}})},Fe=G=>{var W=Iu();u(G,W)};X(Oe,G=>{e(S)?G(He):G(Fe,-1)})}var ye=P(Oe,2),Ee=k(ye);zt(Ee,{get checked(){return e(m)},onchange:G=>f(m,G,!0),size:14,label:"Auto-scroll",labelFirst:!0}),p(ye),p(Z),Q(()=>ee(pe,` ${e(H).length??""} / ${e(d).length??""}`)),u(ne,ue)},le=ne=>{var ue=Hu();u(ne,ue)};X(oe,ne=>{e(d).length>0?ne(ge):ne(le,-1)})}var K=P(oe,2);{var re=ne=>{var ue=ju(),de=k(ue,!0);p(ue),Q(()=>ee(de,e(h))),u(ne,ue)};X(K,ne=>{e(h)&&ne(re)})}u(C,A)},$$slots:{actions:!0,default:!0}}),Le()}We(["change"]);function Bu(t,r=3){var M,F;const a=t.split(` -`),n=[];let o=0,i=0,s=!1;for(const h of a){if(h.startsWith("===")||h.startsWith("---")||h.startsWith("+++"))continue;const c=h.match(/^@@ -(\d+),?\d* \+(\d+),?\d* @@/);if(c){o=parseInt(c[1],10)-1,i=parseInt(c[2],10)-1,s=!0;continue}if(s)if(h.startsWith("-"))o++,n.push({type:"del",leftNum:o,rightNum:null,leftContent:h.slice(1),rightContent:""});else if(h.startsWith("+"))i++,n.push({type:"add",leftNum:null,rightNum:i,leftContent:"",rightContent:h.slice(1)});else{o++,i++;const x=h.startsWith(" ")?h.slice(1):h;n.push({type:"equal",leftNum:o,rightNum:i,leftContent:x,rightContent:x})}}const l=[];let d=0;for(;d=0&&h-L>1&&w.push({kind:"separator",skipped:h-L-1});const c=l[h].type!=="equal",x=c&&!m;w.push({kind:"line",row:l[h],hunkStart:x}),m=c,L=h}if(L=0&&w.push({kind:"separator",skipped:l.length-1-L}),w.length>0&&w[0].kind==="line"){const h=((M=w[0].row)==null?void 0:M.leftNum)??0,c=((F=w[0].row)==null?void 0:F.rightNum)??0,x=Math.max(h,c)-1;x>0&&w.unshift({kind:"separator",skipped:x})}return w}var qu=$('
        '),Ku=$('
        '),Gu=$(' ',1),Wu=$('No matches'),Xu=$('
        '),Yu=$('

        Files are identical.

        '),Qu=$('
        Loading...
        '),Ju=$('
        ');function Zu(t,r){Ae(r,!0);let a=he(r,"loading",3,!1),n=I(void 0),o=U(()=>Bu(r.diffText)),i=U(()=>{const G=[];return e(o).forEach((W,te)=>{W.hunkStart&&G.push(te)}),G}),s=U(()=>e(i).length>0),l=U(()=>{var W;const G=new Array(e(o).length).fill(-1);for(let te=0;te{r.diffText!==y&&(y=r.diffText,f(d,-1))});let w=U(()=>{if(!r.search.trim())return[];try{const G=new RegExp(r.search,"i"),W=[];return e(o).forEach((te,ce)=>{te.kind==="line"&&te.row&&(G.test(te.row.leftContent)||G.test(te.row.rightContent))&&W.push(ce)}),W}catch{return[]}}),L=I(-1),m="";Ne(()=>{r.search!==m&&(m=r.search,f(L,e(w).length>0?0:-1,!0))});async function M(G){var ce;f(L,G,!0),await Pt();const W=e(w)[G],te=(ce=e(g))==null?void 0:ce.querySelector(`[data-item-idx="${W}"]`);if(te&&e(g)&&e(b)){const Re=e(g).getBoundingClientRect(),xe=te.getBoundingClientRect().top-Re.top+e(g).scrollTop-e(g).clientHeight/3;_=!0,e(g).scrollTop=xe,e(b).scrollTop=xe,requestAnimationFrame(()=>{_=!1})}}function F(){e(L)>0&&M(e(L)-1)}function h(){e(L)<0&&e(w).length>0?M(0):e(L)$1`)}catch{return te}}function x(G,W){return G==="equal"?"":G==="del"&&W==="left"?"bg-[rgba(214,67,10,0.08)] text-edf-orange-fonce":G==="del"&&W==="right"?"bg-[rgba(48,122,16,0.08)] text-edf-vert-fonce":G==="add"&&W==="left"?"bg-edf-gris-clair":G==="add"&&W==="right"?"bg-[rgba(48,122,16,0.08)] text-edf-vert-fonce":""}function R(G,W){return G==="del"&&W==="left"?"rgb(251,237,233)":G==="del"&&W==="right"?"rgb(238,247,236)":G==="add"&&W==="left"?"var(--color-edf-gris-clair)":G==="add"&&W==="right"?"rgb(238,247,236)":"white"}let g=I(void 0),b=I(void 0),S=!1,_=!1;function T(G){S||_||!e(g)||!e(b)||(S=!0,G==="left"?(e(b).scrollTop=e(g).scrollTop,e(b).scrollLeft=e(g).scrollLeft):(e(g).scrollTop=e(b).scrollTop,e(g).scrollLeft=e(b).scrollLeft),requestAnimationFrame(()=>{S=!1}))}async function z(G){var te;f(d,G,!0),await Pt();const W=(te=e(g))==null?void 0:te.querySelector(`[data-hunk-start="${G}"]`);if(W&&e(g)&&e(b)){_=!0;const ce=e(g).getBoundingClientRect(),Ie=W.getBoundingClientRect().top-ce.top+e(g).scrollTop-e(g).clientHeight/3;e(g).scrollTop=Ie,e(b).scrollTop=Ie,requestAnimationFrame(()=>{_=!1})}}function D(){e(d)>0&&z(e(d)-1)}function V(){e(d)<0?z(0):e(d)=0&&f(d,W,!0)}function O(G){G.target instanceof HTMLInputElement||(G.key==="n"&&!G.shiftKey?(G.preventDefault(),V()):G.key==="N"||G.key==="n"&&G.shiftKey?(G.preventDefault(),D()):G.key==="j"?(G.preventDefault(),h()):(G.key==="J"||G.key==="j"&&G.shiftKey)&&(G.preventDefault(),F()))}var j=Ju();{const G=(W,te=wo)=>{var ce=_e(),Re=B(ce);Je(Re,17,()=>e(o),un,(Ie,xe,me)=>{const ke=U(()=>e(i).indexOf(me)),je=U(()=>e(l)[me]>=0&&e(l)[me]===e(d)),Xe=U(()=>{var at,Ge;return te()==="left"?(at=e(xe).row)==null?void 0:at.leftNum:(Ge=e(xe).row)==null?void 0:Ge.rightNum}),gt=U(()=>{var at,Ge;return te()==="left"?((at=e(xe).row)==null?void 0:at.leftContent)??"":((Ge=e(xe).row)==null?void 0:Ge.rightContent)??""});var Ht=_e(),Or=B(Ht);{var et=at=>{var Ge=qu(),Nt=P(k(Ge),2),Hr=k(Nt);p(Nt),p(Ge),Q(()=>ee(Hr,`... ${e(xe).skipped??""} lines hidden ...`)),u(at,Ge)},ut=at=>{var Ge=Ku(),Nt=k(Ge),Hr=k(Nt,!0);p(Nt);var Sn=P(Nt,2);Fr(Sn,()=>c(e(gt),e(L)>=0&&e(w)[e(L)]===me),!0),p(Sn),p(Ge),Q((yt,Mt,br,Ia,Oa)=>{Ce(Ge,1,`flex w-full ${yt??""} ${Mt??""}`),Ze(Ge,e(je)?"background-color: rgba(16,87,200,0.12); color: rgb(16,87,200);":""),Se(Ge,"role",br),Se(Ge,"tabindex",Ia),Se(Ge,"data-hunk-start",te()==="left"&&e(ke)>=0?e(ke):void 0),Se(Ge,"data-item-idx",te()==="left"?me:void 0),Ze(Nt,`background: ${Oa??""}; color: ${e(je)?"white":"var(--color-muted)"};`),ee(Hr,e(Xe)??"")},[()=>x(e(xe).row.type,te()),()=>e(xe).row.type!=="equal"||e(w).includes(me)?"cursor-pointer":"",()=>e(xe).row.type!=="equal"||e(w).includes(me)?"button":void 0,()=>e(xe).row.type!=="equal"||e(w).includes(me)?0:void 0,()=>e(je)?"rgb(16,87,200)":R(e(xe).row.type,te())]),ie("click",Ge,()=>{var Mt;((Mt=e(xe).row)==null?void 0:Mt.type)!=="equal"&&H(me);const yt=e(w).indexOf(me);yt>=0&&f(L,yt,!0)}),ie("keydown",Ge,yt=>{var Mt;if(yt.key==="Enter"||yt.key===" "){yt.preventDefault(),((Mt=e(xe).row)==null?void 0:Mt.type)!=="equal"&&H(me);const br=e(w).indexOf(me);br>=0&&f(L,br,!0)}}),u(at,Ge)};X(Or,at=>{e(xe).kind==="separator"?at(et):e(xe).row&&at(ut,1)})}u(Ie,Ht)}),u(W,ce)};var q=k(j),Y=k(q),ae=k(Y),N=k(ae,!0);p(ae);var C=P(ae,2),v=k(C,!0);p(C),p(Y);var A=P(Y,2),E=k(A),J=k(E,!0);p(E);var oe=P(E,2),ge=k(oe,!0);p(oe),p(A),p(q);var le=P(q,2),K=k(le),re=k(K);Qe(re);var ne=P(re,2);{var ue=W=>{var te=Gu(),ce=B(te);{let me=U(()=>e(L)<=0);$e(ce,{variant:"secondary",size:"sm",onclick:F,get disabled(){return e(me)},children:(ke,je)=>{we();var Xe=Be("Prev");u(ke,Xe)},$$slots:{default:!0}})}var Re=P(ce,2),Ie=k(Re);p(Re);var xe=P(Re,2);{let me=U(()=>e(L)>=e(w).length-1);$e(xe,{variant:"secondary",size:"sm",onclick:h,get disabled(){return e(me)},children:(ke,je)=>{we();var Xe=Be("Next");u(ke,Xe)},$$slots:{default:!0}})}Q(()=>ee(Ie,`${e(L)>=0?e(L)+1:"–"} / ${e(w).length??""} occurrence${e(w).length!==1?"s":""}`)),u(W,te)},de=U(()=>r.search.trim()&&e(w).length>0),Z=W=>{var te=Wu();u(W,te)},be=U(()=>r.search.trim());X(ne,W=>{e(de)?W(ue):e(be)&&W(Z,1)})}p(K);var fe=P(K,2),Pe=k(fe);{let W=U(()=>e(i).length===0||e(d)<=0);$e(Pe,{variant:"secondary",size:"sm",onclick:D,get disabled(){return e(W)},children:(te,ce)=>{we();var Re=Be("Prev");u(te,Re)},$$slots:{default:!0}})}var ve=P(Pe,2),ze=k(ve);p(ve);var pe=P(ve,2);{let W=U(()=>e(i).length===0||e(d)>=e(i).length-1);$e(pe,{variant:"secondary",size:"sm",onclick:V,get disabled(){return e(W)},children:(te,ce)=>{we();var Re=Be("Next");u(te,Re)},$$slots:{default:!0}})}p(fe),p(le);var Oe=P(le,2);{var He=W=>{var te=Xu(),ce=k(te),Re=k(ce),Ie=k(Re);G(Ie,()=>"left"),p(Re),p(ce),nt(ce,je=>f(g,je),()=>e(g));var xe=P(ce,2),me=k(xe),ke=k(me);G(ke,()=>"right"),p(me),p(xe),nt(xe,je=>f(b,je),()=>e(b)),p(te),rt("scroll",ce,()=>T("left")),rt("scroll",xe,()=>T("right")),u(W,te)},Fe=W=>{var te=Yu();u(W,te)};X(Oe,W=>{e(s)?W(He):W(Fe,-1)})}var ye=P(Oe,2);{var Ee=W=>{var te=Qu();u(W,te)};X(ye,W=>{a()&&W(Ee)})}p(j),nt(j,W=>f(n,W),()=>e(n)),Q(()=>{ee(N,r.leftLabel),ee(v,r.kind),ee(J,r.rightLabel),ee(ge,r.kind),dn(re,r.search),ee(ze,`${e(d)>=0?e(d)+1:"–"} / ${e(i).length??""} diff${e(i).length!==1?"s":""}`)}),ie("input",re,W=>r.onSearchChange(W.target.value)),ie("keydown",re,W=>{W.key==="Enter"&&(W.preventDefault(),h())})}ie("keydown",j,O),u(t,j),Le()}We(["keydown","click","input"]);var ed=$(" ",1),td=$('

        Please select two different cases to compare.

        '),rd=$('

        Select two cases to compare.

        '),nd=$(' '),ad=$('
        Parameter
        '),od=$('

        All parameters are identical.

        '),sd=$('
        ',1),id=$('

        '),ld=$('

        Loading...

        '),cd=$(" ",1),ud=$(" ",1);function dd(t,r){Ae(r,!0);let a=I(""),n=I(""),o=I(""),i=I(""),s=I(""),l=I(!1),d=I(!1),y=I(""),w=U(()=>r.allCases.map(_=>({value:_,label:_})));const L=[{value:"setup.xml",label:"setup.xml"},{value:"doe_row.csv",label:"doe_row.csv"},{value:"run_solver.log",label:"run_solver.log"},{value:"performance.log",label:"performance.log"}];let m=U(()=>{var _;return((_=Bt())==null?void 0:_.compare_kinds)??L});Ne(()=>{var _;e(m).some(T=>T.value===e(o))||f(o,((_=e(m)[0])==null?void 0:_.value)??"",!0)});let M=I(!1),F=U(()=>e(a)&&e(n)&&e(a)!==e(n));function h(){const _=e(a);f(a,e(n),!0),f(n,_,!0)}async function c(){if(e(F)){f(l,!0),f(y,"");try{const _=await hi({cases:[e(a),e(n)],base:e(a),kind:e(o)});f(s,_,!0),f(d,!0)}catch(_){console.error("Failed to load diff:",_),f(s,""),f(d,!1);const T=_ instanceof Error?_.message:String(_);f(y,T.includes("404")?`File "${e(o)}" not found for one of the selected cases. It may not have been run yet.`:"Failed to load comparison.",!0)}f(l,!1)}}Ne(()=>{e(a)&&e(n)&&e(a)!==e(n)&&e(o)?c():e(a)&&e(n)&&e(a)===e(n)&&(f(s,""),f(d,!0))});let x=!1;Ne(()=>{r.allCases.length>=2&&!x?(x=!0,f(a,r.allCases[0],!0),f(n,r.allCases[1],!0)):r.allCases.length===1&&!x&&(x=!0,f(a,r.allCases[0],!0))});let R=U(xn),g=U(()=>{if(!e(a)||!e(n)||e(a)===e(n)||e(R).length===0)return[];const _=bn(),T=_.find(D=>D.case_id===e(a)),z=_.find(D=>D.case_id===e(n));return!T&&!z?[]:e(R).map(D=>{var O,j;const V=((O=T==null?void 0:T.doe)==null?void 0:O[D])!=null&&String(T.doe[D])!==""?String(T.doe[D]):"—",H=((j=z==null?void 0:z.doe)==null?void 0:j[D])!=null&&String(z.doe[D])!==""?String(z.doe[D]):"—";return{param:D,left:V,right:H,differs:V!==H}})}),b=U(()=>e(M)?e(g):e(g).filter(_=>_.differs)),S=U(()=>e(g).filter(_=>_.differs).length);Ot(t,{eyebrow:"Compare",title:"Side-by-Side Comparison",wide:!0,children:(_,T)=>{var z=ud(),D=B(z);Yt(D,{children:(q,Y)=>{var ae=ed(),N=B(ae);Me(N,{text:"First case",children:(A,E)=>{lt(A,{class:"w-32.5",get options(){return e(w)},get value(){return e(a)},onchange:J=>f(a,J,!0),placeholder:"Select..."})}});var C=P(N,2);{let A=U(()=>!e(a)&&!e(n));$e(C,{variant:"secondary",size:"sm",onclick:h,get disabled(){return e(A)},children:(E,J)=>{Te(E,{get icon(){return Ts}})},$$slots:{default:!0}})}var v=P(C,2);Me(v,{text:"Second case",children:(A,E)=>{lt(A,{class:"w-32.5",get options(){return e(w)},get value(){return e(n)},onchange:J=>f(n,J,!0),placeholder:"Select..."})}}),u(q,ae)}});var V=P(D,2);{var H=q=>{var Y=td();u(q,Y)},O=q=>{var Y=rd();u(q,Y)},j=q=>{var Y=cd(),ae=B(Y);{var N=oe=>{var ge=sd(),le=B(ge),K=k(le),re=k(K);p(K);var ne=P(K,2),ue=k(ne,!0);p(ne),p(le);var de=P(le,2);{var Z=fe=>{var Pe=ad(),ve=k(Pe),ze=k(ve),pe=k(ze),Oe=k(pe),He=k(Oe,!0);p(Oe);var Fe=P(Oe,2),ye=k(Fe,!0);p(Fe),p(pe),p(ze);var Ee=P(ze);Je(Ee,21,()=>e(b),G=>G.param,(G,W)=>{var te=nd(),ce=k(te),Re=k(ce,!0);p(ce);var Ie=P(ce),xe=k(Ie,!0);p(Ie);var me=P(Ie),ke=k(me,!0);p(me),p(te),Q(()=>{Ce(ce,1,dt(e(W).differs?"text-edf-orange-fonce bg-[rgba(214,67,10,0.04)]":"")),ee(Re,e(W).left),ee(xe,e(W).param),Ce(me,1,dt(e(W).differs?"text-edf-vert-fonce bg-[rgba(48,122,16,0.04)]":"")),ee(ke,e(W).right)}),u(G,te)}),p(Ee),p(ve),p(Pe),Q(()=>{ee(He,e(a)),ee(ye,e(n))}),u(fe,Pe)},be=fe=>{var Pe=od();u(fe,Pe)};X(de,fe=>{e(b).length>0?fe(Z):fe(be,-1)})}Q(()=>{ee(re,`${e(S)??""} difference${e(S)!==1?"s":""} out of ${e(g).length??""} - parameters`),ee(ue,e(M)?"Show differences only":"Show all parameters")}),ie("click",ne,()=>f(M,!e(M))),u(oe,ge)};X(ae,oe=>{e(g).length>0&&oe(N)})}var C=P(ae,2);Yt(C,{children:(oe,ge)=>{Me(oe,{text:"File",children:(le,K)=>{lt(le,{class:"w-37.5",get options(){return e(m)},get value(){return e(o)},onchange:re=>f(o,re,!0)})}})}});var v=P(C,2);{var A=oe=>{var ge=id(),le=k(ge,!0);p(ge),Q(()=>ee(le,e(y))),u(oe,ge)},E=oe=>{Zu(oe,{get diffText(){return e(s)},get leftLabel(){return e(a)},get rightLabel(){return e(n)},get kind(){return e(o)},get search(){return e(i)},get loading(){return e(l)},onSearchChange:ge=>f(i,ge,!0)})},J=oe=>{var ge=ld();u(oe,ge)};X(v,oe=>{e(y)?oe(A):e(d)?oe(E,1):e(l)&&oe(J,2)})}u(q,Y)};X(V,q=>{e(a)&&e(n)&&e(a)===e(n)?q(H):!e(a)||!e(n)?q(O,1):q(j,-1)})}u(_,z)},$$slots:{default:!0}}),Le()}We(["click"]);var fd=$(" Refresh",1),vd=$(" ",1),gd=$(''),hd=$(''),pd=$(" Download as CSV",1),md=$('
        ',1),_d=$(" ",1),bd=$(""),xd=$('
        Sort by:
        '),yd=$('

        No errors found. Select cases and adjust filters above.

        '),wd=$(' '),kd=$('NEW'),Cd=$('
        '),Sd=$('
        '),$d=$(' '),Pd=$('
        '),Ed=$('

        '),Rd=$("
        ",1);function Nd(t,r){Ae(r,!0);const a=6,n=["csauto.stderr","run_solver.log","listing"];let o=I(se([])),i=I(se([...n])),s=!1;Ne(()=>{var re;const K=(re=Bt())==null?void 0:re.error_files;K!=null&&K.length&&!s&&f(i,[...K],!0)});let l=I("all"),d=I(""),y=I(a),w=I(!1),L=I(""),m=I(se(er("errors")));Ne(()=>{tr("errors",e(m))});let M=I(se([])),F=I(se(new Set));function h(K){return K.toLowerCase().replace(/[0-9]+/g,"#").replace(/0x[0-9a-f]+/gi,"#").replace(/\s+/g," ").trim()}function c(K){const re=K.line_html.replace(/<[^>]*>/g,"").slice(0,120);return`${K.case_id}|${K.file}|${K.severity}|${h(re)}`}function x(K){const re=new Map;for(const ne of K){const ue=c(ne),de=re.get(ue);de?de.count++:re.set(ue,{...ne,count:1,fingerprint:ue,isNew:!e(F).has(ue)})}return Array.from(re.values())}async function R(){if(!(!e(o).length||!e(i).length)){f(w,!0);try{const K=await li({cases:e(o),files:e(i),context:e(y),sev:e(l)==="all"?"":e(l),q:e(d)});f(L,"");const re=x(K.items);f(M,K.items,!0);const ne=new Set(re.map(ue=>ue.fingerprint));f(F,ne,!0),f(g,re,!0)}catch(K){f(L,"Failed to load errors"),console.error("Failed to load errors:",K)}finally{f(w,!1)}}}let g=I(se([])),b=null;function S(){b&&clearTimeout(b),b=setTimeout(R,250)}function _(K){return K==="error"?"error-sev-error":K==="warn"?"error-sev-warn":"error-sev-info"}let T=U(()=>wn(r.allCases));const z=["csauto.stderr","run_solver.log","listing","csauto.stdout"];let D=U(()=>{var K;return(((K=Bt())==null?void 0:K.error_files)??z).map(re=>({value:re,label:re}))}),V=[{value:"all",label:"All"},{value:"error",label:"Error"},{value:"warn",label:"Warn"},{value:"info",label:"Info"}];function H(K){if(f(o,K,!0),K.length===0){f(g,[],!0),f(M,[],!0);return}R()}function O(K){if(s=!0,f(i,K,!0),K.length===0){f(g,[],!0),f(M,[],!0);return}R()}function j(K){f(l,K,!0),R()}function q(){R()}let Y=!1;Ne(()=>{r.allCases.length>0&&!Y&&(Y=!0,f(o,[...r.allCases],!0),R())}),Ne(()=>{e(m)?hr("errors",R,Hn()):vt("errors")});const ae=pr(()=>{Y&&R()});dr(()=>{vt("errors"),ae()});let N=I(se(new Set));function C(K){const re=new Set(e(N));re.has(K)?re.delete(K):re.add(K),f(N,re,!0)}let v=I("severity"),A=I("desc");const E={info:0,warn:1,error:2};let J=U(()=>{const K=[...e(g)];return K.sort((re,ne)=>{let ue=0;return e(v)==="severity"?ue=(E[re.severity]??9)-(E[ne.severity]??9):e(v)==="count"?ue=re.count-ne.count:ue=re[e(v)].localeCompare(ne[e(v)]),e(A)==="asc"?ue:-ue}),K});const oe={severity:"desc",count:"desc",case_id:"asc",file:"asc"};function ge(K){e(v)===K?f(A,e(A)==="asc"?"desc":"asc",!0):(f(v,K,!0),f(A,oe[K],!0))}function le(){if(!e(g).length)return;const K=["case_id","file","severity","count","is_new","line_text"],re=e(J).map(de=>[de.case_id,de.file,de.severity,de.count,de.isNew?"yes":"no",`"${de.line_html.replace(/<[^>]*>/g,"").replace(/"/g,'""')}"`].join(",")),ne=[K.join(","),...re].join(` -`),ue=_r("errors",e(o),"csv");Pa(ne,ue)}Ot(t,{eyebrow:"Diagnostics",title:"Recent Errors",wide:!0,actions:re=>{var ne=vd(),ue=B(ne);{let be=U(Hn);rr(ue,{name:"errors",get intervalMs(){return e(be)},onRefresh:R,get checked(){return e(m)},set checked(fe){f(m,fe,!0)}})}var de=P(ue,2);{var Z=be=>{$e(be,{variant:"primary",onclick:R,children:(fe,Pe)=>{var ve=fd(),ze=B(ve);Te(ze,{get icon(){return Zt}}),we(),u(fe,ve)},$$slots:{default:!0}})};X(de,be=>{e(m)||be(Z)})}u(re,ne)},children:(re,ne)=>{var ue=Rd(),de=B(ue);Yt(de,{children:(ye,Ee)=>{var G=md(),W=B(G);Me(W,{text:"Cases",children:(ke,je)=>{Gt(ke,{class:"w-[160px]",get options(){return e(T)},get selected(){return e(o)},onchange:H,placeholder:"Select cases..."})}});var te=P(W,2);Me(te,{text:"Files",children:(ke,je)=>{Gt(ke,{class:"w-[160px]",get options(){return e(D)},get selected(){return e(i)},onchange:O,placeholder:"Select files..."})}});var ce=P(te,2);Me(ce,{text:"Severity",children:(ke,je)=>{lt(ke,{class:"w-[90px]",get options(){return V},get value(){return e(l)},onchange:j})}});var Re=P(ce,2);Me(Re,{text:"Search",children:(ke,je)=>{var Xe=gd();Qe(Xe),ie("input",Xe,S),tt(Xe,()=>e(d),gt=>f(d,gt)),u(ke,Xe)}});var Ie=P(Re,2);Me(Ie,{text:"Context",children:(ke,je)=>{var Xe=hd();Qe(Xe),ie("change",Xe,q),tt(Xe,()=>e(y),gt=>f(y,gt)),u(ke,Xe)}});var xe=P(Ie,2),me=k(xe);{let ke=U(()=>e(g).length===0);$e(me,{variant:"secondary",size:"sm",onclick:le,get disabled(){return e(ke)},children:(je,Xe)=>{var gt=pd(),Ht=B(gt);Te(Ht,{get icon(){return gr}}),we(),u(je,gt)},$$slots:{default:!0}})}p(xe),u(ye,G)}});var Z=P(de,2);{var be=ye=>{var Ee=xd(),G=P(k(Ee),2);Je(G,16,()=>[{key:"severity",label:"Severity"},{key:"count",label:"Count"},{key:"case_id",label:"Case"},{key:"file",label:"File"}],W=>W.key,(W,te)=>{var ce=bd(),Re=k(ce,!0),Ie=P(Re);{var xe=me=>{var ke=_d(),je=P(B(ke));{let Xe=U(()=>e(A)==="asc"?Fs:Ls);Te(je,{get icon(){return e(Xe)},size:12})}u(me,ke)};X(Ie,me=>{e(v)===te.key&&me(xe)})}p(ce),Q(()=>{Ce(ce,1,`cursor-pointer bg-transparent border-none text-xs hover:underline ${e(v)===te.key?"text-edf-bleu-fonce font-bold":"text-muted"}`),ee(Re,te.label)}),ie("click",ce,()=>ge(te.key)),u(W,ce)}),p(Ee),u(ye,Ee)};X(Z,ye=>{e(J).length>0&&ye(be)})}var fe=P(Z,2),Pe=k(fe);{var ve=ye=>{var Ee=yd();u(ye,Ee)};X(Pe,ye=>{e(J).length===0&&ye(ve)})}var ze=P(Pe,2);Je(ze,17,()=>e(J),ye=>ye.fingerprint,(ye,Ee)=>{var G=Sd(),W=k(G),te=k(W),ce=k(te);{let et=U(()=>e(N).has(e(Ee).fingerprint)?gn:Ds);Te(ce,{get icon(){return e(et)},size:14})}p(te);var Re=P(te,2),Ie=k(Re);p(Re);var xe=P(Re,2),me=k(xe);{var ke=et=>{var ut=wd(),at=k(ut);p(ut),Q(()=>ee(at,`${e(Ee).count??""}x`)),u(et,ut)};X(me,et=>{e(Ee).count>1&&et(ke)})}var je=P(me,2);{var Xe=et=>{var ut=kd();u(et,ut)};X(je,et=>{e(Ee).isNew&&et(Xe)})}p(xe),p(W);var gt=P(W,2);{var Ht=et=>{var ut=Cd();Fr(ut,()=>e(Ee).line_html,!0),p(ut),u(et,ut)},Or=U(()=>e(N).has(e(Ee).fingerprint));X(gt,et=>{e(Or)&&et(Ht)})}p(G),Q(et=>{Ce(G,1,`error-item ${et??""}`),ee(Ie,`${e(Ee).case_id??""} / ${e(Ee).file??""} : ${e(Ee).severity??""}`)},[()=>_(e(Ee).severity)]),ie("click",W,()=>C(e(Ee).fingerprint)),u(ye,G)}),p(fe);var pe=P(fe,2);{var Oe=ye=>{var Ee=Pd(),G=k(Ee),W=k(G);p(G);var te=P(G,2);{var ce=Ie=>{var xe=$d(),me=k(xe);p(xe),Q(ke=>ee(me,`${ke??""} new`),[()=>e(g).filter(ke=>ke.isNew).length]),u(Ie,xe)},Re=U(()=>e(g).some(Ie=>Ie.isNew));X(te,Ie=>{e(Re)&&Ie(ce)})}p(Ee),Q(()=>ee(W,`${e(g).length??""} unique / ${e(M).length??""} total`)),u(ye,Ee)};X(pe,ye=>{e(J).length>0&&ye(Oe)})}var He=P(pe,2);{var Fe=ye=>{var Ee=Ed(),G=k(Ee,!0);p(Ee),Q(()=>ee(G,e(L))),u(ye,Ee)};X(He,ye=>{e(L)&&ye(Fe)})}Q(()=>Ce(fe,1,`error-list ${e(w)?"opacity-50 pointer-events-none":""}`)),u(re,ue)},$$slots:{actions:!0,default:!0}}),Le()}We(["input","change","click"]);var Md=$('
        ',1);function Hd(t,r){Ae(r,!0);let a=I(se({totalCases:0,shownCases:0,totalRunning:0,shownRunning:0,totalConverged:0,shownConverged:0})),n=I(se([])),o=I(null);const i=E=>e(o)===null||e(o).includes(E);async function s(E){var ge;const J=`/favicon-${E}.svg`;try{const le=await fetch(J);if(!le.ok||!((ge=le.headers.get("content-type"))!=null&&ge.includes("svg")))return}catch{return}const oe=document.querySelector('link[rel="icon"]');oe&&(oe.href=J)}async function l(){try{const E=await ai();Sl(E.rows),$l(E.doe_columns),f(n,E.rows.map(J=>J.case_id),!0),f(a,Ol(Sa(),bn()),!0)}catch(E){console.error("Failed to load status:",E)}}Yn(()=>{l(),oi().then(E=>{el(E),f(o,E.panels,!0),s(E.solver)}).catch(()=>{})});var d=Md(),y=B(d);Ni(y,{});var w=P(y,2);Fi(w,{});var L=P(w,2);al(L,{get totalCases(){return e(a).totalCases},get shownCases(){return e(a).shownCases},get totalRunning(){return e(a).totalRunning},get shownRunning(){return e(a).shownRunning},get totalConverged(){return e(a).totalConverged},get shownConverged(){return e(a).shownConverged}});var m=P(L,2),M=k(m);{var F=E=>{pc(E,{onRefresh:l})},h=U(()=>i("status"));X(M,E=>{e(h)&&E(F)})}var c=P(M,2);{var x=E=>{Ic(E,{get allCases(){return e(n)}})},R=U(()=>i("residuals"));X(c,E=>{e(R)&&E(x)})}var g=P(c,2);{var b=E=>{lu(E,{get allCases(){return e(n)}})},S=U(()=>i("probes"));X(g,E=>{e(S)&&E(b)})}var _=P(g,2);{var T=E=>{bu(E,{get allCases(){return e(n)}})},z=U(()=>i("performance"));X(_,E=>{e(z)&&E(T)})}var D=P(_,2);{var V=E=>{dd(E,{get allCases(){return e(n)}})},H=U(()=>i("compare"));X(D,E=>{e(H)&&E(V)})}var O=P(D,2);{var j=E=>{Vu(E,{get allCases(){return e(n)}})},q=U(()=>i("tail"));X(O,E=>{e(q)&&E(j)})}var Y=P(O,2);{var ae=E=>{Nd(E,{get allCases(){return e(n)}})},N=U(()=>i("errors"));X(Y,E=>{e(N)&&E(ae)})}p(m);var C=P(m,2),v=P(k(C),2),A=k(v);p(v),p(C),Q(()=>Se(A,"src",ol)),u(t,d),Le()}export{Hd as component}; + ${n()||s()?"bg-edf-bleu-moyen border-edf-bleu-moyen text-white":"bg-white border-edf-gris-moyen hover:border-edf-bleu-clair"}`),Je(c,`width: ${o()??""}px; height: ${o()??""}px;`),we(c,"aria-checked",s()?"mixed":n()),we(c,"aria-disabled",i()),we(c,"tabindex",i()?-1:0)}),ie("click",c,x),ie("keydown",c,w),u(v,c)};let n=he(r,"checked",3,!1),s=he(r,"indeterminate",3,!1),i=he(r,"disabled",3,!1),o=he(r,"size",3,16),l=he(r,"label",3,""),d=he(r,"labelFirst",3,!1);function x(v){var y;if(v.stopPropagation(),i())return;const c=s()?!0:!n();(y=r.onchange)==null||y.call(r,c)}function w(v){(v.key===" "||v.key==="Enter")&&(v.preventDefault(),v.stopPropagation(),x(v))}var T=_e(),m=B(T);{var A=v=>{var c=ji(),y=C(c);{var R=b=>{var $=Oi(),_=B($),L=C(_,!0);p(_);var z=E(_);a(z),Q(()=>ee(L,l())),u(b,$)},g=b=>{var $=Hi(),_=B($);a(_);var L=E(_),z=C(L,!0);p(L),Q(()=>ee(z,l())),u(b,$)};Y(y,b=>{d()?b(R):b(g,-1)})}p(c),ie("click",c,x),ie("keydown",c,w),u(v,c)},F=v=>{a(v)};Y(m,v=>{l()?v(A):v(F,-1)})}u(t,T),Le()}We(["click","keydown"]);function pn(t,r){try{const a=localStorage.getItem(t);return a===null?r:JSON.parse(a)}catch{return r}}function Ir(t,r){localStorage.setItem(t,JSON.stringify(r))}const Zr=new Map;function hr(t,r,a){vt(t),Zr.set(t,setInterval(r,a))}function vt(t){const r=Zr.get(t);r!==void 0&&(clearInterval(r),Zr.delete(t))}const Tt={status:1e3,tail:1e3,plot:3e3,probe:3e3,errors:5e3},Vi=["status","plot","probe","tail","errors"],Kr={status:{label:"Status table",min:500},plot:{label:"Residual plots",min:1e3},probe:{label:"Probe plots",min:1e3},tail:{label:"Log tail",min:500},errors:{label:"Recent errors",min:2e3}},or=pn("csauto_refresh_rates",{});let bt=I(oe({status:or.status??Tt.status,tail:or.tail??Tt.tail,plot:or.plot??Tt.plot,probe:or.probe??Tt.probe,errors:or.errors??Tt.errors}));function Ui(){return e(bt)}function Bi(t,r){f(bt,{...e(bt),[t]:r},!0),Ir("csauto_refresh_rates",e(bt))}function qi(){return e(bt).status}function In(){return e(bt).tail}function On(){return e(bt).plot}function Ki(){return e(bt).probe}function Hn(){return e(bt).errors}const Jr=new Set;function pr(t){return Jr.add(t),()=>Jr.delete(t)}function Gi(){Jr.forEach(t=>t())}const en=pn("csauto_autorefresh_enabled",{});function er(t){return en[t]??!0}function tr(t,r){en[t]=r,Ir("csauto_autorefresh_enabled",en)}var Wi=P(" ",1),Xi=P('
        ms
        '),Yi=P('
        Telemetry
        '),Qi=P('
        API token
        Auto-refresh intervals
        ',1);function Zi(t,r){Ae(r,!0);let a=I(oe(_a())),n=I(oe({...Ui()})),s=I(!0),i=I(!1);Ne(()=>{yi().then(x=>{f(s,x.enabled,!0),f(i,!0)}).catch(()=>{f(i,!1)})});function o(x){const{min:w}=Kr[x];let T=e(n)[x];(typeof T!="number"||isNaN(T))&&(T=Tt[x]),f(n,{...e(n),[x]:Math.max(w,Math.round(T))},!0)}function l(x,w){const T=w.target,m=T.value.replace(/[^0-9]/g,""),A=parseInt(m,10);isNaN(A)?m===""&&f(n,{...e(n),[x]:Kr[x].min},!0):f(n,{...e(n),[x]:A},!0),T.value=String(e(n)[x])}function d(){ba(e(a));for(const x of Object.keys(e(n)))o(x),Bi(x,e(n)[x]);e(i)&&wi(e(s)).catch(()=>{}),r.onClose()}vr(t,{title:"Settings",titleId:"settings-dialog-title",get onCancel(){return r.onClose},onConfirm:d,maxWidth:"400px",portal:!0,footer:w=>{var T=Wi(),m=B(T);$e(m,{variant:"secondary",get onclick(){return r.onClose},children:(F,v)=>{ke();var c=Be("Cancel");u(F,c)},$$slots:{default:!0}});var A=E(m,2);$e(A,{variant:"primary",onclick:d,children:(F,v)=>{ke();var c=Be("Save");u(F,c)},$$slots:{default:!0}}),u(w,T)},children:(w,T)=>{var m=Qi(),A=B(m),F=E(C(A),2);Qe(F),p(A);var v=E(A,2),c=C(v),y=E(C(c),2);p(c);var R=E(c,2);Ze(R,20,()=>Vi,$=>$,($,_)=>{const L=j(()=>Kr[_]);var z=Xi(),D=C(z),U=C(D),H=C(U,!0);p(U);var O=E(U,2),V=C(O);p(O),p(D);var q=E(D,2),X=C(q);Qe(X),ke(2),p(q),p(z),Q(()=>{ee(H,e(L).label),ee(V,`min ${e(L).min??""}ms`),dn(X,e(n)[_])}),ie("input",X,ae=>l(_,ae)),rt("blur",X,()=>o(_)),u($,z)}),p(R),p(v);var g=E(v,2);{var b=$=>{var _=Yi(),L=E(C(_),2);It(L,{get checked(){return e(s)},onchange:z=>f(s,z,!0),label:"Send anonymous usage statistics"}),p(_),u($,_)};Y(g,$=>{e(i)&&$(b)})}tt(F,()=>e(a),$=>f(a,$)),ie("click",y,()=>f(n,{...Tt},!0)),u(w,m)},$$slots:{footer:!0,default:!0}}),Le()}We(["click","input"]);const Ji=""+new URL("../assets/code-saturne.BHojVttu.svg",import.meta.url).href,el="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='Calque_1'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20height='400px'%20viewBox='0%200%20397.89%2095.85'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2029.8.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.1%20Build%202)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20%23ff861d;%20}%20.st1%20{%20fill:%20%23ffb210;%20}%20.st2%20{%20fill:%20%231057c8;%20}%20.st3%20{%20fill:%20%23d6430a;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='st2'%20d='M26.25,61.73c-12.02,0-20.11-8.16-20.11-21.37s8.01-21.37,20.33-21.37c8.83,0,15.06,3.78,17.36,11.28l-5.64,2.52c-1.48-5.94-4.97-8.69-11.87-8.69-8.46,0-14.25,6.01-14.25,16.25s5.93,16.25,13.95,16.25,11.73-2.82,12.84-8.61l5.71,1.93c-2,7.79-9.13,11.8-18.33,11.8'/%3e%3cpath%20class='st2'%20d='M89.96,40.36c0,13.21-7.87,21.37-20.48,21.37s-20.48-8.16-20.48-21.37,7.86-21.37,20.48-21.37,20.48,8.16,20.48,21.37M54.94,40.36c0,10.24,5.64,16.25,14.54,16.25s14.54-6.01,14.54-16.25-5.64-16.25-14.54-16.25-14.54,6.01-14.54,16.25'/%3e%3cpath%20class='st2'%20d='M134.3,40.29c0,13.43-8.01,20.85-21.81,20.85h-14.84V19.58h14.84c13.8,0,21.81,7.42,21.81,20.7M128.36,40.29c0-9.94-5.57-15.58-15.44-15.58h-9.35v31.32h9.35c9.87,0,15.44-5.71,15.44-15.73'/%3e%3cpolygon%20class='st2'%20points='174.11%2056.02%20174.11%2061.14%20141.98%2061.14%20141.98%2019.58%20173.14%2019.58%20173.14%2024.7%20147.91%2024.7%20147.91%2037.54%20167.65%2037.54%20167.65%2042.66%20147.91%2042.66%20147.91%2056.02%20174.11%2056.02'/%3e%3cpath%20class='st2'%20d='M213.81,22.13c4.16-1.92,9.75-3.11,14.3-3.11,12.55,0,17.74,5.19,17.74,17.34v5.27c0,4.16.08,7.28.16,10.31.08,3.12.24,5.99.48,9.19h-9.43c-.4-2.16-.4-4.88-.48-6.15h-.16c-2.48,4.56-7.83,7.11-12.71,7.11-7.28,0-14.39-4.4-14.39-12.23,0-6.15,2.96-9.75,7.03-11.75,4.08-2,9.35-2.4,13.83-2.4h5.91c0-6.63-2.96-8.87-9.27-8.87-4.56,0-9.11,1.76-12.71,4.48l-.32-9.19ZM226.36,54.26c3.27,0,5.83-1.44,7.51-3.68,1.76-2.32,2.24-5.27,2.24-8.47h-4.63c-4.8,0-11.91.8-11.91,7.11,0,3.52,2.96,5.04,6.79,5.04'/%3e%3cpath%20class='st2'%20d='M280.98,28.61c-3.28-1.12-5.67-1.76-9.59-1.76-2.88,0-6.31,1.04-6.31,4.56,0,6.56,18.62,2.4,18.62,17.27,0,9.59-8.55,13.43-17.27,13.43-4.08,0-8.23-.72-12.15-1.76l.64-8.79c3.36,1.68,6.87,2.72,10.55,2.72,2.72,0,7.03-1.04,7.03-5.04,0-8.07-18.62-2.56-18.62-17.42,0-8.87,7.75-12.79,16.14-12.79,5.03,0,8.31.8,11.67,1.52l-.72,8.07Z'/%3e%3cpath%20class='st2'%20d='M295.25,27.81h-7.91v-7.83h7.91v-8.23l10.71-3.44v11.67h9.51v7.83h-9.51v19.18c0,3.52.96,6.79,5.04,6.79,1.92,0,3.76-.4,4.88-1.12l.32,8.47c-2.24.64-4.72.96-7.91.96-8.39,0-13.03-5.2-13.03-13.35v-20.94Z'/%3e%3cpath%20class='st2'%20d='M355.22,58.82c-3.92,2.16-8.39,3.28-14.15,3.28-13.59,0-21.5-7.83-21.5-21.34,0-11.91,6.31-21.74,19.1-21.74,15.27,0,19.58,10.47,19.58,24.85h-28.45c.48,6.63,5.11,10.39,11.75,10.39,5.2,0,9.67-1.92,13.67-4.15v8.71ZM348.03,36.52c-.32-5.19-2.72-9.67-8.71-9.67s-9.03,4.16-9.51,9.67h18.22Z'/%3e%3cpath%20class='st2'%20d='M366.57,19.98h9.51v9.35h.16c.48-3.84,4.87-10.31,11.27-10.31,1.04,0,2.16,0,3.27.32v10.79c-.96-.56-2.88-.88-4.79-.88-8.71,0-8.71,10.87-8.71,16.78v15.11h-10.71V19.98Z'/%3e%3cpath%20class='st0'%20d='M229.73,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3cpath%20class='st0'%20d='M203.17,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3cpath%20class='st1'%20d='M296.14,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3cpath%20class='st1'%20d='M378.47,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3cpath%20class='st1'%20d='M269.57,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3cpath%20class='st3'%20d='M107.55,80.9c0,3.67-2.97,6.64-6.64,6.64s-6.64-2.97-6.64-6.64,2.97-6.64,6.64-6.64,6.64,2.97,6.64,6.64'/%3e%3crect%20class='st0'%20x='134.12'%20y='75.59'%20width='42.5'%20height='10.62'/%3e%3crect%20class='st1'%20x='309.42'%20y='75.59'%20width='42.5'%20height='10.62'/%3e%3c/svg%3e";let wa=I(null);function tl(t){f(wa,t,!0)}function Ft(){return e(wa)}var rl=P('CODE_SATURNE'),nl=P('CODE_ASTER'),al=P(' '),sl=P('
        ',1);function ol(t,r){Ae(r,!0);let a=j(()=>r.shownCases!==r.totalCases),n=I(!1);var s=sl(),i=B(s),o=C(i),l=C(o);{var d=k=>{var S=rl();Q(()=>we(S,"src",Ji)),u(k,S)},x=j(()=>{var k;return!Ft()||((k=Ft())==null?void 0:k.solver)==="code_saturne"}),w=k=>{var S=nl();Q(()=>we(S,"src",el)),u(k,S)},T=j(()=>{var k;return((k=Ft())==null?void 0:k.solver)==="code_aster"}),m=k=>{var S=al(),Z=C(S,!0);p(S),Q(re=>ee(Z,re),[()=>{var re;return(re=Ft())==null?void 0:re.solver}]),u(k,S)};Y(l,k=>{e(x)?k(d):e(T)?k(w,1):k(m,-1)})}p(o);var A=E(o,2),F=C(A),v=C(F),c=C(v);{var y=k=>{var S=Be();Q(()=>ee(S,`${r.shownCases??""}/`)),u(k,S)};Y(c,k=>{e(a)&&k(y)})}var R=E(c,1,!0);p(v);var g=E(v,2),b=C(g,!0);p(g),p(F);var $=E(F,2),_=C($),L=C(_);{var z=k=>{var S=Be();Q(()=>ee(S,`${r.shownRunning??""}/`)),u(k,S)};Y(L,k=>{e(a)&&k(z)})}var D=E(L,1,!0);p(_),ke(2),p($);var U=E($,2),H=C(U),O=C(H);{var V=k=>{var S=Be();Q(()=>ee(S,`${r.shownConverged??""}/`)),u(k,S)};Y(O,k=>{e(a)&&k(V)})}var q=E(O,1,!0);p(H),ke(2),p(U),p(A);var X=E(A,2),ae=C(X),N=C(ae);Te(N,{get icon(){return Xo},size:18}),p(ae),p(X),p(i);var M=E(i,2);{var h=k=>{Zi(k,{onClose:()=>f(n,!1)})};Y(M,k=>{e(n)&&k(h)})}Q(()=>{ee(R,r.totalCases),ee(b,r.totalCases===1?"case":"cases"),ee(D,r.totalRunning),ee(q,r.totalConverged)}),ie("click",ae,()=>f(n,!0)),u(t,s),Le()}We(["click"]);const il=""+new URL("../assets/simvia-logo.kLDq7Uoj.svg",import.meta.url).href;var ll=P('
        '),cl=P('

        '),ul=P("
        "),dl=P('
        '),fl=P('
        '),vl=P('
        ');function Ht(t,r){let a=he(r,"eyebrow",3,""),n=he(r,"title",3,""),s=he(r,"wide",3,!1);var i=vl(),o=E(C(i),2);{var l=x=>{var w=fl(),T=C(w);{var m=c=>{var y=_e(),R=B(y);ft(R,()=>r.titleSlot),u(c,y)},A=c=>{var y=ul(),R=C(y);{var g=_=>{var L=ll(),z=C(L,!0);p(L),Q(()=>ee(z,a())),u(_,L)};Y(R,_=>{a()&&_(g)})}var b=E(R,2);{var $=_=>{var L=cl(),z=C(L,!0);p(L),Q(()=>ee(z,n())),u(_,L)};Y(b,_=>{n()&&_($)})}p(y),u(c,y)};Y(T,c=>{r.titleSlot?c(m):c(A,-1)})}var F=E(T,2);{var v=c=>{var y=dl(),R=C(y);ft(R,()=>r.actions),p(y),u(c,y)};Y(F,c=>{r.actions&&c(v)})}p(w),u(x,w)};Y(o,x=>{(a()||n()||r.titleSlot||r.actions)&&x(l)})}var d=E(o,2);ft(d,()=>r.children),p(i),Q(()=>{Se(i,1,`${s()?"col-span-12":"col-span-6"} bg-card border border-border rounded-[10px] p-[16px_18px_18px] relative overflow-clip animate-rise`),we(i,"id",r.id)}),u(t,i)}function rr(t,r){Ae(r,!0);let a=he(r,"checked",15,!0);Ne(()=>{a()?hr(r.name,r.onRefresh,r.intervalMs):vt(r.name)}),dr(()=>vt(r.name)),It(t,{get checked(){return a()},onchange:n=>a(n),size:14,label:"Auto-refresh",labelFirst:!0}),Le()}var gl=P(" ",1),hl=P('
      • '),pl=P(''),ml=P(' ',1);function _l(t,r){Ae(r,!0);let a=he(r,"label",3,"More"),n=I(!1),s=I(void 0),i=I(void 0),o=I("");function l(){if(!e(s)||!e(i))return;const c=e(s).getBoundingClientRect(),y=e(i).offsetHeight,R=4,g=window.innerHeight-c.bottom-R,$=gg?c.top-R-y:c.bottom+R,_=Math.min(c.left,window.innerWidth-180);f(o,`position:fixed; top:${$}px; left:${_}px; min-width:170px; z-index:9999;`)}async function d(){f(n,!e(n)),e(n)&&(await Pt(),l())}function x(c){c.disabled||(f(n,!1),c.onClick())}function w(c){e(n)&&e(s)&&!e(s).contains(c.target)&&e(i)&&!e(i).contains(c.target)&&f(n,!1)}var T=ml();rt("mousedown",it,w),rt("keydown",it,c=>{c.key==="Escape"&&f(n,!1)}),rt("scroll",it,()=>{e(n)&&f(n,!1)});var m=B(T),A=C(m);$e(A,{variant:"secondary",size:"sm",onclick:d,children:(c,y)=>{var R=gl(),g=B(R);Te(g,{get icon(){return Ho}});var b=E(g);Q(()=>ee(b,` ${a()??""}`)),u(c,R)},$$slots:{default:!0}}),p(m),nt(m,c=>f(s,c),()=>e(s));var F=E(m,2);{var v=c=>{Zt(c,{children:(y,R)=>{var g=pl();Ze(g,21,()=>r.items,b=>b.label,(b,$)=>{var _=hl(),L=C(_),z=C(L);Te(z,{get icon(){return e($).icon},size:14});var D=E(z);p(L),p(_),Q(()=>{L.disabled=e($).disabled,we(L,"aria-disabled",e($).disabled),Se(L,1,`w-full flex items-center gap-2 text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] text-ink transition-[background] duration-[120ms] ease-in-out disabled:opacity-40 disabled:pointer-events-none ${e($).disabled?"":"cursor-pointer hover:bg-edf-gris-clair hover:border-border"}`),ee(D,` ${e($).label??""}`)}),ie("mousedown",L,U=>{U.stopPropagation(),x(e($))}),u(b,_)}),p(g),nt(g,b=>f(i,b),()=>e(i)),Q(()=>Je(g,e(o))),u(y,g)}})};Y(F,c=>{e(n)&&c(v)})}u(t,T),Le()}We(["mousedown"]);const Dt=[{key:"note",label:"Note"},{key:"nprocs",label:"MPI Ranks"},{key:"nt",label:"Thread Count"},{key:"last_iter",label:"Last Iter"},{key:"duration",label:"Duration"},{key:"last_mod",label:"Last Modified"},{key:"resu_size_mb",label:"RESU Size (MB)"}];let Wt=I(oe([])),Mr=I(oe([])),pt=I(oe(new Set)),mr=I(""),mn=I(""),Et=I(oe([])),st=I(oe([])),Xt=I(""),ka=I(!0),bl=I(!0),qt=I(oe(pn("csauto_status_views",{}))),_n=I(oe(localStorage.getItem("csauto_status_view_selected")??""));function bn(){return e(Wt)}function xn(){return e(Mr)}function Ut(){return e(pt)}function jn(){return e(mr)}function tn(){return e(mn)}function xl(){return e(Et)}function yl(){return e(Et).filter(t=>e(Mr).includes(t))}function wl(){return e(Et).filter(t=>Dt.some(r=>r.key===t))}function kl(){return e(st)}function Cl(){return e(Xt)}function Sl(){return e(ka)}function Vn(){return e(qt)}function $l(){return e(_n)}function Pl(t){f(Wt,t,!0)}function El(t){const r=e(Mr).length===0&&t.length>0;f(Mr,t,!0),r&&e(Et).length===0&&f(Et,[...t,...Dt.map(a=>a.key)],!0)}function Rl(t){f(mr,t,!0)}function Un(t){f(Et,t,!0)}function Nl(t){f(Xt,t,!0)}function Ml(t){f(ka,t,!0)}function Al(t){f(bl,t,!0)}function yn(t){f(_n,t,!0),localStorage.setItem("csauto_status_view_selected",t)}function rn(t){const r=new Set(e(pt));r.has(t)?r.delete(t):r.add(t),f(pt,r,!0),f(mr,t,!0),f(mn,t,!0)}function Ca(t){f(pt,new Set([t]),!0),f(mr,t,!0),f(mn,t,!0)}function nn(t,r,a){const n=a.indexOf(t),s=a.indexOf(r);if(n<0||s<0)return;const[i,o]=n{const a=Ll(r);return t.every(n=>a.includes(n))})}function Tl(t){if(t==null||t==="")return"";const r=Number(t);return Number.isFinite(r)?r:String(t).toLowerCase()}function Kn(t,r){var n;if(r==="case_id")return t.case_id;if(r==="status")return t.status??"";if(r==="note")return t.note??"";if(r==="nprocs")return t.nprocs??0;if(r==="nt")return t.nt??0;if(r==="last_iter")return t.last_iter??0;if(r==="duration")return t.duration_s??0;if(r==="last_mod")return t.last_mod??"";if(r==="resu_size_mb")return t.resu_size_mb??0;const a=(n=t.doe)==null?void 0:n[r];return a!==void 0?Tl(a):""}function Fl(t,r){return t===""&&r===""?0:t===""?1:r===""?-1:typeof t=="number"&&typeof r=="number"?t-r:String(t).localeCompare(String(r))}function $a(){const t=Sa();return e(st).length===0?t:[...t].sort((r,a)=>{for(const n of e(st)){const s=Kn(r,n.key),i=Kn(a,n.key),o=Fl(s,i);if(o!==0)return n.dir==="asc"?o:-o}return 0})}function Pr(){return $a().map(t=>t.case_id)}function Dl(t,r){const a=e(st).findIndex(n=>n.key===t);if(r)if(a>=0){const n=[...e(st)];n[a]={key:t,dir:n[a].dir==="asc"?"desc":"asc"},f(st,n,!0)}else f(st,[...e(st),{key:t,dir:"asc"}],!0);else a>=0&&e(st).length===1?f(st,[{key:t,dir:e(st)[0].dir==="asc"?"desc":"asc"}],!0):f(st,[{key:t,dir:"asc"}],!0)}function zl(){return{visibleColumns:[...e(Et)],search:e(Xt),sorts:e(st).map(t=>({...t}))}}function Il(t){f(Et,[...t.visibleColumns],!0),f(Xt,t.search,!0),f(st,t.sorts.map(r=>({...r})),!0)}function Ol(t){f(qt,{...e(qt),[t]:zl()},!0),Ir("csauto_status_views",e(qt)),yn(t)}function Hl(t){const r={...e(qt)};delete r[t],f(qt,r,!0),Ir("csauto_status_views",r),e(_n)===t&&yn("")}function kr(){const t=new Set;for(const r of e(Wt))e(pt).has(r.case_id)&&t.add((r.status??"").toUpperCase());return t}function Gn(){for(const t of e(Wt))if(e(pt).has(t.case_id)&&t.resu_size_mb!=null&&t.resu_size_mb>0)return!0;return!1}function jl(t,r){const a=r.length,n=t.length,s=r.filter(d=>d.status==="RUNNING").length,i=t.filter(d=>d.status==="RUNNING").length,o=r.filter(d=>d.convergence==="converged").length,l=t.filter(d=>d.convergence==="converged").length;return{totalCases:a,shownCases:n,totalRunning:s,shownRunning:i,totalConverged:o,shownConverged:l}}var Vl=P('
        DOE columns
        '),Ul=P('
        ');function Bl(t,r){Ae(r,!0);let a=he(r,"initialName",3,""),n=j(xn),s=I(oe(a())),i=I(oe(new Set(r.initialColumns??[...e(n),...Dt.map(V=>V.key)])));function o(V){const q=new Set(e(i));q.has(V)?q.delete(V):q.add(V),f(i,q,!0)}function l(V,q){const X=new Set(e(i));V.forEach(ae=>q?X.add(ae):X.delete(ae)),f(i,X,!0)}function d(){const V=e(s).trim();V&&r.onSave(V,[...e(i)])}function x(V){V.key==="Escape"&&r.onCancel()}function w(V){V.target.dataset.backdrop!==void 0&&r.onCancel()}let T=I(void 0);Ne(()=>{var V,q;(V=e(T))==null||V.focus(),(q=e(T))==null||q.select()});var m=Ul(),A=C(m),F=C(A),v=C(F,!0);p(F);var c=E(F,2),y=E(C(c),2);Qe(y),nt(y,V=>f(T,V),()=>e(T)),p(c);var R=E(c,2);{var g=V=>{var q=Vl(),X=C(q),ae=E(C(X),2),N=C(ae),M=E(N,2);p(ae),p(X);var h=E(X,2);Ze(h,20,()=>e(n),k=>k,(k,S)=>{{let Z=j(()=>e(i).has(S));It(k,{get checked(){return e(Z)},onchange:()=>o(S),size:14,get label(){return S}})}}),p(h),p(q),ie("click",N,()=>l(e(n),!0)),ie("click",M,()=>l(e(n),!1)),u(V,q)};Y(R,V=>{e(n).length>0&&V(g)})}var b=E(R,2),$=C(b),_=E(C($),2),L=C(_),z=E(L,2);p(_),p($);var D=E($,2);Ze(D,21,()=>Dt,V=>V.key,(V,q)=>{{let X=j(()=>e(i).has(e(q).key));It(V,{get checked(){return e(X)},onchange:()=>o(e(q).key),size:14,get label(){return e(q).label}})}}),p(D),p(b);var U=E(b,2),H=C(U);$e(H,{variant:"secondary",get onclick(){return r.onCancel},children:(V,q)=>{ke();var X=Be("Cancel");u(V,X)},$$slots:{default:!0}});var O=E(H,2);{let V=j(()=>!e(s).trim());$e(O,{variant:"primary",onclick:d,get disabled(){return e(V)},children:(q,X)=>{ke();var ae=Be("Save");u(q,ae)},$$slots:{default:!0}})}p(U),p(A),p(m),Q(()=>ee(v,r.mode==="create"?"New view":"Edit view")),ie("keydown",m,x),ie("click",m,w),tt(y,()=>e(s),V=>f(s,V)),ie("click",L,()=>l(Dt.map(V=>V.key),!0)),ie("click",z,()=>l(Dt.map(V=>V.key),!1)),u(t,m),Le()}We(["keydown","click"]);var ql=P('
        ',1);function Kl(t,r){Ae(r,!0);let a=j(()=>Object.keys(Vn())),n=I(oe($l())),s=I(!1),i=I("create"),o=j(()=>[{value:"",label:"All columns"},...e(a).map($=>({value:$,label:$}))]);function l($){if(f(n,$,!0),yn($),$==="")Un([...xn(),...Dt.map(_=>_.key)]);else{const _=Vn();_[$]&&Il(_[$])}}function d(){f(i,"edit"),f(s,!0)}function x(){f(i,"create"),f(s,!0)}function w($,_){Un(_),e(i)==="edit"&&e(n)&&$!==e(n)&&Hl(e(n)),Ol($),f(n,$,!0),f(s,!1)}function T(){f(s,!1)}var m=ql(),A=B(m),F=C(A);lt(F,{class:"w-[140px]",get options(){return e(o)},get value(){return e(n)},onchange:l});var v=E(F,2),c=C(v);Te(c,{get icon(){return qo},size:14}),p(v);var y=E(v,2),R=C(y);Te(R,{get icon(){return Ko},size:14}),p(y),p(A);var g=E(A,2);{var b=$=>{Zt($,{children:(_,L)=>{{let z=j(()=>e(i)==="edit"?e(n):""),D=j(xl);Bl(_,{get mode(){return e(i)},get initialName(){return e(z)},get initialColumns(){return e(D)},onSave:w,onCancel:T})}}})};Y(g,$=>{e(s)&&$(b)})}ie("click",v,d),ie("click",y,x),u(t,m),Le()}We(["click"]);var Gl=P('
        '),Wl=P(""),Xl=P(' '),Yl=P(' '),Ql=P('
        '),Zl=P(" "),Jl=P(''),ec=P(''),tc=P(" Open GUI",1),rc=P(""),nc=P(" "),ac=P(""),sc=P('
        ');function oc(t,r){Ae(r,!0);let a=j(()=>r.rows.length>0&&r.rows.every(N=>e(x).has(N.case_id))),n=j(()=>r.rows.some(N=>e(x).has(N.case_id))),s=j(()=>e(n)&&!e(a)),i=j(yl),o=j(()=>new Set(wl())),l=j(kl),d=j(Sl),x=j(Ut),w=j(()=>{const N=[{key:"_select",label:"",kind:"meta",sticky:"left"},{key:"case_id",label:"Case",kind:"meta",sticky:"left"},{key:"status",label:"Status",kind:"meta",sticky:"left"},...e(o).has("note")?[{key:"note",label:"Note",kind:"meta"}]:[]],M=e(i).map(Z=>({key:Z,label:Z,kind:"doe"})),k=[{key:"nprocs",label:"MPI Ranks",kind:"calc"},{key:"nt",label:"Thread Count",kind:"calc"},{key:"last_iter",label:"Last Iter",kind:"calc"},{key:"duration",label:"Duration",kind:"calc"},{key:"last_mod",label:"Last Modified",kind:"calc"},{key:"resu_size_mb",label:"RESU Size (MB)",kind:"calc"}].filter(Z=>e(o).has(Z.key)),S=[{key:"_actions",label:"",kind:"meta",sticky:"right"}];return[...N,...M,...k,...S]});function T(N){const M=e(l).findIndex(k=>k.key===N);if(M<0)return"";const h=e(l)[M].dir==="asc"?"▲":"▼";return e(l).length>1?`${h}${M+1}`:h}function m(N,M){N!=="_actions"&&Dl(N,M.ctrlKey||M.metaKey)}function A(N,M){M.shiftKey?nn(tn()||N,N,Pr()):M.ctrlKey||M.metaKey?rn(N):Ca(N)}function F(N,M){var k;const h=((k=N.status)==null?void 0:k.toUpperCase())??"";h!=="DONE"&&h!=="FAILED"||(M.preventDefault(),r.onContextMenu(N.case_id,M.clientX,M.clientY,N.convergence??""))}async function v(N){const M=N.note??"",h=await vn("Case note:",M,`Note — ${N.case_id}`,"",!0);if(h!==null)try{await _i(N.case_id,h)}catch(k){await Ye(`Failed to set note: ${k instanceof Error?k.message:k}`,"Error")}}async function c(N){try{await xi(N)}catch(M){await Ye(`Failed to open GUI: ${M instanceof Error?M.message:M}`,"Error")}}function y(N,M){const h=(N==null?void 0:N.toUpperCase())??"";return(h==="DONE"||h==="FAILED")&&M==="converged"?"CONVERGED":(h==="DONE"||h==="FAILED")&&M==="not_converged"?"NOT CONVERGED":h}function R(N,M){const h=(N==null?void 0:N.toUpperCase())??"";return(h==="DONE"||h==="FAILED")&&M==="converged"?"status-converged":(h==="DONE"||h==="FAILED")&&M==="not_converged"?"status-not-converged":h==="RUNNING"?"status-running":h==="DONE"?"status-done":h==="FAILED"?"status-failed":h==="PREPARED"?"status-prepared":"status-unknown"}function g(N){return e(x).has(N.case_id)?"row-selected":""}function b(N,M){var h;return M.key==="case_id"?N.case_id:M.key==="nprocs"?N.nprocs!=null?String(N.nprocs):"":M.key==="nt"?N.nt!=null?String(N.nt):"":M.key==="last_iter"?N.last_iter!=null?String(N.last_iter):"":M.key==="duration"?N.duration??"":M.key==="last_mod"?$(N.last_mod):M.key==="resu_size_mb"?N.resu_size_mb!=null?String(N.resu_size_mb):"":M.kind==="doe"?((h=N.doe)==null?void 0:h[M.key])!=null&&String(N.doe[M.key])!==""?String(N.doe[M.key]):"—":""}function $(N){if(!N)return"";try{const M=new Date(N),h=new Date,k=M.toDateString()===h.toDateString(),S=new Date(h);S.setDate(S.getDate()-1);const Z=M.toDateString()===S.toDateString(),re=M.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return k?`Today ${re}`:Z?`Yesterday ${re}`:M.toLocaleDateString([],{month:"short",day:"numeric"})+` ${re}`}catch{return N}}let _=I(oe({})),L=I(void 0);Ne(()=>{e(d),e(w),r.rows,!(!e(L)||!e(d))&&Pt().then(()=>{if(!e(L))return;const N=Array.from(e(L).querySelectorAll("thead th.sticky-left")),M={};let h=0;N.forEach(k=>{const S=k.dataset.colKey??"";M[S]=h,h+=k.getBoundingClientRect().width}),f(_,M,!0)})});function z(N,M,h){const k=h&&N.key!=="_select"&&N.key!=="_actions"?["status-sortable"]:[];if(!h&&N.key==="case_id"&&k.push("case-id"),N.kind==="doe"&&k.push("status-col-doe"),!h&&N.key==="note"&&k.push("max-w-[140px] whitespace-nowrap overflow-hidden text-ellipsis cursor-pointer hover:underline hover:decoration-dotted hover:underline-offset-2"),e(d)&&N.sticky==="left"&&k.push("sticky-left"),e(d)&&N.sticky==="right"&&k.push("sticky-right"),e(d)&&N.sticky==="left"){const S=e(w)[M+1];(!S||S.sticky!=="left")&&k.push("sticky-divider")}if(e(d)&&N.sticky==="right"){const S=e(w)[M-1];(!S||S.sticky!=="right")&&k.push("sticky-divider")}return k.join(" ")}function D(N,M){return z(N,M,!0)}function U(N,M){return z(N,M,!1)}function H(N){return!e(d)||!N.sticky?"":N.sticky==="right"?"position:sticky;right:0;":N.sticky==="left"&&N.key in e(_)?`position:sticky;left:${e(_)[N.key]}px;`:""}var O=sc(),V=C(O),q=C(V),X=C(q);Ze(X,23,()=>e(w),N=>N.key,(N,M,h)=>{var k=_e(),S=B(k);{var Z=le=>{var K=Gl(),ne=C(K),se=C(ne);It(se,{get checked(){return e(a)},get indeterminate(){return e(s)},get onchange(){return r.onToggleAll},size:14}),p(ne),p(K),Q((ue,de)=>{Se(K,1,`${ue??""} !px-2.5 !py-0 w-9`),we(K,"data-col-key",e(M).key),Je(K,de)},[()=>D(e(M),e(h)),()=>H(e(M))]),u(le,K)},re=le=>{var K=Wl();Q((ne,se)=>{Se(K,1,ne),we(K,"data-col-key",e(M).key),Je(K,se)},[()=>dt(D(e(M),e(h))),()=>H(e(M))]),u(le,K)},ge=le=>{var K=Yl(),ne=C(K),se=E(ne);{var ue=J=>{var be=Xl(),fe=C(be,!0);p(be),Q(Pe=>ee(fe,Pe),[()=>T(e(M).key)]),u(J,be)},de=j(()=>T(e(M).key));Y(se,J=>{e(de)&&J(ue)})}p(K),Q((J,be)=>{Se(K,1,J),we(K,"data-col-key",e(M).key),Je(K,be),ee(ne,`${e(M).label??""} `)},[()=>dt(D(e(M),e(h))),()=>H(e(M))]),ie("click",K,J=>m(e(M).key,J)),ie("keydown",K,J=>{(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),m(e(M).key,J))}),u(le,K)};Y(S,le=>{e(M).key==="_select"?le(Z):e(M).key==="_actions"?le(re,1):le(ge,-1)})}u(N,k)}),p(X),p(q);var ae=E(q);Ze(ae,21,()=>r.rows,N=>N.case_id,(N,M)=>{var h=ac();Ze(h,23,()=>e(w),k=>k.key,(k,S,Z)=>{var re=_e(),ge=B(re);{var le=de=>{var J=Ql(),be=C(J),fe=C(be);{let Pe=j(()=>e(x).has(e(M).case_id));It(fe,{get checked(){return e(Pe)},onchange:()=>r.onToggleRow(e(M).case_id),size:14})}p(be),p(J),Q((Pe,ve)=>{Se(J,1,`${Pe??""} !px-2.5 !py-0 w-9`),we(J,"data-col-key",e(S).key),Je(J,ve)},[()=>U(e(S),e(Z)),()=>H(e(S))]),u(de,J)},K=de=>{var J=Zl(),be=C(J),fe=C(be,!0);p(be),p(J),Q((Pe,ve,ze,pe)=>{Se(J,1,Pe),we(J,"data-col-key",e(S).key),Je(J,ve),Se(be,1,`status-pill ${ze??""}`),ee(fe,pe)},[()=>dt(U(e(S),e(Z))),()=>H(e(S)),()=>R(e(M).status,e(M).convergence),()=>y(e(M).status,e(M).convergence)]),u(de,J)},ne=de=>{var J=ec(),be=C(J);{var fe=ve=>{var ze=Be();Q(()=>ee(ze,e(M).note)),u(ve,ze)},Pe=ve=>{var ze=Jl(),pe=C(ze);Te(pe,{get icon(){return Bo},size:12}),p(ze),u(ve,ze)};Y(be,ve=>{e(M).note?ve(fe):ve(Pe,-1)})}p(J),Q((ve,ze)=>{Se(J,1,ve),we(J,"data-col-key",e(S).key),Je(J,ze),we(J,"title",e(M).note||"Add note")},[()=>dt(U(e(S),e(Z))),()=>H(e(S))]),ie("click",J,ve=>{ve.stopPropagation(),v(e(M))}),ie("keydown",J,ve=>{(ve.key==="Enter"||ve.key===" ")&&(ve.preventDefault(),ve.stopPropagation(),v(e(M)))}),u(de,J)},se=de=>{var J=rc(),be=C(J);$e(be,{variant:"primary",size:"sm",onclick:fe=>{fe.stopPropagation(),c(e(M).case_id)},children:(fe,Pe)=>{var ve=tc(),ze=B(ve);Te(ze,{get icon(){return jo},size:12}),ke(),u(fe,ve)},$$slots:{default:!0}}),p(J),Q((fe,Pe)=>{Se(J,1,fe),we(J,"data-col-key",e(S).key),Je(J,Pe)},[()=>dt(U(e(S),e(Z))),()=>H(e(S))]),u(de,J)},ue=de=>{var J=nc(),be=C(J,!0);p(J),Q((fe,Pe,ve)=>{Se(J,1,fe),we(J,"data-col-key",e(S).key),Je(J,Pe),ee(be,ve)},[()=>dt(U(e(S),e(Z))),()=>H(e(S)),()=>b(e(M),e(S))]),u(de,J)};Y(ge,de=>{e(S).key==="_select"?de(le):e(S).key==="status"?de(K,1):e(S).key==="note"?de(ne,2):e(S).key==="_actions"?de(se,3):de(ue,-1)})}u(k,re)}),p(h),Q(k=>Se(h,1,k),[()=>dt(g(e(M)))]),ie("click",h,k=>A(e(M).case_id,k)),ie("contextmenu",h,k=>F(e(M),k)),u(N,h)}),p(ae),p(V),nt(V,N=>f(L,N),()=>e(L)),p(O),Q(()=>Se(O,1,`table-wrap ${e(d)?"sticky-enabled":""}`)),u(t,O),Le()}We(["click","keydown","contextmenu"]);var ic=P('
        ');function lc(t,r){Ae(r,!0);let a=j(()=>{const m=Math.min(r.x,window.innerWidth-180),A=Math.min(r.y,window.innerHeight-120);return`left: ${m}px; top: ${A}px;`});async function n(m){try{for(const A of r.cases)await bi(A,m)}catch(A){console.error("Failed to set convergence:",A)}r.onClose()}const s=r.cases.length>1?` (${r.cases.length})`:"";var i=ic();rt("keydown",it,m=>{m.key==="Escape"&&r.onClose()});var o=C(i),l=C(o);p(o);var d=E(o,2),x=C(d);p(d);var w=E(d,2),T=C(w);p(w),p(i),Q(()=>{Je(i,e(a)),Se(o,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue==="converged"?"is-active":""}`),ee(l,`Mark Converged${s}`),Se(d,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue==="not_converged"?"is-active":""}`),ee(x,`Mark Not Converged${s}`),Se(w,1,`w-full text-left py-[7px] px-[10px] bg-transparent border border-transparent rounded-md text-[12.5px] cursor-pointer transition-[background] duration-[120ms] ease-in-out hover:bg-edf-gris-clair hover:border-border ${r.currentValue===""?"is-active":""}`),ee(T,`Clear Mark${s}`)}),ie("click",o,()=>n("converged")),ie("click",d,()=>n("not_converged")),ie("click",w,()=>n("")),u(t,i),Le()}We(["click"]);var cc=P(" Refresh",1),uc=P(" ",1),dc=P(" Run",1),fc=P(" Restart",1),vc=P(" Stop",1),gc=P(" Kill",1),hc=P(" Clean",1),pc=P('
        ',1),mc=P('
        ',1);function _c(t,r){Ae(r,!0);function a(){return[...Ut()]}async function n(){const h=a();if(!h.length)return;const k=await Ws(h);if(k)try{await zn({cases:h,n:k.n,nt:k.nt,maxParallel:k.maxParallel}),r.onRefresh()}catch(S){await Ye(`Run failed: ${S instanceof Error?S.message:S}`,"Error")}}async function s(){const h=a();if(!h.length)return;const k=await Xs(h);if(k)try{await zn({cases:h,n:k.n,nt:k.nt,maxParallel:k.maxParallel,restart:!0,restartMode:k.restartMode,restartValue:k.restartValue}),r.onRefresh()}catch(S){await Ye(`Restart failed: ${S instanceof Error?S.message:S}`,"Error")}}async function i(){const h=a();if(!(!h.length||!await Tn(`Kill ${h.length} case${h.length>1?"s":""}?`,"Confirm Kill","Kill","danger")))try{await pi(h),r.onRefresh()}catch(S){await Ye(`Kill failed: ${S instanceof Error?S.message:S}`,"Error")}}async function o(){const h=a();if(!(!h.length||!await Tn(`Stop ${h.length} case${h.length>1?"s":""} gracefully (checkpoint + exit)?`,"Confirm Stop","Stop","danger")))try{await yr({cases:h,action:"stop"}),r.onRefresh(),wr(`Stop requested for ${h.length} case${h.length>1?"s":""} — will checkpoint and exit`)}catch(S){await Ye(`Stop failed: ${S instanceof Error?S.message:S}`,"Error")}}async function l(){const h=a();if(h.length)try{await yr({cases:h,action:"checkpoint"}),r.onRefresh(),wr(`Checkpoint requested for ${h.length} case${h.length>1?"s":""}`)}catch(k){await Ye(`Checkpoint failed: ${k instanceof Error?k.message:k}`,"Error")}}async function d(){const h=a();if(!h.length)return;const k=await vn("Extend by how many additional time steps?","500","Extend Run");if(k===null)return;const S=parseInt(k,10);if(!Number.isFinite(S)||S<=0){await Ye("Enter a positive integer number of time steps.","Error");return}try{await yr({cases:h,action:"extend",value:S}),r.onRefresh(),wr(`Extended ${h.length} case${h.length>1?"s":""} by ${S} time steps`)}catch(Z){await Ye(`Extend failed: ${Z instanceof Error?Z.message:Z}`,"Error")}}async function x(){const h=a();if(h.length)try{await yr({cases:h,action:"flush"}),wr(`Flush requested for ${h.length} case${h.length>1?"s":""}`)}catch(k){await Ye(`Flush failed: ${k instanceof Error?k.message:k}`,"Error")}}async function w(){const h=a();if(!h.length)return;const k=await Ys(h);if(k)try{await mi({cases:h,keepLast:k.keepLast,keepResu:k.keepResu,deleteResu:k.deleteResu,pruneResu:!0}),r.onRefresh(),Gi()}catch(S){await Ye(`Cleanup failed: ${S instanceof Error?S.message:S}`,"Error")}}function T(){const h=Pr();h.length>0&&h.every(S=>Ut().has(S))?qn():Bn(h)}function m(h){rn(h)}let A=I(oe(er("status")));Ne(()=>{tr("status",e(A))}),Ml(!0);let F=j(()=>{const h=kr();return h.size>0&&[...h].some(k=>k==="PREPARED"||k==="DONE"||k==="FAILED")}),v=j(()=>{const h=kr();return h.size>0&&[...h].some(k=>k==="DONE"||k==="FAILED")&&Gn()}),c=j(()=>{const h=kr();return h.size>0&&h.has("RUNNING")}),y=j(()=>{const h=kr();return h.size>0&&h.has("RUNNING")}),R=j(Gn),g=I(oe(Cl())),b=null;function $(){b&&clearTimeout(b),b=setTimeout(()=>{Nl(e(g))},200)}Ne(()=>Al(e(A)));let _=I(!1),L=I(0),z=I(0),D=I(oe([])),U=I("");function H(h,k,S,Z){f(D,Ut().has(h)?[...Ut()]:[h],!0),f(U,Z,!0),f(L,k,!0),f(z,S,!0),f(_,!0)}function O(){f(_,!1)}function V(h){const k=Pr();if(k.length){if(h.key==="Escape"){qn(),O();return}if((h.ctrlKey||h.metaKey)&&h.key==="a"){h.preventDefault(),Bn(k);return}if(h.key==="ArrowDown"||h.key==="ArrowUp"){h.preventDefault();const S=h.key==="ArrowDown"?1:-1,Z=jn(),re=k.indexOf(Z),ge=Math.max(0,Math.min(k.length-1,re+S)),le=k[ge];h.shiftKey?nn(tn()||k[0],le,k):Ca(le),Rl(le);return}if(h.key===" "){h.preventDefault();const S=jn();S&&(h.shiftKey?nn(tn()||S,S,Pr()):rn(S))}}}var q=mc();rt("click",it,O),rt("scroll",it,O);var X=B(q),ae=C(X);Ht(ae,{eyebrow:"Overview",title:"Status",wide:!0,id:"status-card-shell",actions:k=>{var S=uc(),Z=B(S);{let le=j(qi);rr(Z,{name:"status",get intervalMs(){return e(le)},get onRefresh(){return r.onRefresh},get checked(){return e(A)},set checked(K){f(A,K,!0)}})}var re=E(Z,2);{var ge=le=>{$e(le,{variant:"primary",onclick:()=>r.onRefresh(),children:(K,ne)=>{var se=cc(),ue=B(se);Te(ue,{get icon(){return Jt}}),ke(),u(K,se)},$$slots:{default:!0}})};Y(re,le=>{e(A)||le(ge)})}u(k,S)},children:(k,S)=>{var Z=pc(),re=B(Z),ge=C(re),le=C(ge);Qe(le);var K=E(le,2);Kl(K,{}),p(ge);var ne=E(ge,2),se=C(ne),ue=C(se);p(se);var de=E(se,2);{let pe=j(()=>!e(F));$e(de,{variant:"run",size:"sm",onclick:n,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=dc(),ye=B(Fe);Te(ye,{get icon(){return pa}}),ke(),u(Oe,Fe)},$$slots:{default:!0}})}var J=E(de,2);{let pe=j(()=>!e(v));$e(J,{variant:"warning",size:"sm",onclick:s,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=fc(),ye=B(Fe);Te(ye,{get icon(){return Go}}),ke(),u(Oe,Fe)},$$slots:{default:!0}})}var be=E(J,2);{let pe=j(()=>!e(y));$e(be,{variant:"warning",size:"sm",onclick:o,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=vc(),ye=B(Fe);Te(ye,{get icon(){return zo}}),ke(),u(Oe,Fe)},$$slots:{default:!0}})}var fe=E(be,2);{let pe=j(()=>[{label:"Extend",icon:Vo,onClick:d,disabled:!e(y)},{label:"Checkpoint",icon:Wo,onClick:l,disabled:!e(y)},{label:"Flush",icon:Oo,onClick:x,disabled:!e(y)}]);_l(fe,{get items(){return e(pe)}})}var Pe=E(fe,2);{let pe=j(()=>!e(c));$e(Pe,{variant:"danger",size:"sm",onclick:i,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=gc(),ye=B(Fe);Te(ye,{get icon(){return Io}}),ke(),u(Oe,Fe)},$$slots:{default:!0}})}var ve=E(Pe,2);{let pe=j(()=>!e(R));$e(ve,{variant:"secondary",size:"sm",onclick:w,get disabled(){return e(pe)},children:(Oe,He)=>{var Fe=hc(),ye=B(Fe);Te(ye,{get icon(){return Yo}}),ke(),u(Oe,Fe)},$$slots:{default:!0}})}p(ne),p(re);var ze=E(re,2);{let pe=j($a);oc(ze,{get rows(){return e(pe)},onContextMenu:H,onToggleAll:T,onToggleRow:m})}Q(pe=>ee(ue,`${pe??""} selected`),[()=>Ut().size]),ie("input",le,$),tt(le,()=>e(g),pe=>f(g,pe)),u(k,Z)},$$slots:{actions:!0,default:!0}}),p(X);var N=E(X,2);{var M=h=>{lc(h,{get cases(){return e(D)},get x(){return e(L)},get y(){return e(z)},get currentValue(){return e(U)},onClose:O})};Y(N,h=>{e(_)&&h(M)})}ie("keydown",X,V),u(t,q),Le()}We(["keydown","input"]);var bc=P('
        ');function Yt(t,r){var a=bc(),n=C(a);ft(n,()=>r.children),p(a),u(t,a)}function wn(t){return t.map(r=>({value:r,label:r}))}var xc=P(''),yc=P(" ",1);function kn(t,r){Ae(r,!0);let a=he(r,"columnLabel",3,"Columns"),n=he(r,"xMinLabel",3,"Iter min"),s=j(()=>wn(r.allCases)),i=j(()=>r.columns.map(d=>({value:d,label:d}))),o=[{value:"zero",label:"Zero"},{value:"restart",label:"Restart start"},{value:"custom",label:"Custom"}];function l(d){r.onXMinChange(Number(d.target.value)||0)}Yt(t,{children:(d,x)=>{var w=yc(),T=B(w);Me(T,{text:"Cases",children:(b,$)=>{Gt(b,{class:"w-[160px]",get options(){return e(s)},get selected(){return r.selectedCases},get onchange(){return r.onCasesChange},placeholder:"Select cases..."})}});var m=E(T,2);{var A=b=>{var $=_e(),_=B($);ft(_,()=>r.middleSlot),u(b,$)};Y(m,b=>{r.middleSlot&&b(A)})}var F=E(m,2);Me(F,{get text(){return a()},children:(b,$)=>{Gt(b,{class:"w-[160px]",get options(){return e(i)},get selected(){return r.selectedColumns},get onchange(){return r.onColumnsChange},placeholder:"Select..."})}});var v=E(F,2);Me(v,{text:"Start from",children:(b,$)=>{lt(b,{class:"w-[140px]",get options(){return o},get value(){return r.startFrom},onchange:_=>r.onStartFromChange(_)})}});var c=E(v,2);{var y=b=>{Me(b,{get text(){return n()},children:($,_)=>{var L=xc();Qe(L),Q(()=>dn(L,r.xMin)),ie("input",L,l),u($,L)}})};Y(c,b=>{r.startFrom==="custom"&&b(y)})}var R=E(c,2);{var g=b=>{var $=_e(),_=B($);ft(_,()=>r.extraSlot),u(b,$)};Y(R,b=>{r.extraSlot&&b(g)})}u(d,w)}}),Le()}We(["input"]);var wc=P('
        '),kc=P('
        ');function Qt(t,r){let a=he(r,"emptyMessage",3,"");var n=kc(),s=C(n);{var i=l=>{var d=_e(),x=B(d);Fr(x,()=>r.svgHtml),u(l,d)},o=l=>{var d=wc(),x=C(d),w=C(x,!0);p(x),p(d),Q(()=>ee(w,a()||"No data to display.")),u(l,d)};Y(s,l=>{r.svgHtml?l(i):l(o,-1)})}p(n),Q(()=>we(n,"id",r.id)),u(t,n)}async function Cn(t,r="plot.png"){const a=document.getElementById(t),n=a==null?void 0:a.querySelector("svg");if(!n)return;const{width:s,height:i}=Cc(n),o=window.devicePixelRatio||1,l=document.createElement("canvas");l.width=s*o,l.height=i*o;const d=l.getContext("2d");if(!d)return;d.scale(o,o);const x=new XMLSerializer().serializeToString(n),w=new Blob([x],{type:"image/svg+xml;charset=utf-8"}),T=URL.createObjectURL(w),m=new Image;m.width=s,m.height=i,await new Promise((F,v)=>{m.onload=()=>{d.drawImage(m,0,0,s,i),URL.revokeObjectURL(T),F()},m.onerror=v,m.src=T});const A=await new Promise(F=>l.toBlob(F,"image/png"));A&&await Ea(A,Sc(r))}function _r(t,r,a="png"){const n=r.length<=3?r.join("_"):`${r.length}_cases`,s=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return $c(`${t}_${n}_${s}.${a}`)}async function Pa(t,r){const a=new Blob([t],{type:"text/csv;charset=utf-8"});await Ea(a,r)}function Cc(t){const r=t.getAttribute("viewBox");if(r){const a=r.split(/[\s,]+/).map(Number);if(a.length===4)return{width:a[2],height:a[3]}}return{width:t.width.baseVal.value||900,height:t.height.baseVal.value||500}}async function Ea(t,r){if("showSaveFilePicker"in window)try{const i=await(await window.showSaveFilePicker({suggestedName:r,types:[{description:t.type.startsWith("image/")?"Image":"File",accept:{[t.type]:[`.${r.split(".").pop()}`]}}]})).createWritable();await i.write(t),await i.close();return}catch(s){if((s==null?void 0:s.name)==="AbortError")return}const a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download=r,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(a)}function Sc(t){return t.endsWith(".png")?t:`${t}.png`}function $c(t){return t.replace(/[^a-zA-Z0-9._-]/g,"_")}let Ra=I(oe([])),Na=I(oe([])),Ma=I(oe([])),Aa=I("zero"),La=I(0),Ta=I(""),Pc=I(!0);function Ec(){return{selectedCases:e(Ra),columns:e(Na),selectedColumns:e(Ma),startFrom:e(Aa),iterMin:e(La),svgHtml:e(Ta),autoRefresh:e(Pc)}}function Wn(t){f(Ra,t,!0)}function Rc(t){f(Na,t,!0)}function Gr(t){f(Ma,t,!0)}function Nc(t){f(Aa,t,!0)}function Mc(t){f(La,t,!0)}function Cr(t){f(Ta,t,!0)}var Ac=P(" Refresh",1),Lc=P(" ",1),Tc=P(" Download as PNG",1),Fc=P('
        '),Dc=P('
        ',1),zc=P('
        '),Ic=P('

        '),Oc=P(" ",1);function Hc(t,r){Ae(r,!0);let a=j(Ec),n=I("");const s=new Set(["iteration","wall_distance","walldistance"]),i=["velocity","pressure"];async function o(){if(e(a).selectedCases.length)try{const v=await oi(e(a).selectedCases);f(n,"");const c=v.filter(y=>!s.has(y.toLowerCase().replace(/\s+/g,"_")));if(Rc(c),c.length===0){Gr([]),Cr("");return}if(e(a).selectedColumns.length===0){const y=c.filter(R=>i.some(g=>R.toLowerCase().includes(g)));Gr(y.length>0?y:[c[0]])}}catch(v){f(n,"Failed to load residual columns"),console.error("Failed to load residual columns:",v)}}async function l(){if(e(a).selectedCases.length&&!((e(a).columns.length===0||e(a).selectedColumns.length===0)&&(await o(),!e(a).selectedColumns.length)))try{let v=0,c=!0;if(e(a).startFrom==="restart"){const R=await xa(e(a).selectedCases),g=Object.values(R.origins).map(b=>b.iteration).filter(b=>b!==void 0&&Number.isFinite(b));v=g.length>0?Math.min(...g):0}else e(a).startFrom==="custom"&&(v=e(a).iterMin);const y=await ii(e(a).selectedCases,e(a).selectedColumns,{xMin:v,includeHistory:c});f(n,""),y&&Cr(y)}catch(v){f(n,"Failed to load residual plot"),console.error("Failed to load residual plot:",v)}}function d(v){if(Wn(v),v.length===0){Cr("");return}o(),l()}function x(v){if(Gr(v),v.length===0){Cr("");return}l()}function w(v){Nc(v),l()}function T(v){Mc(v),l()}let m=I(oe(er("plot")));Ne(()=>{tr("plot",e(m))}),Ne(()=>{e(m)?hr("residualPlot",l,On()):vt("residualPlot")});let A=!1;Ne(()=>{r.allCases.length>0&&!A&&(A=!0,Wn([...r.allCases]),o().then(()=>l()))});const F=pr(()=>{A&&o().then(()=>l())});dr(()=>{vt("residualPlot"),F()}),Ht(t,{eyebrow:"Diagnostics",title:"Residuals Plot",wide:!0,actions:c=>{var y=Lc(),R=B(y);{let $=j(On);rr(R,{name:"residualPlot",get intervalMs(){return e($)},onRefresh:l,get checked(){return e(m)},set checked(_){f(m,_,!0)}})}var g=E(R,2);{var b=$=>{$e($,{variant:"primary",onclick:l,children:(_,L)=>{var z=Ac(),D=B(z);Te(D,{get icon(){return Jt}}),ke(),u(_,z)},$$slots:{default:!0}})};Y(g,$=>{e(m)||$(b)})}u(c,y)},children:(c,y)=>{var R=Oc(),g=B(R);{var b=z=>{const D=q=>{var X=Fc(),ae=C(X);{let N=j(()=>!e(a).svgHtml);$e(ae,{variant:"secondary",size:"sm",onclick:()=>Cn("plot-holder",_r("residuals",e(a).selectedCases)),get disabled(){return e(N)},children:(M,h)=>{var k=Tc(),S=B(k);Te(S,{get icon(){return gr}}),ke(),u(M,k)},$$slots:{default:!0}})}p(X),u(q,X)};var U=Dc(),H=B(U);kn(H,{prefix:"plot",get allCases(){return r.allCases},get selectedCases(){return e(a).selectedCases},onCasesChange:d,columnLabel:"Variables",get columns(){return e(a).columns},get selectedColumns(){return e(a).selectedColumns},onColumnsChange:x,get startFrom(){return e(a).startFrom},onStartFromChange:w,xMinLabel:"Iter min",get xMin(){return e(a).iterMin},onXMinChange:T,get extraSlot(){return D}});var O=E(H,2),V=C(O);{let q=j(()=>e(a).selectedCases.length===0?"Please select at least one case.":e(a).selectedColumns.length===0?"Please select at least one variable.":"No data to display.");Qt(V,{id:"plot-holder",get svgHtml(){return e(a).svgHtml},get emptyMessage(){return e(q)}})}p(O),u(z,U)},$=z=>{var D=zc(),U=C(D);Qt(U,{id:"plot-holder",svgHtml:"",emptyMessage:"No data available. Please run a simulation first."}),p(D),u(z,D)};Y(g,z=>{e(a).columns.length>0?z(b):z($,-1)})}var _=E(g,2);{var L=z=>{var D=Ic(),U=C(D,!0);p(D),Q(()=>ee(U,e(n))),u(z,D)};Y(_,z=>{e(n)&&z(L)})}u(c,R)},$$slots:{actions:!0,default:!0}}),Le()}function Fa(t){const{scope:r,getState:a,setState:n,setHasData:s,getAxis:i}=t;async function o(){const m=a();if(m.selectedCases.length)try{let A=await Qr(m.selectedCases,r);if(t.filterFiles&&(A=t.filterFiles(A)),n({files:A}),s(A.length>0),A.length===0){n({file:"",columns:[],selectedColumns:[],positionText:"",svgHtml:""});return}(!m.file||!A.includes(m.file))&&(n({file:A[0]}),await l())}catch(A){console.error(`Failed to load ${r} files:`,A)}}async function l(){const m=a();if(!(!m.selectedCases.length||!m.file))try{const A=await fi(m.selectedCases,[m.file]),F=t.filterColumns?t.filterColumns(A):A;t.onColumnsLoaded?t.onColumnsLoaded(A):n({columns:F});const v=a();if(v.columns.length===0){n({selectedColumns:[],positionText:"",svgHtml:""});return}v.selectedColumns.length===0&&n({selectedColumns:[v.columns[0]]})}catch(A){console.error(`Failed to load ${r} columns:`,A)}}async function d(){let m=a();if(m.selectedCases.length){if(await o(),m=a(),!m.file){n({positionText:"",svgHtml:""});return}if((m.columns.length===0||m.selectedColumns.length===0)&&(await l(),m=a(),!m.selectedColumns.length)){n({positionText:"",svgHtml:""});return}try{let A;const F=a();if(F.startFrom==="restart"){const c=await xa(F.selectedCases),y=i().toLowerCase(),R=y==="t"||y==="time"?"time":"iteration",g=Object.values(c.origins).map(b=>b[R]).filter(b=>b!==void 0&&Number.isFinite(b));A=g.length>0?Math.min(...g):void 0}else F.startFrom==="custom"&&(A=F.xMin);const v=await gi({cases:F.selectedCases,probes:[F.file],columns:F.selectedColumns,axis:i(),timeMin:typeof A=="number"?A:void 0,xMin:A,includeHistory:!0});v&&n({svgHtml:v})}catch(A){console.error(`Failed to load ${r} plot:`,A)}}}async function x(m){if(n({selectedCases:m}),m.length===0){n({svgHtml:""});return}await o(),r==="monitoring"&&await d()}function w(m){if(n({selectedColumns:m}),m.length===0){n({svgHtml:""});return}d()}async function T(m){n({file:m}),await l(),await d()}return{loadFiles:o,loadColumns:l,loadPlot:d,handleCasesChange:x,handleColumnsChange:w,handleFileChange:T}}function Da(){return{selectedCases:[],file:"",files:[],columns:[],selectedColumns:[],axis:"time",startFrom:"zero",xMin:0,positionText:"",svgHtml:"",autoRefresh:!0}}let Bt=I("time"),an=I(oe(Da())),sn=I(oe({...Da(),axis:""})),jc=I(!0),Ar=I(!1),Lr=I(!1);function Vc(){return e(Bt)}function Uc(t){f(Bt,t,!0)}function Bc(){return e(Ar)}function on(t){f(Ar,t,!0)}function qc(){return e(Lr)}function ln(t){f(Lr,t,!0)}function Kc(){e(Bt)==="time"&&!e(Ar)&&e(Lr)?f(Bt,"profile"):e(Bt)==="profile"&&!e(Lr)&&e(Ar)&&f(Bt,"time")}function Xn(){return e(an)}function Wr(){return e(sn)}function kt(t){f(an,{...e(an),...t},!0)}function At(t){f(sn,{...e(sn),...t},!0)}function Gc(){return e(jc)}var Wc=P(" Download as PNG",1),Xc=P('
        '),Yc=P("
        "),Qc=P('
        '),Zc=P('
        ',1),Jc=P('
        ');function eu(t,r){Ae(r,!0);let a=he(r,"onRefresh",15),n=j(Xn);const s=new Set(["time","t","iteration","iter"]),i=Fa({scope:"monitoring",getState:Xn,setState:kt,setHasData:on,filterFiles:v=>v.filter(c=>{const y=c.replace(/\.csv$/i,"").toLowerCase();return y!=="coords"&&!y.includes("coordinates")}),filterColumns:v=>v.filter(c=>!s.has(c.toLowerCase())),onColumnsLoaded:v=>{const c=v.filter(y=>!s.has(y.toLowerCase()));kt({columns:c}),o()},getAxis:()=>"time"});async function o(){if(!(!e(n).selectedCases.length||!e(n).file||!e(n).selectedColumns.length))try{const v=[];for(const $ of e(n).selectedColumns){const _=await vi(e(n).selectedCases[0],e(n).file,[$]);_.found&&v.push({col:$,x:_.x,y:_.y,z:_.z})}if(!v.length){kt({positionText:""});return}const c=$=>{let _=0;for(const L of $){if(L===void 0)continue;const z=String(L),D=z.indexOf(".");D>=0&&(_=Math.max(_,z.length-D-1))}return _},y=c(v.map($=>$.x)),R=c(v.map($=>$.y)),g=c(v.map($=>$.z)),b=v.map($=>{const _=[];return $.x!==void 0&&_.push(`x=${$.x.toFixed(y)}`),$.y!==void 0&&_.push(`y=${$.y.toFixed(R)}`),$.z!==void 0&&_.push(`z=${$.z.toFixed(g)}`),`Probe position [${$.col}] : ${_.join(" · ")}`});kt({positionText:b.join(` +`)})}catch{kt({positionText:""})}}function l(v){i.handleColumnsChange(v),v.length>0&&o()}let d=j(()=>e(n).files.map(v=>({value:v,label:v.replace(/\.csv$/i,"").replace(/^probes?_/i,"")}))),x=!1;Ne(()=>{r.allCases.length>0&&!x&&(x=!0,kt({selectedCases:[...r.allCases]}),i.loadFiles().then(()=>i.loadPlot()))}),Ne(()=>{a(i.loadPlot)});let w=j(()=>e(n).selectedCases.length===0?"Please select at least one case.":e(n).selectedColumns.length===0?"Please select at least one probe.":"No data to display.");var T=_e(),m=B(T);{var A=v=>{const c=z=>{Me(z,{text:"Quantity",children:(D,U)=>{lt(D,{class:"w-[160px]",get options(){return e(d)},get value(){return e(n).file},get onchange(){return i.handleFileChange}})}})},y=z=>{var D=Xc(),U=C(D);{let H=j(()=>!e(n).svgHtml);$e(U,{variant:"secondary",size:"sm",onclick:()=>Cn("probe-plot-holder",_r("probe",e(n).selectedCases)),get disabled(){return e(H)},children:(O,V)=>{var q=Wc(),X=B(q);Te(X,{get icon(){return gr}}),ke(),u(O,q)},$$slots:{default:!0}})}p(D),u(z,D)};var R=Zc(),g=B(R);kn(g,{prefix:"probe",get allCases(){return r.allCases},get selectedCases(){return e(n).selectedCases},get onCasesChange(){return i.handleCasesChange},get middleSlot(){return c},columnLabel:"Probes",get columns(){return e(n).columns},get selectedColumns(){return e(n).selectedColumns},onColumnsChange:l,get startFrom(){return e(n).startFrom},onStartFromChange:z=>{kt({startFrom:z}),i.loadPlot()},xMinLabel:"Time min",get xMin(){return e(n).xMin},onXMinChange:z=>{kt({xMin:z}),i.loadPlot()},get extraSlot(){return y}});var b=E(g,2);{var $=z=>{var D=Qc();Ze(D,21,()=>e(n).positionText.split(` +`).sort(),un,(U,H)=>{var O=Yc(),V=C(O,!0);p(O),Q(()=>ee(V,e(H))),u(U,O)}),p(D),u(z,D)};Y(b,z=>{e(n).positionText&&z($)})}var _=E(b,2),L=C(_);Qt(L,{id:"probe-plot-holder",get svgHtml(){return e(n).svgHtml},get emptyMessage(){return e(w)}}),p(_),u(v,R)},F=v=>{var c=Jc(),y=C(c);Qt(y,{id:"probe-plot-holder",svgHtml:"",emptyMessage:"No probe data available. Please run a simulation first."}),p(c),u(v,c)};Y(m,v=>{e(n).files.length>0?v(A):v(F,-1)})}u(t,T),Le()}var tu=P(" ",1),ru=P(" Download as PNG",1),nu=P('
        '),au=P('
        ',1),su=P('
        ');function ou(t,r){Ae(r,!0);let a=he(r,"onRefresh",15),n=j(Wr);const s=["s","x","abscissa","distance","arclength","arc_length","curvilinear","length","r","y","z","coord","position"];function i(c){const y=c.map(R=>R.toLowerCase());for(const R of s){const g=y.indexOf(R);if(g>=0)return c[g]}return c[0]??""}const o=Fa({scope:"profiles",getState:Wr,setState:At,setHasData:ln,onColumnsLoaded:c=>{const y=e(n).axis||i(c),R=c.filter(g=>g!==y).toSorted((g,b)=>g.localeCompare(b));At({columns:R,axis:y,selectedColumns:e(n).selectedColumns.length?e(n).selectedColumns:R.length?[R[0]]:[]})},getAxis:()=>Wr().axis});function l(c){const y=e(n).axis;At({axis:c});const g=[...e(n).columns,...y?[y]:[]].filter(b=>b!==c).toSorted((b,$)=>b.localeCompare($));At({columns:g}),o.loadPlot()}let d=j(()=>e(n).files.map(c=>({value:c,label:c.replace(/\.csv$/i,"").replace(/^profiles\//i,"").replace(/_/g," ")}))),x=j(()=>[...e(n).axis?[e(n).axis]:[],...e(n).columns].toSorted((c,y)=>c.localeCompare(y)).map(c=>({value:c,label:c}))),w=!1;Ne(()=>{r.allCases.length>0&&!w&&(w=!0,At({selectedCases:[...r.allCases]}),o.loadFiles().then(()=>o.loadPlot()))}),Ne(()=>{a(o.loadPlot)});let T=j(()=>e(n).selectedCases.length===0?"Please select at least one case.":e(n).selectedColumns.length===0?"Please select at least one value.":"No data to display.");var m=_e(),A=B(m);{var F=c=>{const y=L=>{var z=tu(),D=B(z);Me(D,{text:"Profile",children:(H,O)=>{lt(H,{class:"w-[160px]",get options(){return e(d)},get value(){return e(n).file},get onchange(){return o.handleFileChange}})}});var U=E(D,2);Me(U,{text:"X axis",children:(H,O)=>{lt(H,{class:"w-[140px]",get options(){return e(x)},get value(){return e(n).axis},onchange:l})}}),u(L,z)},R=L=>{var z=nu(),D=C(z);{let U=j(()=>!e(n).svgHtml);$e(D,{variant:"secondary",size:"sm",onclick:()=>Cn("profile-plot-holder",_r("profile",e(n).selectedCases)),get disabled(){return e(U)},children:(H,O)=>{var V=ru(),q=B(V);Te(q,{get icon(){return gr}}),ke(),u(H,V)},$$slots:{default:!0}})}p(z),u(L,z)};var g=au(),b=B(g);kn(b,{prefix:"profile",get allCases(){return r.allCases},get selectedCases(){return e(n).selectedCases},get onCasesChange(){return o.handleCasesChange},get middleSlot(){return y},columnLabel:"Values",get columns(){return e(n).columns},get selectedColumns(){return e(n).selectedColumns},get onColumnsChange(){return o.handleColumnsChange},get startFrom(){return e(n).startFrom},onStartFromChange:L=>{At({startFrom:L}),o.loadPlot()},xMinLabel:"X min",get xMin(){return e(n).xMin},onXMinChange:L=>{At({xMin:L}),o.loadPlot()},get extraSlot(){return R}});var $=E(b,2),_=C($);Qt(_,{id:"profile-plot-holder",get svgHtml(){return e(n).svgHtml},get emptyMessage(){return e(T)}}),p($),u(c,g)},v=c=>{var y=su(),R=C(y);Qt(R,{id:"profile-plot-holder",svgHtml:"",emptyMessage:"No profile data available. Please run a simulation first."}),p(y),u(c,y)};Y(A,c=>{e(n).files.length>0?c(F):c(v,-1)})}u(t,m),Le()}var iu=P('
        Diagnostics
        '),lu=P(" Refresh",1),cu=P(" ",1);function uu(t,r){Ae(r,!0);let a=j(Vc),n=j(Gc),s=j(Bc),i=j(qc),o=I(oe(er("probe")));Ne(()=>{tr("probe",e(o))});let l=I(void 0);function d(){var F;(F=e(l))==null||F()}async function x(){if(r.allCases.length){try{const v=(await Qr(r.allCases,"monitoring")).filter(c=>{const y=c.replace(/\.csv$/i,"").toLowerCase();return y!=="coords"&&!y.includes("coordinates")});on(v.length>0)}catch{on(!1)}try{const F=await Qr(r.allCases,"profiles");ln(F.length>0)}catch{ln(!1)}}}Ne(()=>{r.allCases.length>0&&x()}),pr(()=>{x(),d()}),Ne(()=>{e(s),e(i),Kc()});function w(F){F==="time"&&!e(s)||F==="profile"&&!e(i)||Uc(F)}var T=_e(),m=B(T);{var A=F=>{{const v=y=>{var R=iu(),g=E(C(R),2),b=C(g),$=E(b,2);p(g),p(R),Q(()=>{Se(b,1,`bg-transparent border-none p-0 m-0 text-lg font-bold tracking-tight transition-colors duration-150 + ${e(s)?e(a)==="time"?"text-edf-bleu-fonce cursor-pointer":"text-edf-gris-moyen cursor-pointer hover:text-muted":"text-edf-gris-moyen cursor-not-allowed opacity-50"}`),b.disabled=!e(s),we(b,"title",e(s)?"":"No probe data available. Run a simulation first."),Se($,1,`bg-transparent border-none p-0 m-0 text-lg font-bold tracking-tight transition-colors duration-150 + ${e(i)?e(a)==="profile"?"text-edf-bleu-fonce cursor-pointer":"text-edf-gris-moyen cursor-pointer hover:text-muted":"text-edf-gris-moyen cursor-not-allowed opacity-50"}`),$.disabled=!e(i),we($,"title",e(i)?"":"No profile data available. Run a simulation first.")}),ie("click",b,()=>w("time")),ie("click",$,()=>w("profile")),u(y,R)};Ht(F,{wide:!0,titleSlot:v,tabs:v,actions:y=>{var R=cu(),g=B(R);{let _=j(()=>e(a)==="time"?"probePlot":"profilePlot"),L=j(Ki);rr(g,{get name(){return e(_)},get intervalMs(){return e(L)},onRefresh:d,get checked(){return e(o)},set checked(z){f(o,z,!0)}})}var b=E(g,2);{var $=_=>{$e(_,{variant:"primary",onclick:d,children:(L,z)=>{var D=lu(),U=B(D);Te(U,{get icon(){return Jt}}),ke(),u(L,D)},$$slots:{default:!0}})};Y(b,_=>{e(o)||_($)})}u(y,R)},children:(y,R)=>{var g=_e(),b=B(g);{var $=L=>{eu(L,{get allCases(){return r.allCases},get onRefresh(){return e(l)},set onRefresh(z){f(l,z,!0)}})},_=L=>{ou(L,{get allCases(){return r.allCases},get onRefresh(){return e(l)},set onRefresh(z){f(l,z,!0)}})};Y(b,L=>{e(a)==="time"?L($):L(_,-1)})}u(y,g)},$$slots:{tabs:!0,actions:!0,default:!0}})}};Y(m,F=>{e(n)&&F(A)})}u(t,T),Le()}We(["click"]);var du=P(" Refresh",1),fu=P(" ",1),vu=P(" Download as CSV",1),gu=P('
        ',1),hu=P(" "),pu=P(' '),mu=P(' '),_u=P('
        Case
        '),bu=P('

        '),xu=P(" ",1);function yu(t,r){Ae(r,!0);let a=I(oe([])),n=I(oe([])),s=I(!1),i=I(!1),o=I(oe(er("perf")));Ne(()=>{tr("perf",e(o))});const l=5e3;let x=I(oe([{key:"elapsed_time",label:"Elapsed (s)",kind:"time"},{key:"io_time",label:"I/O (s)",kind:"time"},{key:"linear_solver_time",label:"Linear Solver (s)",kind:"time"},{key:"gradients_time",label:"Gradients (s)",kind:"time"},{key:"balances_time",label:"Balances (s)",kind:"time"},{key:"mpi_ranks",label:"MPI Ranks",kind:"int"},{key:"threads",label:"Threads",kind:"int"}])),w=j(()=>r.allCases.map(R=>({value:R,label:R}))),T=j(()=>e(n).length>0);async function m(){var R;if(e(a).length){f(i,!0);try{const g=await Dn(e(a));(R=g.columns)!=null&&R.length&&f(x,g.columns,!0),f(n,g.records,!0),e(n).length>0&&f(s,!0)}catch(g){console.error("Failed to load perf:",g)}f(i,!1)}}function A(R){if(f(a,R,!0),R.length===0){f(n,[],!0);return}m()}function F(R,g){if(g==null||g==="")return"-";if(R==="text")return g;const b=Number(g);return Number.isFinite(b)?R==="int"?String(Math.round(b)):b.toFixed(3):g}async function v(){if(!e(n).length)return;const R=["case_id",...e(x).map(_=>_.key)],g=e(n).map(_=>[_.case_id,...e(x).map(L=>_[L.key]??"")].join(",")),b=[R.join(","),...g].join(` +`),$=_r("timing_snapshot",e(a),"csv");await Pa(b,$)}let c=!1;Ne(()=>{r.allCases.length>0&&!c&&(c=!0,f(a,[...r.allCases],!0),Dn(r.allCases).then(R=>{var g;(g=R.columns)!=null&&g.length&&f(x,R.columns,!0),f(s,R.records.length>0),f(n,R.records,!0)}).catch(()=>{}))}),Ne(()=>{e(o)?hr("perf",m,l):vt("perf")});const y=pr(()=>{c&&m()});dr(()=>{vt("perf"),y()}),Ht(t,{eyebrow:"Performance",title:"Timing Snapshot",wide:!0,actions:g=>{var b=fu(),$=B(b);rr($,{name:"perf",intervalMs:l,onRefresh:m,get checked(){return e(o)},set checked(z){f(o,z,!0)}});var _=E($,2);{var L=z=>{$e(z,{variant:"primary",onclick:m,children:(D,U)=>{var H=du(),O=B(H);Te(O,{get icon(){return Jt}}),ke(),u(D,H)},$$slots:{default:!0}})};Y(_,z=>{e(o)||z(L)})}u(g,b)},children:(g,b)=>{var $=xu(),_=B($);{var L=H=>{Yt(H,{children:(O,V)=>{var q=gu(),X=B(q);Me(X,{text:"Cases",children:(M,h)=>{Gt(M,{class:"w-[160px]",get options(){return e(w)},get selected(){return e(a)},onchange:A,placeholder:"Select cases..."})}});var ae=E(X,2),N=C(ae);{let M=j(()=>!e(T));$e(N,{variant:"secondary",size:"sm",onclick:v,get disabled(){return e(M)},children:(h,k)=>{var S=vu(),Z=B(S);Te(Z,{get icon(){return gr}}),ke(),u(h,S)},$$slots:{default:!0}})}p(ae),u(O,q)}})};Y(_,H=>{e(s)&&H(L)})}var z=E(_,2);{var D=H=>{var O=_u(),V=C(O),q=C(V),X=C(q),ae=E(C(X));Ze(ae,17,()=>e(x),M=>M.key,(M,h)=>{var k=hu(),S=C(k,!0);p(k),Q(()=>ee(S,e(h).label)),u(M,k)}),p(X),p(q);var N=E(q);Ze(N,21,()=>e(n),M=>M.case_id,(M,h)=>{var k=mu(),S=C(k),Z=C(S,!0);p(S);var re=E(S);Ze(re,17,()=>e(x),ge=>ge.key,(ge,le)=>{var K=pu(),ne=C(K,!0);p(K),Q(se=>ee(ne,se),[()=>F(e(le).kind,e(h)[e(le).key])]),u(ge,K)}),p(k),Q(()=>ee(Z,e(h).case_id)),u(M,k)}),p(N),p(V),p(O),u(H,O)},U=H=>{var O=bu(),V=C(O);{var q=ae=>{var N=Be("Select cases above to view timing information.");u(ae,N)},X=ae=>{var N=Be("No performance data available. Please run a simulation first.");u(ae,N)};Y(V,ae=>{e(s)?ae(q):ae(X,-1)})}p(O),u(H,O)};Y(z,H=>{e(T)?H(D):H(U,-1)})}u(g,$)},$$slots:{actions:!0,default:!0}}),Le()}const wu={"&":"&","<":"<",">":">",'"':""","'":"'"};function za(t){return t.replace(/[&<>"']/g,r=>wu[r]??r)}var ku=P("
        "),Cu=P('
        ');function Su(t,r){Ae(r,!0);let a=I(void 0);function n(x){const w=za(x);if(!r.searchQuery.trim())return w;try{const T=new RegExp(`(${r.searchQuery})`,"gi");return w.replace(T,'$1')}catch{return w}}function s(x){return x==="error"?"tail-sev-error":x==="warn"?"tail-sev-warn":x==="info"?"tail-sev-info":""}function i(){return e(a)?e(a).scrollHeight-e(a).scrollTop-e(a).clientHeight<=24:!0}let o=I(!0);function l(){f(o,i(),!0)}Ne(()=>{r.autoScroll&&r.lines.length>0&&e(a)&&e(o)&&Pt().then(()=>{e(a)&&(e(a).scrollTop=e(a).scrollHeight)})});var d=Cu();Ze(d,21,()=>r.lines,x=>x.index,(x,w)=>{var T=ku();Fr(T,()=>n(e(w).text),!0),p(T),Q(m=>Se(T,1,`tail-line ${m??""} ${e(w).isNew?"tail-new":""}`),[()=>s(e(w).severity)]),u(x,T)}),p(d),nt(d,x=>f(a,x),()=>e(a)),rt("scroll",d,l),u(t,d),Le()}const $u=/(fatal error|error detected|error reading|error writing|segmentation fault|sigterm|sigsegv|sigkill|abort|killed|terminated|core dumped|traceback|exception|errno)/i,Pu=/(warning|divergence|non-convergence|clipping|negative|nan detected|overflow|underflow)/i;function Eu(t){return $u.test(t)?"error":Pu.test(t)?"warn":"none"}function Ru(t,r){return r==="all"||r===""?!0:r==="info"?t!=="none":t===r}var Nu=P(" Refresh",1),Mu=P(" ",1),Au=P(''),Lu=P(''),Tu=P("    ",1),Fu=Ot(''),Du=Ot(''),zu=Ot(''),Iu=P(" Resume",1),Ou=P(" Pause",1),Hu=P('Case not running'),ju=P(' 
        ',1),Vu=P('

        No log data available. Please run a simulation first.

        '),Uu=P('

        '),Bu=P(" ",1);function qu(t,r){Ae(r,!0);const a=80;let n=I(""),s=I(""),i=I(!1),o=I(oe([])),l=I(a),d=I(oe([])),x=I(oe(new Set)),w=I(!1),T=I(oe(er("tail")));Ne(()=>{tr("tail",e(T))});let m=I(!0),A=I("all"),F=I(""),v=I(""),c=I(void 0),y=j(()=>wn(r.allCases)),R=j(()=>e(o).map(N=>{const M=N.split("/").pop()??N;return{value:N,label:M}})),g=[{value:"all",label:"All"},{value:"error",label:"Error"},{value:"warn",label:"Warn"}],b=j(()=>e(o).length>0),$=j(()=>bn().some(N=>{var M;return N.case_id===e(n)&&((M=N.status)==null?void 0:M.toUpperCase())==="RUNNING"}));const _={"run_solver.log":1,listing:2,"run_status.running":3,"csauto.stdout":4,"csauto.stderr":5,"performance.log":6};function L(N){const M=N.split("/").pop()??N;return _[M]??99}async function z(){if(e(n))try{const h=(await ui(e(n))).filter(k=>{const S=k.split("/").pop()??k;return k.endsWith(".log")||k.endsWith("/summary")||S in _}).sort((k,S)=>L(k)-L(S));if(f(o,h,!0),h.length>0){const k=h[0];!e(s)||!h.includes(e(s))?(f(s,k,!0),f(i,!1)):!e(i)&&L(k)0&&h[h.length-1]===""?h.slice(0,-1):h;if(e(d).length>0){const S=U(e(d),k),Z=new Set;for(let re=S;re{let N=e(d).map((M,h)=>({text:M,index:h,severity:Eu(M),isNew:e(x).has(h)}));if(e(A)!=="all"&&(N=N.filter(M=>Ru(M.severity,e(A)))),e(F).trim())try{const M=new RegExp(e(F),"i");N=N.filter(h=>M.test(h.text))}catch{}return N});function O(N){f(n,N,!0),f(s,""),f(i,!1),f(d,[],!0),z().then(()=>D(!0))}function V(N){f(s,N,!0),f(i,!0),f(d,[],!0),D(!0)}function q(){f(w,!e(w)),e(w)||D(!0)}function X(N){(N.ctrlKey||N.metaKey)&&N.key==="f"&&e(c)&&(N.preventDefault(),e(c).focus())}Ne(()=>{r.allCases.length>0&&!e(n)&&(f(n,r.allCases[0],!0),z().then(()=>D(!0)))}),Ne(()=>{e(T)&&!e(w)&&e(n)?hr("tail",()=>D(!1),In()):vt("tail")});const ae=pr(()=>{e(n)&&z().then(()=>D(!0))});dr(()=>{vt("tail"),ae()}),rt("keydown",it,X),Ht(t,{eyebrow:"Live",title:"Log Tail",wide:!0,actions:M=>{var h=Mu(),k=B(h);{let re=j(In);rr(k,{name:"tail",get intervalMs(){return e(re)},onRefresh:()=>D(!1),get checked(){return e(T)},set checked(ge){f(T,ge,!0)}})}var S=E(k,2);{var Z=re=>{$e(re,{variant:"primary",onclick:()=>D(!0),children:(ge,le)=>{var K=Nu(),ne=B(K);Te(ne,{get icon(){return Jt}}),ke(),u(ge,K)},$$slots:{default:!0}})};Y(S,re=>{e(T)||re(Z)})}u(M,h)},children:(M,h)=>{var k=Bu(),S=B(k);{var Z=se=>{Yt(se,{children:(ue,de)=>{var J=Tu(),be=B(J);Me(be,{text:"Case",children:(pe,Oe)=>{lt(pe,{class:"w-[130px]",get options(){return e(y)},get value(){return e(n)},onchange:O})}});var fe=E(be,2);Me(fe,{text:"File",children:(pe,Oe)=>{lt(pe,{class:"w-[150px]",get options(){return e(R)},get value(){return e(s)},onchange:V})}});var Pe=E(fe,2);Me(Pe,{text:"Lines",children:(pe,Oe)=>{var He=Au();Qe(He),ie("change",He,()=>D(!0)),tt(He,()=>e(l),Fe=>f(l,Fe)),u(pe,He)}});var ve=E(Pe,2);Me(ve,{text:"Filter",children:(pe,Oe)=>{var He=Lu();Qe(He),nt(He,Fe=>f(c,Fe),()=>e(c)),tt(He,()=>e(F),Fe=>f(F,Fe)),u(pe,He)}});var ze=E(ve,2);Me(ze,{text:"Severity",children:(pe,Oe)=>{lt(pe,{class:"w-[90px]",get options(){return g},get value(){return e(A)},onchange:He=>f(A,He,!0)})}}),u(ue,J)}})};Y(S,se=>{e(b)&&se(Z)})}var re=E(S,2);{var ge=se=>{var ue=ju(),de=B(ue);Su(de,{get lines(){return e(H)},get searchQuery(){return e(F)},get autoScroll(){return e(m)}});var J=E(de,2),be=C(J),fe=C(be);{var Pe=G=>{var W=Fu();u(G,W)},ve=G=>{var W=Du();u(G,W)},ze=G=>{var W=zu();u(G,W)};Y(fe,G=>{e(w)?G(Pe):e($)?G(ve,1):G(ze,-1)})}var pe=E(fe);p(be);var Oe=E(be,2);{var He=G=>{$e(G,{variant:"secondary",size:"sm",onclick:q,children:(W,te)=>{var ce=_e(),Re=B(ce);{var Ie=me=>{var Ce=Iu(),je=B(Ce);Te(je,{get icon(){return pa}}),ke(),u(me,Ce)},xe=me=>{var Ce=Ou(),je=B(Ce);Te(je,{get icon(){return Uo}}),ke(),u(me,Ce)};Y(Re,me=>{e(w)?me(Ie):me(xe,-1)})}u(W,ce)},$$slots:{default:!0}})},Fe=G=>{var W=Hu();u(G,W)};Y(Oe,G=>{e($)?G(He):G(Fe,-1)})}var ye=E(Oe,2),Ee=C(ye);It(Ee,{get checked(){return e(m)},onchange:G=>f(m,G,!0),size:14,label:"Auto-scroll",labelFirst:!0}),p(ye),p(J),Q(()=>ee(pe,` ${e(H).length??""} / ${e(d).length??""}`)),u(se,ue)},le=se=>{var ue=Vu();u(se,ue)};Y(re,se=>{e(d).length>0?se(ge):se(le,-1)})}var K=E(re,2);{var ne=se=>{var ue=Uu(),de=C(ue,!0);p(ue),Q(()=>ee(de,e(v))),u(se,ue)};Y(K,se=>{e(v)&&se(ne)})}u(M,k)},$$slots:{actions:!0,default:!0}}),Le()}We(["change"]);function Ku(t,r=3){var A,F;const a=t.split(` +`),n=[];let s=0,i=0,o=!1;for(const v of a){if(v.startsWith("===")||v.startsWith("---")||v.startsWith("+++"))continue;const c=v.match(/^@@ -(\d+),?\d* \+(\d+),?\d* @@/);if(c){s=parseInt(c[1],10)-1,i=parseInt(c[2],10)-1,o=!0;continue}if(o)if(v.startsWith("-"))s++,n.push({type:"del",leftNum:s,rightNum:null,leftContent:v.slice(1),rightContent:""});else if(v.startsWith("+"))i++,n.push({type:"add",leftNum:null,rightNum:i,leftContent:"",rightContent:v.slice(1)});else{s++,i++;const y=v.startsWith(" ")?v.slice(1):v;n.push({type:"equal",leftNum:s,rightNum:i,leftContent:y,rightContent:y})}}const l=[];let d=0;for(;d=0&&v-T>1&&w.push({kind:"separator",skipped:v-T-1});const c=l[v].type!=="equal",y=c&&!m;w.push({kind:"line",row:l[v],hunkStart:y}),m=c,T=v}if(T=0&&w.push({kind:"separator",skipped:l.length-1-T}),w.length>0&&w[0].kind==="line"){const v=((A=w[0].row)==null?void 0:A.leftNum)??0,c=((F=w[0].row)==null?void 0:F.rightNum)??0,y=Math.max(v,c)-1;y>0&&w.unshift({kind:"separator",skipped:y})}return w}var Gu=P('
        '),Wu=P('
        '),Xu=P(' ',1),Yu=P('No matches'),Qu=P('
        '),Zu=P('

        Files are identical.

        '),Ju=P('
        Loading...
        '),ed=P('
        ');function td(t,r){Ae(r,!0);let a=he(r,"loading",3,!1),n=I(void 0),s=j(()=>Ku(r.diffText)),i=j(()=>{const G=[];return e(s).forEach((W,te)=>{W.hunkStart&&G.push(te)}),G}),o=j(()=>e(i).length>0),l=j(()=>{var W;const G=new Array(e(s).length).fill(-1);for(let te=0;te{r.diffText!==x&&(x=r.diffText,f(d,-1))});let w=j(()=>{if(!r.search.trim())return[];try{const G=new RegExp(r.search,"i"),W=[];return e(s).forEach((te,ce)=>{te.kind==="line"&&te.row&&(G.test(te.row.leftContent)||G.test(te.row.rightContent))&&W.push(ce)}),W}catch{return[]}}),T=I(-1),m="";Ne(()=>{r.search!==m&&(m=r.search,f(T,e(w).length>0?0:-1,!0))});async function A(G){var ce;f(T,G,!0),await Pt();const W=e(w)[G],te=(ce=e(g))==null?void 0:ce.querySelector(`[data-item-idx="${W}"]`);if(te&&e(g)&&e(b)){const Re=e(g).getBoundingClientRect(),xe=te.getBoundingClientRect().top-Re.top+e(g).scrollTop-e(g).clientHeight/3;_=!0,e(g).scrollTop=xe,e(b).scrollTop=xe,requestAnimationFrame(()=>{_=!1})}}function F(){e(T)>0&&A(e(T)-1)}function v(){e(T)<0&&e(w).length>0?A(0):e(T)$1`)}catch{return te}}function y(G,W){return G==="equal"?"":G==="del"&&W==="left"?"bg-[rgba(214,67,10,0.08)] text-edf-orange-fonce":G==="del"&&W==="right"?"bg-[rgba(48,122,16,0.08)] text-edf-vert-fonce":G==="add"&&W==="left"?"bg-edf-gris-clair":G==="add"&&W==="right"?"bg-[rgba(48,122,16,0.08)] text-edf-vert-fonce":""}function R(G,W){return G==="del"&&W==="left"?"rgb(251,237,233)":G==="del"&&W==="right"?"rgb(238,247,236)":G==="add"&&W==="left"?"var(--color-edf-gris-clair)":G==="add"&&W==="right"?"rgb(238,247,236)":"white"}let g=I(void 0),b=I(void 0),$=!1,_=!1;function L(G){$||_||!e(g)||!e(b)||($=!0,G==="left"?(e(b).scrollTop=e(g).scrollTop,e(b).scrollLeft=e(g).scrollLeft):(e(g).scrollTop=e(b).scrollTop,e(g).scrollLeft=e(b).scrollLeft),requestAnimationFrame(()=>{$=!1}))}async function z(G){var te;f(d,G,!0),await Pt();const W=(te=e(g))==null?void 0:te.querySelector(`[data-hunk-start="${G}"]`);if(W&&e(g)&&e(b)){_=!0;const ce=e(g).getBoundingClientRect(),Ie=W.getBoundingClientRect().top-ce.top+e(g).scrollTop-e(g).clientHeight/3;e(g).scrollTop=Ie,e(b).scrollTop=Ie,requestAnimationFrame(()=>{_=!1})}}function D(){e(d)>0&&z(e(d)-1)}function U(){e(d)<0?z(0):e(d)=0&&f(d,W,!0)}function O(G){G.target instanceof HTMLInputElement||(G.key==="n"&&!G.shiftKey?(G.preventDefault(),U()):G.key==="N"||G.key==="n"&&G.shiftKey?(G.preventDefault(),D()):G.key==="j"?(G.preventDefault(),v()):(G.key==="J"||G.key==="j"&&G.shiftKey)&&(G.preventDefault(),F()))}var V=ed();{const G=(W,te=ys)=>{var ce=_e(),Re=B(ce);Ze(Re,17,()=>e(s),un,(Ie,xe,me)=>{const Ce=j(()=>e(i).indexOf(me)),je=j(()=>e(l)[me]>=0&&e(l)[me]===e(d)),Xe=j(()=>{var at,Ge;return te()==="left"?(at=e(xe).row)==null?void 0:at.leftNum:(Ge=e(xe).row)==null?void 0:Ge.rightNum}),gt=j(()=>{var at,Ge;return te()==="left"?((at=e(xe).row)==null?void 0:at.leftContent)??"":((Ge=e(xe).row)==null?void 0:Ge.rightContent)??""});var jt=_e(),Or=B(jt);{var et=at=>{var Ge=Gu(),Nt=E(C(Ge),2),Hr=C(Nt);p(Nt),p(Ge),Q(()=>ee(Hr,`... ${e(xe).skipped??""} lines hidden ...`)),u(at,Ge)},ut=at=>{var Ge=Wu(),Nt=C(Ge),Hr=C(Nt,!0);p(Nt);var Sn=E(Nt,2);Fr(Sn,()=>c(e(gt),e(T)>=0&&e(w)[e(T)]===me),!0),p(Sn),p(Ge),Q((yt,Mt,br,Ia,Oa)=>{Se(Ge,1,`flex w-full ${yt??""} ${Mt??""}`),Je(Ge,e(je)?"background-color: rgba(16,87,200,0.12); color: rgb(16,87,200);":""),we(Ge,"role",br),we(Ge,"tabindex",Ia),we(Ge,"data-hunk-start",te()==="left"&&e(Ce)>=0?e(Ce):void 0),we(Ge,"data-item-idx",te()==="left"?me:void 0),Je(Nt,`background: ${Oa??""}; color: ${e(je)?"white":"var(--color-muted)"};`),ee(Hr,e(Xe)??"")},[()=>y(e(xe).row.type,te()),()=>e(xe).row.type!=="equal"||e(w).includes(me)?"cursor-pointer":"",()=>e(xe).row.type!=="equal"||e(w).includes(me)?"button":void 0,()=>e(xe).row.type!=="equal"||e(w).includes(me)?0:void 0,()=>e(je)?"rgb(16,87,200)":R(e(xe).row.type,te())]),ie("click",Ge,()=>{var Mt;((Mt=e(xe).row)==null?void 0:Mt.type)!=="equal"&&H(me);const yt=e(w).indexOf(me);yt>=0&&f(T,yt,!0)}),ie("keydown",Ge,yt=>{var Mt;if(yt.key==="Enter"||yt.key===" "){yt.preventDefault(),((Mt=e(xe).row)==null?void 0:Mt.type)!=="equal"&&H(me);const br=e(w).indexOf(me);br>=0&&f(T,br,!0)}}),u(at,Ge)};Y(Or,at=>{e(xe).kind==="separator"?at(et):e(xe).row&&at(ut,1)})}u(Ie,jt)}),u(W,ce)};var q=C(V),X=C(q),ae=C(X),N=C(ae,!0);p(ae);var M=E(ae,2),h=C(M,!0);p(M),p(X);var k=E(X,2),S=C(k),Z=C(S,!0);p(S);var re=E(S,2),ge=C(re,!0);p(re),p(k),p(q);var le=E(q,2),K=C(le),ne=C(K);Qe(ne);var se=E(ne,2);{var ue=W=>{var te=Xu(),ce=B(te);{let me=j(()=>e(T)<=0);$e(ce,{variant:"secondary",size:"sm",onclick:F,get disabled(){return e(me)},children:(Ce,je)=>{ke();var Xe=Be("Prev");u(Ce,Xe)},$$slots:{default:!0}})}var Re=E(ce,2),Ie=C(Re);p(Re);var xe=E(Re,2);{let me=j(()=>e(T)>=e(w).length-1);$e(xe,{variant:"secondary",size:"sm",onclick:v,get disabled(){return e(me)},children:(Ce,je)=>{ke();var Xe=Be("Next");u(Ce,Xe)},$$slots:{default:!0}})}Q(()=>ee(Ie,`${e(T)>=0?e(T)+1:"–"} / ${e(w).length??""} occurrence${e(w).length!==1?"s":""}`)),u(W,te)},de=j(()=>r.search.trim()&&e(w).length>0),J=W=>{var te=Yu();u(W,te)},be=j(()=>r.search.trim());Y(se,W=>{e(de)?W(ue):e(be)&&W(J,1)})}p(K);var fe=E(K,2),Pe=C(fe);{let W=j(()=>e(i).length===0||e(d)<=0);$e(Pe,{variant:"secondary",size:"sm",onclick:D,get disabled(){return e(W)},children:(te,ce)=>{ke();var Re=Be("Prev");u(te,Re)},$$slots:{default:!0}})}var ve=E(Pe,2),ze=C(ve);p(ve);var pe=E(ve,2);{let W=j(()=>e(i).length===0||e(d)>=e(i).length-1);$e(pe,{variant:"secondary",size:"sm",onclick:U,get disabled(){return e(W)},children:(te,ce)=>{ke();var Re=Be("Next");u(te,Re)},$$slots:{default:!0}})}p(fe),p(le);var Oe=E(le,2);{var He=W=>{var te=Qu(),ce=C(te),Re=C(ce),Ie=C(Re);G(Ie,()=>"left"),p(Re),p(ce),nt(ce,je=>f(g,je),()=>e(g));var xe=E(ce,2),me=C(xe),Ce=C(me);G(Ce,()=>"right"),p(me),p(xe),nt(xe,je=>f(b,je),()=>e(b)),p(te),rt("scroll",ce,()=>L("left")),rt("scroll",xe,()=>L("right")),u(W,te)},Fe=W=>{var te=Zu();u(W,te)};Y(Oe,W=>{e(o)?W(He):W(Fe,-1)})}var ye=E(Oe,2);{var Ee=W=>{var te=Ju();u(W,te)};Y(ye,W=>{a()&&W(Ee)})}p(V),nt(V,W=>f(n,W),()=>e(n)),Q(()=>{ee(N,r.leftLabel),ee(h,r.kind),ee(Z,r.rightLabel),ee(ge,r.kind),dn(ne,r.search),ee(ze,`${e(d)>=0?e(d)+1:"–"} / ${e(i).length??""} diff${e(i).length!==1?"s":""}`)}),ie("input",ne,W=>r.onSearchChange(W.target.value)),ie("keydown",ne,W=>{W.key==="Enter"&&(W.preventDefault(),v())})}ie("keydown",V,O),u(t,V),Le()}We(["keydown","click","input"]);var rd=P(" ",1),nd=P('

        Please select two different cases to compare.

        '),ad=P('

        Select two cases to compare.

        '),sd=P(' '),od=P('
        Parameter
        '),id=P('

        All parameters are identical.

        '),ld=P('
        ',1),cd=P('

        '),ud=P('

        Loading...

        '),dd=P(" ",1),fd=P(" ",1);function vd(t,r){Ae(r,!0);let a=I(""),n=I(""),s=I(""),i=I(""),o=I(""),l=I(!1),d=I(!1),x=I(""),w=j(()=>r.allCases.map(_=>({value:_,label:_})));const T=[{value:"setup.xml",label:"setup.xml"},{value:"doe_row.csv",label:"doe_row.csv"},{value:"run_solver.log",label:"run_solver.log"},{value:"performance.log",label:"performance.log"}];let m=j(()=>{var _;return((_=Ft())==null?void 0:_.compare_kinds)??T});Ne(()=>{var _;e(m).some(L=>L.value===e(s))||f(s,((_=e(m)[0])==null?void 0:_.value)??"",!0)});let A=I(!1),F=j(()=>e(a)&&e(n)&&e(a)!==e(n));function v(){const _=e(a);f(a,e(n),!0),f(n,_,!0)}async function c(){if(e(F)){f(l,!0),f(x,"");try{const _=await hi({cases:[e(a),e(n)],base:e(a),kind:e(s)});f(o,_,!0),f(d,!0)}catch(_){console.error("Failed to load diff:",_),f(o,""),f(d,!1);const L=_ instanceof Error?_.message:String(_);f(x,L.includes("404")?`File "${e(s)}" not found for one of the selected cases. It may not have been run yet.`:"Failed to load comparison.",!0)}f(l,!1)}}Ne(()=>{e(a)&&e(n)&&e(a)!==e(n)&&e(s)?c():e(a)&&e(n)&&e(a)===e(n)&&(f(o,""),f(d,!0))});let y=!1;Ne(()=>{r.allCases.length>=2&&!y?(y=!0,f(a,r.allCases[0],!0),f(n,r.allCases[1],!0)):r.allCases.length===1&&!y&&(y=!0,f(a,r.allCases[0],!0))});let R=j(xn),g=j(()=>{if(!e(a)||!e(n)||e(a)===e(n)||e(R).length===0)return[];const _=bn(),L=_.find(D=>D.case_id===e(a)),z=_.find(D=>D.case_id===e(n));return!L&&!z?[]:e(R).map(D=>{var O,V;const U=((O=L==null?void 0:L.doe)==null?void 0:O[D])!=null&&String(L.doe[D])!==""?String(L.doe[D]):"—",H=((V=z==null?void 0:z.doe)==null?void 0:V[D])!=null&&String(z.doe[D])!==""?String(z.doe[D]):"—";return{param:D,left:U,right:H,differs:U!==H}})}),b=j(()=>e(A)?e(g):e(g).filter(_=>_.differs)),$=j(()=>e(g).filter(_=>_.differs).length);Ht(t,{eyebrow:"Compare",title:"Side-by-Side Comparison",wide:!0,children:(_,L)=>{var z=fd(),D=B(z);Yt(D,{children:(q,X)=>{var ae=rd(),N=B(ae);Me(N,{text:"First case",children:(k,S)=>{lt(k,{class:"w-32.5",get options(){return e(w)},get value(){return e(a)},onchange:Z=>f(a,Z,!0),placeholder:"Select..."})}});var M=E(N,2);{let k=j(()=>!e(a)&&!e(n));$e(M,{variant:"secondary",size:"sm",onclick:v,get disabled(){return e(k)},children:(S,Z)=>{Te(S,{get icon(){return To}})},$$slots:{default:!0}})}var h=E(M,2);Me(h,{text:"Second case",children:(k,S)=>{lt(k,{class:"w-32.5",get options(){return e(w)},get value(){return e(n)},onchange:Z=>f(n,Z,!0),placeholder:"Select..."})}}),u(q,ae)}});var U=E(D,2);{var H=q=>{var X=nd();u(q,X)},O=q=>{var X=ad();u(q,X)},V=q=>{var X=dd(),ae=B(X);{var N=re=>{var ge=ld(),le=B(ge),K=C(le),ne=C(K);p(K);var se=E(K,2),ue=C(se,!0);p(se),p(le);var de=E(le,2);{var J=fe=>{var Pe=od(),ve=C(Pe),ze=C(ve),pe=C(ze),Oe=C(pe),He=C(Oe,!0);p(Oe);var Fe=E(Oe,2),ye=C(Fe,!0);p(Fe),p(pe),p(ze);var Ee=E(ze);Ze(Ee,21,()=>e(b),G=>G.param,(G,W)=>{var te=sd(),ce=C(te),Re=C(ce,!0);p(ce);var Ie=E(ce),xe=C(Ie,!0);p(Ie);var me=E(Ie),Ce=C(me,!0);p(me),p(te),Q(()=>{Se(ce,1,dt(e(W).differs?"text-edf-orange-fonce bg-[rgba(214,67,10,0.04)]":"")),ee(Re,e(W).left),ee(xe,e(W).param),Se(me,1,dt(e(W).differs?"text-edf-vert-fonce bg-[rgba(48,122,16,0.04)]":"")),ee(Ce,e(W).right)}),u(G,te)}),p(Ee),p(ve),p(Pe),Q(()=>{ee(He,e(a)),ee(ye,e(n))}),u(fe,Pe)},be=fe=>{var Pe=id();u(fe,Pe)};Y(de,fe=>{e(b).length>0?fe(J):fe(be,-1)})}Q(()=>{ee(ne,`${e($)??""} difference${e($)!==1?"s":""} out of ${e(g).length??""} + parameters`),ee(ue,e(A)?"Show differences only":"Show all parameters")}),ie("click",se,()=>f(A,!e(A))),u(re,ge)};Y(ae,re=>{e(g).length>0&&re(N)})}var M=E(ae,2);Yt(M,{children:(re,ge)=>{Me(re,{text:"File",children:(le,K)=>{lt(le,{class:"w-37.5",get options(){return e(m)},get value(){return e(s)},onchange:ne=>f(s,ne,!0)})}})}});var h=E(M,2);{var k=re=>{var ge=cd(),le=C(ge,!0);p(ge),Q(()=>ee(le,e(x))),u(re,ge)},S=re=>{td(re,{get diffText(){return e(o)},get leftLabel(){return e(a)},get rightLabel(){return e(n)},get kind(){return e(s)},get search(){return e(i)},get loading(){return e(l)},onSearchChange:ge=>f(i,ge,!0)})},Z=re=>{var ge=ud();u(re,ge)};Y(h,re=>{e(x)?re(k):e(d)?re(S,1):e(l)&&re(Z,2)})}u(q,X)};Y(U,q=>{e(a)&&e(n)&&e(a)===e(n)?q(H):!e(a)||!e(n)?q(O,1):q(V,-1)})}u(_,z)},$$slots:{default:!0}}),Le()}We(["click"]);var gd=P(" Refresh",1),hd=P(" ",1),pd=P(''),md=P(''),_d=P(" Download as CSV",1),bd=P('
        ',1),xd=P(" ",1),yd=P(""),wd=P('
        Sort by:
        '),kd=P('

        No errors found. Select cases and adjust filters above.

        '),Cd=P(' '),Sd=P('NEW'),$d=P('
        '),Pd=P('
        '),Ed=P(' '),Rd=P('
        '),Nd=P('

        '),Md=P("
        ",1);function Ad(t,r){Ae(r,!0);const a=6,n=["csauto.stderr","run_solver.log","listing"];let s=I(oe([])),i=I(oe([...n])),o=!1;Ne(()=>{var ne;const K=(ne=Ft())==null?void 0:ne.error_files;K!=null&&K.length&&!o&&f(i,[...K],!0)});let l=I("all"),d=I(""),x=I(a),w=I(!1),T=I(""),m=I(oe(er("errors")));Ne(()=>{tr("errors",e(m))});let A=I(oe([])),F=I(oe(new Set));function v(K){return K.toLowerCase().replace(/[0-9]+/g,"#").replace(/0x[0-9a-f]+/gi,"#").replace(/\s+/g," ").trim()}function c(K){const ne=K.line_html.replace(/<[^>]*>/g,"").slice(0,120);return`${K.case_id}|${K.file}|${K.severity}|${v(ne)}`}function y(K){const ne=new Map;for(const se of K){const ue=c(se),de=ne.get(ue);de?de.count++:ne.set(ue,{...se,count:1,fingerprint:ue,isNew:!e(F).has(ue)})}return Array.from(ne.values())}async function R(){if(!(!e(s).length||!e(i).length)){f(w,!0);try{const K=await li({cases:e(s),files:e(i),context:e(x),sev:e(l)==="all"?"":e(l),q:e(d)});f(T,"");const ne=y(K.items);f(A,K.items,!0);const se=new Set(ne.map(ue=>ue.fingerprint));f(F,se,!0),f(g,ne,!0)}catch(K){f(T,"Failed to load errors"),console.error("Failed to load errors:",K)}finally{f(w,!1)}}}let g=I(oe([])),b=null;function $(){b&&clearTimeout(b),b=setTimeout(R,250)}function _(K){return K==="error"?"error-sev-error":K==="warn"?"error-sev-warn":"error-sev-info"}let L=j(()=>wn(r.allCases));const z=["csauto.stderr","run_solver.log","listing","csauto.stdout"];let D=j(()=>{var K;return(((K=Ft())==null?void 0:K.error_files)??z).map(ne=>({value:ne,label:ne}))}),U=[{value:"all",label:"All"},{value:"error",label:"Error"},{value:"warn",label:"Warn"},{value:"info",label:"Info"}];function H(K){if(f(s,K,!0),K.length===0){f(g,[],!0),f(A,[],!0);return}R()}function O(K){if(o=!0,f(i,K,!0),K.length===0){f(g,[],!0),f(A,[],!0);return}R()}function V(K){f(l,K,!0),R()}function q(){R()}let X=!1;Ne(()=>{r.allCases.length>0&&!X&&(X=!0,f(s,[...r.allCases],!0),R())}),Ne(()=>{e(m)?hr("errors",R,Hn()):vt("errors")});const ae=pr(()=>{X&&R()});dr(()=>{vt("errors"),ae()});let N=I(oe(new Set));function M(K){const ne=new Set(e(N));ne.has(K)?ne.delete(K):ne.add(K),f(N,ne,!0)}let h=I("severity"),k=I("desc");const S={info:0,warn:1,error:2};let Z=j(()=>{const K=[...e(g)];return K.sort((ne,se)=>{let ue=0;return e(h)==="severity"?ue=(S[ne.severity]??9)-(S[se.severity]??9):e(h)==="count"?ue=ne.count-se.count:ue=ne[e(h)].localeCompare(se[e(h)]),e(k)==="asc"?ue:-ue}),K});const re={severity:"desc",count:"desc",case_id:"asc",file:"asc"};function ge(K){e(h)===K?f(k,e(k)==="asc"?"desc":"asc",!0):(f(h,K,!0),f(k,re[K],!0))}function le(){if(!e(g).length)return;const K=["case_id","file","severity","count","is_new","line_text"],ne=e(Z).map(de=>[de.case_id,de.file,de.severity,de.count,de.isNew?"yes":"no",`"${de.line_html.replace(/<[^>]*>/g,"").replace(/"/g,'""')}"`].join(",")),se=[K.join(","),...ne].join(` +`),ue=_r("errors",e(s),"csv");Pa(se,ue)}Ht(t,{eyebrow:"Diagnostics",title:"Recent Errors",wide:!0,actions:ne=>{var se=hd(),ue=B(se);{let be=j(Hn);rr(ue,{name:"errors",get intervalMs(){return e(be)},onRefresh:R,get checked(){return e(m)},set checked(fe){f(m,fe,!0)}})}var de=E(ue,2);{var J=be=>{$e(be,{variant:"primary",onclick:R,children:(fe,Pe)=>{var ve=gd(),ze=B(ve);Te(ze,{get icon(){return Jt}}),ke(),u(fe,ve)},$$slots:{default:!0}})};Y(de,be=>{e(m)||be(J)})}u(ne,se)},children:(ne,se)=>{var ue=Md(),de=B(ue);Yt(de,{children:(ye,Ee)=>{var G=bd(),W=B(G);Me(W,{text:"Cases",children:(Ce,je)=>{Gt(Ce,{class:"w-[160px]",get options(){return e(L)},get selected(){return e(s)},onchange:H,placeholder:"Select cases..."})}});var te=E(W,2);Me(te,{text:"Files",children:(Ce,je)=>{Gt(Ce,{class:"w-[160px]",get options(){return e(D)},get selected(){return e(i)},onchange:O,placeholder:"Select files..."})}});var ce=E(te,2);Me(ce,{text:"Severity",children:(Ce,je)=>{lt(Ce,{class:"w-[90px]",get options(){return U},get value(){return e(l)},onchange:V})}});var Re=E(ce,2);Me(Re,{text:"Search",children:(Ce,je)=>{var Xe=pd();Qe(Xe),ie("input",Xe,$),tt(Xe,()=>e(d),gt=>f(d,gt)),u(Ce,Xe)}});var Ie=E(Re,2);Me(Ie,{text:"Context",children:(Ce,je)=>{var Xe=md();Qe(Xe),ie("change",Xe,q),tt(Xe,()=>e(x),gt=>f(x,gt)),u(Ce,Xe)}});var xe=E(Ie,2),me=C(xe);{let Ce=j(()=>e(g).length===0);$e(me,{variant:"secondary",size:"sm",onclick:le,get disabled(){return e(Ce)},children:(je,Xe)=>{var gt=_d(),jt=B(gt);Te(jt,{get icon(){return gr}}),ke(),u(je,gt)},$$slots:{default:!0}})}p(xe),u(ye,G)}});var J=E(de,2);{var be=ye=>{var Ee=wd(),G=E(C(Ee),2);Ze(G,16,()=>[{key:"severity",label:"Severity"},{key:"count",label:"Count"},{key:"case_id",label:"Case"},{key:"file",label:"File"}],W=>W.key,(W,te)=>{var ce=yd(),Re=C(ce,!0),Ie=E(Re);{var xe=me=>{var Ce=xd(),je=E(B(Ce));{let Xe=j(()=>e(k)==="asc"?Fo:Lo);Te(je,{get icon(){return e(Xe)},size:12})}u(me,Ce)};Y(Ie,me=>{e(h)===te.key&&me(xe)})}p(ce),Q(()=>{Se(ce,1,`cursor-pointer bg-transparent border-none text-xs hover:underline ${e(h)===te.key?"text-edf-bleu-fonce font-bold":"text-muted"}`),ee(Re,te.label)}),ie("click",ce,()=>ge(te.key)),u(W,ce)}),p(Ee),u(ye,Ee)};Y(J,ye=>{e(Z).length>0&&ye(be)})}var fe=E(J,2),Pe=C(fe);{var ve=ye=>{var Ee=kd();u(ye,Ee)};Y(Pe,ye=>{e(Z).length===0&&ye(ve)})}var ze=E(Pe,2);Ze(ze,17,()=>e(Z),ye=>ye.fingerprint,(ye,Ee)=>{var G=Pd(),W=C(G),te=C(W),ce=C(te);{let et=j(()=>e(N).has(e(Ee).fingerprint)?gn:Do);Te(ce,{get icon(){return e(et)},size:14})}p(te);var Re=E(te,2),Ie=C(Re);p(Re);var xe=E(Re,2),me=C(xe);{var Ce=et=>{var ut=Cd(),at=C(ut);p(ut),Q(()=>ee(at,`${e(Ee).count??""}x`)),u(et,ut)};Y(me,et=>{e(Ee).count>1&&et(Ce)})}var je=E(me,2);{var Xe=et=>{var ut=Sd();u(et,ut)};Y(je,et=>{e(Ee).isNew&&et(Xe)})}p(xe),p(W);var gt=E(W,2);{var jt=et=>{var ut=$d();Fr(ut,()=>e(Ee).line_html,!0),p(ut),u(et,ut)},Or=j(()=>e(N).has(e(Ee).fingerprint));Y(gt,et=>{e(Or)&&et(jt)})}p(G),Q(et=>{Se(G,1,`error-item ${et??""}`),ee(Ie,`${e(Ee).case_id??""} / ${e(Ee).file??""} : ${e(Ee).severity??""}`)},[()=>_(e(Ee).severity)]),ie("click",W,()=>M(e(Ee).fingerprint)),u(ye,G)}),p(fe);var pe=E(fe,2);{var Oe=ye=>{var Ee=Rd(),G=C(Ee),W=C(G);p(G);var te=E(G,2);{var ce=Ie=>{var xe=Ed(),me=C(xe);p(xe),Q(Ce=>ee(me,`${Ce??""} new`),[()=>e(g).filter(Ce=>Ce.isNew).length]),u(Ie,xe)},Re=j(()=>e(g).some(Ie=>Ie.isNew));Y(te,Ie=>{e(Re)&&Ie(ce)})}p(Ee),Q(()=>ee(W,`${e(g).length??""} unique / ${e(A).length??""} total`)),u(ye,Ee)};Y(pe,ye=>{e(Z).length>0&&ye(Oe)})}var He=E(pe,2);{var Fe=ye=>{var Ee=Nd(),G=C(Ee,!0);p(Ee),Q(()=>ee(G,e(T))),u(ye,Ee)};Y(He,ye=>{e(T)&&ye(Fe)})}Q(()=>Se(fe,1,`error-list ${e(w)?"opacity-50 pointer-events-none":""}`)),u(ne,ue)},$$slots:{actions:!0,default:!0}}),Le()}We(["input","change","click"]);var Ld=P('
        Developed by Simvia
        ',1);function Vd(t,r){Ae(r,!0);let a=I(oe({totalCases:0,shownCases:0,totalRunning:0,shownRunning:0,totalConverged:0,shownConverged:0})),n=I(oe([])),s=I(null);const i=S=>e(s)===null||e(s).includes(S);async function o(S){var ge;const Z=`/favicon-${S}.svg`;try{const le=await fetch(Z);if(!le.ok||!((ge=le.headers.get("content-type"))!=null&&ge.includes("svg")))return}catch{return}const re=document.querySelector('link[rel="icon"]');re&&(re.href=Z)}async function l(){try{const S=await ai();Pl(S.rows),El(S.doe_columns),f(n,S.rows.map(Z=>Z.case_id),!0),f(a,jl(Sa(),bn()),!0)}catch(S){console.error("Failed to load status:",S)}}Yn(()=>{l(),si().then(S=>{tl(S),f(s,S.panels,!0),o(S.solver)}).catch(()=>{})});var d=Ld(),x=B(d);Ni(x,{});var w=E(x,2);Fi(w,{});var T=E(w,2);ol(T,{get totalCases(){return e(a).totalCases},get shownCases(){return e(a).shownCases},get totalRunning(){return e(a).totalRunning},get shownRunning(){return e(a).shownRunning},get totalConverged(){return e(a).totalConverged},get shownConverged(){return e(a).shownConverged}});var m=E(T,2),A=C(m);{var F=S=>{_c(S,{onRefresh:l})},v=j(()=>i("status"));Y(A,S=>{e(v)&&S(F)})}var c=E(A,2);{var y=S=>{Hc(S,{get allCases(){return e(n)}})},R=j(()=>i("residuals"));Y(c,S=>{e(R)&&S(y)})}var g=E(c,2);{var b=S=>{uu(S,{get allCases(){return e(n)}})},$=j(()=>i("probes"));Y(g,S=>{e($)&&S(b)})}var _=E(g,2);{var L=S=>{yu(S,{get allCases(){return e(n)}})},z=j(()=>i("performance"));Y(_,S=>{e(z)&&S(L)})}var D=E(_,2);{var U=S=>{vd(S,{get allCases(){return e(n)}})},H=j(()=>i("compare"));Y(D,S=>{e(H)&&S(U)})}var O=E(D,2);{var V=S=>{qu(S,{get allCases(){return e(n)}})},q=j(()=>i("tail"));Y(O,S=>{e(q)&&S(V)})}var X=E(O,2);{var ae=S=>{Ad(S,{get allCases(){return e(n)}})},N=j(()=>i("errors"));Y(X,S=>{e(N)&&S(ae)})}p(m);var M=E(m,2),h=E(C(M),2),k=C(h);p(h),p(M),Q(()=>we(k,"src",il)),u(t,d),Le()}export{Vd as component}; diff --git a/frontend/dist/_app/version.json b/frontend/dist/_app/version.json index ed8ae38..223df18 100644 --- a/frontend/dist/_app/version.json +++ b/frontend/dist/_app/version.json @@ -1 +1 @@ -{"version":"1784298934448"} \ No newline at end of file +{"version":"1785259782195"} \ No newline at end of file diff --git a/frontend/dist/code-aster.svg b/frontend/dist/code-aster.svg new file mode 100644 index 0000000..0bf402f --- /dev/null +++ b/frontend/dist/code-aster.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/dist/favicon-code_aster.svg b/frontend/dist/favicon-code_aster.svg new file mode 100644 index 0000000..baf0ec0 --- /dev/null +++ b/frontend/dist/favicon-code_aster.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 81024dc..7db76cd 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -5,11 +5,11 @@ csauto by Simvia - - + + - + @@ -20,15 +20,15 @@