ndomo 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/ndomo.config.json +60 -0
- package/package.json +1 -1
- package/src/cli/__tests__/frontmatter-newline.test.ts +39 -0
- package/src/cli/__tests__/install.test.ts +55 -0
- package/src/cli/install.ts +37 -98
- package/src/http/web/assets/DashboardView-CmppeWb0.css +1 -0
- package/src/http/web/assets/DashboardView-DAWAKZNz.js +1 -0
- package/src/http/web/assets/NotFoundView-eTgwHzle.js +1 -0
- package/src/http/web/assets/NotFoundView-hWw8FBkY.css +1 -0
- package/src/http/web/assets/PlanDetailView-CmJwuCSn.js +1 -0
- package/src/http/web/assets/PlanDetailView-DrsYj4iZ.css +1 -0
- package/src/http/web/assets/PlanListView-C0GKM0Bx.css +1 -0
- package/src/http/web/assets/PlanListView-Df_-1nEm.js +1 -0
- package/src/http/web/assets/TaskDetailView-BFW2TSBA.js +1 -0
- package/src/http/web/assets/TaskDetailView-CawrkkAA.css +1 -0
- package/src/http/web/assets/index-BGRWFBcE.js +1 -0
- package/src/http/web/assets/index-C2SSDae4.js +26 -0
- package/src/http/web/assets/index-CEAMShE3.css +1 -0
- package/src/http/web/assets/index-R6Hc61IH.css +1 -0
- package/src/http/web/assets/plans-irckvnye.js +1 -0
- package/src/http/web/assets/tasks-FTD239u7.js +1 -0
- package/src/http/web/index.html +13 -0
package/config/ndomo.config.json
CHANGED
|
@@ -134,6 +134,36 @@
|
|
|
134
134
|
"model": "opencode-go/kimi-k2.7-code",
|
|
135
135
|
"temperature": 0.2,
|
|
136
136
|
"reasoning_effort": "high"
|
|
137
|
+
},
|
|
138
|
+
"craftsman": {
|
|
139
|
+
"model": "minimax/MiniMax-M3",
|
|
140
|
+
"temperature": 0.3,
|
|
141
|
+
"reasoning_effort": "high"
|
|
142
|
+
},
|
|
143
|
+
"warden": {
|
|
144
|
+
"model": "minimax/MiniMax-M3",
|
|
145
|
+
"temperature": 0.3,
|
|
146
|
+
"reasoning_effort": "high"
|
|
147
|
+
},
|
|
148
|
+
"ci-smith": {
|
|
149
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
150
|
+
"temperature": 0.1,
|
|
151
|
+
"reasoning_effort": "high"
|
|
152
|
+
},
|
|
153
|
+
"deploy-smith": {
|
|
154
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
155
|
+
"temperature": 0.1,
|
|
156
|
+
"reasoning_effort": "high"
|
|
157
|
+
},
|
|
158
|
+
"release-smith": {
|
|
159
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
160
|
+
"temperature": 0.1,
|
|
161
|
+
"reasoning_effort": "high"
|
|
162
|
+
},
|
|
163
|
+
"ops-scout": {
|
|
164
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
165
|
+
"temperature": 0.2,
|
|
166
|
+
"reasoning_effort": "medium"
|
|
137
167
|
}
|
|
138
168
|
},
|
|
139
169
|
"budget": {
|
|
@@ -216,6 +246,36 @@
|
|
|
216
246
|
"model": "opencode-go/deepseek-v4-flash",
|
|
217
247
|
"temperature": 0.2,
|
|
218
248
|
"reasoning_effort": "low"
|
|
249
|
+
},
|
|
250
|
+
"craftsman": {
|
|
251
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
252
|
+
"temperature": 0.3,
|
|
253
|
+
"reasoning_effort": "low"
|
|
254
|
+
},
|
|
255
|
+
"warden": {
|
|
256
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
257
|
+
"temperature": 0.3,
|
|
258
|
+
"reasoning_effort": "low"
|
|
259
|
+
},
|
|
260
|
+
"ci-smith": {
|
|
261
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
262
|
+
"temperature": 0.1,
|
|
263
|
+
"reasoning_effort": "low"
|
|
264
|
+
},
|
|
265
|
+
"deploy-smith": {
|
|
266
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
267
|
+
"temperature": 0.1,
|
|
268
|
+
"reasoning_effort": "low"
|
|
269
|
+
},
|
|
270
|
+
"release-smith": {
|
|
271
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
272
|
+
"temperature": 0.1,
|
|
273
|
+
"reasoning_effort": "low"
|
|
274
|
+
},
|
|
275
|
+
"ops-scout": {
|
|
276
|
+
"model": "opencode-go/deepseek-v4-flash",
|
|
277
|
+
"temperature": 0.2,
|
|
278
|
+
"reasoning_effort": "low"
|
|
219
279
|
}
|
|
220
280
|
}
|
|
221
281
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ndomo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "OpenCode multi-agent plugin. Taller de artesanos: foreman + 3 peer primaries (craftsman, warden, ranger) + specialists (scout, scribe, painter, smith, sage, guild, inspector, chronicler) + stack-smiths + ops (ci-smith, deploy-smith, release-smith, ops-scout). Caveman-native. opencode-mem integrated. DCP peer optional.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, test, expect, beforeEach, afterEach } from "bun:test";
|
|
2
|
+
import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import { tmpdir } from "os";
|
|
5
|
+
|
|
6
|
+
describe("frontmatter newline preservation", () => {
|
|
7
|
+
let tmp: string;
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
tmp = join(tmpdir(), `fm-test-${Date.now()}`);
|
|
10
|
+
mkdirSync(tmp, { recursive: true });
|
|
11
|
+
mkdirSync(join(tmp, "agent"), { recursive: true });
|
|
12
|
+
});
|
|
13
|
+
afterEach(() => rmSync(tmp, { recursive: true, force: true }));
|
|
14
|
+
|
|
15
|
+
test("closing --- stays on its own line after install", async () => {
|
|
16
|
+
const src = join(process.cwd(), "agents/foreman.md");
|
|
17
|
+
const dst = join(tmp, "agent/foreman.md");
|
|
18
|
+
const original = readFileSync(src, "utf-8");
|
|
19
|
+
writeFileSync(dst, original);
|
|
20
|
+
|
|
21
|
+
process.env.XDG_CONFIG_HOME = tmp;
|
|
22
|
+
const { spawnSync } = await import("bun");
|
|
23
|
+
const r = spawnSync({
|
|
24
|
+
cmd: ["bun", "run", "src/cli/install.ts", "--preset=default", "--no-provider-prompt"],
|
|
25
|
+
env: { ...process.env, XDG_CONFIG_HOME: tmp },
|
|
26
|
+
cwd: process.cwd(),
|
|
27
|
+
});
|
|
28
|
+
expect(r.exitCode).toBe(0);
|
|
29
|
+
|
|
30
|
+
const after = readFileSync(dst, "utf-8");
|
|
31
|
+
// Closing --- must be on its own line (count of lines starting with --- alone should be 2: open + close)
|
|
32
|
+
const matches = after.match(/^---$/gm) || [];
|
|
33
|
+
expect(matches.length).toBe(2);
|
|
34
|
+
// Frontmatter body must not end with `allow---` (glued)
|
|
35
|
+
expect(after).not.toMatch(/allow---/);
|
|
36
|
+
// Permission nesting must be preserved
|
|
37
|
+
expect(after).toMatch(/permission:\n\s+edit:/);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
writeHttpBlock,
|
|
26
26
|
applyPresetToFile,
|
|
27
27
|
applyProviderPrefix,
|
|
28
|
+
promptHttpEnable,
|
|
28
29
|
stepRegisterPlugins,
|
|
29
30
|
stepCopyAgents,
|
|
30
31
|
stepCopySkills,
|
|
@@ -731,3 +732,57 @@ describe("stepCopyTools", () => {
|
|
|
731
732
|
expect(copied).toBe(0);
|
|
732
733
|
});
|
|
733
734
|
});
|
|
735
|
+
|
|
736
|
+
// ─── Regex-based preset preserves nested YAML ──────────────────────────────
|
|
737
|
+
|
|
738
|
+
describe("applyPresetToFile — nested permission preservation", () => {
|
|
739
|
+
test("preserves nested permission structure byte-for-byte", () => {
|
|
740
|
+
const testFile = join(tmpDir, "test-agent.md");
|
|
741
|
+
const original = `---
|
|
742
|
+
description: Test Agent
|
|
743
|
+
mode: subagent
|
|
744
|
+
model: old/model
|
|
745
|
+
temperature: 0.5
|
|
746
|
+
permission:
|
|
747
|
+
edit: allow
|
|
748
|
+
write: ask
|
|
749
|
+
bash:
|
|
750
|
+
"*": ask
|
|
751
|
+
"ls *": allow
|
|
752
|
+
---
|
|
753
|
+
body content here
|
|
754
|
+
`;
|
|
755
|
+
writeFileSync(testFile, original);
|
|
756
|
+
const result = applyPresetToFile(
|
|
757
|
+
testFile,
|
|
758
|
+
{ model: "new/model", temperature: 0.3 } as PresetEntry,
|
|
759
|
+
false,
|
|
760
|
+
);
|
|
761
|
+
expect(result).toBe("updated");
|
|
762
|
+
const updated = readFileSync(testFile, "utf-8");
|
|
763
|
+
expect(updated).toContain("model: new/model");
|
|
764
|
+
expect(updated).toContain("temperature: 0.3");
|
|
765
|
+
// CRITICAL: permission block intact byte-for-byte
|
|
766
|
+
expect(updated).toContain("permission:");
|
|
767
|
+
expect(updated).toContain(" edit: allow");
|
|
768
|
+
expect(updated).toContain(" write: ask");
|
|
769
|
+
expect(updated).toContain(" bash:");
|
|
770
|
+
expect(updated).toContain(' "*": ask');
|
|
771
|
+
expect(updated).toContain(' "ls *": allow');
|
|
772
|
+
});
|
|
773
|
+
});
|
|
774
|
+
|
|
775
|
+
// ─── Non-TTY promptHttpEnable ──────────────────────────────────────────────
|
|
776
|
+
|
|
777
|
+
describe("promptHttpEnable — non-TTY fallback", () => {
|
|
778
|
+
test("returns false immediately when stdin not TTY", async () => {
|
|
779
|
+
const originalIsTTY = process.stdin.isTTY;
|
|
780
|
+
Object.defineProperty(process.stdin, "isTTY", { value: false, configurable: true });
|
|
781
|
+
try {
|
|
782
|
+
const result = await promptHttpEnable();
|
|
783
|
+
expect(result).toBe(false);
|
|
784
|
+
} finally {
|
|
785
|
+
Object.defineProperty(process.stdin, "isTTY", { value: originalIsTTY, configurable: true });
|
|
786
|
+
}
|
|
787
|
+
});
|
|
788
|
+
});
|
package/src/cli/install.ts
CHANGED
|
@@ -342,125 +342,60 @@ export function stepCopySkills(
|
|
|
342
342
|
// ─── Preset application ──────────────────────────────────────────────────────
|
|
343
343
|
|
|
344
344
|
/**
|
|
345
|
-
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*/
|
|
349
|
-
export function parseFrontmatter(content: string): {
|
|
350
|
-
frontmatter: Record<string, string>;
|
|
351
|
-
body: string;
|
|
352
|
-
startIdx: number;
|
|
353
|
-
endIdx: number;
|
|
354
|
-
} {
|
|
355
|
-
const lines = content.split("\n");
|
|
356
|
-
let startIdx = -1;
|
|
357
|
-
let endIdx = -1;
|
|
358
|
-
|
|
359
|
-
for (let i = 0; i < lines.length; i++) {
|
|
360
|
-
const line = lines[i];
|
|
361
|
-
if (line !== undefined && line.trim() === "---") {
|
|
362
|
-
if (startIdx === -1) {
|
|
363
|
-
startIdx = i;
|
|
364
|
-
} else {
|
|
365
|
-
endIdx = i;
|
|
366
|
-
break;
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
if (startIdx === -1 || endIdx === -1) {
|
|
372
|
-
return { frontmatter: {}, body: content, startIdx: -1, endIdx: -1 };
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
const fm: Record<string, string> = {};
|
|
376
|
-
for (let i = startIdx + 1; i < endIdx; i++) {
|
|
377
|
-
const line = lines[i];
|
|
378
|
-
if (line === undefined) continue;
|
|
379
|
-
const colonIdx = line.indexOf(":");
|
|
380
|
-
if (colonIdx > 0) {
|
|
381
|
-
const key = line.slice(0, colonIdx).trim();
|
|
382
|
-
const value = line.slice(colonIdx + 1).trim();
|
|
383
|
-
fm[key] = value;
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
const body = lines.slice(endIdx + 1).join("\n");
|
|
388
|
-
return { frontmatter: fm, body, startIdx, endIdx };
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Serialize frontmatter + body back to a string.
|
|
393
|
-
*/
|
|
394
|
-
export function serializeFrontmatter(frontmatter: Record<string, string>, body: string): string {
|
|
395
|
-
const fmLines = Object.entries(frontmatter).map(([k, v]) => `${k}: ${v}`);
|
|
396
|
-
return `---\n${fmLines.join("\n")}\n---\n${body}`;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* Apply preset values to an agent .md file's frontmatter.
|
|
401
|
-
* Handles reasoningEffort 3-tier insert fallback:
|
|
402
|
-
* 1. Update existing reasoningEffort line
|
|
403
|
-
* 2. Insert after temperature (if present)
|
|
404
|
-
* 3. Insert after model (if present)
|
|
405
|
-
* 4. Insert after opening ---
|
|
345
|
+
* Apply preset values to an agent .md file's frontmatter using regex-targeted
|
|
346
|
+
* line replacement. Preserves YAML structure 100% (including nested permission
|
|
347
|
+
* blocks) by only touching top-level (0-indent) key lines.
|
|
406
348
|
*/
|
|
407
349
|
export function applyPresetToFile(
|
|
408
350
|
filePath: string,
|
|
409
351
|
preset: PresetEntry,
|
|
410
352
|
dryRun: boolean,
|
|
411
353
|
): "updated" | "skipped" {
|
|
412
|
-
|
|
413
|
-
const { frontmatter, body, startIdx, endIdx } = parseFrontmatter(content);
|
|
354
|
+
let content = readFileSync(filePath, "utf-8");
|
|
414
355
|
|
|
415
|
-
|
|
356
|
+
// Find frontmatter bounds (first --- block at file start)
|
|
357
|
+
const fmMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
|
|
358
|
+
if (!fmMatch || !fmMatch[1] || !fmMatch[2]) {
|
|
416
359
|
warn(`No frontmatter found in ${basename(filePath)}, skipping`);
|
|
417
360
|
return "skipped";
|
|
418
361
|
}
|
|
419
|
-
|
|
362
|
+
const fmBody = fmMatch[1];
|
|
363
|
+
const body = fmMatch[2];
|
|
364
|
+
let newFmBody = fmBody;
|
|
420
365
|
let changed = false;
|
|
421
366
|
|
|
422
|
-
//
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
367
|
+
// Update or insert each preset field at top-level (0 indent)
|
|
368
|
+
const fields: Array<{ yamlName: string; value: string | undefined }> = [
|
|
369
|
+
{ yamlName: "model", value: preset.model },
|
|
370
|
+
{ yamlName: "temperature", value: preset.temperature !== undefined ? String(preset.temperature) : undefined },
|
|
371
|
+
{ yamlName: "reasoningEffort", value: preset.reasoning_effort },
|
|
372
|
+
];
|
|
373
|
+
|
|
374
|
+
for (const field of fields) {
|
|
375
|
+
if (field.value === undefined) continue;
|
|
376
|
+
// Match line at start-of-line (no indent), so we don't touch nested keys
|
|
377
|
+
const lineRegex = new RegExp(`^${field.yamlName}:.*$`, "m");
|
|
378
|
+
if (lineRegex.test(newFmBody)) {
|
|
379
|
+
newFmBody = newFmBody.replace(lineRegex, `${field.yamlName}: ${field.value}`);
|
|
380
|
+
changed = true;
|
|
381
|
+
} else {
|
|
382
|
+
// Append at end of frontmatter (top-level, 0 indent)
|
|
383
|
+
const sep = newFmBody.endsWith("\n") ? "" : "\n";
|
|
384
|
+
newFmBody = newFmBody + sep + `${field.yamlName}: ${field.value}\n`;
|
|
385
|
+
changed = true;
|
|
386
|
+
}
|
|
438
387
|
}
|
|
439
388
|
|
|
440
389
|
if (!changed) {
|
|
441
390
|
return "skipped";
|
|
442
391
|
}
|
|
443
392
|
|
|
444
|
-
|
|
445
|
-
const ordered: Record<string, string> = {};
|
|
446
|
-
const priority = ["model", "temperature", "reasoningEffort"];
|
|
447
|
-
for (const key of priority) {
|
|
448
|
-
if (frontmatter[key] !== undefined) {
|
|
449
|
-
ordered[key] = frontmatter[key];
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
for (const [key, value] of Object.entries(frontmatter)) {
|
|
453
|
-
if (!(key in ordered)) {
|
|
454
|
-
ordered[key] = value;
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
|
|
393
|
+
const newContent = `---\n${newFmBody}---\n${body}`;
|
|
458
394
|
if (dryRun) {
|
|
459
|
-
info(`[dry-run] would update ${basename(filePath)}
|
|
395
|
+
info(`[dry-run] would update ${basename(filePath)}`);
|
|
460
396
|
} else {
|
|
461
|
-
writeFileSync(filePath,
|
|
397
|
+
writeFileSync(filePath, newContent);
|
|
462
398
|
}
|
|
463
|
-
|
|
464
399
|
return "updated";
|
|
465
400
|
}
|
|
466
401
|
|
|
@@ -1000,6 +935,10 @@ export function writeHttpBlock(projectRoot: string, httpConfig: HttpConfig, dryR
|
|
|
1000
935
|
* Returns true if user accepts, false otherwise.
|
|
1001
936
|
*/
|
|
1002
937
|
export async function promptHttpEnable(): Promise<boolean> {
|
|
938
|
+
if (!process.stdin.isTTY) {
|
|
939
|
+
info("Non-TTY stdin — skipping HTTP prompt (use --enable-http to enable)");
|
|
940
|
+
return false;
|
|
941
|
+
}
|
|
1003
942
|
console.log("");
|
|
1004
943
|
console.log("[?] Enable ndomo HTTP server? Allows programmatic plan/task control via API.");
|
|
1005
944
|
console.log(" Recommended for users integrating ndomo with other tools (port 4097, auth required).");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dashboard[data-v-e142846a]{display:flex;flex-direction:column;gap:var(--space-6)}.section-title[data-v-e142846a]{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.section-header[data-v-e142846a]{display:flex;align-items:center;justify-content:space-between}.view-all[data-v-e142846a]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}.health-grid[data-v-e142846a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.health-item[data-v-e142846a]{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.label[data-v-e142846a]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.val[data-v-e142846a]{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-primary)}.val-ok[data-v-e142846a]{color:var(--status-done);font-size:var(--fs-md);font-weight:var(--fw-medium)}.val-warn[data-v-e142846a]{color:var(--status-failed);font-size:var(--fs-md);font-weight:var(--fw-medium)}.plans-table[data-v-e142846a]{width:100%;border-collapse:collapse}th[data-v-e142846a]{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.plan-row[data-v-e142846a]{cursor:pointer;transition:background var(--t-fast)}.plan-row[data-v-e142846a]:hover,.plan-row[data-v-e142846a]:focus-visible{background:var(--bg-elevated)}.plan-row[data-v-e142846a]:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}td[data-v-e142846a]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm)}.cell-title[data-v-e142846a]{font-weight:var(--fw-medium);color:var(--text-primary)}.cell-num[data-v-e142846a]{text-align:center;width:50px}.cell-time[data-v-e142846a]{text-align:right;white-space:nowrap}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as f,c as d,a as s,u as t,b as c,n as h,t as n,e as g,f as m,w as b,F as w,r as $,g as C,o as l,h as x,i as V,j as B,_ as S}from"./index-C2SSDae4.js";import{u as p,E as v,S as N,a as R,L as _}from"./index-BGRWFBcE.js";import{l as A}from"./plans-irckvnye.js";const D={class:"dashboard"},E={class:"health-section"},K={key:2,class:"health-grid"},L={class:"health-item"},M={class:"health-item"},F={class:"val"},H={class:"health-item"},T={class:"val"},j={class:"health-item"},z={class:"plans-section"},G={class:"section-header"},I={key:2,class:"plans-table"},P=["onClick","onKeydown"],U={class:"cell-title"},q={class:"cell-num"},J={class:"cell-num"},O={class:"cell-time muted"},Q={key:3,class:"muted"},W=f({__name:"DashboardView",setup(X){const a=p(()=>V("/health")),r=p(()=>A({limit:5}));function y(u){const e=Math.floor(u/1e3);if(e<60)return`${e}s`;const i=Math.floor(e/60);return i<60?`${i}m ${e%60}s`:`${Math.floor(i/60)}h ${i%60}m`}return(u,e)=>{const i=C("router-link");return l(),d("div",D,[s("section",E,[e[4]||(e[4]=s("h2",{class:"section-title"},"server",-1)),t(a).loading.value?(l(),c(_,{key:0})):t(a).error.value?(l(),c(v,{key:1,message:t(a).error.value.message,retryable:"",onRetry:t(a).refresh},null,8,["message","onRetry"])):t(a).data.value?(l(),d("div",K,[s("div",L,[e[0]||(e[0]=s("span",{class:"label"},"status",-1)),s("span",{class:h(t(a).data.value.status==="ok"?"val-ok":"val-warn")},n(t(a).data.value.status),3)]),s("div",M,[e[1]||(e[1]=s("span",{class:"label"},"version",-1)),s("span",F,n(t(a).data.value.version),1)]),s("div",H,[e[2]||(e[2]=s("span",{class:"label"},"uptime",-1)),s("span",T,n(y(t(a).data.value.uptime)),1)]),s("div",j,[e[3]||(e[3]=s("span",{class:"label"},"db",-1)),s("span",{class:h(t(a).data.value.dbHealthy?"val-ok":"val-warn")},n(t(a).data.value.dbHealthy?"ok":"degraded"),3)])])):g("",!0)]),s("section",z,[s("div",G,[e[6]||(e[6]=s("h2",{class:"section-title"},"recent plans",-1)),m(i,{to:"/plans",class:"view-all"},{default:b(()=>[...e[5]||(e[5]=[x("view all",-1)])]),_:1})]),t(r).loading.value?(l(),c(_,{key:0})):t(r).error.value?(l(),c(v,{key:1,message:t(r).error.value.message,retryable:"",onRetry:t(r).refresh},null,8,["message","onRetry"])):t(r).data.value&&t(r).data.value.length>0?(l(),d("table",I,[e[7]||(e[7]=s("thead",null,[s("tr",null,[s("th",null,"plan"),s("th",null,"status"),s("th",null,"pri"),s("th",null,"cx"),s("th",null,"updated")])],-1)),s("tbody",null,[(l(!0),d(w,null,$(t(r).data.value,o=>(l(),d("tr",{key:o.id,class:"plan-row",tabindex:"0",role:"link",onClick:k=>u.$router.push(`/plans/${o.id}`),onKeydown:B(k=>u.$router.push(`/plans/${o.id}`),["enter"])},[s("td",U,n(o.slug),1),s("td",null,[m(N,{status:o.status},null,8,["status"])]),s("td",q,n(o.priority),1),s("td",J,n(o.complexity),1),s("td",O,n(t(R)(o.updatedAt).value),1)],40,P))),128))])])):(l(),d("p",Q,"no plans yet"))])])}}}),es=S(W,[["__scopeId","data-v-e142846a"]]);export{es as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as s,o as a,c as n,a as e,f as r,w as d,h as c,g as l}from"./index-C2SSDae4.js";const _={},f={class:"not-found"};function i(u,o){const t=l("router-link");return a(),n("div",f,[o[1]||(o[1]=e("h1",{class:"code"},"404",-1)),o[2]||(o[2]=e("p",{class:"muted"},"page not found",-1)),r(t,{to:"/",class:"back-link"},{default:d(()=>[...o[0]||(o[0]=[c("back to dashboard",-1)])]),_:1})])}const k=s(_,[["render",i],["__scopeId","data-v-e7dea497"]]);export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.not-found[data-v-e7dea497]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12)}.code[data-v-e7dea497]{margin:0;font-size:var(--fs-xxl);font-weight:var(--fw-bold);color:var(--text-muted)}p[data-v-e7dea497]{margin:0;font-size:var(--fs-sm)}.back-link[data-v-e7dea497]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as x,u as h,E as y,a as f,L as b}from"./index-BGRWFBcE.js";import{g as A}from"./plans-irckvnye.js";import{l as V}from"./tasks-FTD239u7.js";import{d as w,o as l,c as i,j as C,a as t,f as B,t as n,_ as R,u as e,b as v,F as k,e as u,r as $,p as S,h as D,m as F}from"./index-C2SSDae4.js";const N=["aria-label"],E={class:"cell-status"},L={class:"cell-agent mono"},P={class:"cell-desc"},I={class:"cell-duration mono muted"},K=w({__name:"TaskRow",props:{task:{}},emits:["click"],setup(o){function m(d){return d==null?"-":d<1e3?`${d}ms`:d<6e4?`${(d/1e3).toFixed(1)}s`:`${(d/6e4).toFixed(1)}m`}return(d,s)=>(l(),i("tr",{class:"task-row",tabindex:"0",role:"link","aria-label":`task: ${o.task.description}, agent: ${o.task.agent}, status: ${o.task.status}`,onClick:s[0]||(s[0]=r=>d.$emit("click",o.task.id)),onKeydown:s[1]||(s[1]=C(r=>d.$emit("click",o.task.id),["enter"]))},[t("td",E,[B(x,{status:o.task.status},null,8,["status"])]),t("td",L,n(o.task.agent),1),t("td",P,n(o.task.description),1),t("td",I,n(m(o.task.durationMs)),1)],40,N))}}),j=R(K,[["__scopeId","data-v-0ed394de"]]),M={class:"plan-detail"},q={class:"plan-meta"},z={class:"meta-header"},G={class:"plan-title"},H={class:"plan-slug muted"},J={class:"plan-overview"},O={class:"meta-grid"},Q={class:"meta-item"},U={class:"val"},W={class:"meta-item"},X={class:"val"},Y={class:"meta-item"},Z={class:"val"},tt={class:"meta-item"},et={class:"val"},st={key:0,class:"meta-item"},at={class:"val"},lt={key:1,class:"meta-item"},nt={class:"val"},ot={key:0,class:"approach"},dt={class:"approach-text"},it={class:"tasks-section"},rt={class:"group-label"},ut={class:"group-count"},ct={class:"tasks-table"},pt={key:0,class:"muted",style:{"text-align":"center",padding:"var(--space-6)"}},vt=w({__name:"PlanDetailView",props:{id:{}},setup(o){const m=o,d=F(),s=h(()=>A(m.id)),r=h(()=>V(m.id)),_=S(()=>{if(!r.data.value)return null;const c={running:[],pending:[],done:[],failed:[],blocked:[]};for(const a of r.data.value)c[a.status].push(a);return c});function T(c){d.push(`/tasks/${c}`)}return(c,a)=>(l(),i("div",M,[e(s).loading.value&&!e(s).data.value?(l(),v(b,{key:0})):e(s).error.value?(l(),v(y,{key:1,message:e(s).error.value.message,retryable:"",onRetry:e(s).refresh},null,8,["message","onRetry"])):e(s).data.value?(l(),i(k,{key:2},[t("section",q,[t("div",z,[t("h2",G,n(e(s).data.value.title),1),B(x,{status:e(s).data.value.status},null,8,["status"])]),t("p",H,n(e(s).data.value.slug),1),t("p",J,n(e(s).data.value.overview),1),t("div",O,[t("div",Q,[a[0]||(a[0]=t("span",{class:"label"},"priority",-1)),t("span",U,n(e(s).data.value.priority),1)]),t("div",W,[a[1]||(a[1]=t("span",{class:"label"},"complexity",-1)),t("span",X,n(e(s).data.value.complexity),1)]),t("div",Y,[a[2]||(a[2]=t("span",{class:"label"},"created",-1)),t("span",Z,n(e(f)(e(s).data.value.createdAt).value),1)]),t("div",tt,[a[3]||(a[3]=t("span",{class:"label"},"updated",-1)),t("span",et,n(e(f)(e(s).data.value.updatedAt).value),1)]),e(s).data.value.createdBy?(l(),i("div",st,[a[4]||(a[4]=t("span",{class:"label"},"created by",-1)),t("span",at,n(e(s).data.value.createdBy),1)])):u("",!0),e(s).data.value.executedByAgent?(l(),i("div",lt,[a[5]||(a[5]=t("span",{class:"label"},"executed by",-1)),t("span",nt,n(e(s).data.value.executedByAgent),1)])):u("",!0)]),e(s).data.value.approach?(l(),i("div",ot,[a[6]||(a[6]=t("span",{class:"label"},"approach",-1)),t("pre",dt,n(e(s).data.value.approach),1)])):u("",!0)]),t("section",it,[a[8]||(a[8]=t("h3",{class:"section-title"},"tasks",-1)),e(r).loading.value&&!e(r).data.value?(l(),v(b,{key:0})):e(r).error.value?(l(),v(y,{key:1,message:e(r).error.value.message,retryable:"",onRetry:e(r).refresh},null,8,["message","onRetry"])):_.value?(l(),i(k,{key:2},[(l(),i(k,null,$(["running","pending","failed","blocked","done"],p=>t("div",{key:p,class:"task-group"},[_.value[p].length>0?(l(),i(k,{key:0},[t("h4",rt,[D(n(p)+" ",1),t("span",ut,n(_.value[p].length),1)]),t("table",ct,[a[7]||(a[7]=t("thead",null,[t("tr",null,[t("th",null,"status"),t("th",null,"agent"),t("th",null,"description"),t("th",null,"duration")])],-1)),t("tbody",null,[(l(!0),i(k,null,$(_.value[p],g=>(l(),v(j,{key:g.id,task:g,onClick:T},null,8,["task"]))),128))])])],64)):u("",!0)])),64)),e(r).data.value?.length===0?(l(),i("p",pt," no tasks ")):u("",!0)],64)):u("",!0)])],64)):u("",!0)]))}}),ht=R(vt,[["__scopeId","data-v-9fc5dc6b"]]);export{ht as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.task-row[data-v-0ed394de]{cursor:pointer;transition:background var(--t-fast)}.task-row[data-v-0ed394de]:hover,.task-row[data-v-0ed394de]:focus-visible{background:var(--bg-elevated)}.task-row[data-v-0ed394de]:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}td[data-v-0ed394de]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-agent[data-v-0ed394de]{width:120px}.cell-desc[data-v-0ed394de]{max-width:500px;white-space:normal}.cell-duration[data-v-0ed394de]{text-align:right;width:80px}.plan-detail[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:var(--space-6)}.plan-meta[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.meta-header[data-v-9fc5dc6b]{display:flex;align-items:center;gap:var(--space-3)}.plan-title[data-v-9fc5dc6b]{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.plan-slug[data-v-9fc5dc6b]{margin:0;font-size:var(--fs-xs)}.plan-overview[data-v-9fc5dc6b]{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}.meta-grid[data-v-9fc5dc6b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.meta-item[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:2px}.label[data-v-9fc5dc6b]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.val[data-v-9fc5dc6b]{font-size:var(--fs-sm);color:var(--text-primary)}.approach[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:var(--space-2)}.approach-text[data-v-9fc5dc6b]{margin:0;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-elevated);padding:var(--space-3);border-radius:var(--r-sm);max-height:300px;overflow-y:auto}.section-title[data-v-9fc5dc6b]{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.tasks-section[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:var(--space-3)}.task-group[data-v-9fc5dc6b]{display:flex;flex-direction:column;gap:var(--space-2)}.group-label[data-v-9fc5dc6b]{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.group-count[data-v-9fc5dc6b]{font-size:var(--fs-xs);color:var(--text-disabled)}.tasks-table[data-v-9fc5dc6b]{width:100%;border-collapse:collapse}th[data-v-9fc5dc6b]{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.plan-row[data-v-080a9ffa]{cursor:pointer;transition:background var(--t-fast)}.plan-row[data-v-080a9ffa]:hover,.plan-row[data-v-080a9ffa]:focus-visible{background:var(--bg-elevated)}.plan-row[data-v-080a9ffa]:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}td[data-v-080a9ffa]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.cell-title[data-v-080a9ffa]{max-width:400px}.plan-slug[data-v-080a9ffa]{color:var(--text-primary);font-weight:var(--fw-medium)}.cell-priority[data-v-080a9ffa],.cell-complexity[data-v-080a9ffa]{text-align:center;width:60px}.cell-updated[data-v-080a9ffa]{text-align:right;width:120px}.plan-list-view[data-v-507fbeaa]{display:flex;flex-direction:column;gap:var(--space-4)}.toolbar[data-v-507fbeaa]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.filters[data-v-507fbeaa]{display:flex;align-items:center;gap:var(--space-2)}.filter-label[data-v-507fbeaa]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.filter-select[data-v-507fbeaa]{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);min-width:120px}.refresh-btn[data-v-507fbeaa]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}.table-wrap[data-v-507fbeaa]{overflow-x:auto}.plans-table[data-v-507fbeaa]{width:100%;border-collapse:collapse}th[data-v-507fbeaa]{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.empty-msg[data-v-507fbeaa]{text-align:center;padding:var(--space-6)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as h,o as i,c as r,j as k,a as e,t as d,f as y,u as a,_ as g,k as $,v as x,F as f,r as b,b as v,e as w,l as C,m as L}from"./index-C2SSDae4.js";import{a as S,S as V,u as B,E as P,L as A}from"./index-BGRWFBcE.js";import{l as _}from"./plans-irckvnye.js";const I=["aria-label"],R={class:"cell-title"},E={class:"plan-slug"},F={class:"cell-status"},N={class:"cell-priority mono"},D={class:"cell-complexity mono"},K={class:"cell-updated muted"},j=h({__name:"PlanListItem",props:{plan:{}},emits:["click"],setup(s,{emit:c}){const u=s,t=c,p=S(()=>u.plan.updatedAt);return(m,n)=>(i(),r("tr",{class:"plan-row",tabindex:"0",role:"link","aria-label":`plan: ${s.plan.title}, status: ${s.plan.status}`,onClick:n[0]||(n[0]=l=>t("click",s.plan.id)),onKeydown:n[1]||(n[1]=k(l=>t("click",s.plan.id),["enter"]))},[e("td",R,[e("span",E,d(s.plan.slug),1)]),e("td",F,[y(V,{status:s.plan.status},null,8,["status"])]),e("td",N,d(s.plan.priority),1),e("td",D,d(s.plan.complexity),1),e("td",K,d(a(p)),1)],40,I))}}),M=g(j,[["__scopeId","data-v-080a9ffa"]]),T={class:"plan-list-view"},U={class:"toolbar"},q={class:"filters"},z=["value"],G=["disabled"],H={key:2,class:"table-wrap"},J={class:"plans-table"},O={key:0,class:"muted empty-msg"},Q=h({__name:"PlanListView",setup(s){const c=L(),u=C(""),t=B(()=>{const n=u.value;return n?_({status:n}):_()});function p(n){c.push(`/plans/${n}`)}const m=[{value:"",label:"all"},{value:"draft",label:"draft"},{value:"approved",label:"approved"},{value:"executing",label:"executing"},{value:"completed",label:"completed"},{value:"failed",label:"failed"},{value:"abandoned",label:"abandoned"}];return(n,l)=>(i(),r("div",T,[e("div",U,[e("div",q,[l[3]||(l[3]=e("label",{class:"filter-label"},"status",-1)),$(e("select",{"onUpdate:modelValue":l[0]||(l[0]=o=>u.value=o),class:"filter-select",onChange:l[1]||(l[1]=o=>a(t).refresh())},[(i(),r(f,null,b(m,o=>e("option",{key:o.value,value:o.value},d(o.label),9,z)),64))],544),[[x,u.value]])]),e("button",{class:"refresh-btn",disabled:a(t).loading.value,onClick:l[2]||(l[2]=o=>a(t).refresh())}," refresh ",8,G)]),a(t).loading.value&&!a(t).data.value?(i(),v(A,{key:0})):a(t).error.value?(i(),v(P,{key:1,message:a(t).error.value.message,retryable:"",onRetry:a(t).refresh},null,8,["message","onRetry"])):(i(),r("div",H,[e("table",J,[l[4]||(l[4]=e("thead",null,[e("tr",null,[e("th",null,"plan"),e("th",null,"status"),e("th",null,"pri"),e("th",null,"cx"),e("th",null,"updated")])],-1)),e("tbody",null,[(i(!0),r(f,null,b(a(t).data.value,o=>(i(),v(M,{key:o.id,plan:o,onClick:p},null,8,["plan"]))),128))])]),a(t).data.value&&a(t).data.value.length===0?(i(),r("p",O," no plans found ")):w("",!0)]))]))}}),Z=g(Q,[["__scopeId","data-v-507fbeaa"]]);export{Z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as k,E as y,S as g,a as c,L as h}from"./index-BGRWFBcE.js";import{g as b}from"./tasks-FTD239u7.js";import{d as x,c as n,u as e,b as p,F as u,a as s,f as B,t as o,e as d,r as v,o as l,_ as A}from"./index-C2SSDae4.js";const S={class:"task-detail"},V={class:"task-meta"},D={class:"meta-header"},F={class:"agent mono"},T={class:"task-desc"},E={class:"meta-grid"},L={class:"meta-item"},N={class:"val"},$={class:"meta-item"},w={class:"val"},C={class:"meta-item"},I={class:"val"},R={class:"meta-item"},M={class:"val"},j={class:"meta-item"},q={class:"val"},z={key:0,class:"meta-item"},G={class:"val"},H={key:0,class:"files-section"},J={class:"file-list"},K={key:1,class:"deps-section"},O={class:"dep-list"},P={key:0,class:"result-section"},Q={class:"result-text"},U={key:1,class:"error-section"},W={class:"error-text"},X=x({__name:"TaskDetailView",props:{id:{}},setup(_){const m=_,t=k(()=>b(m.id));function f(i){return i==null?"-":i<1e3?`${i}ms`:i<6e4?`${(i/1e3).toFixed(1)}s`:`${(i/6e4).toFixed(1)}m`}return(i,a)=>(l(),n("div",S,[e(t).loading.value&&!e(t).data.value?(l(),p(h,{key:0})):e(t).error.value?(l(),p(y,{key:1,message:e(t).error.value.message,retryable:"",onRetry:e(t).refresh},null,8,["message","onRetry"])):e(t).data.value?(l(),n(u,{key:2},[s("section",V,[s("div",D,[B(g,{status:e(t).data.value.status},null,8,["status"]),s("span",F,o(e(t).data.value.agent),1)]),s("p",T,o(e(t).data.value.description),1),s("div",E,[s("div",L,[a[0]||(a[0]=s("span",{class:"label"},"order",-1)),s("span",N,o(e(t).data.value.orderIndex),1)]),s("div",$,[a[1]||(a[1]=s("span",{class:"label"},"complexity",-1)),s("span",w,o(e(t).data.value.complexity),1)]),s("div",C,[a[2]||(a[2]=s("span",{class:"label"},"duration",-1)),s("span",I,o(f(e(t).data.value.durationMs)),1)]),s("div",R,[a[3]||(a[3]=s("span",{class:"label"},"started",-1)),s("span",M,o(e(t).data.value.startedAt?e(c)(e(t).data.value.startedAt).value:"-"),1)]),s("div",j,[a[4]||(a[4]=s("span",{class:"label"},"completed",-1)),s("span",q,o(e(t).data.value.completedAt?e(c)(e(t).data.value.completedAt).value:"-"),1)]),e(t).data.value.createdBy?(l(),n("div",z,[a[5]||(a[5]=s("span",{class:"label"},"created by",-1)),s("span",G,o(e(t).data.value.createdBy),1)])):d("",!0)]),e(t).data.value.files.length>0?(l(),n("div",H,[a[6]||(a[6]=s("span",{class:"label"},"files",-1)),s("ul",J,[(l(!0),n(u,null,v(e(t).data.value.files,r=>(l(),n("li",{key:r,class:"file-item mono"},o(r),1))),128))])])):d("",!0),e(t).data.value.dependencies.length>0?(l(),n("div",K,[a[7]||(a[7]=s("span",{class:"label"},"dependencies",-1)),s("ul",O,[(l(!0),n(u,null,v(e(t).data.value.dependencies,r=>(l(),n("li",{key:r,class:"dep-item mono"},o(r),1))),128))])])):d("",!0)]),e(t).data.value.result?(l(),n("section",P,[a[8]||(a[8]=s("h3",{class:"section-title"},"result",-1)),s("pre",Q,o(e(t).data.value.result),1)])):d("",!0),e(t).data.value.error?(l(),n("section",U,[a[9]||(a[9]=s("h3",{class:"section-title"},"error",-1)),s("pre",W,o(e(t).data.value.error),1)])):d("",!0)],64)):d("",!0)]))}}),es=A(X,[["__scopeId","data-v-faa06ff9"]]);export{es as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.task-detail[data-v-faa06ff9]{display:flex;flex-direction:column;gap:var(--space-6)}.task-meta[data-v-faa06ff9]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.meta-header[data-v-faa06ff9]{display:flex;align-items:center;gap:var(--space-3)}.agent[data-v-faa06ff9]{font-size:var(--fs-sm);color:var(--text-secondary)}.task-desc[data-v-faa06ff9]{margin:0;font-size:var(--fs-sm);color:var(--text-primary);line-height:var(--lh-relaxed)}.meta-grid[data-v-faa06ff9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.meta-item[data-v-faa06ff9]{display:flex;flex-direction:column;gap:2px}.label[data-v-faa06ff9]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.val[data-v-faa06ff9]{font-size:var(--fs-sm);color:var(--text-primary)}.files-section[data-v-faa06ff9],.deps-section[data-v-faa06ff9]{display:flex;flex-direction:column;gap:var(--space-2)}.file-list[data-v-faa06ff9],.dep-list[data-v-faa06ff9]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.file-item[data-v-faa06ff9],.dep-item[data-v-faa06ff9]{font-size:var(--fs-xs);color:var(--text-secondary);padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border-radius:var(--r-sm)}.section-title[data-v-faa06ff9]{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.result-section[data-v-faa06ff9],.error-section[data-v-faa06ff9]{display:flex;flex-direction:column;gap:var(--space-2)}.result-text[data-v-faa06ff9],.error-text[data-v-faa06ff9]{margin:0;font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-3);border-radius:var(--r-sm);max-height:400px;overflow-y:auto}.result-text[data-v-faa06ff9]{color:var(--text-secondary)}.error-text[data-v-faa06ff9]{color:var(--status-failed)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{H as I,l as g,d as h,c as _,q as C,t as D,o as x,_ as A,n as L,a as E,e as N,s as M,x as V,u as q,y as B,z,p as O,A as R}from"./index-C2SSDae4.js";function ae(e){const t=g(null),a=g(null),o=g(!1);async function s(){o.value=!0,a.value=null;try{t.value=await e()}catch(n){n instanceof I?a.value=n:a.value=new I(0,{error:"unknown",message:n instanceof Error?n.message:String(n)})}finally{o.value=!1}}return s(),{data:t,error:a,loading:o,refresh:s}}const U=["aria-label"],W=h({__name:"StatusBadge",props:{status:{}},setup(e){const t=e,a={pending:"pending",running:"running",done:"done",failed:"failed",blocked:"blocked",draft:"draft",approved:"approved",executing:"executing",completed:"completed",abandoned:"abandoned"},o={pending:"--status-pending",running:"--status-running",done:"--status-done",failed:"--status-failed",blocked:"--status-blocked",draft:"--status-draft",approved:"--status-approved",executing:"--status-executing",completed:"--status-completed",abandoned:"--status-abandoned"};return(s,n)=>(x(),_("span",{class:"status-badge",style:C({color:`var(${o[t.status]??"--text-muted"})`}),"aria-label":`status: ${a[t.status]??t.status}`},D(a[t.status]??t.status),13,U))}}),se=A(W,[["__scopeId","data-v-c9f23c5a"]]),j=h({__name:"LoadingSpinner",props:{size:{}},setup(e){return(t,a)=>(x(),_("div",{class:L(["spinner",e.size??"md"]),"aria-label":"Loading",role:"status"},[...a[0]||(a[0]=[E("div",{class:"spinner-ring"},null,-1)])],2))}}),oe=A(j,[["__scopeId","data-v-48f504ae"]]),G={class:"error-state",role:"alert"},H={class:"error-msg"},P=h({__name:"ErrorState",props:{message:{},retryable:{type:Boolean}},emits:["retry"],setup(e){return(t,a)=>(x(),_("div",G,[E("p",H,D(e.message??"something went wrong"),1),e.retryable?(x(),_("button",{key:0,class:"retry-btn",onClick:a[0]||(a[0]=o=>t.$emit("retry"))},"retry")):N("",!0)]))}}),re=A(P,[["__scopeId","data-v-37b5a0f6"]]);function b(e){return B()?(z(e),!0):!1}function S(e){return typeof e=="function"?e():q(e)}const $=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function Y(e,t=1e3,a={}){const{immediate:o=!0,immediateCallback:s=!1}=a;let n=null;const r=g(!1);function i(){n&&(clearInterval(n),n=null)}function c(){r.value=!1,i()}function d(){const f=S(t);f<=0||(r.value=!0,s&&e(),i(),r.value&&(n=setInterval(e,f)))}if(o&&$&&d(),M(t)||typeof t=="function"){const f=V(t,()=>{r.value&&$&&d()});b(f)}return b(c),{isActive:r,pause:c,resume:d}}const J=$?window:void 0;function K(e,t={}){const{immediate:a=!0,fpsLimit:o=void 0,window:s=J}=t,n=g(!1),r=o?1e3/o:null;let i=0,c=null;function d(m){if(!n.value||!s)return;i||(i=m);const y=m-i;if(r&&y<r){c=s.requestAnimationFrame(d);return}i=m,e({delta:y,timestamp:m}),c=s.requestAnimationFrame(d)}function f(){!n.value&&s&&(n.value=!0,i=0,c=s.requestAnimationFrame(d))}function p(){n.value=!1,c!=null&&s&&(s.cancelAnimationFrame(c),c=null)}return a&&f(),b(p),{isActive:R(n),pause:p,resume:f}}function Q(e={}){const{controls:t=!1,interval:a="requestAnimationFrame"}=e,o=g(new Date),s=()=>o.value=new Date,n=a==="requestAnimationFrame"?K(s,{immediate:!0}):Y(s,a,{immediate:!0});return t?{now:o,...n}:o}const X=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:Number.POSITIVE_INFINITY,value:31536e6,name:"year"}],Z={justNow:"just now",past:e=>e.match(/\d/)?`${e} ago`:e,future:e=>e.match(/\d/)?`in ${e}`:e,month:(e,t)=>e===1?t?"last month":"next month":`${e} month${e>1?"s":""}`,year:(e,t)=>e===1?t?"last year":"next year":`${e} year${e>1?"s":""}`,day:(e,t)=>e===1?t?"yesterday":"tomorrow":`${e} day${e>1?"s":""}`,week:(e,t)=>e===1?t?"last week":"next week":`${e} week${e>1?"s":""}`,hour:e=>`${e} hour${e>1?"s":""}`,minute:e=>`${e} minute${e>1?"s":""}`,second:e=>`${e} second${e>1?"s":""}`,invalid:""};function ee(e){return e.toISOString().slice(0,10)}function ue(e,t={}){const{controls:a=!1,updateInterval:o=3e4}=t,{now:s,...n}=Q({interval:o,controls:!0}),r=O(()=>te(new Date(S(e)),t,S(s)));return a?{timeAgo:r,...n}:r}function te(e,t={},a=Date.now()){var o;const{max:s,messages:n=Z,fullDateFormatter:r=ee,units:i=X,showSecond:c=!1,rounding:d="round"}=t,f=typeof d=="number"?u=>+u.toFixed(d):Math[d],p=+a-+e,m=Math.abs(p);function y(u,l){return f(Math.abs(u)/l.value)}function F(u,l){const w=y(u,l),v=u>0,T=k(l.name,w,v);return k(v?"past":"future",T,v)}function k(u,l,w){const v=n[u];return typeof v=="function"?v(l,w):v.replace("{0}",l.toString())}if(m<6e4&&!c)return n.justNow;if(typeof s=="number"&&m>s)return r(new Date(e));if(typeof s=="string"){const u=(o=i.find(l=>l.name===s))==null?void 0:o.max;if(u&&m>u)return r(new Date(e))}for(const[u,l]of i.entries()){if(y(p,l)<=0&&i[u-1])return F(p,i[u-1]);if(m<l.max)return F(p,l)}return n.invalid}export{re as E,oe as L,se as S,ue as a,ae as u};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DashboardView-DAWAKZNz.js","./index-BGRWFBcE.js","./index-CEAMShE3.css","./plans-irckvnye.js","./DashboardView-CmppeWb0.css","./PlanListView-Df_-1nEm.js","./PlanListView-C0GKM0Bx.css","./PlanDetailView-CmJwuCSn.js","./tasks-FTD239u7.js","./PlanDetailView-DrsYj4iZ.css","./TaskDetailView-BFW2TSBA.js","./TaskDetailView-CawrkkAA.css","./NotFoundView-eTgwHzle.js","./NotFoundView-hWw8FBkY.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/**
|
|
3
|
+
* @vue/shared v3.5.39
|
|
4
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
5
|
+
* @license MIT
|
|
6
|
+
**/function Ps(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Pt=[],$e=()=>{},zr=()=>!1,Ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fn=e=>e.startsWith("onUpdate:"),de=Object.assign,Ts=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yo=Object.prototype.hasOwnProperty,$=(e,t)=>yo.call(e,t),H=Array.isArray,Tt=e=>fn(e)==="[object Map]",Vn=e=>fn(e)==="[object Set]",Xs=e=>fn(e)==="[object Date]",B=e=>typeof e=="function",ne=e=>typeof e=="string",Te=e=>typeof e=="symbol",q=e=>e!==null&&typeof e=="object",Jr=e=>(q(e)||B(e))&&B(e.then)&&B(e.catch),Yr=Object.prototype.toString,fn=e=>Yr.call(e),bo=e=>fn(e).slice(8,-1),Qr=e=>fn(e)==="[object Object]",Is=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,qt=Ps(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Hn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Eo=/-\w/g,ye=Hn(e=>e.replace(Eo,t=>t.slice(1).toUpperCase())),Ao=/\B([A-Z])/g,ht=Hn(e=>e.replace(Ao,"-$1").toLowerCase()),jn=Hn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qn=Hn(e=>e?`on${jn(e)}`:""),We=(e,t)=>!Object.is(e,t),vn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Xr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Bn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const Un=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ns(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ne(s)?wo(s):Ns(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ne(e)||q(e))return e}const Ro=/;(?![^(]*\))/g,xo=/:([^]+)/,So=/\/\*[^]*?\*\//g;function wo(e){const t={};return e.replace(So,"").split(Ro).forEach(n=>{if(n){const s=n.split(xo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function tn(e){let t="";if(ne(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=tn(e[n]);s&&(t+=s+" ")}else if(q(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Co="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Oo=Ps(Co);function Zr(e){return!!e||e===""}function Po(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=an(e[s],t[s]);return n}function an(e,t){if(e===t)return!0;let n=Xs(e),s=Xs(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Te(e),s=Te(t),n||s)return e===t;if(n=H(e),s=H(t),n||s)return n&&s?Po(e,t):!1;if(n=q(e),s=q(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!an(e[o],t[o]))return!1}}return String(e)===String(t)}function To(e,t){return e.findIndex(n=>an(n,t))}const ei=e=>!!(e&&e.__v_isRef===!0),Ms=e=>ne(e)?e:e==null?"":H(e)||q(e)&&(e.toString===Yr||!B(e.toString))?ei(e)?Ms(e.value):JSON.stringify(e,ti,2):String(e),ti=(e,t)=>ei(t)?ti(e,t.value):Tt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Xn(s,i)+" =>"]=r,n),{})}:Vn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Xn(n))}:Te(t)?Xn(t):q(t)&&!H(t)&&!Qr(t)?String(t):t,Xn=(e,t="")=>{var n;return Te(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
7
|
+
* @vue/reactivity v3.5.39
|
|
8
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
9
|
+
* @license MIT
|
|
10
|
+
**/let oe;class Io{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&oe&&(oe.active?(this.parent=oe,this.index=(oe.scopes||(oe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=oe;try{return oe=this,t()}finally{oe=n}}}on(){++this._on===1&&(this.prevScope=oe,oe=this)}off(){if(this._on>0&&--this._on===0){if(oe===this)oe=this.prevScope;else{let t=oe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function No(){return oe}function Pf(e,t=!1){oe&&oe.cleanups.push(e)}let Z;const Zn=new WeakSet;class ni{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,oe&&(oe.active?oe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Zn.has(this)&&(Zn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ri(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,er(this),ii(this);const t=Z,n=Oe;Z=this,Oe=!0;try{return this.fn()}finally{oi(this),Z=t,Oe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Fs(t);this.deps=this.depsTail=void 0,er(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Zn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){hs(this)&&this.run()}get dirty(){return hs(this)}}let si=0,zt,Jt;function ri(e,t=!1){if(e.flags|=8,t){e.next=Jt,Jt=e;return}e.next=zt,zt=e}function Ds(){si++}function Ls(){if(--si>0)return;if(Jt){let t=Jt;for(Jt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;zt;){let t=zt;for(zt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function ii(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function oi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Fs(s),Mo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(li(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function li(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===nn)||(e.globalVersion=nn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Oe;Z=e,Oe=!0;try{ii(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Oe=s,oi(e),e.flags&=-3}}function Fs(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Fs(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Mo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Oe=!0;const ci=[];function ze(){ci.push(Oe),Oe=!1}function Je(){const e=ci.pop();Oe=e===void 0?!0:e}function er(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let nn=0;class Do{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Vs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!Oe||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Do(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,nn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ls()}}}function ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)ui(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ps=new WeakMap,Et=Symbol(""),gs=Symbol(""),sn=Symbol("");function he(e,t,n){if(Oe&&Z){let s=ps.get(e);s||ps.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Vs),r.map=s,r.key=n),r.track()}}function tt(e,t,n,s,r,i){const o=ps.get(e);if(!o){nn++;return}const l=c=>{c&&c.trigger()};if(Ds(),t==="clear")o.forEach(l);else{const c=H(e),d=c&&Is(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,g)=>{(g==="length"||g===sn||!Te(g)&&g>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(sn)),t){case"add":c?d&&l(o.get("length")):(l(o.get(Et)),Tt(e)&&l(o.get(gs)));break;case"delete":c||(l(o.get(Et)),Tt(e)&&l(o.get(gs)));break;case"set":Tt(e)&&l(o.get(Et));break}}Ls()}function wt(e){const t=W(e);return t===e?t:(he(t,"iterate",sn),Ce(e)?t:t.map(Ie))}function Kn(e){return he(e=W(e),"iterate",sn),e}function Ge(e,t){return st(e)?Lt(At(e)?Ie(t):t):Ie(t)}const Lo={__proto__:null,[Symbol.iterator](){return es(this,Symbol.iterator,e=>Ge(this,e))},concat(...e){return wt(this).concat(...e.map(t=>H(t)?wt(t):t))},entries(){return es(this,"entries",e=>(e[1]=Ge(this,e[1]),e))},every(e,t){return Qe(this,"every",e,t,void 0,arguments)},filter(e,t){return Qe(this,"filter",e,t,n=>n.map(s=>Ge(this,s)),arguments)},find(e,t){return Qe(this,"find",e,t,n=>Ge(this,n),arguments)},findIndex(e,t){return Qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Qe(this,"findLast",e,t,n=>Ge(this,n),arguments)},findLastIndex(e,t){return Qe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Qe(this,"forEach",e,t,void 0,arguments)},includes(...e){return ts(this,"includes",e)},indexOf(...e){return ts(this,"indexOf",e)},join(e){return wt(this).join(e)},lastIndexOf(...e){return ts(this,"lastIndexOf",e)},map(e,t){return Qe(this,"map",e,t,void 0,arguments)},pop(){return Ut(this,"pop")},push(...e){return Ut(this,"push",e)},reduce(e,...t){return tr(this,"reduce",e,t)},reduceRight(e,...t){return tr(this,"reduceRight",e,t)},shift(){return Ut(this,"shift")},some(e,t){return Qe(this,"some",e,t,void 0,arguments)},splice(...e){return Ut(this,"splice",e)},toReversed(){return wt(this).toReversed()},toSorted(e){return wt(this).toSorted(e)},toSpliced(...e){return wt(this).toSpliced(...e)},unshift(...e){return Ut(this,"unshift",e)},values(){return es(this,"values",e=>Ge(this,e))}};function es(e,t,n){const s=Kn(e),r=s[t]();return s!==e&&!Ce(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Fo=Array.prototype;function Qe(e,t,n,s,r,i){const o=Kn(e),l=o!==e&&!Ce(e),c=o[t];if(c!==Fo[t]){const h=c.apply(e,i);return l?Ie(h):h}let d=n;o!==e&&(l?d=function(h,g){return n.call(this,Ge(e,h),g,e)}:n.length>2&&(d=function(h,g){return n.call(this,h,g,e)}));const f=c.call(o,d,s);return l&&r?r(f):f}function tr(e,t,n,s){const r=Kn(e),i=r!==e&&!Ce(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(d,f,h){return l&&(l=!1,d=Ge(e,d)),n.call(this,d,Ge(e,f),h,e)}):n.length>3&&(o=function(d,f,h){return n.call(this,d,f,h,e)}));const c=r[t](o,...s);return l?Ge(e,c):c}function ts(e,t,n){const s=W(e);he(s,"iterate",sn);const r=s[t](...n);return(r===-1||r===!1)&&Bs(n[0])?(n[0]=W(n[0]),s[t](...n)):r}function Ut(e,t,n=[]){ze(),Ds();const s=W(e)[t].apply(e,n);return Ls(),Je(),s}const Vo=Ps("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Te));function Ho(e){Te(e)||(e=String(e));const t=W(this);return he(t,"has",e),t.hasOwnProperty(e)}class ai{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?zo:gi:i?pi:hi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=H(t);if(!r){let c;if(o&&(c=Lo[n]))return c;if(n==="hasOwnProperty")return Ho}const l=Reflect.get(t,n,ge(t)?t:s);if((Te(n)?fi.has(n):Vo(n))||(r||he(t,"get",n),i))return l;if(ge(l)){const c=o&&Is(n)?l:l.value;return r&&q(c)?_s(c):c}return q(l)?r?_s(l):Gn(l):l}}class di extends ai{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=H(t)&&Is(n);if(!this._isShallow){const d=st(i);if(!Ce(s)&&!st(s)&&(i=W(i),s=W(s)),!o&&ge(i)&&!ge(s))return d||(i.value=s),!0}const l=o?Number(n)<t.length:$(t,n),c=Reflect.set(t,n,s,ge(t)?t:r);return t===W(r)&&c&&(l?We(s,i)&&tt(t,"set",n,s):tt(t,"add",n,s)),c}deleteProperty(t,n){const s=$(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&tt(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Te(n)||!fi.has(n))&&he(t,"has",n),s}ownKeys(t){return he(t,"iterate",H(t)?"length":Et),Reflect.ownKeys(t)}}class jo extends ai{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Bo=new di,Uo=new jo,Ko=new di(!0);const ms=e=>e,gn=e=>Reflect.getPrototypeOf(e);function Go(e,t,n){return function(...s){const r=this.__v_raw,i=W(r),o=Tt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=r[e](...s),f=n?ms:t?Lt:Ie;return!t&&he(i,"iterate",c?gs:Et),de(Object.create(d),{next(){const{value:h,done:g}=d.next();return g?{value:h,done:g}:{value:l?[f(h[0]),f(h[1])]:f(h),done:g}}})}}function mn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ko(e,t){const n={get(r){const i=this.__v_raw,o=W(i),l=W(r);e||(We(r,l)&&he(o,"get",r),he(o,"get",l));const{has:c}=gn(o),d=t?ms:e?Lt:Ie;if(c.call(o,r))return d(i.get(r));if(c.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&he(W(r),"iterate",Et),r.size},has(r){const i=this.__v_raw,o=W(i),l=W(r);return e||(We(r,l)&&he(o,"has",r),he(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=W(l),d=t?ms:e?Lt:Ie;return!e&&he(c,"iterate",Et),l.forEach((f,h)=>r.call(i,d(f),d(h),o))}};return de(n,e?{add:mn("add"),set:mn("set"),delete:mn("delete"),clear:mn("clear")}:{add(r){const i=W(this),o=gn(i),l=W(r),c=!t&&!Ce(r)&&!st(r)?l:r;return o.has.call(i,c)||We(r,c)&&o.has.call(i,r)||We(l,c)&&o.has.call(i,l)||(i.add(c),tt(i,"add",c,c)),this},set(r,i){!t&&!Ce(i)&&!st(i)&&(i=W(i));const o=W(this),{has:l,get:c}=gn(o);let d=l.call(o,r);d||(r=W(r),d=l.call(o,r));const f=c.call(o,r);return o.set(r,i),d?We(i,f)&&tt(o,"set",r,i):tt(o,"add",r,i),this},delete(r){const i=W(this),{has:o,get:l}=gn(i);let c=o.call(i,r);c||(r=W(r),c=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return c&&tt(i,"delete",r,void 0),d},clear(){const r=W(this),i=r.size!==0,o=r.clear();return i&&tt(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Go(r,e,t)}),n}function Hs(e,t){const n=ko(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get($(n,r)&&r in s?n:s,r,i)}const Wo={get:Hs(!1,!1)},$o={get:Hs(!1,!0)},qo={get:Hs(!0,!1)};const hi=new WeakMap,pi=new WeakMap,gi=new WeakMap,zo=new WeakMap;function Jo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gn(e){return st(e)?e:js(e,!1,Bo,Wo,hi)}function mi(e){return js(e,!1,Ko,$o,pi)}function _s(e){return js(e,!0,Uo,qo,gi)}function js(e,t,n,s,r){if(!q(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Jo(bo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function At(e){return st(e)?At(e.__v_raw):!!(e&&e.__v_isReactive)}function st(e){return!!(e&&e.__v_isReadonly)}function Ce(e){return!!(e&&e.__v_isShallow)}function Bs(e){return e?!!e.__v_raw:!1}function W(e){const t=e&&e.__v_raw;return t?W(t):e}function Yo(e){return!$(e,"__v_skip")&&Object.isExtensible(e)&&Xr(e,"__v_skip",!0),e}const Ie=e=>q(e)?Gn(e):e,Lt=e=>q(e)?_s(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function Yt(e){return _i(e,!1)}function Qo(e){return _i(e,!0)}function _i(e,t){return ge(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.dep=new Vs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:W(t),this._value=n?t:Ie(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ce(t)||st(t);t=s?t:W(t),We(t,n)&&(this._rawValue=t,this._value=s?t:Ie(t),this.dep.trigger())}}function qe(e){return ge(e)?e.value:e}const Zo={get:(e,t,n)=>t==="__v_raw"?e:qe(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function vi(e){return At(e)?e:new Proxy(e,Zo)}class el{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Vs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=nn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return ri(this,!0),!0}get value(){const t=this.dep.track();return li(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new el(s,r,n)}const _n={},An=new WeakMap;let vt;function nl(e,t=!1,n=vt){if(n){let s=An.get(n);s||An.set(n,s=[]),s.push(e)}}function sl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,d=I=>r?I:Ce(I)||r===!1||r===0?nt(I,1):nt(I);let f,h,g,m,O=!1,x=!1;if(ge(e)?(h=()=>e.value,O=Ce(e)):At(e)?(h=()=>d(e),O=!0):H(e)?(x=!0,O=e.some(I=>At(I)||Ce(I)),h=()=>e.map(I=>{if(ge(I))return I.value;if(At(I))return d(I);if(B(I))return c?c(I,2):I()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){ze();try{g()}finally{Je()}}const I=vt;vt=f;try{return c?c(e,3,[m]):e(m)}finally{vt=I}}:h=$e,t&&r){const I=h,Y=r===!0?1/0:r;h=()=>nt(I(),Y)}const F=No(),V=()=>{f.stop(),F&&F.active&&Ts(F.effects,f)};if(i&&t){const I=t;t=(...Y)=>{const re=I(...Y);return V(),re}}let P=x?new Array(e.length).fill(_n):_n;const N=I=>{if(!(!(f.flags&1)||!f.dirty&&!I))if(t){const Y=f.run();if(I||r||O||(x?Y.some((re,ee)=>We(re,P[ee])):We(Y,P))){g&&g();const re=vt;vt=f;try{const ee=[Y,P===_n?void 0:x&&P[0]===_n?[]:P,m];P=Y,c?c(t,3,ee):t(...ee)}finally{vt=re}}}else f.run()};return l&&l(N),f=new ni(h),f.scheduler=o?()=>o(N,!1):N,m=I=>nl(I,!1,f),g=f.onStop=()=>{const I=An.get(f);if(I){if(c)c(I,4);else for(const Y of I)Y();An.delete(f)}},t?s?N(!0):P=f.run():o?o(N.bind(null,!0),!0):f.run(),V.pause=f.pause.bind(f),V.resume=f.resume.bind(f),V.stop=V,V}function nt(e,t=1/0,n){if(t<=0||!q(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ge(e))nt(e.value,t,n);else if(H(e))for(let s=0;s<e.length;s++)nt(e[s],t,n);else if(Vn(e)||Tt(e))e.forEach(s=>{nt(s,t,n)});else if(Qr(e)){for(const s in e)nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&nt(e[s],t,n)}return e}/**
|
|
11
|
+
* @vue/runtime-core v3.5.39
|
|
12
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
13
|
+
* @license MIT
|
|
14
|
+
**/function dn(e,t,n,s){try{return s?e(...s):e()}catch(r){kn(r,t,n)}}function Ne(e,t,n,s){if(B(e)){const r=dn(e,t,n,s);return r&&Jr(r)&&r.catch(i=>{kn(i,t,n)}),r}if(H(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ne(e[i],t,n,s));return r}}function kn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,d)===!1)return}l=l.parent}if(i){ze(),dn(i,null,10,[e,c,d]),Je();return}}rl(e,n,r,s,o)}function rl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const ve=[];let Ke=-1;const It=[];let ft=null,Ct=0;const yi=Promise.resolve();let Rn=null;function Us(e){const t=Rn||yi;return e?t.then(this?e.bind(this):e):t}function il(e){let t=Ke+1,n=ve.length;for(;t<n;){const s=t+n>>>1,r=ve[s],i=rn(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function Ks(e){if(!(e.flags&1)){const t=rn(e),n=ve[ve.length-1];!n||!(e.flags&2)&&t>=rn(n)?ve.push(e):ve.splice(il(t),0,e),e.flags|=1,bi()}}function bi(){Rn||(Rn=yi.then(Ai))}function ol(e){H(e)?It.push(...e):ft&&e.id===-1?ft.splice(Ct+1,0,e):e.flags&1||(It.push(e),e.flags|=1),bi()}function nr(e,t,n=Ke+1){for(;n<ve.length;n++){const s=ve[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ve.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ei(e){if(It.length){const t=[...new Set(It)].sort((n,s)=>rn(n)-rn(s));if(It.length=0,ft){ft.push(...t);return}for(ft=t,Ct=0;Ct<ft.length;Ct++){const n=ft[Ct];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ft=null,Ct=0}}const rn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Ke=0;Ke<ve.length;Ke++){const t=ve[Ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),dn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ke<ve.length;Ke++){const t=ve[Ke];t&&(t.flags&=-2)}Ke=-1,ve.length=0,Ei(),Rn=null,(ve.length||It.length)&&Ai()}}let ae=null,Ri=null;function xn(e){const t=ae;return ae=e,Ri=e&&e.type.__scopeId||null,t}function Sn(e,t=ae,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&On(-1);const i=xn(t);let o;try{o=e(...r)}finally{xn(i),s._d&&On(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function ll(e,t){if(ae===null)return e;const n=zn(ae),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=X]=t[r];i&&(B(i)&&(i={mounted:i,updated:i}),i.deep&&nt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function mt(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(ze(),Ne(c,n,8,[e.el,l,e,t]),Je())}}function yn(e,t){if(pe){let n=pe.provides;const s=pe.parent&&pe.parent.provides;s===n&&(n=pe.provides=Object.create(s)),n[e]=t}}function Pe(e,t,n=!1){const s=cc();if(s||Mt){let r=Mt?Mt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}const cl=Symbol.for("v-scx"),ul=()=>Pe(cl);function bn(e,t,n){return xi(e,t,n)}function xi(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=de({},n),c=t&&s||!t&&i!=="post";let d;if(cn){if(i==="sync"){const m=ul();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=$e,m.resume=$e,m.pause=$e,m}}const f=pe;l.call=(m,O,x)=>Ne(m,f,O,x);let h=!1;i==="post"?l.scheduler=m=>{Ee(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,O)=>{O?m():Ks(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=sl(e,t,l);return cn&&(d?d.push(g):c&&g()),g}function fl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Si(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=pn(this),l=xi(r,i.bind(s),n);return o(),l}function Si(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const al=Symbol("_vte"),dl=e=>e.__isTeleport,ns=Symbol("_leaveCb");function Gs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Gs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function hn(e,t){return B(e)?de({name:e.name},t,{setup:e}):e}function wi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function sr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const wn=new WeakMap;function Qt(e,t,n,s,r=!1){if(H(e)){e.forEach((x,F)=>Qt(x,t&&(H(t)?t[F]:t),n,s,r));return}if(Nt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Qt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?zn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,d=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=W(h),m=h===X?zr:x=>sr(f,x)?!1:$(g,x),O=(x,F)=>!(F&&sr(f,F));if(d!=null&&d!==c){if(rr(t),ne(d))f[d]=null,m(d)&&(h[d]=null);else if(ge(d)){const x=t;O(d,x.k)&&(d.value=null),x.k&&(f[x.k]=null)}}if(B(c)){ze();try{dn(c,l,12,[o,f])}finally{Je()}}else{const x=ne(c),F=ge(c);if(x||F){const V=()=>{if(e.f){const P=x?m(c)?h[c]:f[c]:O()||!e.k?c.value:f[e.k];if(r)H(P)&&Ts(P,i);else if(H(P))P.includes(i)||P.push(i);else if(x)f[c]=[i],m(c)&&(h[c]=f[c]);else{const N=[i];O(c,e.k)&&(c.value=N),e.k&&(f[e.k]=N)}}else x?(f[c]=o,m(c)&&(h[c]=o)):F&&(O(c,e.k)&&(c.value=o),e.k&&(f[e.k]=o))};if(o){const P=()=>{V(),wn.delete(e)};P.id=-1,wn.set(e,P),Ee(P,n)}else rr(e),V()}}}function rr(e){const t=wn.get(e);t&&(t.flags|=8,wn.delete(e))}Un().requestIdleCallback;Un().cancelIdleCallback;const Nt=e=>!!e.type.__asyncLoader,Ci=e=>e.type.__isKeepAlive;function hl(e,t){Oi(e,"a",t)}function pl(e,t){Oi(e,"da",t)}function Oi(e,t,n=pe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Wn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ci(r.parent.vnode)&&gl(s,t,n,r),r=r.parent}}function gl(e,t,n,s){const r=Wn(t,e,s,!0);Pi(()=>{Ts(s[t],r)},n)}function Wn(e,t,n=pe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ze();const l=pn(n),c=Ne(t,n,e,o);return l(),Je(),c});return s?r.unshift(i):r.push(i),i}}const it=e=>(t,n=pe)=>{(!cn||e==="sp")&&Wn(e,(...s)=>t(...s),n)},ml=it("bm"),_l=it("m"),vl=it("bu"),yl=it("u"),bl=it("bum"),Pi=it("um"),El=it("sp"),Al=it("rtg"),Rl=it("rtc");function xl(e,t=pe){Wn("ec",e,t)}const Sl="components";function Ti(e,t){return Cl(Sl,e,!0,t)||e}const wl=Symbol.for("v-ndc");function Cl(e,t,n=!0,s=!1){const r=ae||pe;if(r){const i=r.type;{const l=hc(i,!1);if(l&&(l===t||l===ye(t)||l===jn(ye(t))))return i}const o=ir(r[e]||i[e],t)||ir(r.appContext[e],t);return!o&&s?i:o}}function ir(e,t){return e&&(e[t]||e[ye(t)]||e[jn(ye(t))])}function Tf(e,t,n,s){let r;const i=n,o=H(e);if(o||ne(e)){const l=o&&At(e);let c=!1,d=!1;l&&(c=!Ce(e),d=st(e),e=Kn(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?d?Lt(Ie(e[f])):Ie(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(q(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}function Ol(e,t,n={},s,r){if(ae.ce||ae.parent&&Nt(ae.parent)&&ae.parent.ce){const d=Object.keys(n).length>0;return dt(),Tn(Re,null,[ce("slot",n,s)],d?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),dt();const o=i&&Ii(i(n)),l=n.key||o&&o.key,c=Tn(Re,{key:(l&&!Te(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function Ii(e){return e.some(t=>ln(t)?!(t.type===rt||t.type===Re&&!Ii(t.children)):!0)?e:null}const vs=e=>e?Xi(e)?zn(e):vs(e.parent):null,Xt=de(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>vs(e.parent),$root:e=>vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ks(e.update)}),$nextTick:e=>e.n||(e.n=Us.bind(e.proxy)),$watch:e=>fl.bind(e)}),ss=(e,t)=>e!==X&&!e.__isScriptSetup&&$(e,t),Pl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ss(s,t))return o[t]=1,s[t];if(r!==X&&$(r,t))return o[t]=2,r[t];if($(i,t))return o[t]=3,i[t];if(n!==X&&$(n,t))return o[t]=4,n[t];ys&&(o[t]=0)}}const d=Xt[t];let f,h;if(d)return t==="$attrs"&&he(e.attrs,"get",""),d(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==X&&$(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,$(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ss(r,t)?(r[t]=n,!0):s!==X&&$(s,t)?(s[t]=n,!0):$(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&$(e,l)||ss(t,l)||$(i,l)||$(s,l)||$(Xt,l)||$(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function or(e){return H(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ys=!0;function Tl(e){const t=Mi(e),n=e.proxy,s=e.ctx;ys=!1,t.beforeCreate&&lr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:g,beforeUpdate:m,updated:O,activated:x,deactivated:F,beforeDestroy:V,beforeUnmount:P,destroyed:N,unmounted:I,render:Y,renderTracked:re,renderTriggered:ee,errorCaptured:De,serverPrefetch:ot,expose:Le,inheritAttrs:lt,components:pt,directives:Fe,filters:jt}=t;if(d&&Il(d,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);q(z)&&(e.data=Gn(z))}if(ys=!0,i)for(const z in i){const G=i[z],Ye=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):$e,ct=!B(G)&&B(G.set)?G.set.bind(n):$e,Ve=we({get:Ye,set:ct});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Ve.value,set:be=>Ve.value=be})}if(l)for(const z in l)Ni(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{yn(G,z[G])})}f&&lr(f,e,"c");function le(z,G){H(G)?G.forEach(Ye=>z(Ye.bind(n))):G&&z(G.bind(n))}if(le(ml,h),le(_l,g),le(vl,m),le(yl,O),le(hl,x),le(pl,F),le(xl,De),le(Rl,re),le(Al,ee),le(bl,P),le(Pi,I),le(El,ot),H(Le))if(Le.length){const z=e.exposed||(e.exposed={});Le.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:Ye=>n[G]=Ye,enumerable:!0})})}else e.exposed||(e.exposed={});Y&&e.render===$e&&(e.render=Y),lt!=null&&(e.inheritAttrs=lt),pt&&(e.components=pt),Fe&&(e.directives=Fe),ot&&wi(e)}function Il(e,t,n=$e){H(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;q(r)?"default"in r?i=Pe(r.from||s,r.default,!0):i=Pe(r.from||s):i=Pe(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function lr(e,t,n){Ne(H(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ni(e,t,n,s){let r=s.includes(".")?Si(n,s):()=>n[s];if(ne(e)){const i=t[e];B(i)&&bn(r,i)}else if(B(e))bn(r,e.bind(n));else if(q(e))if(H(e))e.forEach(i=>Ni(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&bn(r,i,e)}}function Mi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>Cn(c,d,o,!0)),Cn(c,t,o)),q(t)&&i.set(t,c),c}function Cn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Cn(e,i,n,!0),r&&r.forEach(o=>Cn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Nl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Nl={data:cr,props:ur,emits:ur,methods:Wt,computed:Wt,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:Wt,directives:Wt,watch:Dl,provide:cr,inject:Ml};function cr(e,t){return t?e?function(){return de(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Ml(e,t){return Wt(bs(e),bs(t))}function bs(e){if(H(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function me(e,t){return e?[...new Set([].concat(e,t))]:t}function Wt(e,t){return e?de(Object.create(null),e,t):t}function ur(e,t){return e?H(e)&&H(t)?[...new Set([...e,...t])]:de(Object.create(null),or(e),or(t??{})):t}function Dl(e,t){if(!e)return t;if(!t)return e;const n=de(Object.create(null),e);for(const s in t)n[s]=me(e[s],t[s]);return n}function Di(){return{app:null,config:{isNativeTag:zr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ll=0;function Fl(e,t){return function(s,r=null){B(s)||(s=de({},s)),r!=null&&!q(r)&&(r=null);const i=Di(),o=new WeakSet,l=[];let c=!1;const d=i.app={_uid:Ll++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:gc,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&B(f.install)?(o.add(f),f.install(d,...h)):B(f)&&(o.add(f),f(d,...h))),d},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),d},component(f,h){return h?(i.components[f]=h,d):i.components[f]},directive(f,h){return h?(i.directives[f]=h,d):i.directives[f]},mount(f,h,g){if(!c){const m=d._ceVNode||ce(s,r);return m.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),c=!0,d._container=f,f.__vue_app__=d,zn(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(Ne(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(f,h){return i.provides[f]=h,d},runWithContext(f){const h=Mt;Mt=d;try{return f()}finally{Mt=h}}};return d}}let Mt=null;const Vl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ye(t)}Modifiers`]||e[`${ht(t)}Modifiers`];function Hl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Vl(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>ne(f)?f.trim():f)),o.number&&(r=n.map(Bn)));let l,c=s[l=Qn(t)]||s[l=Qn(ye(t))];!c&&i&&(c=s[l=Qn(ht(t))]),c&&Ne(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(d,e,6,r)}}const jl=new WeakMap;function Li(e,t,n=!1){const s=n?jl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=d=>{const f=Li(d,t,!0);f&&(l=!0,de(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(q(e)&&s.set(e,null),null):(H(i)?i.forEach(c=>o[c]=null):de(o,i),q(e)&&s.set(e,o),o)}function $n(e,t){return!e||!Ln(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),$(e,t[0].toLowerCase()+t.slice(1))||$(e,ht(t))||$(e,t))}function fr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:d,renderCache:f,props:h,data:g,setupState:m,ctx:O,inheritAttrs:x}=e,F=xn(e);let V,P;try{if(n.shapeFlag&4){const I=r||s,Y=I;V=ke(d.call(Y,I,f,h,m,g,O)),P=l}else{const I=t;V=ke(I.length>1?I(h,{attrs:l,slots:o,emit:c}):I(h,null)),P=t.props?l:Bl(l)}}catch(I){Zt.length=0,kn(I,e,1),V=ce(rt)}let N=V;if(P&&x!==!1){const I=Object.keys(P),{shapeFlag:Y}=N;I.length&&Y&7&&(i&&I.some(Fn)&&(P=Ul(P,i)),N=Ft(N,P,!1,!0))}return n.dirs&&(N=Ft(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition&&Gs(N,n.transition),V=N,xn(F),V}const Bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ln(n))&&((t||(t={}))[n]=e[n]);return t},Ul=(e,t)=>{const n={};for(const s in e)(!Fn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?ar(s,o,d):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const g=f[h];if(Fi(o,s,g)&&!$n(d,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?ar(s,o,d):!0:!!o;return!1}function ar(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(Fi(t,e,i)&&!$n(n,i))return!0}return!1}function Fi(e,t,n){const s=e[n],r=t[n];return n==="style"&&q(s)&&q(r)?!an(s,r):s!==r}function Gl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Vi={},Hi=()=>Object.create(Vi),ji=e=>Object.getPrototypeOf(e)===Vi;function kl(e,t,n,s=!1){const r={},i=Hi();e.propsDefaults=Object.create(null),Bi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:mi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Wl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=W(r),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let g=f[h];if($n(e.emitsOptions,g))continue;const m=t[g];if(c)if($(i,g))m!==i[g]&&(i[g]=m,d=!0);else{const O=ye(g);r[O]=Es(c,l,O,m,e,!1)}else m!==i[g]&&(i[g]=m,d=!0)}}}else{Bi(e,t,r,i)&&(d=!0);let f;for(const h in l)(!t||!$(t,h)&&((f=ht(h))===h||!$(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Es(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!$(t,h))&&(delete i[h],d=!0)}d&&tt(e.attrs,"set","")}function Bi(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(qt(c))continue;const d=t[c];let f;r&&$(r,f=ye(c))?!i||!i.includes(f)?n[f]=d:(l||(l={}))[f]=d:$n(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(i){const c=W(n),d=l||X;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Es(r,c,h,d[h],e,!$(d,h))}}return o}function Es(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=$(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&B(c)){const{propsDefaults:d}=r;if(n in d)s=d[n];else{const f=pn(r);s=d[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===ht(n))&&(s=!0))}return s}const $l=new WeakMap;function Ui(e,t,n=!1){const s=n?$l:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!B(e)){const f=h=>{c=!0;const[g,m]=Ui(h,t,!0);de(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return q(e)&&s.set(e,Pt),Pt;if(H(i))for(let f=0;f<i.length;f++){const h=ye(i[f]);dr(h)&&(o[h]=X)}else if(i)for(const f in i){const h=ye(f);if(dr(h)){const g=i[f],m=o[h]=H(g)||B(g)?{type:g}:de({},g),O=m.type;let x=!1,F=!0;if(H(O))for(let V=0;V<O.length;++V){const P=O[V],N=B(P)&&P.name;if(N==="Boolean"){x=!0;break}else N==="String"&&(F=!1)}else x=B(O)&&O.name==="Boolean";m[0]=x,m[1]=F,(x||$(m,"default"))&&l.push(h)}}const d=[o,l];return q(e)&&s.set(e,d),d}function dr(e){return e[0]!=="$"&&!qt(e)}const ks=e=>e==="_"||e==="_ctx"||e==="$stable",Ws=e=>H(e)?e.map(ke):[ke(e)],ql=(e,t,n)=>{if(t._n)return t;const s=Sn((...r)=>Ws(t(...r)),n);return s._c=!1,s},Ki=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ks(r))continue;const i=e[r];if(B(i))t[r]=ql(r,i,s);else if(i!=null){const o=Ws(i);t[r]=()=>o}}},Gi=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},ki=(e,t,n)=>{for(const s in t)(n||!ks(s))&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Hi();if(e.vnode.shapeFlag&32){const r=t._;r?(ki(s,t,n),n&&Xr(s,"_",r,!0)):Ki(t,s)}else t&&Gi(e,t)},Jl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ki(r,t,n):(i=!t.$stable,Ki(t,r)),o=t}else t&&(Gi(e,t),o={default:1});if(i)for(const l in r)!ks(l)&&o[l]==null&&delete r[l]},Ee=ec;function Yl(e){return Ql(e)}function Ql(e,t){const n=Un();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:g,setScopeId:m=$e,insertStaticContent:O}=e,x=(u,a,p,v=null,b=null,_=null,S=void 0,R=null,A=!!a.dynamicChildren)=>{if(u===a)return;u&&!Kt(u,a)&&(v=y(u),be(u,b,_,!0),u=null),a.patchFlag===-2&&(A=!1,a.dynamicChildren=null);const{type:E,ref:L,shapeFlag:C}=a;switch(E){case qn:F(u,a,p,v);break;case rt:V(u,a,p,v);break;case is:u==null&&P(a,p,v,S);break;case Re:pt(u,a,p,v,b,_,S,R,A);break;default:C&1?Y(u,a,p,v,b,_,S,R,A):C&6?Fe(u,a,p,v,b,_,S,R,A):(C&64||C&128)&&E.process(u,a,p,v,b,_,S,R,A,M)}L!=null&&b?Qt(L,u&&u.ref,_,a||u,!a):L==null&&u&&u.ref!=null&&Qt(u.ref,null,_,u,!0)},F=(u,a,p,v)=>{if(u==null)s(a.el=l(a.children),p,v);else{const b=a.el=u.el;a.children!==u.children&&d(b,a.children)}},V=(u,a,p,v)=>{u==null?s(a.el=c(a.children||""),p,v):a.el=u.el},P=(u,a,p,v)=>{[u.el,u.anchor]=O(u.children,a,p,v,u.el,u.anchor)},N=({el:u,anchor:a},p,v)=>{let b;for(;u&&u!==a;)b=g(u),s(u,p,v),u=b;s(a,p,v)},I=({el:u,anchor:a})=>{let p;for(;u&&u!==a;)p=g(u),r(u),u=p;r(a)},Y=(u,a,p,v,b,_,S,R,A)=>{if(a.type==="svg"?S="svg":a.type==="math"&&(S="mathml"),u==null)re(a,p,v,b,_,S,R,A);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),ot(u,a,b,_,S,R,A)}finally{E&&E._endPatch()}}},re=(u,a,p,v,b,_,S,R)=>{let A,E;const{props:L,shapeFlag:C,transition:D,dirs:j}=u;if(A=u.el=o(u.type,_,L&&L.is,L),C&8?f(A,u.children):C&16&&De(u.children,A,null,v,b,rs(u,_),S,R),j&&mt(u,null,v,"created"),ee(A,u,u.scopeId,S,v),L){for(const Q in L)Q!=="value"&&!qt(Q)&&i(A,Q,null,L[Q],_,v);"value"in L&&i(A,"value",null,L.value,_),(E=L.onVnodeBeforeMount)&&Ue(E,v,u)}j&&mt(u,null,v,"beforeMount");const K=Xl(b,D);K&&D.beforeEnter(A),s(A,a,p),((E=L&&L.onVnodeMounted)||K||j)&&Ee(()=>{try{E&&Ue(E,v,u),K&&D.enter(A),j&&mt(u,null,v,"mounted")}finally{}},b)},ee=(u,a,p,v,b)=>{if(p&&m(u,p),v)for(let _=0;_<v.length;_++)m(u,v[_]);if(b){let _=b.subTree;if(a===_||zi(_.type)&&(_.ssContent===a||_.ssFallback===a)){const S=b.vnode;ee(u,S,S.scopeId,S.slotScopeIds,b.parent)}}},De=(u,a,p,v,b,_,S,R,A=0)=>{for(let E=A;E<u.length;E++){const L=u[E]=R?et(u[E]):ke(u[E]);x(null,L,a,p,v,b,_,S,R)}},ot=(u,a,p,v,b,_,S)=>{const R=a.el=u.el;let{patchFlag:A,dynamicChildren:E,dirs:L}=a;A|=u.patchFlag&16;const C=u.props||X,D=a.props||X;let j;if(p&&_t(p,!1),(j=D.onVnodeBeforeUpdate)&&Ue(j,p,a,u),L&&mt(a,u,p,"beforeUpdate"),p&&_t(p,!0),E&&(!u.dynamicChildren||u.dynamicChildren.length!==E.length)&&(A=0,S=!1,E=null),(C.innerHTML&&D.innerHTML==null||C.textContent&&D.textContent==null)&&f(R,""),E?Le(u.dynamicChildren,E,R,p,v,rs(a,b),_):S||G(u,a,R,null,p,v,rs(a,b),_,!1),A>0){if(A&16)lt(R,C,D,p,b);else if(A&2&&C.class!==D.class&&i(R,"class",null,D.class,b),A&4&&i(R,"style",C.style,D.style,b),A&8){const K=a.dynamicProps;for(let Q=0;Q<K.length;Q++){const J=K[Q],se=C[J],ue=D[J];(ue!==se||J==="value")&&i(R,J,se,ue,b,p)}}A&1&&u.children!==a.children&&f(R,a.children)}else!S&&E==null&<(R,C,D,p,b);((j=D.onVnodeUpdated)||L)&&Ee(()=>{j&&Ue(j,p,a,u),L&&mt(a,u,p,"updated")},v)},Le=(u,a,p,v,b,_,S)=>{for(let R=0;R<a.length;R++){const A=u[R],E=a[R],L=A.el&&(A.type===Re||!Kt(A,E)||A.shapeFlag&198)?h(A.el):p;x(A,E,L,null,v,b,_,S,!0)}},lt=(u,a,p,v,b)=>{if(a!==p){if(a!==X)for(const _ in a)!qt(_)&&!(_ in p)&&i(u,_,a[_],null,b,v);for(const _ in p){if(qt(_))continue;const S=p[_],R=a[_];S!==R&&_!=="value"&&i(u,_,R,S,b,v)}"value"in p&&i(u,"value",a.value,p.value,b)}},pt=(u,a,p,v,b,_,S,R,A)=>{const E=a.el=u?u.el:l(""),L=a.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:D,slotScopeIds:j}=a;j&&(R=R?R.concat(j):j),u==null?(s(E,p,v),s(L,p,v),De(a.children||[],p,L,b,_,S,R,A)):C>0&&C&64&&D&&u.dynamicChildren&&u.dynamicChildren.length===D.length?(Le(u.dynamicChildren,D,p,b,_,S,R),(a.key!=null||b&&a===b.subTree)&&Wi(u,a,!0)):G(u,a,p,L,b,_,S,R,A)},Fe=(u,a,p,v,b,_,S,R,A)=>{a.slotScopeIds=R,u==null?a.shapeFlag&512?b.ctx.activate(a,p,v,S,A):jt(a,p,v,b,_,S,A):Rt(u,a,A)},jt=(u,a,p,v,b,_,S)=>{const R=u.component=lc(u,v,b);if(Ci(u)&&(R.ctx.renderer=M),uc(R,!1,S),R.asyncDep){if(b&&b.registerDep(R,le,S),!u.el){const A=R.subTree=ce(rt);V(null,A,a,p),u.placeholder=A.el}}else le(R,u,a,p,b,_,S)},Rt=(u,a,p)=>{const v=a.component=u.component;if(Kl(u,a,p))if(v.asyncDep&&!v.asyncResolved){z(v,a,p);return}else v.next=a,v.update();else a.el=u.el,v.vnode=a},le=(u,a,p,v,b,_,S)=>{const R=()=>{if(u.isMounted){let{next:C,bu:D,u:j,parent:K,vnode:Q}=u;{const je=$i(u);if(je){C&&(C.el=Q.el,z(u,C,S)),je.asyncDep.then(()=>{Ee(()=>{u.isUnmounted||E()},b)});return}}let J=C,se;_t(u,!1),C?(C.el=Q.el,z(u,C,S)):C=Q,D&&vn(D),(se=C.props&&C.props.onVnodeBeforeUpdate)&&Ue(se,K,C,Q),_t(u,!0);const ue=fr(u),He=u.subTree;u.subTree=ue,x(He,ue,h(He.el),y(He),u,b,_),C.el=ue.el,J===null&&Gl(u,ue.el),j&&Ee(j,b),(se=C.props&&C.props.onVnodeUpdated)&&Ee(()=>Ue(se,K,C,Q),b)}else{let C;const{el:D,props:j}=a,{bm:K,m:Q,parent:J,root:se,type:ue}=u,He=Nt(a);_t(u,!1),K&&vn(K),!He&&(C=j&&j.onVnodeBeforeMount)&&Ue(C,J,a),_t(u,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ue,u.parent?u.parent.type:void 0);const je=u.subTree=fr(u);x(null,je,p,v,u,b,_),a.el=je.el}if(Q&&Ee(Q,b),!He&&(C=j&&j.onVnodeMounted)){const je=a;Ee(()=>Ue(C,J,je),b)}(a.shapeFlag&256||J&&Nt(J.vnode)&&J.vnode.shapeFlag&256)&&u.a&&Ee(u.a,b),u.isMounted=!0,a=p=v=null}};u.scope.on();const A=u.effect=new ni(R);u.scope.off();const E=u.update=A.run.bind(A),L=u.job=A.runIfDirty.bind(A);L.i=u,L.id=u.uid,A.scheduler=()=>Ks(L),_t(u,!0),E()},z=(u,a,p)=>{a.component=u;const v=u.vnode.props;u.vnode=a,u.next=null,Wl(u,a.props,v,p),Jl(u,a.children,p),ze(),nr(u),Je()},G=(u,a,p,v,b,_,S,R,A=!1)=>{const E=u&&u.children,L=u?u.shapeFlag:0,C=a.children,{patchFlag:D,shapeFlag:j}=a;if(D>0){if(D&128){ct(E,C,p,v,b,_,S,R,A);return}else if(D&256){Ye(E,C,p,v,b,_,S,R,A);return}}j&8?(L&16&&Se(E,b,_),C!==E&&f(p,C)):L&16?j&16?ct(E,C,p,v,b,_,S,R,A):Se(E,b,_,!0):(L&8&&f(p,""),j&16&&De(C,p,v,b,_,S,R,A))},Ye=(u,a,p,v,b,_,S,R,A)=>{u=u||Pt,a=a||Pt;const E=u.length,L=a.length,C=Math.min(E,L);let D;for(D=0;D<C;D++){const j=a[D]=A?et(a[D]):ke(a[D]);x(u[D],j,p,null,b,_,S,R,A)}E>L?Se(u,b,_,!0,!1,C):De(a,p,v,b,_,S,R,A,C)},ct=(u,a,p,v,b,_,S,R,A)=>{let E=0;const L=a.length;let C=u.length-1,D=L-1;for(;E<=C&&E<=D;){const j=u[E],K=a[E]=A?et(a[E]):ke(a[E]);if(Kt(j,K))x(j,K,p,null,b,_,S,R,A);else break;E++}for(;E<=C&&E<=D;){const j=u[C],K=a[D]=A?et(a[D]):ke(a[D]);if(Kt(j,K))x(j,K,p,null,b,_,S,R,A);else break;C--,D--}if(E>C){if(E<=D){const j=D+1,K=j<L?a[j].el:v;for(;E<=D;)x(null,a[E]=A?et(a[E]):ke(a[E]),p,K,b,_,S,R,A),E++}}else if(E>D)for(;E<=C;)be(u[E],b,_,!0),E++;else{const j=E,K=E,Q=new Map;for(E=K;E<=D;E++){const Ae=a[E]=A?et(a[E]):ke(a[E]);Ae.key!=null&&Q.set(Ae.key,E)}let J,se=0;const ue=D-K+1;let He=!1,je=0;const Bt=new Array(ue);for(E=0;E<ue;E++)Bt[E]=0;for(E=j;E<=C;E++){const Ae=u[E];if(se>=ue){be(Ae,b,_,!0);continue}let Be;if(Ae.key!=null)Be=Q.get(Ae.key);else for(J=K;J<=D;J++)if(Bt[J-K]===0&&Kt(Ae,a[J])){Be=J;break}Be===void 0?be(Ae,b,_,!0):(Bt[Be-K]=E+1,Be>=je?je=Be:He=!0,x(Ae,a[Be],p,null,b,_,S,R,A),se++)}const Js=He?Zl(Bt):Pt;for(J=Js.length-1,E=ue-1;E>=0;E--){const Ae=K+E,Be=a[Ae],Ys=a[Ae+1],Qs=Ae+1<L?Ys.el||qi(Ys):v;Bt[E]===0?x(null,Be,p,Qs,b,_,S,R,A):He&&(J<0||E!==Js[J]?Ve(Be,p,Qs,2):J--)}}},Ve=(u,a,p,v,b=null)=>{const{el:_,type:S,transition:R,children:A,shapeFlag:E}=u;if(E&6){Ve(u.component.subTree,a,p,v);return}if(E&128){u.suspense.move(a,p,v);return}if(E&64){S.move(u,a,p,M);return}if(S===Re){s(_,a,p);for(let C=0;C<A.length;C++)Ve(A[C],a,p,v);s(u.anchor,a,p);return}if(S===is){N(u,a,p);return}if(v!==2&&E&1&&R)if(v===0)R.persisted&&!_[ns]?s(_,a,p):(R.beforeEnter(_),s(_,a,p),Ee(()=>R.enter(_),b));else{const{leave:C,delayLeave:D,afterLeave:j}=R,K=()=>{u.ctx.isUnmounted?r(_):s(_,a,p)},Q=()=>{const J=_._isLeaving||!!_[ns];_._isLeaving&&_[ns](!0),R.persisted&&!J?K():C(_,()=>{K(),j&&j()})};D?D(_,K,Q):Q()}else s(_,a,p)},be=(u,a,p,v=!1,b=!1)=>{const{type:_,props:S,ref:R,children:A,dynamicChildren:E,shapeFlag:L,patchFlag:C,dirs:D,cacheIndex:j,memo:K}=u;if(C===-2&&(b=!1),R!=null&&(ze(),Qt(R,null,p,u,!0),Je()),j!=null&&(a.renderCache[j]=void 0),L&256){a.ctx.deactivate(u);return}const Q=L&1&&D,J=!Nt(u);let se;if(J&&(se=S&&S.onVnodeBeforeUnmount)&&Ue(se,a,u),L&6)gt(u.component,p,v);else{if(L&128){u.suspense.unmount(p,v);return}Q&&mt(u,null,a,"beforeUnmount"),L&64?u.type.remove(u,a,p,M,v):E&&!E.hasOnce&&(_!==Re||C>0&&C&64)?Se(E,a,p,!1,!0):(_===Re&&C&384||!b&&L&16)&&Se(A,a,p),v&&xt(u)}const ue=K!=null&&j==null;(J&&(se=S&&S.onVnodeUnmounted)||Q||ue)&&Ee(()=>{se&&Ue(se,a,u),Q&&mt(u,null,a,"unmounted"),ue&&(u.el=null)},p)},xt=u=>{const{type:a,el:p,anchor:v,transition:b}=u;if(a===Re){St(p,v);return}if(a===is){I(u);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:S,delayLeave:R}=b,A=()=>S(p,_);R?R(u.el,_,A):A()}else _()},St=(u,a)=>{let p;for(;u!==a;)p=g(u),r(u),u=p;r(a)},gt=(u,a,p)=>{const{bum:v,scope:b,job:_,subTree:S,um:R,m:A,a:E}=u;hr(A),hr(E),v&&vn(v),b.stop(),_&&(_.flags|=8,be(S,u,a,p)),R&&Ee(R,a),Ee(()=>{u.isUnmounted=!0},a)},Se=(u,a,p,v=!1,b=!1,_=0)=>{for(let S=_;S<u.length;S++)be(u[S],a,p,v,b)},y=u=>{if(u.shapeFlag&6)return y(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const a=g(u.anchor||u.el),p=a&&a[al];return p?g(p):a};let T=!1;const w=(u,a,p)=>{let v;u==null?a._vnode&&(be(a._vnode,null,null,!0),v=a._vnode.component):x(a._vnode||null,u,a,null,null,null,p),a._vnode=u,T||(T=!0,nr(v),Ei(),T=!1)},M={p:x,um:be,m:Ve,r:xt,mt:jt,mc:De,pc:G,pbc:Le,n:y,o:e};return{render:w,hydrate:void 0,createApp:Fl(w)}}function rs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function _t({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Wi(e,t,n=!1){const s=e.children,r=t.children;if(H(s)&&H(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=et(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&Wi(o,l)),l.type===qn&&(l.patchFlag===-1&&(l=r[i]=et(l)),l.el=o.el),l.type===rt&&!l.el&&(l.el=o.el)}}function Zl(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const d=e[s];if(d!==0){if(r=n[n.length-1],e[r]<d){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<d?i=l+1:o=l;d<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function $i(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:$i(t)}function hr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function qi(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?qi(t.subTree):null}const zi=e=>e.__isSuspense;function ec(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const Re=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),rt=Symbol.for("v-cmt"),is=Symbol.for("v-stc"),Zt=[];let xe=null;function dt(e=!1){Zt.push(xe=e?null:[])}function tc(){Zt.pop(),xe=Zt[Zt.length-1]||null}let on=1;function On(e,t=!1){on+=e,e<0&&xe&&t&&(xe.hasOnce=!0)}function Ji(e){return e.dynamicChildren=on>0?xe||Pt:null,tc(),on>0&&xe&&xe.push(e),e}function Pn(e,t,n,s,r,i){return Ji(fe(e,t,n,s,r,i,!0))}function Tn(e,t,n,s,r){return Ji(ce(e,t,n,s,r,!0))}function ln(e){return e?e.__v_isVNode===!0:!1}function Kt(e,t){return e.type===t.type&&e.key===t.key}const Yi=({key:e})=>e??null,En=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||ge(e)||B(e)?{i:ae,r:e,k:t,f:!!n}:e:null);function fe(e,t=null,n=null,s=0,r=null,i=e===Re?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yi(t),ref:t&&En(t),scopeId:Ri,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ae};return l?(In(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),on>0&&!o&&xe&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&xe.push(c),c}const ce=nc;function nc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===wl)&&(e=rt),ln(e)){const l=Ft(e,t,!0);return n&&In(l,n),on>0&&!i&&xe&&(l.shapeFlag&6?xe[xe.indexOf(e)]=l:xe.push(l)),l.patchFlag=-2,l}if(pc(e)&&(e=e.__vccOpts),t){t=sc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=tn(l)),q(c)&&(Bs(c)&&!H(c)&&(c=de({},c)),t.style=Ns(c))}const o=ne(e)?1:zi(e)?128:dl(e)?64:q(e)?4:B(e)?2:0;return fe(e,t,n,s,r,o,i,!0)}function sc(e){return e?Bs(e)||ji(e)?de({},e):e:null}function Ft(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,d=t?rc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Yi(d),ref:t&&t.ref?n&&i?H(i)?i.concat(En(t)):[i,En(t)]:En(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Re?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ft(e.ssContent),ssFallback:e.ssFallback&&Ft(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Gs(f,c.clone(f)),f}function As(e=" ",t=0){return ce(qn,null,e,t)}function Qi(e="",t=!1){return t?(dt(),Tn(rt,null,e)):ce(rt,null,e)}function ke(e){return e==null||typeof e=="boolean"?ce(rt):H(e)?ce(Re,null,e.slice()):ln(e)?et(e):ce(qn,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ft(e)}function In(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),In(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!ji(t)?t._ctx=ae:r===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){In(e,{default:t});return}t={default:t,_ctx:ae},n=32}else t=String(t),s&64?(n=16,t=[As(t)]):n=8;e.children=t,e.shapeFlag|=n}function rc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=tn([t.class,s.class]));else if(r==="style")t.style=Ns([t.style,s.style]);else if(Ln(r)){const i=t[r],o=s[r];o&&i!==o&&!(H(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Fn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ue(e,t,n,s=null){Ne(e,t,7,[n,s])}const ic=Di();let oc=0;function lc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ic,i={uid:oc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Io(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ui(s,r),emitsOptions:Li(s,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:s.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Hl.bind(null,i),e.ce&&e.ce(i),i}let pe=null;const cc=()=>pe||ae;let Nn,Rs;{const e=Un(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Nn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),Rs=t("__VUE_SSR_SETTERS__",n=>cn=n)}const pn=e=>{const t=pe;return Nn(e),e.scope.on(),()=>{e.scope.off(),Nn(t)}},pr=()=>{pe&&pe.scope.off(),Nn(null)};function Xi(e){return e.vnode.shapeFlag&4}let cn=!1;function uc(e,t=!1,n=!1){t&&Rs(t);const{props:s,children:r}=e.vnode,i=Xi(e);kl(e,s,i,t),zl(e,r,n||t);const o=i?fc(e,t):void 0;return t&&Rs(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pl);const{setup:s}=n;if(s){ze();const r=e.setupContext=s.length>1?dc(e):null,i=pn(e),o=dn(s,e,0,[e.props,r]),l=Jr(o);if(Je(),i(),(l||e.sp)&&!Nt(e)&&wi(e),l){if(o.then(pr,pr),t)return o.then(c=>{gr(e,c)}).catch(c=>{kn(c,e,0)});e.asyncDep=o}else gr(e,o)}else Zi(e)}function gr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=vi(t)),Zi(e)}function Zi(e,t,n){const s=e.type;e.render||(e.render=s.render||$e);{const r=pn(e);ze();try{Tl(e)}finally{Je(),r()}}}const ac={get(e,t){return he(e,"get",""),e[t]}};function dc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ac),slots:e.slots,emit:e.emit,expose:t}}function zn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vi(Yo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Xt)return Xt[n](e)},has(t,n){return n in t||n in Xt}})):e.proxy}function hc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function pc(e){return B(e)&&"__vccOpts"in e}const we=(e,t)=>tl(e,t,cn);function eo(e,t,n){try{On(-1);const s=arguments.length;return s===2?q(t)&&!H(t)?ln(t)?ce(e,null,[t]):ce(e,t):ce(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&ln(n)&&(n=[n]),ce(e,t,n))}finally{On(1)}}const gc="3.5.39";/**
|
|
15
|
+
* @vue/runtime-dom v3.5.39
|
|
16
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
17
|
+
* @license MIT
|
|
18
|
+
**/let xs;const mr=typeof window<"u"&&window.trustedTypes;if(mr)try{xs=mr.createPolicy("vue",{createHTML:e=>e})}catch{}const to=xs?e=>xs.createHTML(e):e=>e,mc="http://www.w3.org/2000/svg",_c="http://www.w3.org/1998/Math/MathML",Ze=typeof document<"u"?document:null,_r=Ze&&Ze.createElement("template"),vc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ze.createElementNS(mc,e):t==="mathml"?Ze.createElementNS(_c,e):n?Ze.createElement(e,{is:n}):Ze.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ze.createTextNode(e),createComment:e=>Ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{_r.innerHTML=to(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=_r.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},yc=Symbol("_vtc");function bc(e,t,n){const s=e[yc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vr=Symbol("_vod"),Ec=Symbol("_vsh"),Ac=Symbol(""),Rc=/(?:^|;)\s*display\s*:/;function xc(e,t,n){const s=e.style,r=ne(n);let i=!1;if(n&&!r){if(t)if(ne(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&$t(s,l,"")}else for(const o in t)n[o]==null&&$t(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?wc(e,o,!ne(t)&&t?t[o]:void 0,l)||$t(s,o,l):$t(s,o,"")}}else if(r){if(t!==n){const o=s[Ac];o&&(n+=";"+o),s.cssText=n,i=Rc.test(n)}}else t&&e.removeAttribute("style");vr in e&&(e[vr]=i?s.display:"",e[Ec]&&(s.display="none"))}const yr=/\s*!important$/;function $t(e,t,n){if(H(n))n.forEach(s=>$t(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Sc(e,t);yr.test(n)?e.setProperty(ht(s),n.replace(yr,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],os={};function Sc(e,t){const n=os[t];if(n)return n;let s=ye(t);if(s!=="filter"&&s in e)return os[t]=s;s=jn(s);for(let r=0;r<br.length;r++){const i=br[r]+s;if(i in e)return os[t]=i}return t}function wc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ne(s)&&n===s}const Er="http://www.w3.org/1999/xlink";function Ar(e,t,n,s,r,i=Oo(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Er,t.slice(6,t.length)):e.setAttributeNS(Er,t,n):n==null||i&&!Zr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Te(n)?String(n):n)}function Rr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?to(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Zr(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function yt(e,t,n,s){e.addEventListener(t,n,s)}function Cc(e,t,n,s){e.removeEventListener(t,n,s)}const xr=Symbol("_vei");function Oc(e,t,n,s,r=null){const i=e[xr]||(e[xr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ic(t);if(s){const d=i[t]=Dc(s,r);yt(e,l,d,c)}else o&&(Cc(e,l,o,c),i[t]=void 0)}}const Pc=/(Once|Passive|Capture)$/,Tc=/^on:?(?:Once|Passive|Capture)$/;function Ic(e){let t,n;for(;(n=e.match(Pc))&&!Tc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):ht(e.slice(2)),t]}let ls=0;const Nc=Promise.resolve(),Mc=()=>ls||(Nc.then(()=>ls=0),ls=Date.now());function Dc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(H(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const d=o[c];d&&Ne(d,t,5,l)}}else Ne(r,t,5,[s])};return n.value=e,n.attached=Mc(),n}const Sr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Lc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?bc(e,s,o):t==="style"?xc(e,n,s):Ln(t)?Fn(t)||Oc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Fc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(Vc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ne(s)))?Rr(e,ye(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Fc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sr(t)&&B(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Sr(t)&&ne(n)?!1:t in e}function Vc(e,t){const n=e._def.props;if(!n)return!1;const s=ye(t);return Array.isArray(n)?n.some(r=>ye(r)===s):Object.keys(n).some(r=>ye(r)===s)}const Mn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>vn(t,n):t};function Hc(e){e.target.composing=!0}function wr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dt=Symbol("_assign");function Cr(e,t,n){return t&&(e=e.trim()),n&&(e=Bn(e)),e}const jc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Dt]=Mn(r);const i=s||r.props&&r.props.type==="number";yt(e,t?"change":"input",o=>{o.target.composing||e[Dt](Cr(e.value,n,i))}),(n||i)&&yt(e,"change",()=>{e.value=Cr(e.value,n,i)}),t||(yt(e,"compositionstart",Hc),yt(e,"compositionend",wr),yt(e,"change",wr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Dt]=Mn(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Bn(e.value):e.value,c=t??"";if(l===c)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},If={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Vn(t);yt(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?Bn(Dn(o)):Dn(o));e[Dt](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Us(()=>{e._assigning=!1})}),e[Dt]=Mn(s)},mounted(e,{value:t}){Or(e,t)},beforeUpdate(e,t,n){e[Dt]=Mn(n)},updated(e,{value:t}){e._assigning||Or(e,t)}};function Or(e,t){const n=e.multiple,s=H(t);if(!(n&&!s&&!Vn(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Dn(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=To(t,l)>-1}else o.selected=t.has(l);else if(an(Dn(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Dn(e){return"_value"in e?e._value:e.value}const Bc=["ctrl","shift","alt","meta"],Uc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Bc.some(n=>e[`${n}Key`]&&!t.includes(n))},Kc=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...i)=>{for(let o=0;o<t.length;o++){const l=Uc[t[o]];if(l&&l(r,t))return}return e(r,...i)}))},Gc={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Nf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const i=ht(r.key);if(t.some(o=>o===i||Gc[o]===i))return e(r)}))},kc=de({patchProp:Lc},vc);let Pr;function Wc(){return Pr||(Pr=Yl(kc))}const $c=((...e)=>{const t=Wc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=zc(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,qc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function qc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zc(e){return ne(e)?document.querySelector(e):e}/*!
|
|
19
|
+
* vue-router v4.6.4
|
|
20
|
+
* (c) 2025 Eduardo San Martin Morote
|
|
21
|
+
* @license MIT
|
|
22
|
+
*/const Ot=typeof document<"u";function no(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Jc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&no(e.default)}const k=Object.assign;function cs(e,t){const n={};for(const s in t){const r=t[s];n[s]=Me(r)?r.map(e):e(r)}return n}const en=()=>{},Me=Array.isArray;function Tr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const so=/#/g,Yc=/&/g,Qc=/\//g,Xc=/=/g,Zc=/\?/g,ro=/\+/g,eu=/%5B/g,tu=/%5D/g,io=/%5E/g,nu=/%60/g,oo=/%7B/g,su=/%7C/g,lo=/%7D/g,ru=/%20/g;function $s(e){return e==null?"":encodeURI(""+e).replace(su,"|").replace(eu,"[").replace(tu,"]")}function iu(e){return $s(e).replace(oo,"{").replace(lo,"}").replace(io,"^")}function Ss(e){return $s(e).replace(ro,"%2B").replace(ru,"+").replace(so,"%23").replace(Yc,"%26").replace(nu,"`").replace(oo,"{").replace(lo,"}").replace(io,"^")}function ou(e){return Ss(e).replace(Xc,"%3D")}function lu(e){return $s(e).replace(so,"%23").replace(Zc,"%3F")}function cu(e){return lu(e).replace(Qc,"%2F")}function un(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const uu=/\/$/,fu=e=>e.replace(uu,"");function us(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=pu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:un(o)}}function au(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ir(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function du(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Vt(t.matched[s],n.matched[r])&&co(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Vt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function co(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!hu(e[n],t[n]))return!1;return!0}function hu(e,t){return Me(e)?Nr(e,t):Me(t)?Nr(t,e):e?.valueOf()===t?.valueOf()}function Nr(e,t){return Me(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function pu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const ut={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ws=(function(e){return e.pop="pop",e.push="push",e})({}),fs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function gu(e){if(!e)if(Ot){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),fu(e)}const mu=/^[^#]+#/;function _u(e,t){return e.replace(mu,"#")+t}function vu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Jn=()=>({left:window.scrollX,top:window.scrollY});function yu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=vu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Mr(e,t){return(history.state?history.state.position-t:-1)+e}const Cs=new Map;function bu(e,t){Cs.set(e,t)}function Eu(e){const t=Cs.get(e);return Cs.delete(e),t}function Au(e){return typeof e=="string"||e&&typeof e=="object"}function uo(e){return typeof e=="string"||typeof e=="symbol"}let te=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const fo=Symbol("");te.MATCHER_NOT_FOUND+"",te.NAVIGATION_GUARD_REDIRECT+"",te.NAVIGATION_ABORTED+"",te.NAVIGATION_CANCELLED+"",te.NAVIGATION_DUPLICATED+"";function Ht(e,t){return k(new Error,{type:e,[fo]:!0},t)}function Xe(e,t){return e instanceof Error&&fo in e&&(t==null||!!(e.type&t))}const Ru=["params","query","hash"];function xu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Ru)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Su(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(ro," "),i=r.indexOf("="),o=un(i<0?r:r.slice(0,i)),l=i<0?null:un(r.slice(i+1));if(o in t){let c=t[o];Me(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function Dr(e){let t="";for(let n in e){const s=e[n];if(n=ou(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Me(s)?s.map(r=>r&&Ss(r)):[s&&Ss(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function wu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Me(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Cu=Symbol(""),Lr=Symbol(""),Yn=Symbol(""),qs=Symbol(""),Os=Symbol("");function Gt(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function at(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const d=g=>{g===!1?c(Ht(te.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):Au(g)?c(Ht(te.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},f=i(()=>e.call(s&&s.instances[r],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(g=>c(g))})}function as(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(no(c)){const d=(c.__vccOpts||c)[t];d&&i.push(at(d,n,s,o,l,r))}else{let d=c();i.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=Jc(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&at(g,n,s,o,l,r)()}))}}return i}function Ou(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(d=>Vt(d,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(d=>Vt(d,c))||r.push(c))}return[n,s,r]}/*!
|
|
23
|
+
* vue-router v4.6.4
|
|
24
|
+
* (c) 2025 Eduardo San Martin Morote
|
|
25
|
+
* @license MIT
|
|
26
|
+
*/let Pu=()=>location.protocol+"//"+location.host;function ao(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Ir(l,"")}return Ir(n,e)+s+r}function Tu(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=ao(e,location),O=n.value,x=t.value;let F=0;if(g){if(n.value=m,t.value=g,o&&o===O){o=null;return}F=x?g.position-x.position:0}else s(m);r.forEach(V=>{V(n.value,O,{delta:F,type:ws.pop,direction:F?F>0?fs.forward:fs.back:fs.unknown})})};function c(){o=n.value}function d(g){r.push(g);const m=()=>{const O=r.indexOf(g);O>-1&&r.splice(O,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(k({},g.state,{scroll:Jn()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:d,destroy:h}}function Fr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?Jn():null}}function Iu(e){const{history:t,location:n}=window,s={value:ao(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,d,f){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Pu()+e+c;try{t[f?"replaceState":"pushState"](d,"",g),r.value=d}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function o(c,d){i(c,k({},t.state,Fr(r.value.back,c,r.value.forward,!0),d,{position:r.value.position}),!0),s.value=c}function l(c,d){const f=k({},r.value,t.state,{forward:c,scroll:Jn()});i(f.current,f,!0),i(c,k({},Fr(s.value,c,null),{position:f.position+1},d),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Nu(e){e=gu(e);const t=Iu(e),n=Tu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=k({location:"",base:e,go:s,createHref:_u.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function Mu(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Nu(e)}let bt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ie=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ie||{});const Du={type:bt.Static,value:""},Lu=/[a-zA-Z0-9_]/;function Fu(e){if(!e)return[[]];if(e==="/")return[[Du]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${d}": ${m}`)}let n=ie.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,d="",f="";function h(){d&&(n===ie.Static?i.push({type:bt.Static,value:d}):n===ie.Param||n===ie.ParamRegExp||n===ie.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),i.push({type:bt.Param,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==ie.ParamRegExp){s=n,n=ie.EscapeNext;continue}switch(n){case ie.Static:c==="/"?(d&&h(),o()):c===":"?(h(),n=ie.Param):g();break;case ie.EscapeNext:g(),n=s;break;case ie.Param:c==="("?n=ie.ParamRegExp:Lu.test(c)?g():(h(),n=ie.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case ie.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=ie.ParamRegExpEnd:f+=c;break;case ie.ParamRegExpEnd:h(),n=ie.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===ie.ParamRegExp&&t(`Unfinished custom RegExp for param "${d}"`),h(),o(),r}const Vr="[^/]+?",Vu={sensitive:!1,strict:!1,start:!0,end:!0};var _e=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(_e||{});const Hu=/[.+*?^${}()[\]/\\]/g;function ju(e,t){const n=k({},Vu,t),s=[];let r=n.start?"^":"";const i=[];for(const d of e){const f=d.length?[]:[_e.Root];n.strict&&!d.length&&(r+="/");for(let h=0;h<d.length;h++){const g=d[h];let m=_e.Segment+(n.sensitive?_e.BonusCaseSensitive:0);if(g.type===bt.Static)h||(r+="/"),r+=g.value.replace(Hu,"\\$&"),m+=_e.Static;else if(g.type===bt.Param){const{value:O,repeatable:x,optional:F,regexp:V}=g;i.push({name:O,repeatable:x,optional:F});const P=V||Vr;if(P!==Vr){m+=_e.BonusCustomRegExp;try{`${P}`}catch(I){throw new Error(`Invalid custom RegExp for param "${O}" (${P}): `+I.message)}}let N=x?`((?:${P})(?:/(?:${P}))*)`:`(${P})`;h||(N=F&&d.length<2?`(?:/${N})`:"/"+N),F&&(N+="?"),r+=N,m+=_e.Dynamic,F&&(m+=_e.BonusOptional),x&&(m+=_e.BonusRepeatable),P===".*"&&(m+=_e.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const d=s.length-1;s[d][s[d].length-1]+=_e.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(d){const f=d.match(o),h={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",O=i[g-1];h[O.name]=m&&O.repeatable?m.split("/"):m}return h}function c(d){let f="",h=!1;for(const g of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of g)if(m.type===bt.Static)f+=m.value;else if(m.type===bt.Param){const{value:O,repeatable:x,optional:F}=m,V=O in d?d[O]:"";if(Me(V)&&!x)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const P=Me(V)?V.join("/"):V;if(!P)if(F)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${O}"`);f+=P}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Bu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===_e.Static+_e.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===_e.Static+_e.Segment?1:-1:0}function ho(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Bu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(Hr(s))return 1;if(Hr(r))return-1}return r.length-s.length}function Hr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Uu={strict:!1,end:!0,sensitive:!1};function Ku(e,t,n){const s=ju(Fu(e.path),n),r=k(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Gu(e,t){const n=[],s=new Map;t=Tr(Uu,t);function r(h){return s.get(h)}function i(h,g,m){const O=!m,x=Br(h);x.aliasOf=m&&m.record;const F=Tr(t,h),V=[x];if("alias"in h){const I=typeof h.alias=="string"?[h.alias]:h.alias;for(const Y of I)V.push(Br(k({},x,{components:m?m.record.components:x.components,path:Y,aliasOf:m?m.record:x})))}let P,N;for(const I of V){const{path:Y}=I;if(g&&Y[0]!=="/"){const re=g.record.path,ee=re[re.length-1]==="/"?"":"/";I.path=g.record.path+(Y&&ee+Y)}if(P=Ku(I,g,F),m?m.alias.push(P):(N=N||P,N!==P&&N.alias.push(P),O&&h.name&&!Ur(P)&&o(h.name)),po(P)&&c(P),x.children){const re=x.children;for(let ee=0;ee<re.length;ee++)i(re[ee],P,m&&m.children[ee])}m=m||P}return N?()=>{o(N)}:en}function o(h){if(uo(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=$u(h,n);n.splice(g,0,h),h.record.name&&!Ur(h)&&s.set(h.record.name,h)}function d(h,g){let m,O={},x,F;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Ht(te.MATCHER_NOT_FOUND,{location:h});F=m.record.name,O=k(jr(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&jr(h.params,m.keys.map(N=>N.name))),x=m.stringify(O)}else if(h.path!=null)x=h.path,m=n.find(N=>N.re.test(x)),m&&(O=m.parse(x),F=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw Ht(te.MATCHER_NOT_FOUND,{location:h,currentLocation:g});F=m.record.name,O=k({},g.params,h.params),x=m.stringify(O)}const V=[];let P=m;for(;P;)V.unshift(P.record),P=P.parent;return{name:F,path:x,params:O,matched:V,meta:Wu(V)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:d,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function jr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Br(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ku(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ku(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Ur(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Wu(e){return e.reduce((t,n)=>k(t,n.meta),{})}function $u(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;ho(e,t[i])<0?s=i:n=i+1}const r=qu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function qu(e){let t=e;for(;t=t.parent;)if(po(t)&&ho(e,t)===0)return t}function po({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kr(e){const t=Pe(Yn),n=Pe(qs),s=we(()=>{const c=qe(e.to);return t.resolve(c)}),r=we(()=>{const{matched:c}=s.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const g=h.findIndex(Vt.bind(null,f));if(g>-1)return g;const m=Gr(c[d-2]);return d>1&&Gr(f)===m&&h[h.length-1].path!==m?h.findIndex(Vt.bind(null,c[d-2])):g}),i=we(()=>r.value>-1&&Xu(n.params,s.value.params)),o=we(()=>r.value>-1&&r.value===n.matched.length-1&&co(n.params,s.value.params));function l(c={}){if(Qu(c)){const d=t[qe(e.replace)?"replace":"push"](qe(e.to)).catch(en);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:s,href:we(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function zu(e){return e.length===1?e[0]:e}const Ju=hn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Kr,setup(e,{slots:t}){const n=Gn(Kr(e)),{options:s}=Pe(Yn),r=we(()=>({[kr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[kr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&zu(t.default(n));return e.custom?i:eo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),Yu=Ju;function Qu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Xu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Me(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Gr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kr=(e,t,n)=>e??t??n,Zu=hn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Pe(Os),r=we(()=>e.route||s.value),i=Pe(Lr,0),o=we(()=>{let d=qe(i);const{matched:f}=r.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=we(()=>r.value.matched[o.value]);yn(Lr,we(()=>o.value+1)),yn(Cu,l),yn(Os,r);const c=Yt();return bn(()=>[c.value,l.value,e.name],([d,f,h],[g,m,O])=>{f&&(f.instances[h]=d,m&&m!==f&&d&&d===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),d&&f&&(!m||!Vt(f,m)||!g)&&(f.enterCallbacks[h]||[]).forEach(x=>x(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,h=l.value,g=h&&h.components[f];if(!g)return Wr(n.default,{Component:g,route:d});const m=h.props[f],O=m?m===!0?d.params:typeof m=="function"?m(d):m:null,F=eo(g,k({},O,t,{onVnodeUnmounted:V=>{V.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return Wr(n.default,{Component:F,route:d})||F}}});function Wr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ef=Zu;function tf(e){const t=Gu(e.routes,e),n=e.parseQuery||Su,s=e.stringifyQuery||Dr,r=e.history,i=Gt(),o=Gt(),l=Gt(),c=Qo(ut);let d=ut;Ot&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=cs.bind(null,y=>""+y),h=cs.bind(null,cu),g=cs.bind(null,un);function m(y,T){let w,M;return uo(y)?(w=t.getRecordMatcher(y),M=T):M=y,t.addRoute(M,w)}function O(y){const T=t.getRecordMatcher(y);T&&t.removeRoute(T)}function x(){return t.getRoutes().map(y=>y.record)}function F(y){return!!t.getRecordMatcher(y)}function V(y,T){if(T=k({},T||c.value),typeof y=="string"){const p=us(n,y,T.path),v=t.resolve({path:p.path},T),b=r.createHref(p.fullPath);return k(p,v,{params:g(v.params),hash:un(p.hash),redirectedFrom:void 0,href:b})}let w;if(y.path!=null)w=k({},y,{path:us(n,y.path,T.path).path});else{const p=k({},y.params);for(const v in p)p[v]==null&&delete p[v];w=k({},y,{params:h(p)}),T.params=h(T.params)}const M=t.resolve(w,T),U=y.hash||"";M.params=f(g(M.params));const u=au(s,k({},y,{hash:iu(U),path:M.path})),a=r.createHref(u);return k({fullPath:u,hash:U,query:s===Dr?wu(y.query):y.query||{}},M,{redirectedFrom:void 0,href:a})}function P(y){return typeof y=="string"?us(n,y,c.value.path):k({},y)}function N(y,T){if(d!==y)return Ht(te.NAVIGATION_CANCELLED,{from:T,to:y})}function I(y){return ee(y)}function Y(y){return I(k(P(y),{replace:!0}))}function re(y,T){const w=y.matched[y.matched.length-1];if(w&&w.redirect){const{redirect:M}=w;let U=typeof M=="function"?M(y,T):M;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=P(U):{path:U},U.params={}),k({query:y.query,hash:y.hash,params:U.path!=null?{}:y.params},U)}}function ee(y,T){const w=d=V(y),M=c.value,U=y.state,u=y.force,a=y.replace===!0,p=re(w,M);if(p)return ee(k(P(p),{state:typeof p=="object"?k({},U,p.state):U,force:u,replace:a}),T||w);const v=w;v.redirectedFrom=T;let b;return!u&&du(s,M,w)&&(b=Ht(te.NAVIGATION_DUPLICATED,{to:v,from:M}),Ve(M,M,!0,!1)),(b?Promise.resolve(b):Le(v,M)).catch(_=>Xe(_)?Xe(_,te.NAVIGATION_GUARD_REDIRECT)?_:ct(_):G(_,v,M)).then(_=>{if(_){if(Xe(_,te.NAVIGATION_GUARD_REDIRECT))return ee(k({replace:a},P(_.to),{state:typeof _.to=="object"?k({},U,_.to.state):U,force:u}),T||v)}else _=pt(v,M,!0,a,U);return lt(v,M,_),_})}function De(y,T){const w=N(y,T);return w?Promise.reject(w):Promise.resolve()}function ot(y){const T=St.values().next().value;return T&&typeof T.runWithContext=="function"?T.runWithContext(y):y()}function Le(y,T){let w;const[M,U,u]=Ou(y,T);w=as(M.reverse(),"beforeRouteLeave",y,T);for(const p of M)p.leaveGuards.forEach(v=>{w.push(at(v,y,T))});const a=De.bind(null,y,T);return w.push(a),Se(w).then(()=>{w=[];for(const p of i.list())w.push(at(p,y,T));return w.push(a),Se(w)}).then(()=>{w=as(U,"beforeRouteUpdate",y,T);for(const p of U)p.updateGuards.forEach(v=>{w.push(at(v,y,T))});return w.push(a),Se(w)}).then(()=>{w=[];for(const p of u)if(p.beforeEnter)if(Me(p.beforeEnter))for(const v of p.beforeEnter)w.push(at(v,y,T));else w.push(at(p.beforeEnter,y,T));return w.push(a),Se(w)}).then(()=>(y.matched.forEach(p=>p.enterCallbacks={}),w=as(u,"beforeRouteEnter",y,T,ot),w.push(a),Se(w))).then(()=>{w=[];for(const p of o.list())w.push(at(p,y,T));return w.push(a),Se(w)}).catch(p=>Xe(p,te.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function lt(y,T,w){l.list().forEach(M=>ot(()=>M(y,T,w)))}function pt(y,T,w,M,U){const u=N(y,T);if(u)return u;const a=T===ut,p=Ot?history.state:{};w&&(M||a?r.replace(y.fullPath,k({scroll:a&&p&&p.scroll},U)):r.push(y.fullPath,U)),c.value=y,Ve(y,T,w,a),ct()}let Fe;function jt(){Fe||(Fe=r.listen((y,T,w)=>{if(!gt.listening)return;const M=V(y),U=re(M,gt.currentRoute.value);if(U){ee(k(U,{replace:!0,force:!0}),M).catch(en);return}d=M;const u=c.value;Ot&&bu(Mr(u.fullPath,w.delta),Jn()),Le(M,u).catch(a=>Xe(a,te.NAVIGATION_ABORTED|te.NAVIGATION_CANCELLED)?a:Xe(a,te.NAVIGATION_GUARD_REDIRECT)?(ee(k(P(a.to),{force:!0}),M).then(p=>{Xe(p,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&!w.delta&&w.type===ws.pop&&r.go(-1,!1)}).catch(en),Promise.reject()):(w.delta&&r.go(-w.delta,!1),G(a,M,u))).then(a=>{a=a||pt(M,u,!1),a&&(w.delta&&!Xe(a,te.NAVIGATION_CANCELLED)?r.go(-w.delta,!1):w.type===ws.pop&&Xe(a,te.NAVIGATION_ABORTED|te.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),lt(M,u,a)}).catch(en)}))}let Rt=Gt(),le=Gt(),z;function G(y,T,w){ct(y);const M=le.list();return M.length?M.forEach(U=>U(y,T,w)):console.error(y),Promise.reject(y)}function Ye(){return z&&c.value!==ut?Promise.resolve():new Promise((y,T)=>{Rt.add([y,T])})}function ct(y){return z||(z=!y,jt(),Rt.list().forEach(([T,w])=>y?w(y):T()),Rt.reset()),y}function Ve(y,T,w,M){const{scrollBehavior:U}=e;if(!Ot||!U)return Promise.resolve();const u=!w&&Eu(Mr(y.fullPath,0))||(M||!w)&&history.state&&history.state.scroll||null;return Us().then(()=>U(y,T,u)).then(a=>a&&yu(a)).catch(a=>G(a,y,T))}const be=y=>r.go(y);let xt;const St=new Set,gt={currentRoute:c,listening:!0,addRoute:m,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:F,getRoutes:x,resolve:V,options:e,push:I,replace:Y,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:le.add,isReady:Ye,install(y){y.component("RouterLink",Yu),y.component("RouterView",ef),y.config.globalProperties.$router=gt,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>qe(c)}),Ot&&!xt&&c.value===ut&&(xt=!0,I(r.location).catch(M=>{}));const T={};for(const M in ut)Object.defineProperty(T,M,{get:()=>c.value[M],enumerable:!0});y.provide(Yn,gt),y.provide(qs,mi(T)),y.provide(Os,c);const w=y.unmount;St.add(y),y.unmount=function(){St.delete(y),St.size<1&&(d=ut,Fe&&Fe(),Fe=null,c.value=ut,xt=!1,z=!1),w()}}};function Se(y){return y.reduce((T,w)=>T.then(()=>ot(w)),Promise.resolve())}return gt}function Mf(){return Pe(Yn)}function nf(e){return Pe(qs)}const sf={class:"app-shell"},rf={class:"sidebar","aria-label":"Main navigation"},of={class:"nav-list"},lf={class:"main-area"},cf={class:"top-header"},uf={class:"page-title"},ff={class:"content"},af=hn({__name:"AppShell",setup(e){const t=nf(),n=we(()=>{const s=t.name;return s==="dashboard"?"dashboard":s==="plans"?"plans":s==="plan-detail"?"plan detail":s==="task-detail"?"task detail":"ndomo"});return(s,r)=>{const i=Ti("router-link");return dt(),Pn("div",sf,[fe("nav",rf,[r[2]||(r[2]=fe("div",{class:"sidebar-logo"},[fe("span",{class:"logo-text"},"ndomo")],-1)),fe("ul",of,[fe("li",null,[ce(i,{to:"/",class:tn(["nav-link",{active:qe(t).name==="dashboard"}])},{default:Sn(()=>[...r[0]||(r[0]=[As(" dashboard ",-1)])]),_:1},8,["class"])]),fe("li",null,[ce(i,{to:"/plans",class:tn(["nav-link",{active:qe(t).name==="plans"||qe(t).name==="plan-detail"}])},{default:Sn(()=>[...r[1]||(r[1]=[As(" plans ",-1)])]),_:1},8,["class"])])])]),fe("div",lf,[fe("header",cf,[fe("h1",uf,Ms(n.value),1)]),fe("main",ff,[Ol(s.$slots,"default",{},void 0)])])])}}}),go=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},df=go(af,[["__scopeId","data-v-34255b01"]]),zs="ndomo_auth_password",hf="";function mo(){return typeof sessionStorage>"u"?null:sessionStorage.getItem(zs)}function pf(e){sessionStorage.setItem(zs,e)}function gf(){sessionStorage.removeItem(zs)}function mf(){const e=mo();return e?`Basic ${btoa(`anonymous:${e}`)}`:null}class $r extends Error{constructor(t,n){super(n.message??n.error??`HTTP ${t}`),this.status=t,this.body=n,this.name="HttpError"}}function _f(e,t){const n=new URL(hf+e,window.location.origin);if(t)for(const[s,r]of Object.entries(t))n.searchParams.set(s,String(r));return n.toString()}async function vf(e){if(e.status===401)throw new $r(401,{error:"unauthorized",status:401});if(!e.ok){let t;try{t=await e.json()}catch{t={error:"http_error",status:e.status}}throw new $r(e.status,t)}return await e.json()}async function Df(e,t){const n=_f(e,t),s={Accept:"application/json"},r=mf();r&&(s.Authorization=r);const i=await fetch(n,{method:"GET",headers:s});return vf(i)}const ds=Yt(mo()!==null);function _o(){function e(n){pf(n),ds.value=!0}function t(){gf(),ds.value=!1}return{isAuthed:ds,submitPassword:e,logout:t}}const yf={class:"auth-overlay",role:"dialog","aria-modal":"true","aria-label":"Authentication required"},bf=["disabled"],Ef=["disabled"],Af={key:0,class:"error",role:"alert"},Rf=hn({__name:"AuthPrompt",setup(e){const t=Yt(""),n=Yt(!1),s=Yt(null),{submitPassword:r}=_o();async function i(){t.value.trim()&&(n.value=!0,s.value=null,r(t.value),t.value="",n.value=!1)}return(o,l)=>(dt(),Pn("div",yf,[fe("form",{class:"auth-prompt",onSubmit:Kc(i,["prevent"])},[l[1]||(l[1]=fe("h2",null,"auth required",-1)),l[2]||(l[2]=fe("p",{class:"muted"},"enter OPENCODE_SERVER_PASSWORD",-1)),ll(fe("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>t.value=c),type:"password",placeholder:"password",autofocus:"",disabled:n.value,"aria-label":"Password"},null,8,bf),[[jc,t.value]]),fe("button",{type:"submit",disabled:n.value||!t.value.trim()},"submit",8,Ef),s.value?(dt(),Pn("p",Af,Ms(s.value),1)):Qi("",!0)],32)]))}}),xf=go(Rf,[["__scopeId","data-v-aaaaa19c"]]),Sf=hn({__name:"App",setup(e){const{isAuthed:t}=_o();return(n,s)=>{const r=Ti("router-view");return dt(),Pn(Re,null,[qe(t)?Qi("",!0):(dt(),Tn(xf,{key:0})),ce(df,null,{default:Sn(()=>[ce(r)]),_:1})],64)}}}),wf="modulepreload",Cf=function(e,t){return new URL(e,t).href},qr={},kt=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let o=function(f){return Promise.all(f.map(h=>Promise.resolve(h).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};const l=document.getElementsByTagName("link"),c=document.querySelector("meta[property=csp-nonce]"),d=c?.nonce||c?.getAttribute("nonce");r=o(n.map(f=>{if(f=Cf(f,s),f in qr)return;qr[f]=!0;const h=f.endsWith(".css"),g=h?'[rel="stylesheet"]':"";if(!!s)for(let x=l.length-1;x>=0;x--){const F=l[x];if(F.href===f&&(!h||F.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${g}`))return;const O=document.createElement("link");if(O.rel=h?"stylesheet":wf,h||(O.as="script"),O.crossOrigin="",O.href=f,d&&O.setAttribute("nonce",d),document.head.appendChild(O),h)return new Promise((x,F)=>{O.addEventListener("load",x),O.addEventListener("error",()=>F(new Error(`Unable to preload CSS for ${f}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Of=tf({history:Mu(),routes:[{path:"/",name:"dashboard",component:()=>kt(()=>import("./DashboardView-DAWAKZNz.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)},{path:"/plans",name:"plans",component:()=>kt(()=>import("./PlanListView-Df_-1nEm.js"),__vite__mapDeps([5,1,2,3,6]),import.meta.url)},{path:"/plans/:id",name:"plan-detail",component:()=>kt(()=>import("./PlanDetailView-CmJwuCSn.js"),__vite__mapDeps([7,1,2,3,8,9]),import.meta.url),props:!0},{path:"/tasks/:id",name:"task-detail",component:()=>kt(()=>import("./TaskDetailView-BFW2TSBA.js"),__vite__mapDeps([10,1,2,8,11]),import.meta.url),props:!0},{path:"/:pathMatch(.*)*",name:"not-found",component:()=>kt(()=>import("./NotFoundView-eTgwHzle.js"),__vite__mapDeps([12,13]),import.meta.url)}]}),vo=$c(Sf);vo.use(Of);vo.mount("#app");export{_s as A,Re as F,$r as H,go as _,fe as a,Tn as b,Pn as c,hn as d,Qi as e,ce as f,Ti as g,As as h,Df as i,Nf as j,ll as k,Yt as l,Mf as m,tn as n,dt as o,we as p,Ns as q,Tf as r,ge as s,Ms as t,qe as u,If as v,Sn as w,bn as x,No as y,Pf as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.status-badge[data-v-c9f23c5a]{font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--r-pill);background:var(--bg-overlay);white-space:nowrap}.spinner[data-v-48f504ae]{display:inline-flex;align-items:center;justify-content:center}.spinner.sm[data-v-48f504ae]{width:16px;height:16px}.spinner.md[data-v-48f504ae]{width:24px;height:24px}.spinner-ring[data-v-48f504ae]{width:100%;height:100%;border:2px solid var(--border-subtle);border-top-color:var(--text-secondary);border-radius:50%;animation:spin-48f504ae .6s linear infinite}@keyframes spin-48f504ae{to{transform:rotate(360deg)}}.error-state[data-v-37b5a0f6]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6)}.error-msg[data-v-37b5a0f6]{margin:0;color:var(--status-failed);font-size:var(--fs-sm);text-align:center}.retry-btn[data-v-37b5a0f6]{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.app-shell[data-v-34255b01]{display:flex;min-height:100vh}.sidebar[data-v-34255b01]{width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0}.sidebar-logo[data-v-34255b01]{padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-subtle)}.logo-text[data-v-34255b01]{font-size:var(--fs-lg);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary)}.nav-list[data-v-34255b01]{list-style:none;margin:0;padding:var(--space-2) 0;display:flex;flex-direction:column;gap:1px}.nav-link[data-v-34255b01]{display:block;padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:none;transition:color var(--t-fast),background var(--t-fast)}.nav-link[data-v-34255b01]:hover{color:var(--text-primary);background:var(--bg-elevated);border-bottom:none}.nav-link.active[data-v-34255b01]{color:var(--text-primary);background:var(--bg-elevated)}.main-area[data-v-34255b01]{flex:1;display:flex;flex-direction:column;min-width:0}.top-header[data-v-34255b01]{height:var(--header-h);padding:0 var(--space-4);display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0}.page-title[data-v-34255b01]{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.content[data-v-34255b01]{flex:1;padding:var(--space-4);overflow-y:auto}.auth-overlay[data-v-aaaaa19c]{position:fixed;inset:0;background:#0d0f12eb;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-prompt[data-v-aaaaa19c]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--space-6);min-width:320px;display:flex;flex-direction:column;gap:var(--space-3)}h2[data-v-aaaaa19c]{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}p[data-v-aaaaa19c]{margin:0;font-size:var(--fs-sm)}.muted[data-v-aaaaa19c]{color:var(--text-muted)}.error[data-v-aaaaa19c]{color:var(--status-failed)}input[data-v-aaaaa19c]{width:100%}:root{--bg-base: #0d0f12;--bg-surface: #161a20;--bg-elevated: #1c2128;--bg-overlay: #232830;--border-subtle: #2a2f37;--border-strong: #3a414b;--border-focus: #4a525e;--text-primary: #e6e6e6;--text-secondary: #b0b8c2;--text-muted: #8b95a3;--text-disabled: #5a6470;--status-pending: #8b95a3;--status-running: #5eb3ff;--status-done: #6ee7b7;--status-failed: #ef4444;--status-blocked: #f59e0b;--status-draft: #6b7280;--status-approved: #a78bfa;--status-executing: #5eb3ff;--status-completed: #6ee7b7;--status-abandoned: #5a6470;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 16px;--fs-xl: 20px;--fs-xxl: 28px;--lh-tight: 1.25;--lh-base: 1.5;--lh-relaxed: 1.7;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--r-sm: 2px;--r-md: 4px;--r-lg: 6px;--r-pill: 999px;--t-fast: 80ms ease-out;--t-base: .15s ease-out;--t-slow: .24s ease-out;--sidebar-w: 200px;--header-h: 44px;--content-max-w: 1200px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:var(--font-mono);font-size:var(--fs-md);line-height:var(--lh-base);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--text-secondary);text-decoration:none;border-bottom:1px dotted var(--border-subtle);transition:color var(--t-fast),border-color var(--t-fast)}a:hover{color:var(--text-primary);border-bottom-color:var(--border-strong)}button{font-family:inherit;font-size:inherit;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}button:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}input,select,textarea{font-family:inherit;font-size:inherit;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:var(--space-1) var(--space-2)}::selection{background:var(--bg-overlay);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--r-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.subtle{color:var(--text-secondary)}.uppercase{text-transform:uppercase;letter-spacing:.05em}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as a}from"./index-C2SSDae4.js";function e(n){return a("/api/plans",n)}function i(n){return a(`/api/plans/${encodeURIComponent(n)}`)}export{i as g,e as l};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as s}from"./index-C2SSDae4.js";function e(t,a){return s("/api/tasks",{planId:t,...a})}function i(t){return s(`/api/tasks/${encodeURIComponent(t)}`)}export{i as g,e as l};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>ndomo panel</title>
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-C2SSDae4.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/index-R6Hc61IH.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="app"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|