@mulmocast/slide 0.4.1 → 0.5.1
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/.claude/skills/extend/SKILL.md +6 -6
- package/.claude/skills/extend/references/extended-script-schema.md +5 -5
- package/.claude/skills/md-to-mulmo/SKILL.md +172 -0
- package/.claude/skills/narrate/SKILL.md +8 -8
- package/.claude/skills/narrate/references/extended-script-schema.md +5 -5
- package/README.md +56 -10
- package/lib/actions/extend-scaffold.d.ts +2 -2
- package/lib/actions/extend-scaffold.d.ts.map +1 -1
- package/lib/actions/extend-scaffold.js +3 -3
- package/lib/actions/extend-scaffold.js.map +1 -1
- package/lib/actions/extend-validate.js +3 -3
- package/lib/actions/extend-validate.js.map +1 -1
- package/lib/actions/md-to-extended.d.ts +54 -0
- package/lib/actions/md-to-extended.d.ts.map +1 -0
- package/lib/actions/md-to-extended.js +176 -0
- package/lib/actions/md-to-extended.js.map +1 -0
- package/lib/actions/narrate.d.ts.map +1 -1
- package/lib/actions/narrate.js +6 -6
- package/lib/actions/narrate.js.map +1 -1
- package/lib/actions/preview.js +1 -1
- package/lib/actions/preview.js.map +1 -1
- package/lib/cli.js +26 -6
- package/lib/cli.js.map +1 -1
- package/lib/convert/marp.js +1 -1
- package/lib/convert/marp.js.map +1 -1
- package/lib/convert/movie.d.ts.map +1 -1
- package/lib/convert/movie.js +2 -2
- package/lib/convert/movie.js.map +1 -1
- package/lib/utils/markdown-parser.d.ts +28 -0
- package/lib/utils/markdown-parser.d.ts.map +1 -0
- package/lib/utils/markdown-parser.js +215 -0
- package/lib/utils/markdown-parser.js.map +1 -0
- package/package.json +12 -12
- package/lib/vue/assets/index-D6am8L57.css +0 -1
- package/lib/vue/assets/index-xq-ZNfmX.js +0 -2
- package/lib/vue/index.html +0 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-parser.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAwOD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,cAMhD,CAAC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown Structure Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses markdown into a structured representation for LLM-based
|
|
5
|
+
* presentation planning. Unlike the slide-splitting markdown plugins,
|
|
6
|
+
* this parser preserves the full document structure (heading hierarchy,
|
|
7
|
+
* element types) for intelligent beat allocation by an LLM.
|
|
8
|
+
*/
|
|
9
|
+
const FRONTMATTER_REGEX = /^---\n([\s\S]*?)\n---\n/;
|
|
10
|
+
const HEADING_REGEX = /^(#{1,6})\s+(.+)$/;
|
|
11
|
+
const FENCED_CODE_REGEX = /^```(\w*)\s*$/;
|
|
12
|
+
const TABLE_ROW_REGEX = /^\|.+\|$/;
|
|
13
|
+
const IMAGE_REGEX = /^!\[([^\]]*)\]\(([^)]+)\)$/;
|
|
14
|
+
const CITATION_REGEX = /\[([^\]]+)\]\((https?:\/\/[^)]+)\)/;
|
|
15
|
+
const LIST_ITEM_REGEX = /^(\s*[-*+]|\s*\d+\.)\s/;
|
|
16
|
+
const parseFrontmatter = (markdown) => {
|
|
17
|
+
const match = markdown.match(FRONTMATTER_REGEX);
|
|
18
|
+
if (!match) {
|
|
19
|
+
return { frontmatter: null, body: markdown };
|
|
20
|
+
}
|
|
21
|
+
const yamlBlock = match[1];
|
|
22
|
+
const frontmatter = {};
|
|
23
|
+
yamlBlock.split("\n").forEach((line) => {
|
|
24
|
+
const colonIndex = line.indexOf(":");
|
|
25
|
+
if (colonIndex > 0) {
|
|
26
|
+
const key = line.slice(0, colonIndex).trim();
|
|
27
|
+
const value = line.slice(colonIndex + 1).trim();
|
|
28
|
+
frontmatter[key] = value;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return { frontmatter, body: markdown.slice(match[0].length) };
|
|
32
|
+
};
|
|
33
|
+
const extractCitations = (text) => {
|
|
34
|
+
const citations = [];
|
|
35
|
+
const seen = new Set();
|
|
36
|
+
let match;
|
|
37
|
+
const regex = new RegExp(CITATION_REGEX.source, "g");
|
|
38
|
+
while ((match = regex.exec(text)) !== null) {
|
|
39
|
+
const url = match[2];
|
|
40
|
+
if (!seen.has(url)) {
|
|
41
|
+
seen.add(url);
|
|
42
|
+
citations.push({ type: "citation", content: match[1], url });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return citations;
|
|
46
|
+
};
|
|
47
|
+
const collectWhile = (lines, startIndex, predicate) => {
|
|
48
|
+
const collected = [];
|
|
49
|
+
let i = startIndex;
|
|
50
|
+
while (i < lines.length && predicate(lines[i], collected.length, lines[i + 1])) {
|
|
51
|
+
collected.push(lines[i]);
|
|
52
|
+
i++;
|
|
53
|
+
}
|
|
54
|
+
return { collected, endIndex: i };
|
|
55
|
+
};
|
|
56
|
+
const collectTableLines = (lines, startIndex) => {
|
|
57
|
+
const { collected, endIndex } = collectWhile(lines, startIndex, (line) => TABLE_ROW_REGEX.test(line.trim()));
|
|
58
|
+
return { content: collected.join("\n"), endIndex };
|
|
59
|
+
};
|
|
60
|
+
const isListContinuation = (line, count, peekNext) => {
|
|
61
|
+
if (LIST_ITEM_REGEX.test(line))
|
|
62
|
+
return true;
|
|
63
|
+
if (line.startsWith(" ") && count > 0)
|
|
64
|
+
return true;
|
|
65
|
+
if (line.trim() === "" && peekNext !== undefined && LIST_ITEM_REGEX.test(peekNext))
|
|
66
|
+
return true;
|
|
67
|
+
return false;
|
|
68
|
+
};
|
|
69
|
+
const collectListLines = (lines, startIndex) => {
|
|
70
|
+
const { collected, endIndex } = collectWhile(lines, startIndex, isListContinuation);
|
|
71
|
+
return { content: collected.join("\n"), endIndex };
|
|
72
|
+
};
|
|
73
|
+
const collectCodeBlock = (lines, startIndex, lang) => {
|
|
74
|
+
const codeLines = [];
|
|
75
|
+
let i = startIndex + 1;
|
|
76
|
+
while (i < lines.length && !lines[i].trim().startsWith("```")) {
|
|
77
|
+
codeLines.push(lines[i]);
|
|
78
|
+
i++;
|
|
79
|
+
}
|
|
80
|
+
const content = codeLines.join("\n");
|
|
81
|
+
const closed = i < lines.length;
|
|
82
|
+
const element = lang === "mermaid"
|
|
83
|
+
? { type: "mermaid", content }
|
|
84
|
+
: { type: "codeBlock", content, lang: lang || undefined };
|
|
85
|
+
return { element, endIndex: closed ? i + 1 : i };
|
|
86
|
+
};
|
|
87
|
+
const handleCodeBlock = (lines, index) => {
|
|
88
|
+
const codeMatch = lines[index].trim().match(FENCED_CODE_REGEX);
|
|
89
|
+
if (!codeMatch)
|
|
90
|
+
return null;
|
|
91
|
+
const { element, endIndex } = collectCodeBlock(lines, index, codeMatch[1]);
|
|
92
|
+
return { elements: [element], endIndex };
|
|
93
|
+
};
|
|
94
|
+
const handleTable = (lines, index) => {
|
|
95
|
+
if (!TABLE_ROW_REGEX.test(lines[index].trim()))
|
|
96
|
+
return null;
|
|
97
|
+
const { content, endIndex } = collectTableLines(lines, index);
|
|
98
|
+
return { elements: [{ type: "table", content }], endIndex };
|
|
99
|
+
};
|
|
100
|
+
const handleImage = (lines, index) => {
|
|
101
|
+
const trimmed = lines[index].trim();
|
|
102
|
+
const imageMatch = trimmed.match(IMAGE_REGEX);
|
|
103
|
+
if (!imageMatch)
|
|
104
|
+
return null;
|
|
105
|
+
return {
|
|
106
|
+
elements: [{ type: "image", content: trimmed, alt: imageMatch[1], url: imageMatch[2] }],
|
|
107
|
+
endIndex: index + 1,
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
const handleList = (lines, index) => {
|
|
111
|
+
if (!LIST_ITEM_REGEX.test(lines[index]))
|
|
112
|
+
return null;
|
|
113
|
+
const { content, endIndex } = collectListLines(lines, index);
|
|
114
|
+
return { elements: [{ type: "list", content }], endIndex };
|
|
115
|
+
};
|
|
116
|
+
const ELEMENT_HANDLERS = [handleCodeBlock, handleTable, handleImage, handleList];
|
|
117
|
+
const tryHandlers = (lines, index) => {
|
|
118
|
+
for (const handler of ELEMENT_HANDLERS) {
|
|
119
|
+
const result = handler(lines, index);
|
|
120
|
+
if (result)
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
};
|
|
125
|
+
const flushTextBuffer = (buffer) => {
|
|
126
|
+
const text = buffer.join("\n").trim();
|
|
127
|
+
if (text.length === 0)
|
|
128
|
+
return [];
|
|
129
|
+
return [{ type: "text", content: text }, ...extractCitations(text)];
|
|
130
|
+
};
|
|
131
|
+
const parseElements = (bodyLines) => {
|
|
132
|
+
const elements = [];
|
|
133
|
+
const textBuffer = [];
|
|
134
|
+
let i = 0;
|
|
135
|
+
while (i < bodyLines.length) {
|
|
136
|
+
const result = tryHandlers(bodyLines, i);
|
|
137
|
+
if (result) {
|
|
138
|
+
elements.push(...flushTextBuffer(textBuffer));
|
|
139
|
+
textBuffer.length = 0;
|
|
140
|
+
elements.push(...result.elements);
|
|
141
|
+
i = result.endIndex;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
textBuffer.push(bodyLines[i]);
|
|
145
|
+
i++;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
elements.push(...flushTextBuffer(textBuffer));
|
|
149
|
+
return elements;
|
|
150
|
+
};
|
|
151
|
+
const generateSectionId = (index) => {
|
|
152
|
+
return `sec-${index}`;
|
|
153
|
+
};
|
|
154
|
+
const splitIntoRawSections = (lines) => {
|
|
155
|
+
const raw = [];
|
|
156
|
+
let currentHeading = "(root)";
|
|
157
|
+
let currentLevel = 0;
|
|
158
|
+
let currentBodyLines = [];
|
|
159
|
+
const flush = () => {
|
|
160
|
+
const hasContent = currentBodyLines.some((line) => line.trim().length > 0);
|
|
161
|
+
if (currentLevel > 0 || hasContent) {
|
|
162
|
+
raw.push({ heading: currentHeading, level: currentLevel, bodyLines: currentBodyLines });
|
|
163
|
+
}
|
|
164
|
+
currentBodyLines = [];
|
|
165
|
+
};
|
|
166
|
+
let inCodeBlock = false;
|
|
167
|
+
lines.forEach((line) => {
|
|
168
|
+
if (FENCED_CODE_REGEX.test(line.trim())) {
|
|
169
|
+
inCodeBlock = !inCodeBlock;
|
|
170
|
+
}
|
|
171
|
+
const headingMatch = !inCodeBlock ? line.match(HEADING_REGEX) : null;
|
|
172
|
+
if (headingMatch) {
|
|
173
|
+
flush();
|
|
174
|
+
currentHeading = headingMatch[2];
|
|
175
|
+
currentLevel = headingMatch[1].length;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
currentBodyLines.push(line);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
flush();
|
|
182
|
+
return raw;
|
|
183
|
+
};
|
|
184
|
+
const toSection = (raw, index) => ({
|
|
185
|
+
id: generateSectionId(index),
|
|
186
|
+
heading: raw.heading,
|
|
187
|
+
level: raw.level,
|
|
188
|
+
elements: parseElements(raw.bodyLines),
|
|
189
|
+
children: [],
|
|
190
|
+
});
|
|
191
|
+
export const parseMarkdown = (markdown) => {
|
|
192
|
+
const { frontmatter, body } = parseFrontmatter(markdown);
|
|
193
|
+
const rawSections = splitIntoRawSections(body.split("\n"));
|
|
194
|
+
const sections = rawSections.map(toSection);
|
|
195
|
+
buildHierarchy(sections);
|
|
196
|
+
return { frontmatter, sections };
|
|
197
|
+
};
|
|
198
|
+
const findDirectChildIds = (sections, parentIndex) => {
|
|
199
|
+
const parentLevel = sections[parentIndex].level;
|
|
200
|
+
const children = [];
|
|
201
|
+
for (let j = parentIndex + 1; j < sections.length; j++) {
|
|
202
|
+
if (sections[j].level <= parentLevel)
|
|
203
|
+
break;
|
|
204
|
+
if (sections[j].level === parentLevel + 1)
|
|
205
|
+
children.push(sections[j].id);
|
|
206
|
+
}
|
|
207
|
+
return children;
|
|
208
|
+
};
|
|
209
|
+
const buildHierarchy = (sections) => {
|
|
210
|
+
sections.forEach((section, i) => {
|
|
211
|
+
if (section.level > 0)
|
|
212
|
+
section.children = findDirectChildIds(sections, i);
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=markdown-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../src/utils/markdown-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mulmocast/slide",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Convert presentations (Keynote, PowerPoint, PDF, Marp) and videos to MulmoScript format",
|
|
5
5
|
"homepage": "https://github.com/receptron/MulmoCast-Slides#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -54,6 +54,8 @@
|
|
|
54
54
|
"transcribe": "tsx src/cli.ts transcribe",
|
|
55
55
|
"movie": "tsx src/cli.ts movie",
|
|
56
56
|
"bundle": "tsx src/cli.ts bundle",
|
|
57
|
+
"parse-md": "tsx src/cli.ts parse-md",
|
|
58
|
+
"assemble-extended": "tsx src/cli.ts assemble-extended",
|
|
57
59
|
"narrate": "tsx src/cli.ts narrate",
|
|
58
60
|
"upload": "tsx src/cli.ts upload",
|
|
59
61
|
"test:keynote": "tsx src/cli.ts keynote samples/GraphAI.key",
|
|
@@ -62,27 +64,28 @@
|
|
|
62
64
|
},
|
|
63
65
|
"dependencies": {
|
|
64
66
|
"@marp-team/marp-cli": "^4.0.0",
|
|
65
|
-
"@mulmocast/extended-types": "^0.
|
|
67
|
+
"@mulmocast/extended-types": "^0.3.0",
|
|
66
68
|
"dotenv": "^17.2.4",
|
|
67
69
|
"franc": "^6.2.0",
|
|
68
70
|
"mulmocast": "^2.1.35",
|
|
69
|
-
"mulmocast-viewer": "^0.1
|
|
71
|
+
"mulmocast-viewer": "^0.2.1",
|
|
70
72
|
"node-pptx-parser": "^1.0.1",
|
|
71
|
-
"openai": "^6.
|
|
73
|
+
"openai": "^6.21.0",
|
|
72
74
|
"pdf-parse": "^2.4.5",
|
|
73
75
|
"ppt-png": "^2.2.0",
|
|
74
76
|
"tsx": "^4.7.0",
|
|
75
|
-
"vue": "^3.5.
|
|
77
|
+
"vue": "^3.5.28",
|
|
76
78
|
"yargs": "^18.0.0"
|
|
77
79
|
},
|
|
78
80
|
"devDependencies": {
|
|
81
|
+
"@eslint/js": "^10.0.1",
|
|
79
82
|
"@tailwindcss/vite": "^4.1.18",
|
|
80
|
-
"@types/node": "^25.2.
|
|
83
|
+
"@types/node": "^25.2.3",
|
|
81
84
|
"@types/yargs": "^17.0.35",
|
|
82
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
83
|
-
"@typescript-eslint/parser": "^8.
|
|
85
|
+
"@typescript-eslint/eslint-plugin": "^8.55.0",
|
|
86
|
+
"@typescript-eslint/parser": "^8.55.0",
|
|
84
87
|
"@vitejs/plugin-vue": "^6.0.4",
|
|
85
|
-
"eslint": "^
|
|
88
|
+
"eslint": "^10.0.0",
|
|
86
89
|
"eslint-config-prettier": "^10.1.8",
|
|
87
90
|
"eslint-plugin-prettier": "^5.5.5",
|
|
88
91
|
"globals": "^17.3.0",
|
|
@@ -90,8 +93,5 @@
|
|
|
90
93
|
"tailwindcss": "^4.1.18",
|
|
91
94
|
"typescript": "^5.9.3",
|
|
92
95
|
"vite": "^7.3.1"
|
|
93
|
-
},
|
|
94
|
-
"resolutions": {
|
|
95
|
-
"unicorn-magic": "0.2.0"
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-2xl:1rem;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.z-50{z-index:50}.float-left{float:left}.clear-both{clear:both}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-4{height:calc(var(--spacing)*4)}.h-6\!{height:calc(var(--spacing)*6)!important}.h-auto{height:auto}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.max-h-full{max-height:100%}.w-4{width:calc(var(--spacing)*4)}.w-30{width:calc(var(--spacing)*30)}.w-64{width:calc(var(--spacing)*64)}.w-auto{width:auto}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black{background-color:var(--color-black)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-red-600{background-color:var(--color-red-600)}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-10{padding:calc(var(--spacing)*10)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0\!{opacity:0!important}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.group-hover\:text-indigo-600:is(:where(.group):hover *){color:var(--color-indigo-600)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-indigo-200:focus{--tw-ring-color:var(--color-indigo-200)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline-block{display:inline-block}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}.mulmocast-video::-webkit-media-controls-enclosure{background-color:#00000080!important;border-radius:0!important}.mulmocast-video::-webkit-media-controls-current-time-display{-webkit-text-fill-color:#fff!important}.mulmocast-video::-webkit-media-controls-time-remaining-display{-webkit-text-fill-color:#fff!important}.mulmocast-video::-webkit-media-controls-play-button{filter:brightness(1.1)}.mulmocast-video::-webkit-media-controls-mute-button{filter:brightness(1.1)}.mulmocast-video::-webkit-media-controls-overlay-play-button{filter:brightness(1.1)}.mulmocast-video::-webkit-media-controls-fullscreen-button{filter:brightness(1.1)}.mulmocast-video::-webkit-media-controls{opacity:0;transition:opacity .3s}.mulmocast-video:hover::-webkit-media-controls{opacity:1}.mulmocast-audio::-webkit-media-controls-enclosure{background-color:#00000080!important;border-radius:0!important}.mulmocast-audio::-webkit-media-controls-current-time-display{-webkit-text-fill-color:#fff!important}.mulmocast-audio::-webkit-media-controls-time-remaining-display{-webkit-text-fill-color:#fff!important}.mulmocast-audio::-webkit-media-controls-play-button{filter:brightness(1.1)}.mulmocast-audio::-webkit-media-controls-mute-button{filter:brightness(1.1)}.mulmocast-audio::-webkit-media-controls{opacity:0;transition:opacity .3s}.mulmocast-audio:hover::-webkit-media-controls{opacity:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.text-gray-800{color:#fff!important}.text-gray-400{color:#bbb!important}.mt-4.px-6.py-4{background:#1f2937;border-radius:.5rem;margin-top:1rem}.px-4.py-2.bg-gray-500{margin:.5rem}.items-center.justify-center.w-full{padding:.5rem}.max-w-7xl{padding:.5rem;margin:.5rem}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.h-3{height:calc(var(--spacing)*3)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.flex-1{flex:1}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900{background-color:var(--color-red-900)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-800{color:var(--color-gray-800)}.text-green-400{color:var(--color-green-400)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(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"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(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 n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();function en(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const X={},yt=[],Ve=()=>{},rr=()=>!1,ms=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tn=e=>e.startsWith("onUpdate:"),ge=Object.assign,sn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ai=Object.prototype.hasOwnProperty,q=(e,t)=>ai.call(e,t),D=Array.isArray,_t=e=>qt(e)==="[object Map]",bs=e=>qt(e)==="[object Set]",En=e=>qt(e)==="[object Date]",$=e=>typeof e=="function",ie=e=>typeof e=="string",Fe=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",ir=e=>(se(e)||$(e))&&$(e.then)&&$(e.catch),or=Object.prototype.toString,qt=e=>or.call(e),ci=e=>qt(e).slice(8,-1),lr=e=>qt(e)==="[object Object]",nn=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,jt=en(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ys=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},fi=/-\w/g,ot=ys(e=>e.replace(fi,t=>t.slice(1).toUpperCase())),di=/\B([A-Z])/g,ht=ys(e=>e.replace(di,"-$1").toLowerCase()),ur=ys(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ms=ys(e=>e?`on${ur(e)}`:""),it=(e,t)=>!Object.is(e,t),Qt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},ar=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},_s=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Cn;const xs=()=>Cn||(Cn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ss(e){if(D(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=ie(n)?vi(n):Ss(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(ie(e)||se(e))return e}const pi=/;(?![^(]*\))/g,hi=/:([^]+)/,gi=/\/\*[^]*?\*\//g;function vi(e){const t={};return e.replace(gi,"").split(pi).forEach(s=>{if(s){const n=s.split(hi);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Et(e){let t="";if(ie(e))t=e;else if(D(e))for(let s=0;s<e.length;s++){const n=Et(e[s]);n&&(t+=n+" ")}else if(se(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}function Pn(e){if(!e)return null;let{class:t,style:s}=e;return t&&!ie(t)&&(e.class=Et(t)),s&&(e.style=Ss(s)),e}const mi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",bi=en(mi);function cr(e){return!!e||e===""}function yi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=ws(e[n],t[n]);return s}function ws(e,t){if(e===t)return!0;let s=En(e),n=En(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Fe(e),n=Fe(t),s||n)return e===t;if(s=D(e),n=D(t),s||n)return s&&n?yi(e,t):!1;if(s=se(e),n=se(t),s||n){if(!s||!n)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),u=t.hasOwnProperty(o);if(l&&!u||!l&&u||!ws(e[o],t[o]))return!1}}return String(e)===String(t)}function _i(e,t){return e.findIndex(s=>ws(s,t))}const fr=e=>!!(e&&e.__v_isRef===!0),ce=e=>ie(e)?e:e==null?"":D(e)||se(e)&&(e.toString===or||!$(e.toString))?fr(e)?ce(e.value):JSON.stringify(e,dr,2):String(e),dr=(e,t)=>fr(t)?dr(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[Ls(n,i)+" =>"]=r,s),{})}:bs(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ls(s))}:Fe(t)?Ls(t):se(t)&&!D(t)&&!lr(t)?String(t):t,Ls=(e,t="")=>{var s;return Fe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Te;class xi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Te,!t&&Te&&(this.index=(Te.scopes||(Te.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Te;try{return Te=this,t()}finally{Te=s}}}on(){++this._on===1&&(this.prevScope=Te,Te=this)}off(){this._on>0&&--this._on===0&&(Te=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].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 Si(){return Te}let te;const Is=new WeakSet;class pr{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,Te&&Te.active&&Te.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Is.has(this)&&(Is.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,An(this),vr(this);const t=te,s=Ie;te=this,Ie=!0;try{return this.fn()}finally{mr(this),te=t,Ie=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ln(t);this.deps=this.depsTail=void 0,An(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Is.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Vs(this)&&this.run()}get dirty(){return Vs(this)}}let hr=0,Dt,Nt;function gr(e,t=!1){if(e.flags|=8,t){e.next=Nt,Nt=e;return}e.next=Dt,Dt=e}function rn(){hr++}function on(){if(--hr>0)return;if(Nt){let t=Nt;for(Nt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Dt;){let t=Dt;for(Dt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function vr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function mr(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),ln(n),wi(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Vs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(br(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function br(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ut)||(e.globalVersion=Ut,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Vs(e))))return;e.flags|=2;const t=e.dep,s=te,n=Ie;te=e,Ie=!0;try{vr(e);const r=e.fn(e._value);(t.version===0||it(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{te=s,Ie=n,mr(e),e.flags&=-3}}function ln(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)ln(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function wi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ie=!0;const yr=[];function Ze(){yr.push(Ie),Ie=!1}function Xe(){const e=yr.pop();Ie=e===void 0?!0:e}function An(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=te;te=void 0;try{t()}finally{te=s}}}let Ut=0;class Ti{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class un{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(!te||!Ie||te===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==te)s=this.activeLink=new Ti(te,this),te.deps?(s.prevDep=te.depsTail,te.depsTail.nextDep=s,te.depsTail=s):te.deps=te.depsTail=s,_r(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=te.depsTail,s.nextDep=void 0,te.depsTail.nextDep=s,te.depsTail=s,te.deps===s&&(te.deps=n)}return s}trigger(t){this.version++,Ut++,this.notify(t)}notify(t){rn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{on()}}}function _r(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_r(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Bs=new WeakMap,dt=Symbol(""),Ws=Symbol(""),Vt=Symbol("");function de(e,t,s){if(Ie&&te){let n=Bs.get(e);n||Bs.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new un),r.map=n,r.key=s),r.track()}}function ze(e,t,s,n,r,i){const o=Bs.get(e);if(!o){Ut++;return}const l=u=>{u&&u.trigger()};if(rn(),t==="clear")o.forEach(l);else{const u=D(e),d=u&&nn(s);if(u&&s==="length"){const f=Number(n);o.forEach((h,x)=>{(x==="length"||x===Vt||!Fe(x)&&x>=f)&&l(h)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Vt)),t){case"add":u?d&&l(o.get("length")):(l(o.get(dt)),_t(e)&&l(o.get(Ws)));break;case"delete":u||(l(o.get(dt)),_t(e)&&l(o.get(Ws)));break;case"set":_t(e)&&l(o.get(dt));break}}on()}function mt(e){const t=K(e);return t===e?t:(de(t,"iterate",Vt),Oe(e)?t:t.map(je))}function Ts(e){return de(e=K(e),"iterate",Vt),e}function st(e,t){return Qe(e)?pt(e)?Ct(je(t)):Ct(t):je(t)}const Ei={__proto__:null,[Symbol.iterator](){return Fs(this,Symbol.iterator,e=>st(this,e))},concat(...e){return mt(this).concat(...e.map(t=>D(t)?mt(t):t))},entries(){return Fs(this,"entries",e=>(e[1]=st(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,s=>s.map(n=>st(this,n)),arguments)},find(e,t){return qe(this,"find",e,t,s=>st(this,s),arguments)},findIndex(e,t){return qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return qe(this,"findLast",e,t,s=>st(this,s),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 js(this,"includes",e)},indexOf(...e){return js(this,"indexOf",e)},join(e){return mt(this).join(e)},lastIndexOf(...e){return js(this,"lastIndexOf",e)},map(e,t){return qe(this,"map",e,t,void 0,arguments)},pop(){return Mt(this,"pop")},push(...e){return Mt(this,"push",e)},reduce(e,...t){return On(this,"reduce",e,t)},reduceRight(e,...t){return On(this,"reduceRight",e,t)},shift(){return Mt(this,"shift")},some(e,t){return qe(this,"some",e,t,void 0,arguments)},splice(...e){return Mt(this,"splice",e)},toReversed(){return mt(this).toReversed()},toSorted(e){return mt(this).toSorted(e)},toSpliced(...e){return mt(this).toSpliced(...e)},unshift(...e){return Mt(this,"unshift",e)},values(){return Fs(this,"values",e=>st(this,e))}};function Fs(e,t,s){const n=Ts(e),r=n[t]();return n!==e&&!Oe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const Ci=Array.prototype;function qe(e,t,s,n,r,i){const o=Ts(e),l=o!==e&&!Oe(e),u=o[t];if(u!==Ci[t]){const h=u.apply(e,i);return l?je(h):h}let d=s;o!==e&&(l?d=function(h,x){return s.call(this,st(e,h),x,e)}:s.length>2&&(d=function(h,x){return s.call(this,h,x,e)}));const f=u.call(o,d,n);return l&&r?r(f):f}function On(e,t,s,n){const r=Ts(e);let i=s;return r!==e&&(Oe(e)?s.length>3&&(i=function(o,l,u){return s.call(this,o,l,u,e)}):i=function(o,l,u){return s.call(this,o,st(e,l),u,e)}),r[t](i,...n)}function js(e,t,s){const n=K(e);de(n,"iterate",Vt);const r=n[t](...s);return(r===-1||r===!1)&&dn(s[0])?(s[0]=K(s[0]),n[t](...s)):r}function Mt(e,t,s=[]){Ze(),rn();const n=K(e)[t].apply(e,s);return on(),Xe(),n}const Pi=en("__proto__,__v_isRef,__isVue"),xr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fe));function Ai(e){Fe(e)||(e=String(e));const t=K(this);return de(t,"has",e),t.hasOwnProperty(e)}class Sr{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Hi:Cr:i?Er:Tr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=D(t);if(!r){let u;if(o&&(u=Ei[s]))return u;if(s==="hasOwnProperty")return Ai}const l=Reflect.get(t,s,he(t)?t:n);if((Fe(s)?xr.has(s):Pi(s))||(r||de(t,"get",s),i))return l;if(he(l)){const u=o&&nn(s)?l:l.value;return r&&se(u)?qs(u):u}return se(l)?r?qs(l):cn(l):l}}class wr extends Sr{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=D(t)&&nn(s);if(!this._isShallow){const d=Qe(i);if(!Oe(n)&&!Qe(n)&&(i=K(i),n=K(n)),!o&&he(i)&&!he(n))return d||(i.value=n),!0}const l=o?Number(s)<t.length:q(t,s),u=Reflect.set(t,s,n,he(t)?t:r);return t===K(r)&&(l?it(n,i)&&ze(t,"set",s,n):ze(t,"add",s,n)),u}deleteProperty(t,s){const n=q(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&ze(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!Fe(s)||!xr.has(s))&&de(t,"has",s),n}ownKeys(t){return de(t,"iterate",D(t)?"length":dt),Reflect.ownKeys(t)}}class Oi extends Sr{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Ri=new wr,Mi=new Oi,Li=new wr(!0);const Ks=e=>e,Yt=e=>Reflect.getPrototypeOf(e);function Ii(e,t,s){return function(...n){const r=this.__v_raw,i=K(r),o=_t(i),l=e==="entries"||e===Symbol.iterator&&o,u=e==="keys"&&o,d=r[e](...n),f=s?Ks:t?Ct:je;return!t&&de(i,"iterate",u?Ws:dt),{next(){const{value:h,done:x}=d.next();return x?{value:h,done:x}:{value:l?[f(h[0]),f(h[1])]:f(h),done:x}},[Symbol.iterator](){return this}}}}function Zt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Fi(e,t){const s={get(r){const i=this.__v_raw,o=K(i),l=K(r);e||(it(r,l)&&de(o,"get",r),de(o,"get",l));const{has:u}=Yt(o),d=t?Ks:e?Ct:je;if(u.call(o,r))return d(i.get(r));if(u.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&de(K(r),"iterate",dt),r.size},has(r){const i=this.__v_raw,o=K(i),l=K(r);return e||(it(r,l)&&de(o,"has",r),de(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,u=K(l),d=t?Ks:e?Ct:je;return!e&&de(u,"iterate",dt),l.forEach((f,h)=>r.call(i,d(f),d(h),o))}};return ge(s,e?{add:Zt("add"),set:Zt("set"),delete:Zt("delete"),clear:Zt("clear")}:{add(r){!t&&!Oe(r)&&!Qe(r)&&(r=K(r));const i=K(this);return Yt(i).has.call(i,r)||(i.add(r),ze(i,"add",r,r)),this},set(r,i){!t&&!Oe(i)&&!Qe(i)&&(i=K(i));const o=K(this),{has:l,get:u}=Yt(o);let d=l.call(o,r);d||(r=K(r),d=l.call(o,r));const f=u.call(o,r);return o.set(r,i),d?it(i,f)&&ze(o,"set",r,i):ze(o,"add",r,i),this},delete(r){const i=K(this),{has:o,get:l}=Yt(i);let u=o.call(i,r);u||(r=K(r),u=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return u&&ze(i,"delete",r,void 0),d},clear(){const r=K(this),i=r.size!==0,o=r.clear();return i&&ze(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Ii(r,e,t)}),s}function an(e,t){const s=Fi(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(q(s,r)&&r in n?s:n,r,i)}const ji={get:an(!1,!1)},Di={get:an(!1,!0)},Ni={get:an(!0,!1)};const Tr=new WeakMap,Er=new WeakMap,Cr=new WeakMap,Hi=new WeakMap;function $i(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ki(e){return e.__v_skip||!Object.isExtensible(e)?0:$i(ci(e))}function cn(e){return Qe(e)?e:fn(e,!1,Ri,ji,Tr)}function Ui(e){return fn(e,!1,Li,Di,Er)}function qs(e){return fn(e,!0,Mi,Ni,Cr)}function fn(e,t,s,n,r){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=ki(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?n:s);return r.set(e,l),l}function pt(e){return Qe(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function Qe(e){return!!(e&&e.__v_isReadonly)}function Oe(e){return!!(e&&e.__v_isShallow)}function dn(e){return e?!!e.__v_raw:!1}function K(e){const t=e&&e.__v_raw;return t?K(t):e}function Vi(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&ar(e,"__v_skip",!0),e}const je=e=>se(e)?cn(e):e,Ct=e=>se(e)?qs(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Z(e){return Bi(e,!1)}function Bi(e,t){return he(e)?e:new Wi(e,t)}class Wi{constructor(t,s){this.dep=new un,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:K(t),this._value=s?t:je(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Oe(t)||Qe(t);t=n?t:K(t),it(t,s)&&(this._rawValue=t,this._value=n?t:je(t),this.dep.trigger())}}function pn(e){return he(e)?e.value:e}const Ki={get:(e,t,s)=>t==="__v_raw"?e:pn(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return he(r)&&!he(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Pr(e){return pt(e)?e:new Proxy(e,Ki)}class qi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new un(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ut-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&te!==this)return gr(this,!0),!0}get value(){const t=this.dep.track();return br(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ji(e,t,s=!1){let n,r;return $(e)?n=e:(n=e.get,r=e.set),new qi(n,r,s)}const Xt={},os=new WeakMap;let ct;function Gi(e,t=!1,s=ct){if(s){let n=os.get(s);n||os.set(s,n=[]),n.push(e)}}function zi(e,t,s=X){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:l,call:u}=s,d=O=>r?O:Oe(O)||r===!1||r===0?Ye(O,1):Ye(O);let f,h,x,S,L=!1,P=!1;if(he(e)?(h=()=>e.value,L=Oe(e)):pt(e)?(h=()=>d(e),L=!0):D(e)?(P=!0,L=e.some(O=>pt(O)||Oe(O)),h=()=>e.map(O=>{if(he(O))return O.value;if(pt(O))return d(O);if($(O))return u?u(O,2):O()})):$(e)?t?h=u?()=>u(e,2):e:h=()=>{if(x){Ze();try{x()}finally{Xe()}}const O=ct;ct=f;try{return u?u(e,3,[S]):e(S)}finally{ct=O}}:h=Ve,t&&r){const O=h,J=r===!0?1/0:r;h=()=>Ye(O(),J)}const z=Si(),M=()=>{f.stop(),z&&z.active&&sn(z.effects,f)};if(i&&t){const O=t;t=(...J)=>{O(...J),M()}}let j=P?new Array(e.length).fill(Xt):Xt;const k=O=>{if(!(!(f.flags&1)||!f.dirty&&!O))if(t){const J=f.run();if(r||L||(P?J.some((xe,oe)=>it(xe,j[oe])):it(J,j))){x&&x();const xe=ct;ct=f;try{const oe=[J,j===Xt?void 0:P&&j[0]===Xt?[]:j,S];j=J,u?u(t,3,oe):t(...oe)}finally{ct=xe}}}else f.run()};return l&&l(k),f=new pr(h),f.scheduler=o?()=>o(k,!1):k,S=O=>Gi(O,!1,f),x=f.onStop=()=>{const O=os.get(f);if(O){if(u)u(O,4);else for(const J of O)J();os.delete(f)}},t?n?k(!0):j=f.run():o?o(k.bind(null,!0),!0):f.run(),M.pause=f.pause.bind(f),M.resume=f.resume.bind(f),M.stop=M,M}function Ye(e,t=1/0,s){if(t<=0||!se(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,he(e))Ye(e.value,t,s);else if(D(e))for(let n=0;n<e.length;n++)Ye(e[n],t,s);else if(bs(e)||_t(e))e.forEach(n=>{Ye(n,t,s)});else if(lr(e)){for(const n in e)Ye(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ye(e[n],t,s)}return e}function Jt(e,t,s,n){try{return n?e(...n):e()}catch(r){Es(r,t,s)}}function Be(e,t,s,n){if($(e)){const r=Jt(e,t,s,n);return r&&ir(r)&&r.catch(i=>{Es(i,t,s)}),r}if(D(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Be(e[i],t,s,n));return r}}function Es(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const u=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,u,d)===!1)return}l=l.parent}if(i){Ze(),Jt(i,null,10,[e,u,d]),Xe();return}}Yi(e,s,r,n,o)}function Yi(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const ye=[];let ke=-1;const xt=[];let nt=null,bt=0;const Ar=Promise.resolve();let ls=null;function Or(e){const t=ls||Ar;return e?t.then(this?e.bind(this):e):t}function Zi(e){let t=ke+1,s=ye.length;for(;t<s;){const n=t+s>>>1,r=ye[n],i=Bt(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function hn(e){if(!(e.flags&1)){const t=Bt(e),s=ye[ye.length-1];!s||!(e.flags&2)&&t>=Bt(s)?ye.push(e):ye.splice(Zi(t),0,e),e.flags|=1,Rr()}}function Rr(){ls||(ls=Ar.then(Lr))}function Xi(e){D(e)?xt.push(...e):nt&&e.id===-1?nt.splice(bt+1,0,e):e.flags&1||(xt.push(e),e.flags|=1),Rr()}function Rn(e,t,s=ke+1){for(;s<ye.length;s++){const n=ye[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;ye.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Mr(e){if(xt.length){const t=[...new Set(xt)].sort((s,n)=>Bt(s)-Bt(n));if(xt.length=0,nt){nt.push(...t);return}for(nt=t,bt=0;bt<nt.length;bt++){const s=nt[bt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}nt=null,bt=0}}const Bt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Lr(e){try{for(ke=0;ke<ye.length;ke++){const t=ye[ke];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Jt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;ke<ye.length;ke++){const t=ye[ke];t&&(t.flags&=-2)}ke=-1,ye.length=0,Mr(),ls=null,(ye.length||xt.length)&&Lr()}}let pe=null,Ir=null;function us(e){const t=pe;return pe=e,Ir=e&&e.type.__scopeId||null,t}function Qi(e,t=pe,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&kn(-1);const i=us(t);let o;try{o=e(...r)}finally{us(i),n._d&&kn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function es(e,t){if(pe===null)return e;const s=Rs(pe),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,u=X]=t[r];i&&($(i)&&(i={mounted:i,updated:i}),i.deep&&Ye(o),n.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:u}))}return e}function ut(e,t,s,n){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 u=l.dir[n];u&&(Ze(),Be(u,s,8,[e.el,l,e,t]),Xe())}}function eo(e,t){if(_e){let s=_e.provides;const n=_e.parent&&_e.parent.provides;n===s&&(s=_e.provides=Object.create(n)),s[e]=t}}function ts(e,t,s=!1){const n=Xo();if(n||wt){let r=wt?wt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&$(t)?t.call(n&&n.proxy):t}}const to=Symbol.for("v-scx"),so=()=>ts(to);function Le(e,t,s){return Fr(e,t,s)}function Fr(e,t,s=X){const{immediate:n,deep:r,flush:i,once:o}=s,l=ge({},s),u=t&&n||!t&&i!=="post";let d;if(Kt){if(i==="sync"){const S=so();d=S.__watcherHandles||(S.__watcherHandles=[])}else if(!u){const S=()=>{};return S.stop=Ve,S.resume=Ve,S.pause=Ve,S}}const f=_e;l.call=(S,L,P)=>Be(S,f,L,P);let h=!1;i==="post"?l.scheduler=S=>{Ce(S,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(S,L)=>{L?S():hn(S)}),l.augmentJob=S=>{t&&(S.flags|=4),h&&(S.flags|=2,f&&(S.id=f.uid,S.i=f))};const x=zi(e,t,l);return Kt&&(d?d.push(x):u&&x()),x}function no(e,t,s){const n=this.proxy,r=ie(e)?e.includes(".")?jr(n,e):()=>n[e]:e.bind(n,n);let i;$(t)?i=t:(i=t.handler,s=t);const o=Gt(this),l=Fr(r,i.bind(n),s);return o(),l}function jr(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const ro=Symbol("_vte"),io=e=>e.__isTeleport,oo=Symbol("_leaveCb");function gn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,gn(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 Cs(e,t){return $(e)?ge({name:e.name},t,{setup:e}):e}function Dr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const as=new WeakMap;function Ht(e,t,s,n,r=!1){if(D(e)){e.forEach((L,P)=>Ht(L,t&&(D(t)?t[P]:t),s,n,r));return}if(St(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Ht(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Rs(n.component):n.el,o=r?null:i,{i:l,r:u}=e,d=t&&t.r,f=l.refs===X?l.refs={}:l.refs,h=l.setupState,x=K(h),S=h===X?rr:L=>q(x,L);if(d!=null&&d!==u){if(Mn(t),ie(d))f[d]=null,S(d)&&(h[d]=null);else if(he(d)){d.value=null;const L=t;L.k&&(f[L.k]=null)}}if($(u))Jt(u,l,12,[o,f]);else{const L=ie(u),P=he(u);if(L||P){const z=()=>{if(e.f){const M=L?S(u)?h[u]:f[u]:u.value;if(r)D(M)&&sn(M,i);else if(D(M))M.includes(i)||M.push(i);else if(L)f[u]=[i],S(u)&&(h[u]=f[u]);else{const j=[i];u.value=j,e.k&&(f[e.k]=j)}}else L?(f[u]=o,S(u)&&(h[u]=o)):P&&(u.value=o,e.k&&(f[e.k]=o))};if(o){const M=()=>{z(),as.delete(e)};M.id=-1,as.set(e,M),Ce(M,s)}else Mn(e),z()}}}function Mn(e){const t=as.get(e);t&&(t.flags|=8,as.delete(e))}xs().requestIdleCallback;xs().cancelIdleCallback;const St=e=>!!e.type.__asyncLoader,Nr=e=>e.type.__isKeepAlive;function lo(e,t){Hr(e,"a",t)}function uo(e,t){Hr(e,"da",t)}function Hr(e,t,s=_e){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ps(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Nr(r.parent.vnode)&&ao(n,t,s,r),r=r.parent}}function ao(e,t,s,n){const r=Ps(t,e,n,!0);vn(()=>{sn(n[t],r)},s)}function Ps(e,t,s=_e,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Ze();const l=Gt(s),u=Be(t,s,e,o);return l(),Xe(),u});return n?r.unshift(i):r.push(i),i}}const tt=e=>(t,s=_e)=>{(!Kt||e==="sp")&&Ps(e,(...n)=>t(...n),s)},co=tt("bm"),cs=tt("m"),fo=tt("bu"),po=tt("u"),ho=tt("bum"),vn=tt("um"),go=tt("sp"),vo=tt("rtg"),mo=tt("rtc");function bo(e,t=_e){Ps("ec",e,t)}const yo=Symbol.for("v-ndc");function ss(e,t,s,n){let r;const i=s,o=D(e);if(o||ie(e)){const l=o&&pt(e);let u=!1,d=!1;l&&(u=!Oe(e),d=Qe(e),e=Ts(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(u?d?Ct(je(e[f])):je(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(se(e))if(e[Symbol.iterator])r=Array.from(e,(l,u)=>t(l,u,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let u=0,d=l.length;u<d;u++){const f=l[u];r[u]=t(e[f],f,u,i)}}else r=[];return r}function _o(e,t,s={},n,r){if(pe.ce||pe.parent&&St(pe.parent)&&pe.parent.ce){const d=Object.keys(s).length>0;return U(),ds(ue,null,[Re("slot",s,n&&n())],d?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),U();const o=i&&$r(i(s)),l=s.key||o&&o.key,u=ds(ue,{key:(l&&!Fe(l)?l:`_${t}`)+(!o&&n?"_fb":"")},o||(n?n():[]),o&&e._===1?64:-2);return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),i&&i._c&&(i._d=!0),u}function $r(e){return e.some(t=>yn(t)?!(t.type===et||t.type===ue&&!$r(t.children)):!0)?e:null}const Js=e=>e?ii(e)?Rs(e):Js(e.parent):null,$t=ge(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=>Js(e.parent),$root:e=>Js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ur(e),$forceUpdate:e=>e.f||(e.f=()=>{hn(e.update)}),$nextTick:e=>e.n||(e.n=Or.bind(e.proxy)),$watch:e=>no.bind(e)}),Ds=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),xo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:l,appContext:u}=e;if(t[0]!=="$"){const x=o[t];if(x!==void 0)switch(x){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(Ds(n,t))return o[t]=1,n[t];if(r!==X&&q(r,t))return o[t]=2,r[t];if(q(i,t))return o[t]=3,i[t];if(s!==X&&q(s,t))return o[t]=4,s[t];Gs&&(o[t]=0)}}const d=$t[t];let f,h;if(d)return t==="$attrs"&&de(e.attrs,"get",""),d(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(s!==X&&q(s,t))return o[t]=4,s[t];if(h=u.config.globalProperties,q(h,t))return h[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return Ds(r,t)?(r[t]=s,!0):n!==X&&q(n,t)?(n[t]=s,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},l){let u;return!!(s[l]||e!==X&&l[0]!=="$"&&q(e,l)||Ds(t,l)||q(i,l)||q(n,l)||q($t,l)||q(r.config.globalProperties,l)||(u=o.__cssModules)&&u[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:q(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Ln(e){return D(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Gs=!0;function So(e){const t=Ur(e),s=e.proxy,n=e.ctx;Gs=!1,t.beforeCreate&&In(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:u,inject:d,created:f,beforeMount:h,mounted:x,beforeUpdate:S,updated:L,activated:P,deactivated:z,beforeDestroy:M,beforeUnmount:j,destroyed:k,unmounted:O,render:J,renderTracked:xe,renderTriggered:oe,errorCaptured:ve,serverPrefetch:re,expose:W,inheritAttrs:C,components:ne,directives:me,filters:lt}=t;if(d&&wo(d,n,null),o)for(const Q in o){const Y=o[Q];$(Y)&&(n[Q]=Y.bind(s))}if(r){const Q=r.call(s,s);se(Q)&&(e.data=cn(Q))}if(Gs=!0,i)for(const Q in i){const Y=i[Q],We=$(Y)?Y.bind(s,s):$(Y.get)?Y.get.bind(s,s):Ve,I=!$(Y)&&$(Y.set)?Y.set.bind(s):Ve,E=fe({get:We,set:I});Object.defineProperty(n,Q,{enumerable:!0,configurable:!0,get:()=>E.value,set:A=>E.value=A})}if(l)for(const Q in l)kr(l[Q],n,s,Q);if(u){const Q=$(u)?u.call(s):u;Reflect.ownKeys(Q).forEach(Y=>{eo(Y,Q[Y])})}f&&In(f,e,"c");function ae(Q,Y){D(Y)?Y.forEach(We=>Q(We.bind(s))):Y&&Q(Y.bind(s))}if(ae(co,h),ae(cs,x),ae(fo,S),ae(po,L),ae(lo,P),ae(uo,z),ae(bo,ve),ae(mo,xe),ae(vo,oe),ae(ho,j),ae(vn,O),ae(go,re),D(W))if(W.length){const Q=e.exposed||(e.exposed={});W.forEach(Y=>{Object.defineProperty(Q,Y,{get:()=>s[Y],set:We=>s[Y]=We,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Ve&&(e.render=J),C!=null&&(e.inheritAttrs=C),ne&&(e.components=ne),me&&(e.directives=me),re&&Dr(e)}function wo(e,t,s=Ve){D(e)&&(e=zs(e));for(const n in e){const r=e[n];let i;se(r)?"default"in r?i=ts(r.from||n,r.default,!0):i=ts(r.from||n):i=ts(r),he(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function In(e,t,s){Be(D(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function kr(e,t,s,n){let r=n.includes(".")?jr(s,n):()=>s[n];if(ie(e)){const i=t[e];$(i)&&Le(r,i)}else if($(e))Le(r,e.bind(s));else if(se(e))if(D(e))e.forEach(i=>kr(i,t,s,n));else{const i=$(e.handler)?e.handler.bind(s):t[e.handler];$(i)&&Le(r,i,e)}}function Ur(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let u;return l?u=l:!r.length&&!s&&!n?u=t:(u={},r.length&&r.forEach(d=>fs(u,d,o,!0)),fs(u,t,o)),se(t)&&i.set(t,u),u}function fs(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&fs(e,i,s,!0),r&&r.forEach(o=>fs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=To[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const To={data:Fn,props:jn,emits:jn,methods:Ft,computed:Ft,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:Ft,directives:Ft,watch:Co,provide:Fn,inject:Eo};function Fn(e,t){return t?e?function(){return ge($(e)?e.call(this,this):e,$(t)?t.call(this,this):t)}:t:e}function Eo(e,t){return Ft(zs(e),zs(t))}function zs(e){if(D(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function be(e,t){return e?[...new Set([].concat(e,t))]:t}function Ft(e,t){return e?ge(Object.create(null),e,t):t}function jn(e,t){return e?D(e)&&D(t)?[...new Set([...e,...t])]:ge(Object.create(null),Ln(e),Ln(t??{})):t}function Co(e,t){if(!e)return t;if(!t)return e;const s=ge(Object.create(null),e);for(const n in t)s[n]=be(e[n],t[n]);return s}function Vr(){return{app:null,config:{isNativeTag:rr,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 Po=0;function Ao(e,t){return function(n,r=null){$(n)||(n=ge({},n)),r!=null&&!se(r)&&(r=null);const i=Vr(),o=new WeakSet,l=[];let u=!1;const d=i.app={_uid:Po++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:rl,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&$(f.install)?(o.add(f),f.install(d,...h)):$(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,x){if(!u){const S=d._ceVNode||Re(n,r);return S.appContext=i,x===!0?x="svg":x===!1&&(x=void 0),e(S,f,x),u=!0,d._container=f,f.__vue_app__=d,Rs(S.component)}},onUnmount(f){l.push(f)},unmount(){u&&(Be(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=wt;wt=d;try{return f()}finally{wt=h}}};return d}}let wt=null;const Oo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ot(t)}Modifiers`]||e[`${ht(t)}Modifiers`];function Ro(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||X;let r=s;const i=t.startsWith("update:"),o=i&&Oo(n,t.slice(7));o&&(o.trim&&(r=s.map(f=>ie(f)?f.trim():f)),o.number&&(r=s.map(_s)));let l,u=n[l=Ms(t)]||n[l=Ms(ot(t))];!u&&i&&(u=n[l=Ms(ht(t))]),u&&Be(u,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Be(d,e,6,r)}}const Mo=new WeakMap;function Br(e,t,s=!1){const n=s?Mo:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!$(e)){const u=d=>{const f=Br(d,t,!0);f&&(l=!0,ge(o,f))};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!i&&!l?(se(e)&&n.set(e,null),null):(D(i)?i.forEach(u=>o[u]=null):ge(o,i),se(e)&&n.set(e,o),o)}function As(e,t){return!e||!ms(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,ht(t))||q(e,t))}function Dn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:u,render:d,renderCache:f,props:h,data:x,setupState:S,ctx:L,inheritAttrs:P}=e,z=us(e);let M,j;try{if(s.shapeFlag&4){const O=r||n,J=O;M=Ue(d.call(J,O,f,h,S,x,L)),j=l}else{const O=t;M=Ue(O.length>1?O(h,{attrs:l,slots:o,emit:u}):O(h,null)),j=t.props?l:Lo(l)}}catch(O){kt.length=0,Es(O,e,1),M=Re(et)}let k=M;if(j&&P!==!1){const O=Object.keys(j),{shapeFlag:J}=k;O.length&&J&7&&(i&&O.some(tn)&&(j=Io(j,i)),k=Pt(k,j,!1,!0))}return s.dirs&&(k=Pt(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(s.dirs):s.dirs),s.transition&&gn(k,s.transition),M=k,us(z),M}const Lo=e=>{let t;for(const s in e)(s==="class"||s==="style"||ms(s))&&((t||(t={}))[s]=e[s]);return t},Io=(e,t)=>{const s={};for(const n in e)(!tn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Fo(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:l,patchFlag:u}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return n?Nn(n,o,d):!!o;if(u&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const x=f[h];if(o[x]!==n[x]&&!As(d,x))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?Nn(n,o,d):!0:!!o;return!1}function Nn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(t[i]!==e[i]&&!As(s,i))return!0}return!1}function jo({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Wr={},Kr=()=>Object.create(Wr),qr=e=>Object.getPrototypeOf(e)===Wr;function Do(e,t,s,n=!1){const r={},i=Kr();e.propsDefaults=Object.create(null),Jr(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:Ui(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function No(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=K(r),[u]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let x=f[h];if(As(e.emitsOptions,x))continue;const S=t[x];if(u)if(q(i,x))S!==i[x]&&(i[x]=S,d=!0);else{const L=ot(x);r[L]=Ys(u,l,L,S,e,!1)}else S!==i[x]&&(i[x]=S,d=!0)}}}else{Jr(e,t,r,i)&&(d=!0);let f;for(const h in l)(!t||!q(t,h)&&((f=ht(h))===h||!q(t,f)))&&(u?s&&(s[h]!==void 0||s[f]!==void 0)&&(r[h]=Ys(u,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!q(t,h))&&(delete i[h],d=!0)}d&&ze(e.attrs,"set","")}function Jr(e,t,s,n){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let u in t){if(jt(u))continue;const d=t[u];let f;r&&q(r,f=ot(u))?!i||!i.includes(f)?s[f]=d:(l||(l={}))[f]=d:As(e.emitsOptions,u)||(!(u in n)||d!==n[u])&&(n[u]=d,o=!0)}if(i){const u=K(s),d=l||X;for(let f=0;f<i.length;f++){const h=i[f];s[h]=Ys(r,u,h,d[h],e,!q(d,h))}}return o}function Ys(e,t,s,n,r,i){const o=e[s];if(o!=null){const l=q(o,"default");if(l&&n===void 0){const u=o.default;if(o.type!==Function&&!o.skipFactory&&$(u)){const{propsDefaults:d}=r;if(s in d)n=d[s];else{const f=Gt(r);n=d[s]=u.call(null,t),f()}}else n=u;r.ce&&r.ce._setProp(s,n)}o[0]&&(i&&!l?n=!1:o[1]&&(n===""||n===ht(s))&&(n=!0))}return n}const Ho=new WeakMap;function Gr(e,t,s=!1){const n=s?Ho:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,o={},l=[];let u=!1;if(!$(e)){const f=h=>{u=!0;const[x,S]=Gr(h,t,!0);ge(o,x),S&&l.push(...S)};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!u)return se(e)&&n.set(e,yt),yt;if(D(i))for(let f=0;f<i.length;f++){const h=ot(i[f]);Hn(h)&&(o[h]=X)}else if(i)for(const f in i){const h=ot(f);if(Hn(h)){const x=i[f],S=o[h]=D(x)||$(x)?{type:x}:ge({},x),L=S.type;let P=!1,z=!0;if(D(L))for(let M=0;M<L.length;++M){const j=L[M],k=$(j)&&j.name;if(k==="Boolean"){P=!0;break}else k==="String"&&(z=!1)}else P=$(L)&&L.name==="Boolean";S[0]=P,S[1]=z,(P||q(S,"default"))&&l.push(h)}}const d=[o,l];return se(e)&&n.set(e,d),d}function Hn(e){return e[0]!=="$"&&!jt(e)}const mn=e=>e==="_"||e==="_ctx"||e==="$stable",bn=e=>D(e)?e.map(Ue):[Ue(e)],$o=(e,t,s)=>{if(t._n)return t;const n=Qi((...r)=>bn(t(...r)),s);return n._c=!1,n},zr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(mn(r))continue;const i=e[r];if($(i))t[r]=$o(r,i,n);else if(i!=null){const o=bn(i);t[r]=()=>o}}},Yr=(e,t)=>{const s=bn(t);e.slots.default=()=>s},Zr=(e,t,s)=>{for(const n in t)(s||!mn(n))&&(e[n]=t[n])},ko=(e,t,s)=>{const n=e.slots=Kr();if(e.vnode.shapeFlag&32){const r=t._;r?(Zr(n,t,s),s&&ar(n,"_",r,!0)):zr(t,n)}else t&&Yr(e,t)},Uo=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=X;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Zr(r,t,s):(i=!t.$stable,zr(t,r)),o=t}else t&&(Yr(e,t),o={default:1});if(i)for(const l in r)!mn(l)&&o[l]==null&&delete r[l]},Ce=qo;function Vo(e){return Bo(e)}function Bo(e,t){const s=xs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:l,createComment:u,setText:d,setElementText:f,parentNode:h,nextSibling:x,setScopeId:S=Ve,insertStaticContent:L}=e,P=(a,c,p,b=null,g=null,v=null,w=void 0,_=null,y=!!c.dynamicChildren)=>{if(a===c)return;a&&!Lt(a,c)&&(b=At(a),A(a,g,v,!0),a=null),c.patchFlag===-2&&(y=!1,c.dynamicChildren=null);const{type:m,ref:F,shapeFlag:T}=c;switch(m){case Os:z(a,c,p,b);break;case et:M(a,c,p,b);break;case Hs:a==null&&j(c,p,b,w);break;case ue:ne(a,c,p,b,g,v,w,_,y);break;default:T&1?J(a,c,p,b,g,v,w,_,y):T&6?me(a,c,p,b,g,v,w,_,y):(T&64||T&128)&&m.process(a,c,p,b,g,v,w,_,y,Ot)}F!=null&&g?Ht(F,a&&a.ref,v,c||a,!c):F==null&&a&&a.ref!=null&&Ht(a.ref,null,v,a,!0)},z=(a,c,p,b)=>{if(a==null)n(c.el=l(c.children),p,b);else{const g=c.el=a.el;c.children!==a.children&&d(g,c.children)}},M=(a,c,p,b)=>{a==null?n(c.el=u(c.children||""),p,b):c.el=a.el},j=(a,c,p,b)=>{[a.el,a.anchor]=L(a.children,c,p,b,a.el,a.anchor)},k=({el:a,anchor:c},p,b)=>{let g;for(;a&&a!==c;)g=x(a),n(a,p,b),a=g;n(c,p,b)},O=({el:a,anchor:c})=>{let p;for(;a&&a!==c;)p=x(a),r(a),a=p;r(c)},J=(a,c,p,b,g,v,w,_,y)=>{if(c.type==="svg"?w="svg":c.type==="math"&&(w="mathml"),a==null)xe(c,p,b,g,v,w,_,y);else{const m=a.el&&a.el._isVueCE?a.el:null;try{m&&m._beginPatch(),re(a,c,g,v,w,_,y)}finally{m&&m._endPatch()}}},xe=(a,c,p,b,g,v,w,_)=>{let y,m;const{props:F,shapeFlag:T,transition:R,dirs:N}=a;if(y=a.el=o(a.type,v,F&&F.is,F),T&8?f(y,a.children):T&16&&ve(a.children,y,null,b,g,Ns(a,v),w,_),N&&ut(a,null,b,"created"),oe(y,a,a.scopeId,w,b),F){for(const ee in F)ee!=="value"&&!jt(ee)&&i(y,ee,null,F[ee],v,b);"value"in F&&i(y,"value",null,F.value,v),(m=F.onVnodeBeforeMount)&&$e(m,b,a)}N&&ut(a,null,b,"beforeMount");const V=Wo(g,R);V&&R.beforeEnter(y),n(y,c,p),((m=F&&F.onVnodeMounted)||V||N)&&Ce(()=>{m&&$e(m,b,a),V&&R.enter(y),N&&ut(a,null,b,"mounted")},g)},oe=(a,c,p,b,g)=>{if(p&&S(a,p),b)for(let v=0;v<b.length;v++)S(a,b[v]);if(g){let v=g.subTree;if(c===v||ti(v.type)&&(v.ssContent===c||v.ssFallback===c)){const w=g.vnode;oe(a,w,w.scopeId,w.slotScopeIds,g.parent)}}},ve=(a,c,p,b,g,v,w,_,y=0)=>{for(let m=y;m<a.length;m++){const F=a[m]=_?rt(a[m]):Ue(a[m]);P(null,F,c,p,b,g,v,w,_)}},re=(a,c,p,b,g,v,w)=>{const _=c.el=a.el;let{patchFlag:y,dynamicChildren:m,dirs:F}=c;y|=a.patchFlag&16;const T=a.props||X,R=c.props||X;let N;if(p&&at(p,!1),(N=R.onVnodeBeforeUpdate)&&$e(N,p,c,a),F&&ut(c,a,p,"beforeUpdate"),p&&at(p,!0),(T.innerHTML&&R.innerHTML==null||T.textContent&&R.textContent==null)&&f(_,""),m?W(a.dynamicChildren,m,_,p,b,Ns(c,g),v):w||Y(a,c,_,null,p,b,Ns(c,g),v,!1),y>0){if(y&16)C(_,T,R,p,g);else if(y&2&&T.class!==R.class&&i(_,"class",null,R.class,g),y&4&&i(_,"style",T.style,R.style,g),y&8){const V=c.dynamicProps;for(let ee=0;ee<V.length;ee++){const G=V[ee],Se=T[G],we=R[G];(we!==Se||G==="value")&&i(_,G,Se,we,g,p)}}y&1&&a.children!==c.children&&f(_,c.children)}else!w&&m==null&&C(_,T,R,p,g);((N=R.onVnodeUpdated)||F)&&Ce(()=>{N&&$e(N,p,c,a),F&&ut(c,a,p,"updated")},b)},W=(a,c,p,b,g,v,w)=>{for(let _=0;_<c.length;_++){const y=a[_],m=c[_],F=y.el&&(y.type===ue||!Lt(y,m)||y.shapeFlag&198)?h(y.el):p;P(y,m,F,null,b,g,v,w,!0)}},C=(a,c,p,b,g)=>{if(c!==p){if(c!==X)for(const v in c)!jt(v)&&!(v in p)&&i(a,v,c[v],null,g,b);for(const v in p){if(jt(v))continue;const w=p[v],_=c[v];w!==_&&v!=="value"&&i(a,v,_,w,g,b)}"value"in p&&i(a,"value",c.value,p.value,g)}},ne=(a,c,p,b,g,v,w,_,y)=>{const m=c.el=a?a.el:l(""),F=c.anchor=a?a.anchor:l("");let{patchFlag:T,dynamicChildren:R,slotScopeIds:N}=c;N&&(_=_?_.concat(N):N),a==null?(n(m,p,b),n(F,p,b),ve(c.children||[],p,F,g,v,w,_,y)):T>0&&T&64&&R&&a.dynamicChildren&&a.dynamicChildren.length===R.length?(W(a.dynamicChildren,R,p,g,v,w,_),(c.key!=null||g&&c===g.subTree)&&Xr(a,c,!0)):Y(a,c,p,F,g,v,w,_,y)},me=(a,c,p,b,g,v,w,_,y)=>{c.slotScopeIds=_,a==null?c.shapeFlag&512?g.ctx.activate(c,p,b,w,y):lt(c,p,b,g,v,w,y):zt(a,c,y)},lt=(a,c,p,b,g,v,w)=>{const _=a.component=Zo(a,b,g);if(Nr(a)&&(_.ctx.renderer=Ot),Qo(_,!1,w),_.asyncDep){if(g&&g.registerDep(_,ae,w),!a.el){const y=_.subTree=Re(et);M(null,y,c,p),a.placeholder=y.el}}else ae(_,a,c,p,g,v,w)},zt=(a,c,p)=>{const b=c.component=a.component;if(Fo(a,c,p))if(b.asyncDep&&!b.asyncResolved){Q(b,c,p);return}else b.next=c,b.update();else c.el=a.el,b.vnode=c},ae=(a,c,p,b,g,v,w)=>{const _=()=>{if(a.isMounted){let{next:T,bu:R,u:N,parent:V,vnode:ee}=a;{const Ne=Qr(a);if(Ne){T&&(T.el=ee.el,Q(a,T,w)),Ne.asyncDep.then(()=>{a.isUnmounted||_()});return}}let G=T,Se;at(a,!1),T?(T.el=ee.el,Q(a,T,w)):T=ee,R&&Qt(R),(Se=T.props&&T.props.onVnodeBeforeUpdate)&&$e(Se,V,T,ee),at(a,!0);const we=Dn(a),De=a.subTree;a.subTree=we,P(De,we,h(De.el),At(De),a,g,v),T.el=we.el,G===null&&jo(a,we.el),N&&Ce(N,g),(Se=T.props&&T.props.onVnodeUpdated)&&Ce(()=>$e(Se,V,T,ee),g)}else{let T;const{el:R,props:N}=c,{bm:V,m:ee,parent:G,root:Se,type:we}=a,De=St(c);at(a,!1),V&&Qt(V),!De&&(T=N&&N.onVnodeBeforeMount)&&$e(T,G,c),at(a,!0);{Se.ce&&Se.ce._def.shadowRoot!==!1&&Se.ce._injectChildStyle(we);const Ne=a.subTree=Dn(a);P(null,Ne,p,b,a,g,v),c.el=Ne.el}if(ee&&Ce(ee,g),!De&&(T=N&&N.onVnodeMounted)){const Ne=c;Ce(()=>$e(T,G,Ne),g)}(c.shapeFlag&256||G&&St(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&Ce(a.a,g),a.isMounted=!0,c=p=b=null}};a.scope.on();const y=a.effect=new pr(_);a.scope.off();const m=a.update=y.run.bind(y),F=a.job=y.runIfDirty.bind(y);F.i=a,F.id=a.uid,y.scheduler=()=>hn(F),at(a,!0),m()},Q=(a,c,p)=>{c.component=a;const b=a.vnode.props;a.vnode=c,a.next=null,No(a,c.props,b,p),Uo(a,c.children,p),Ze(),Rn(a),Xe()},Y=(a,c,p,b,g,v,w,_,y=!1)=>{const m=a&&a.children,F=a?a.shapeFlag:0,T=c.children,{patchFlag:R,shapeFlag:N}=c;if(R>0){if(R&128){I(m,T,p,b,g,v,w,_,y);return}else if(R&256){We(m,T,p,b,g,v,w,_,y);return}}N&8?(F&16&&Ke(m,g,v),T!==m&&f(p,T)):F&16?N&16?I(m,T,p,b,g,v,w,_,y):Ke(m,g,v,!0):(F&8&&f(p,""),N&16&&ve(T,p,b,g,v,w,_,y))},We=(a,c,p,b,g,v,w,_,y)=>{a=a||yt,c=c||yt;const m=a.length,F=c.length,T=Math.min(m,F);let R;for(R=0;R<T;R++){const N=c[R]=y?rt(c[R]):Ue(c[R]);P(a[R],N,p,null,g,v,w,_,y)}m>F?Ke(a,g,v,!0,!1,T):ve(c,p,b,g,v,w,_,y,T)},I=(a,c,p,b,g,v,w,_,y)=>{let m=0;const F=c.length;let T=a.length-1,R=F-1;for(;m<=T&&m<=R;){const N=a[m],V=c[m]=y?rt(c[m]):Ue(c[m]);if(Lt(N,V))P(N,V,p,null,g,v,w,_,y);else break;m++}for(;m<=T&&m<=R;){const N=a[T],V=c[R]=y?rt(c[R]):Ue(c[R]);if(Lt(N,V))P(N,V,p,null,g,v,w,_,y);else break;T--,R--}if(m>T){if(m<=R){const N=R+1,V=N<F?c[N].el:b;for(;m<=R;)P(null,c[m]=y?rt(c[m]):Ue(c[m]),p,V,g,v,w,_,y),m++}}else if(m>R)for(;m<=T;)A(a[m],g,v,!0),m++;else{const N=m,V=m,ee=new Map;for(m=V;m<=R;m++){const Ee=c[m]=y?rt(c[m]):Ue(c[m]);Ee.key!=null&&ee.set(Ee.key,m)}let G,Se=0;const we=R-V+1;let De=!1,Ne=0;const Rt=new Array(we);for(m=0;m<we;m++)Rt[m]=0;for(m=N;m<=T;m++){const Ee=a[m];if(Se>=we){A(Ee,g,v,!0);continue}let He;if(Ee.key!=null)He=ee.get(Ee.key);else for(G=V;G<=R;G++)if(Rt[G-V]===0&&Lt(Ee,c[G])){He=G;break}He===void 0?A(Ee,g,v,!0):(Rt[He-V]=m+1,He>=Ne?Ne=He:De=!0,P(Ee,c[He],p,null,g,v,w,_,y),Se++)}const Sn=De?Ko(Rt):yt;for(G=Sn.length-1,m=we-1;m>=0;m--){const Ee=V+m,He=c[Ee],wn=c[Ee+1],Tn=Ee+1<F?wn.el||ei(wn):b;Rt[m]===0?P(null,He,p,Tn,g,v,w,_,y):De&&(G<0||m!==Sn[G]?E(He,p,Tn,2):G--)}}},E=(a,c,p,b,g=null)=>{const{el:v,type:w,transition:_,children:y,shapeFlag:m}=a;if(m&6){E(a.component.subTree,c,p,b);return}if(m&128){a.suspense.move(c,p,b);return}if(m&64){w.move(a,c,p,Ot);return}if(w===ue){n(v,c,p);for(let T=0;T<y.length;T++)E(y[T],c,p,b);n(a.anchor,c,p);return}if(w===Hs){k(a,c,p);return}if(b!==2&&m&1&&_)if(b===0)_.beforeEnter(v),n(v,c,p),Ce(()=>_.enter(v),g);else{const{leave:T,delayLeave:R,afterLeave:N}=_,V=()=>{a.ctx.isUnmounted?r(v):n(v,c,p)},ee=()=>{v._isLeaving&&v[oo](!0),T(v,()=>{V(),N&&N()})};R?R(v,V,ee):ee()}else n(v,c,p)},A=(a,c,p,b=!1,g=!1)=>{const{type:v,props:w,ref:_,children:y,dynamicChildren:m,shapeFlag:F,patchFlag:T,dirs:R,cacheIndex:N}=a;if(T===-2&&(g=!1),_!=null&&(Ze(),Ht(_,null,p,a,!0),Xe()),N!=null&&(c.renderCache[N]=void 0),F&256){c.ctx.deactivate(a);return}const V=F&1&&R,ee=!St(a);let G;if(ee&&(G=w&&w.onVnodeBeforeUnmount)&&$e(G,c,a),F&6)gt(a.component,p,b);else{if(F&128){a.suspense.unmount(p,b);return}V&&ut(a,null,c,"beforeUnmount"),F&64?a.type.remove(a,c,p,Ot,b):m&&!m.hasOnce&&(v!==ue||T>0&&T&64)?Ke(m,c,p,!1,!0):(v===ue&&T&384||!g&&F&16)&&Ke(y,c,p),b&&le(a)}(ee&&(G=w&&w.onVnodeUnmounted)||V)&&Ce(()=>{G&&$e(G,c,a),V&&ut(a,null,c,"unmounted")},p)},le=a=>{const{type:c,el:p,anchor:b,transition:g}=a;if(c===ue){Ae(p,b);return}if(c===Hs){O(a);return}const v=()=>{r(p),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(a.shapeFlag&1&&g&&!g.persisted){const{leave:w,delayLeave:_}=g,y=()=>w(p,v);_?_(a.el,v,y):y()}else v()},Ae=(a,c)=>{let p;for(;a!==c;)p=x(a),r(a),a=p;r(c)},gt=(a,c,p)=>{const{bum:b,scope:g,job:v,subTree:w,um:_,m:y,a:m}=a;$n(y),$n(m),b&&Qt(b),g.stop(),v&&(v.flags|=8,A(w,a,c,p)),_&&Ce(_,c),Ce(()=>{a.isUnmounted=!0},c)},Ke=(a,c,p,b=!1,g=!1,v=0)=>{for(let w=v;w<a.length;w++)A(a[w],c,p,b,g)},At=a=>{if(a.shapeFlag&6)return At(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const c=x(a.anchor||a.el),p=c&&c[ro];return p?x(p):c};let vt=!1;const xn=(a,c,p)=>{let b;a==null?c._vnode&&(A(c._vnode,null,null,!0),b=c._vnode.component):P(c._vnode||null,a,c,null,null,null,p),c._vnode=a,vt||(vt=!0,Rn(b),Mr(),vt=!1)},Ot={p:P,um:A,m:E,r:le,mt:lt,mc:ve,pc:Y,pbc:W,n:At,o:e};return{render:xn,hydrate:void 0,createApp:Ao(xn)}}function Ns({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function at({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Xr(e,t,s=!1){const n=e.children,r=t.children;if(D(n)&&D(r))for(let i=0;i<n.length;i++){const o=n[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=rt(r[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Xr(o,l)),l.type===Os&&(l.patchFlag!==-1?l.el=o.el:l.__elIndex=i+(e.type===ue?1:0)),l.type===et&&!l.el&&(l.el=o.el)}}function Ko(e){const t=e.slice(),s=[0];let n,r,i,o,l;const u=e.length;for(n=0;n<u;n++){const d=e[n];if(d!==0){if(r=s[s.length-1],e[r]<d){t[n]=r,s.push(n);continue}for(i=0,o=s.length-1;i<o;)l=i+o>>1,e[s[l]]<d?i=l+1:o=l;d<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function Qr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Qr(t)}function $n(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ei(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ei(t.subTree):null}const ti=e=>e.__isSuspense;function qo(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Xi(e)}const ue=Symbol.for("v-fgt"),Os=Symbol.for("v-txt"),et=Symbol.for("v-cmt"),Hs=Symbol.for("v-stc"),kt=[];let Pe=null;function U(e=!1){kt.push(Pe=e?null:[])}function Jo(){kt.pop(),Pe=kt[kt.length-1]||null}let Wt=1;function kn(e,t=!1){Wt+=e,e<0&&Pe&&t&&(Pe.hasOnce=!0)}function si(e){return e.dynamicChildren=Wt>0?Pe||yt:null,Jo(),Wt>0&&Pe&&Pe.push(e),e}function B(e,t,s,n,r,i){return si(H(e,t,s,n,r,i,!0))}function ds(e,t,s,n,r){return si(Re(e,t,s,n,r,!0))}function yn(e){return e?e.__v_isVNode===!0:!1}function Lt(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,ns=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||he(e)||$(e)?{i:pe,r:e,k:t,f:!!s}:e:null);function H(e,t=null,s=null,n=0,r=null,i=e===ue?0:1,o=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&ns(t),scopeId:Ir,slotScopeIds:null,children:s,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:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pe};return l?(_n(u,s),i&128&&e.normalize(u)):s&&(u.shapeFlag|=ie(s)?8:16),Wt>0&&!o&&Pe&&(u.patchFlag>0||i&6)&&u.patchFlag!==32&&Pe.push(u),u}const Re=Go;function Go(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===yo)&&(e=et),yn(e)){const l=Pt(e,t,!0);return s&&_n(l,s),Wt>0&&!i&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag=-2,l}if(nl(e)&&(e=e.__vccOpts),t){t=ri(t);let{class:l,style:u}=t;l&&!ie(l)&&(t.class=Et(l)),se(u)&&(dn(u)&&!D(u)&&(u=ge({},u)),t.style=Ss(u))}const o=ie(e)?1:ti(e)?128:io(e)?64:se(e)?4:$(e)?2:0;return H(e,t,s,n,r,o,i,!0)}function ri(e){return e?dn(e)||qr(e)?ge({},e):e:null}function Pt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:u}=e,d=t?Zs(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ni(d),ref:t&&t.ref?s&&i?D(i)?i.concat(ns(t)):[i,ns(t)]:ns(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!==ue?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&n&&gn(f,u.clone(f)),f}function Je(e=" ",t=0){return Re(Os,null,e,t)}function Me(e="",t=!1){return t?(U(),ds(et,null,e)):Re(et,null,e)}function Ue(e){return e==null||typeof e=="boolean"?Re(et):D(e)?Re(ue,null,e.slice()):yn(e)?rt(e):Re(Os,null,String(e))}function rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function _n(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(D(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),_n(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!qr(t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else $(t)?(t={default:t,_ctx:pe},s=32):(t=String(t),n&64?(s=16,t=[Je(t)]):s=8);e.children=t,e.shapeFlag|=s}function Zs(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=Et([t.class,n.class]));else if(r==="style")t.style=Ss([t.style,n.style]);else if(ms(r)){const i=t[r],o=n[r];o&&i!==o&&!(D(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=n[r])}return t}function $e(e,t,s,n=null){Be(e,t,7,[s,n])}const zo=Vr();let Yo=0;function Zo(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||zo,i={uid:Yo++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new xi(!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:Gr(n,r),emitsOptions:Br(n,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:n.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,setupContext:null,suspense:s,suspenseId:s?s.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=Ro.bind(null,i),e.ce&&e.ce(i),i}let _e=null;const Xo=()=>_e||pe;let ps,Xs;{const e=xs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};ps=t("__VUE_INSTANCE_SETTERS__",s=>_e=s),Xs=t("__VUE_SSR_SETTERS__",s=>Kt=s)}const Gt=e=>{const t=_e;return ps(e),e.scope.on(),()=>{e.scope.off(),ps(t)}},Un=()=>{_e&&_e.scope.off(),ps(null)};function ii(e){return e.vnode.shapeFlag&4}let Kt=!1;function Qo(e,t=!1,s=!1){t&&Xs(t);const{props:n,children:r}=e.vnode,i=ii(e);Do(e,n,i,t),ko(e,r,s||t);const o=i?el(e,t):void 0;return t&&Xs(!1),o}function el(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,xo);const{setup:n}=s;if(n){Ze();const r=e.setupContext=n.length>1?sl(e):null,i=Gt(e),o=Jt(n,e,0,[e.props,r]),l=ir(o);if(Xe(),i(),(l||e.sp)&&!St(e)&&Dr(e),l){if(o.then(Un,Un),t)return o.then(u=>{Vn(e,u)}).catch(u=>{Es(u,e,0)});e.asyncDep=o}else Vn(e,o)}else oi(e)}function Vn(e,t,s){$(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Pr(t)),oi(e)}function oi(e,t,s){const n=e.type;e.render||(e.render=n.render||Ve);{const r=Gt(e);Ze();try{So(e)}finally{Xe(),r()}}}const tl={get(e,t){return de(e,"get",""),e[t]}};function sl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,tl),slots:e.slots,emit:e.emit,expose:t}}function Rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Pr(Vi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in $t)return $t[s](e)},has(t,s){return s in t||s in $t}})):e.proxy}function nl(e){return $(e)&&"__vccOpts"in e}const fe=(e,t)=>Ji(e,t,Kt),rl="3.5.26";let Qs;const Bn=typeof window<"u"&&window.trustedTypes;if(Bn)try{Qs=Bn.createPolicy("vue",{createHTML:e=>e})}catch{}const li=Qs?e=>Qs.createHTML(e):e=>e,il="http://www.w3.org/2000/svg",ol="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,Wn=Ge&&Ge.createElement("template"),ll={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Ge.createElementNS(il,e):t==="mathml"?Ge.createElementNS(ol,e):s?Ge.createElement(e,{is:s}):Ge.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{Wn.innerHTML=li(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=Wn.content;if(n==="svg"||n==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},ul=Symbol("_vtc");function al(e,t,s){const n=e[ul];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const hs=Symbol("_vod"),ui=Symbol("_vsh"),cl={name:"show",beforeMount(e,{value:t},{transition:s}){e[hs]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):It(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:n}){!t!=!s&&(n?t?(n.beforeEnter(e),It(e,!0),n.enter(e)):n.leave(e,()=>{It(e,!1)}):It(e,t))},beforeUnmount(e,{value:t}){It(e,t)}};function It(e,t){e.style.display=t?e[hs]:"none",e[ui]=!t}const fl=Symbol(""),dl=/(?:^|;)\s*display\s*:/;function pl(e,t,s){const n=e.style,r=ie(s);let i=!1;if(s&&!r){if(t)if(ie(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&rs(n,l,"")}else for(const o in t)s[o]==null&&rs(n,o,"");for(const o in s)o==="display"&&(i=!0),rs(n,o,s[o])}else if(r){if(t!==s){const o=n[fl];o&&(s+=";"+o),n.cssText=s,i=dl.test(s)}}else t&&e.removeAttribute("style");hs in e&&(e[hs]=i?n.display:"",e[ui]&&(n.display="none"))}const Kn=/\s*!important$/;function rs(e,t,s){if(D(s))s.forEach(n=>rs(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=hl(e,t);Kn.test(s)?e.setProperty(ht(n),s.replace(Kn,""),"important"):e[n]=s}}const qn=["Webkit","Moz","ms"],$s={};function hl(e,t){const s=$s[t];if(s)return s;let n=ot(t);if(n!=="filter"&&n in e)return $s[t]=n;n=ur(n);for(let r=0;r<qn.length;r++){const i=qn[r]+n;if(i in e)return $s[t]=i}return t}const Jn="http://www.w3.org/1999/xlink";function Gn(e,t,s,n,r,i=bi(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Jn,t.slice(6,t.length)):e.setAttributeNS(Jn,t,s):s==null||i&&!cr(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Fe(s)?String(s):s)}function zn(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?li(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,u=s==null?e.type==="checkbox"?"on":"":String(s);(l!==u||!("_value"in e))&&(e.value=u),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=cr(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(r||t)}function ft(e,t,s,n){e.addEventListener(t,s,n)}function gl(e,t,s,n){e.removeEventListener(t,s,n)}const Yn=Symbol("_vei");function vl(e,t,s,n,r=null){const i=e[Yn]||(e[Yn]={}),o=i[t];if(n&&o)o.value=n;else{const[l,u]=ml(t);if(n){const d=i[t]=_l(n,r);ft(e,l,d,u)}else o&&(gl(e,l,o,u),i[t]=void 0)}}const Zn=/(?:Once|Passive|Capture)$/;function ml(e){let t;if(Zn.test(e)){t={};let n;for(;n=e.match(Zn);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ht(e.slice(2)),t]}let ks=0;const bl=Promise.resolve(),yl=()=>ks||(bl.then(()=>ks=0),ks=Date.now());function _l(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Be(xl(n,s.value),t,5,[n])};return s.value=e,s.attached=yl(),s}function xl(e,t){if(D(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Xn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?al(e,n,o):t==="style"?pl(e,s,n):ms(t)?tn(t)||vl(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wl(e,t,n,o))?(zn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Gn(e,t,n,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ie(n))?zn(e,ot(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Gn(e,t,n,o))};function wl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xn(t)&&$(s));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 Xn(t)&&ie(s)?!1:t in e}const gs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return D(t)?s=>Qt(t,s):t};function Tl(e){e.target.composing=!0}function Qn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Tt=Symbol("_assign");function er(e,t,s){return t&&(e=e.trim()),s&&(e=_s(e)),e}const El={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[Tt]=gs(r);const i=n||r.props&&r.props.type==="number";ft(e,t?"change":"input",o=>{o.target.composing||e[Tt](er(e.value,s,i))}),(s||i)&&ft(e,"change",()=>{e.value=er(e.value,s,i)}),t||(ft(e,"compositionstart",Tl),ft(e,"compositionend",Qn),ft(e,"change",Qn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},o){if(e[Tt]=gs(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?_s(e.value):e.value,u=t??"";l!==u&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===u)||(e.value=u))}},tr={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=bs(t);ft(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?_s(vs(o)):vs(o));e[Tt](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,Or(()=>{e._assigning=!1})}),e[Tt]=gs(n)},mounted(e,{value:t}){sr(e,t)},beforeUpdate(e,t,s){e[Tt]=gs(s)},updated(e,{value:t}){e._assigning||sr(e,t)}};function sr(e,t){const s=e.multiple,n=D(t);if(!(s&&!n&&!bs(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=vs(o);if(s)if(n){const u=typeof l;u==="string"||u==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=_i(t,l)>-1}else o.selected=t.has(l);else if(ws(vs(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function vs(e){return"_value"in e?e._value:e.value}const Cl=ge({patchProp:Sl},ll);let nr;function Pl(){return nr||(nr=Vo(Cl))}const Al=((...e)=>{const t=Pl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=Rl(n);if(!r)return;const i=t._component;!$(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,Ol(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Ol(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Rl(e){return ie(e)?document.querySelector(e):e}const is=async e=>await new Promise(t=>setTimeout(t,e)),Ml={class:"items-center justify-center w-full"},Ll={key:0},Il=["src"],Fl={key:1,class:"relative inline-block"},jl=["src"],Dl=["src"],Nl={key:2,class:"relative inline-block"},Hl=["src"],$l=["src"],kl={key:3,class:"relative inline-block"},Ul=["src"],Vl={key:4},Bl={key:5,class:"mt-4 px-6 py-4 text-left"},Wl={class:"text-lg leading-relaxed font-sans text-gray-800"},Kl={key:0,class:"text-base leading-relaxed font-sans text-gray-400 mt-3 italic"},ql="https://github.com/receptron/mulmocast-cli/blob/main/assets/images/mulmocast_credit.png?raw=true",Us=Cs({__name:"mulmo_player",props:{index:{},videoWithAudioSource:{},soundEffectSource:{},videoSource:{},imageSource:{},audioSource:{},text:{},originalText:{},duration:{},defaultLang:{},currentLang:{},playbackSpeed:{default:1}},emits:["play","pause","ended"],setup(e,{expose:t,emit:s}){const n=e,r=s,i=Z(),o=Z(),l=Z(),u=Z(),d=()=>{o.value&&n.videoSource&&(n.audioSource&&n.currentLang&&n.defaultLang&&n.currentLang!==n.defaultLang?o.value.volume=.2:o.value.volume=0)},f=()=>{const W=n.playbackSpeed??1;i.value&&(i.value.playbackRate=W),o.value&&(o.value.playbackRate=W),l.value&&(l.value.playbackRate=W),u.value&&(u.value.playbackRate=W)};Le([()=>n.currentLang,()=>n.defaultLang,()=>n.videoSource,()=>n.audioSource],()=>{d()}),Le(()=>n.playbackSpeed,()=>{f()}),Le(o,W=>{W&&(d(),f())}),Le([i,l,u],()=>{f()}),cs(()=>{d(),f()});const h=()=>{j.value=!0,l.value&&o.value&&(l.value.currentTime=o.value.currentTime,l.value.currentTime===o.value.currentTime&&l.value.play()),r("play")},x=W=>{document.hidden||(j.value=!1),!o.value?.ended&&l?.value&&l.value?.pause(),console.log(W),z(W)},S=()=>{(!l.value||l.value.ended)&&M()},L=()=>{(!o.value||o.value.ended)&&M()},P=()=>{j.value=!0,r("play")},z=W=>{document.hidden||(j.value=!1);const C=W.target;C.duration!==C.currentTime&&r("pause")},M=()=>{j.value=!1,r("ended")},j=Z(!1);let k=null;const O=async()=>{j.value=!0,i.value&&(f(),i.value.play()),o.value&&(d(),f(),o.value.play(),l.value&&(l.value.currentTime=o.value.currentTime,l.value.play())),u.value&&(f(),u.value.play()),!i.value&&!o.value&&!u.value&&(await is((n.duration??0)*1e3),j.value=!1,r("ended"))},J=W=>{W?.paused&&!W.ended&&W.play().catch(()=>{})},xe=(W,C)=>{C.paused&&!C.ended&&(W.ended||(C.currentTime=W.currentTime),C.play().catch(()=>{}))},oe=()=>{j.value&&(J(i.value),o.value&&l.value?(J(o.value),xe(o.value,l.value)):J(o.value),J(u.value))},ve=()=>{document.hidden&&j.value?k||(k=setInterval(oe,500)):document.hidden||k&&(clearInterval(k),k=null)},re=()=>{document.hidden&&j.value&&setTimeout(oe,50)};return cs(()=>{document.addEventListener("visibilitychange",ve),i.value?.addEventListener("pause",re),o.value?.addEventListener("pause",re),u.value?.addEventListener("pause",re),l.value?.addEventListener("pause",re)}),vn(()=>{document.removeEventListener("visibilitychange",ve),i.value?.removeEventListener("pause",re),o.value?.removeEventListener("pause",re),u.value?.removeEventListener("pause",re),l.value?.removeEventListener("pause",re),k&&(clearInterval(k),k=null)}),t({play:O}),(W,C)=>(U(),B("div",Ml,[e.videoWithAudioSource?(U(),B("div",Ll,[H("video",{ref_key:"videoWithAudioRef",ref:i,src:e.videoWithAudioSource,class:"mulmocast-video mx-auto h-auto max-h-[80vh] w-auto object-contain",controls:!0,playsinline:"true",onPlay:P,onPause:z,onEnded:M},null,40,Il)])):e.soundEffectSource||e.videoSource?(U(),B("div",Fl,[H("video",{ref_key:"videoRef",ref:o,class:"mulmocast-video mx-auto h-auto max-h-[80vh] w-auto object-contain",src:e.soundEffectSource||e.videoSource,controls:!0,playsinline:"true",onPlay:h,onPause:x,onEnded:S},null,40,jl),e.audioSource?(U(),B("audio",{key:0,ref_key:"audioSyncRef",ref:l,src:e.audioSource,controls:!0,class:"hidden",onEnded:L},null,40,Dl)):Me("",!0)])):e.audioSource?(U(),B("div",Nl,[e.imageSource?(U(),B("img",{key:0,src:e.imageSource,class:"mx-auto h-auto max-h-[80vh] w-auto object-contain",alt:"Background"},null,8,Hl)):(U(),B("img",{key:1,src:ql,class:"mx-auto h-auto max-h-[80vh] w-auto object-contain",alt:"Background"})),H("audio",{ref_key:"audioRef",ref:u,class:"mulmocast-audio absolute inset-0 w-full h-full",src:e.audioSource,controls:!0,onPlay:P,onPause:z,onEnded:M},null,40,$l)])):e.imageSource?(U(),B("div",kl,[H("img",{src:e.imageSource,class:"max-w-full max-h-full object-contain"},null,8,Ul)])):(U(),B("div",Vl,"No media available")),e.text?(U(),B("div",Bl,[H("p",Wl,ce(e.text),1),e.originalText&&e.originalText!==e.text?(U(),B("p",Kl,ce(e.originalText),1)):Me("",!0)])):Me("",!0)]))}}),Jl=["value"],Gl=["value"],zl=Cs({__name:"select_language",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const s=["en","ja"],n={en:"English",ja:"日本語"},r=t,i=o=>{const l=o.target;r("update:modelValue",l.value)};return(o,l)=>(U(),B("select",{value:e.modelValue,class:"px-4 py-2 bg-white border-2 border-gray-300 rounded-lg shadow-sm hover:border-indigo-400 focus:border-indigo-500 focus:ring-2 focus:ring-indigo-200 focus:outline-none transition-colors cursor-pointer text-base font-medium text-gray-700",onChange:i},[(U(),B(ue,null,ss(s,u=>H("option",{key:u,value:u},ce(n[u]||u),9,Gl)),64))],40,Jl))}}),Yl={class:"w-full overflow-hidden"},Zl={class:"max-w-7xl mx-auto px-4"},Xl={class:"flex items-center justify-between"},Ql=["disabled"],eu={class:"px-4"},tu=["disabled"],su=["src"],nu=Cs({__name:"mulmo_viewer",props:{dataSet:{},basePath:{},initPage:{},audioLang:{default:"en"},textLang:{default:"en"},playbackSpeed:{default:1}},emits:["updatedPage","update:audioLang","update:textLang","allCompleted"],setup(e,{expose:t,emit:s}){const n=e,r=s,i=n.dataSet?.beats?.length??0,o=Z(n.initPage??0),l=Z(!0),u=Z(),d=Z(),f=fe({get:()=>n.audioLang,set:C=>r("update:audioLang",C||"en")}),h=fe({get:()=>n.textLang,set:C=>r("update:textLang",C||"en")});Le(()=>n.audioLang,async(C,ne)=>{if(C!==ne&&P.value){const me=P.value;P.value=!1,await is(500),me&&u.value&&(P.value=!0,await u.value.play())}}),Le(()=>n.textLang,async(C,ne)=>{C!==ne&&P.value&&(await is(100),u.value&&await u.value.play())}),Le(d,C=>{C&&(C.volume=.3)});const x=fe(()=>n.dataSet?.beats[o.value]),S=C=>C?n.basePath+"/"+C:"",L=fe(()=>S(n.dataSet?.bgmSource)),P=Z(!1),z=()=>{P.value=!0,d.value&&(d.value.volume=.3,d.value.play())},M=()=>{console.log("pause"),P.value=!1,d.value&&d.value.pause()},j=async()=>{await is(500),u.value&&u.value.play()},k=C=>{o.value!==C&&(o.value=C,P.value&&l.value&&j())},O=C=>{const ne=o.value+C;return ne>-1&&ne<i?(k(ne),r("updatedPage",ne),!0):!1},J=()=>{console.log("end"),l.value&&O(1)?j():(P.value=!1,d.value&&d.value.pause(),r("allCompleted"))},xe={onPlay:z,onPause:M,onEnded:J},oe=fe(()=>{const C=x.value,ne=C?.audioSources?.[f.value],me=C?.multiLinguals?.[h.value]??C?.text??"",lt=n.dataSet?.lang?C?.multiLinguals?.[n.dataSet.lang]??C?.text??"":"";return{videoWithAudioSource:S(C?.videoWithAudioSource),videoSource:S(C?.videoSource),soundEffectSource:S(C?.soundEffectSource),audioSource:S(ne),imageSource:S(C?.imageSource),index:o.value,text:me,originalText:lt,duration:C?.duration,defaultLang:n.dataSet?.lang,currentLang:f.value,playbackSpeed:n.playbackSpeed,...xe}}),ve=fe(()=>n.dataSet?.beats[o.value+1]),re=fe(()=>{if(o.value+1>=i)return null;const C=ve.value;return{videoWithAudioSource:S(C?.videoWithAudioSource),videoSource:S(C?.videoSource),soundEffectSource:S(C?.soundEffectSource),audioSource:S(C?.audioSources?.[f.value]),imageSource:S(C?.imageSource),index:o.value+1,text:C?.multiLinguals?.[h.value]??C?.text??"",duration:C?.duration}}),W=fe(()=>({MulmoPlayer:Us,pageProps:oe.value,currentPage:o.value,pageCount:i,pageMove:O,isPlaying:P.value,audioLang:f,textLang:h,SelectLanguage:zl,mediaPlayerRef:u,handlePlay:z,handlePause:M,handleEnded:J}));return t({updatePage:k}),(C,ne)=>(U(),B(ue,null,[_o(C.$slots,"default",Pn(ri(W.value)),()=>[H("div",Yl,[H("div",Zl,[H("div",Xl,[H("button",{class:"px-4 py-2 bg-gray-500 text-white rounded hover:bg-gray-600 disabled:opacity-50",disabled:o.value===0,onClick:ne[0]||(ne[0]=me=>O(-1))}," Prev ",8,Ql),H("div",eu,[Re(Us,Zs({ref_key:"mediaPlayer",ref:u},oe.value),null,16)]),H("button",{class:"px-4 py-2 bg-gray-500 text-white rounded hover:bg-gray-600 disabled:opacity-50",disabled:o.value>=pn(i)-1,onClick:ne[1]||(ne[1]=me=>O(1))}," Next ",8,tu)])])])]),re.value?es((U(),ds(Us,Pn(Zs({key:0},re.value)),null,16)),[[cl,!1]]):Me("",!0),L.value?(U(),B("audio",{key:1,ref_key:"bgmRef",ref:d,src:L.value},null,8,su)):Me("",!0)],64))}}),ru={class:"min-h-screen flex flex-col bg-gray-900 text-white"},iu={class:"bg-gray-800 border-b border-gray-700"},ou={class:"flex items-center gap-6 px-6 py-3"},lu={key:0,class:"flex gap-2 flex-wrap"},uu=["onClick"],au={key:0,class:"flex items-center gap-6 px-6 py-2 bg-gray-750 border-t border-gray-700"},cu={class:"flex items-center gap-2 text-sm text-gray-300"},fu=["disabled"],du=["value"],pu={class:"flex items-center gap-2 text-sm text-gray-300"},hu=["disabled"],gu=["value"],vu={class:"flex-1 flex items-center justify-content p-4"},mu={key:0,class:"text-center p-8 text-gray-400"},bu={key:1,class:"text-center p-8 text-red-400"},yu={key:2,class:"text-center p-8 text-gray-500"},_u={key:3,class:"w-full max-w-5xl mx-auto"},xu={key:0,class:"mb-4 p-4 bg-gray-800 rounded-lg"},Su={class:"flex items-center gap-4 mb-4"},wu={class:"text-sm text-gray-300"},Tu={class:"text-white font-medium"},Eu={class:"text-sm text-gray-400"},Cu={class:"text-sm text-gray-400"},Pu={key:0,class:"text-green-400 text-sm"},Au={key:0,class:"mb-4 p-2 bg-red-900 text-red-200 rounded text-sm"},Ou={class:"flex items-center gap-4 mb-4"},Ru=["disabled"],Mu={key:2,class:"px-6 py-2 text-sm text-gray-400"},Lu=["disabled"],Iu=["disabled"],Fu=["disabled"],ju={class:"mt-2"},Du=Cs({__name:"App",setup(e){const t=Z([]),s=Z(null),n=Z(!0),r=Z(null),i=Z(null),o=Z(0),l=Z("en"),u=Z("en"),d=Z(!1),f=Z(!1),h=Z(!1),x=Z(null),S=Z([]),L=Z(new Map),P=Z(new Map),z=Z(!1),M=Z(null),j=fe(()=>{if(i.value?.lang)return i.value.lang;const I=i.value?.beats?.[0]?.audioSources;if(I){const E=Object.keys(I);return E.includes("ja")?"ja":E.find(A=>A!=="en")||E[0]||"en"}return"en"}),k=fe({get:()=>{if(P.value.has(o.value))return P.value.get(o.value)||"";const I=i.value?.beats?.[o.value];return I&&(I.multiLinguals?.[j.value]||I.text)||""},set:I=>{P.value.set(o.value,I)}}),O=fe(()=>i.value?.beats?.[0]?.audioSources?Object.keys(i.value.beats[0].audioSources):["en"]),J=fe(()=>i.value?.beats?.[0]?.multiLinguals?Object.keys(i.value.beats[0].multiLinguals):["en"]),xe=fe(()=>s.value?`/bundles/${s.value}`:"");cs(async()=>{try{const I=await fetch("/api/bundles");if(!I.ok)throw new Error("Failed to load bundles");t.value=await I.json(),t.value.length>0&&(s.value=t.value[0].path)}catch(I){r.value=I instanceof Error?I.message:"Unknown error"}finally{n.value=!1}}),Le(s,async I=>{if(!I){i.value=null;return}try{const E=await fetch(`/bundles/${I}/mulmo_view.json`);if(!E.ok)throw new Error("Failed to load bundle data");i.value=await E.json(),o.value=0;const A=i.value?.beats?.[0]?.audioSources?Object.keys(i.value.beats[0].audioSources):["en"],le=i.value?.beats?.[0]?.multiLinguals?Object.keys(i.value.beats[0].multiLinguals):["en"];A.includes(l.value)||(l.value=A[0]||"en"),le.includes(u.value)||(u.value=le[0]||"en")}catch(E){r.value=E instanceof Error?E.message:"Unknown error",i.value=null}});function oe(I){s.value=I}function ve(I){o.value=I}const re=fe(()=>i.value?.beats?.length||0),W=fe(()=>L.value.size);async function C(){if(d.value)await me(),d.value=!1;else{M.value=null;try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(E=>E.stop()),d.value=!0,o.value=0,L.value=new Map,P.value=new Map}catch(I){M.value=I instanceof Error?I.message:"Failed to access microphone"}}}async function ne(){if(!f.value){M.value=null,S.value=[];try{const I=await navigator.mediaDevices.getUserMedia({audio:!0}),E=new MediaRecorder(I,{mimeType:"audio/webm"});E.ondataavailable=A=>{A.data.size>0&&S.value.push(A.data)},E.onstop=()=>{const A=new Blob(S.value,{type:"audio/webm"});L.value.set(o.value,A),I.getTracks().forEach(le=>le.stop())},x.value=E,E.start(),f.value=!0}catch(I){M.value=I instanceof Error?I.message:"Failed to start recording"}}}async function me(){if(!f.value||!x.value)return;const I=o.value;return new Promise(E=>{x.value?(x.value.onstop=async()=>{const A=new Blob(S.value,{type:"audio/webm"});L.value.set(I,A),x.value?.stream.getTracks().forEach(le=>le.stop()),f.value=!1,x.value=null,await lt(I,A),E()},x.value.stop()):E()})}async function lt(I,E){h.value=!0,M.value=null;try{const A=await Q(E),Ae=await(await fetch("/api/transcribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({audioBase64:A,lang:j.value})})).json();if(Ae.success&&Ae.text){const gt=k.value,Ke=gt?`${gt}
|
|
2
|
-
${Ae.text}`:Ae.text;P.value.set(I,Ke)}else M.value=Ae.error||"Transcription failed"}catch(A){M.value=A instanceof Error?A.message:"Transcription failed"}finally{h.value=!1}}async function zt(){await me(),o.value<re.value-1&&o.value++}async function ae(){await me(),o.value>0&&o.value--}function Q(I){return new Promise((E,A)=>{const le=new FileReader;le.onloadend=()=>{const Ae=le.result.split(",")[1];E(Ae)},le.onerror=A,le.readAsDataURL(I)})}async function Y(){if(!(!s.value||L.value.size===0)){z.value=!0,M.value=null;try{for(const[E,A]of L.value){const le=await Q(A),Ae=i.value?.beats?.[E],gt=Ae?.multiLinguals?.[j.value]||Ae?.text||"",Ke=P.value.get(E)??gt,vt=await(await fetch("/api/save-audio",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({bundlePath:s.value,beatIndex:E,langKey:j.value,audioBase64:le,text:Ke})})).json();if(!vt.success)throw new Error(vt.error||`Failed to save beat ${E+1}`)}const I=await fetch(`/bundles/${s.value}/mulmo_view.json`);I.ok&&(i.value=await I.json()),d.value=!1,L.value=new Map,P.value=new Map,l.value=j.value,u.value=j.value}catch(I){M.value=I instanceof Error?I.message:"Failed to save recordings"}finally{z.value=!1}}}function We(){L.value=new Map,P.value=new Map,d.value=!1}return(I,E)=>(U(),B("div",ru,[H("header",iu,[H("div",ou,[E[5]||(E[5]=H("h1",{class:"text-lg font-semibold whitespace-nowrap"},"MulmoViewer Preview",-1)),t.value.length>0?(U(),B("nav",lu,[(U(!0),B(ue,null,ss(t.value,A=>(U(),B("button",{key:A.path,class:Et(["px-3 py-1.5 rounded text-sm cursor-pointer transition-colors border-none",s.value===A.path?"bg-blue-600 text-white":"bg-gray-700 text-gray-300 hover:bg-gray-600"]),onClick:le=>oe(A.path)},ce(A.name),11,uu))),128))])):Me("",!0)]),i.value?(U(),B("div",au,[H("label",cu,[E[6]||(E[6]=Je(" Audio: ",-1)),es(H("select",{"onUpdate:modelValue":E[0]||(E[0]=A=>l.value=A),class:"bg-gray-700 border border-gray-600 text-white px-2 py-1 rounded text-sm cursor-pointer hover:bg-gray-600",disabled:d.value},[(U(!0),B(ue,null,ss(O.value,A=>(U(),B("option",{key:A,value:A},ce(A.toUpperCase()),9,du))),128))],8,fu),[[tr,l.value]])]),H("label",pu,[E[7]||(E[7]=Je(" Text: ",-1)),es(H("select",{"onUpdate:modelValue":E[1]||(E[1]=A=>u.value=A),class:"bg-gray-700 border border-gray-600 text-white px-2 py-1 rounded text-sm cursor-pointer hover:bg-gray-600",disabled:d.value},[(U(!0),B(ue,null,ss(J.value,A=>(U(),B("option",{key:A,value:A},ce(A.toUpperCase()),9,gu))),128))],8,hu),[[tr,u.value]])]),E[8]||(E[8]=H("div",{class:"flex-1"},null,-1)),H("button",{onClick:C,class:Et(["px-3 py-1.5 rounded text-sm cursor-pointer transition-colors border-none",d.value?"bg-red-600 text-white hover:bg-red-700":"bg-green-600 text-white hover:bg-green-700"])},ce(d.value?"Exit Recording":"Record Audio"),3)])):Me("",!0)]),H("main",vu,[n.value?(U(),B("div",mu,"Loading bundles...")):r.value?(U(),B("div",bu,ce(r.value),1)):t.value.length===0?(U(),B("div",yu,[...E[9]||(E[9]=[Je(" No bundles found in output/ directory. ",-1),H("p",{class:"mt-2"},[Je("Run "),H("code",{class:"bg-gray-800 px-2 py-1 rounded font-mono text-sm"},"yarn run cli bundle <file>"),Je(" to generate a bundle.")],-1)])])):i.value?(U(),B("div",_u,[d.value?(U(),B("div",xu,[H("div",Su,[H("span",wu,[E[10]||(E[10]=Je(" Lang: ",-1)),H("span",Tu,ce(j.value.toUpperCase()),1)]),H("span",Eu," Beat "+ce(o.value+1)+" / "+ce(re.value),1),H("span",Cu," Recorded: "+ce(W.value)+" / "+ce(re.value),1),L.value.has(o.value)?(U(),B("span",Pu," (done) ")):Me("",!0)]),M.value?(U(),B("div",Au,ce(M.value),1)):Me("",!0),H("div",Ou,[H("button",{onClick:ae,disabled:o.value===0||f.value||h.value,class:"px-4 py-2 rounded text-sm cursor-pointer transition-colors border-none disabled:opacity-50 disabled:cursor-not-allowed bg-gray-600 text-white hover:bg-gray-500"}," Prev ",8,Ru),!f.value&&!h.value?(U(),B("button",{key:0,onClick:ne,class:"px-6 py-2 rounded text-sm cursor-pointer transition-colors border-none bg-red-600 text-white hover:bg-red-700 flex items-center gap-2"},[...E[11]||(E[11]=[H("span",{class:"w-3 h-3 bg-white rounded-full"},null,-1),Je(" Record ",-1)])])):f.value?(U(),B("button",{key:1,onClick:me,class:"px-6 py-2 rounded text-sm cursor-pointer transition-colors border-none bg-gray-600 text-white hover:bg-gray-500 flex items-center gap-2"},[...E[12]||(E[12]=[H("span",{class:"w-3 h-3 bg-red-500 rounded-full animate-pulse"},null,-1),Je(" Stop ",-1)])])):(U(),B("span",Mu," Transcribing... ")),H("button",{onClick:zt,disabled:o.value>=re.value-1||f.value||h.value,class:"px-4 py-2 rounded text-sm cursor-pointer transition-colors border-none disabled:opacity-50 disabled:cursor-not-allowed bg-gray-600 text-white hover:bg-gray-500"}," Next ",8,Lu),E[13]||(E[13]=H("div",{class:"flex-1"},null,-1)),H("button",{onClick:We,disabled:z.value||f.value||h.value,class:"px-4 py-2 rounded text-sm cursor-pointer transition-colors border-none bg-gray-600 text-white hover:bg-gray-500"}," Discard ",8,Iu),H("button",{onClick:Y,disabled:W.value===0||z.value||f.value||h.value,class:"px-4 py-2 rounded text-sm cursor-pointer transition-colors border-none disabled:opacity-50 disabled:cursor-not-allowed bg-blue-600 text-white hover:bg-blue-700"},ce(z.value?"Saving...":`Save All (${W.value})`),9,Fu)]),H("div",ju,[E[14]||(E[14]=H("label",{class:"block text-sm text-gray-400 mb-1"}," Text (editable - recording appends): ",-1)),es(H("textarea",{"onUpdate:modelValue":E[2]||(E[2]=A=>k.value=A),rows:"4",class:"w-full bg-gray-700 border border-gray-600 text-white px-3 py-2 rounded text-sm resize-vertical focus:outline-none focus:border-blue-500",placeholder:"Text will appear here after recording..."},null,512),[[El,k.value]])])])):Me("",!0),Re(pn(nu),{"data-set":i.value,"base-path":xe.value,"init-page":o.value,"audio-lang":l.value,"onUpdate:audioLang":E[3]||(E[3]=A=>l.value=A),"text-lang":u.value,"onUpdate:textLang":E[4]||(E[4]=A=>u.value=A),"auto-play":!1,onUpdatedPage:ve},null,8,["data-set","base-path","init-page","audio-lang","text-lang"])])):Me("",!0)])]))}});Al(Du).mount("#app");
|
package/lib/vue/index.html
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
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>MulmoViewer Preview</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/index-xq-ZNfmX.js"></script>
|
|
8
|
-
<link rel="stylesheet" crossorigin href="./assets/index-D6am8L57.css">
|
|
9
|
-
</head>
|
|
10
|
-
<body>
|
|
11
|
-
<div id="app"></div>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|