executable-stories-formatters 1.9.1 → 1.9.2
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/dist/adapters.d.cts +183 -1
- package/dist/adapters.d.ts +183 -1
- package/dist/cli.js +346 -1737
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +241 -1719
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -866
- package/dist/index.d.ts +43 -866
- package/dist/index.js +208 -1673
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/index-CmEmALo3.d.cts +0 -634
- package/dist/index-CmEmALo3.d.ts +0 -634
package/dist/cli.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
// src/cli.ts
|
|
4
4
|
import { parseArgs as parseArgs2 } from "util";
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
5
|
+
import * as fs15 from "fs";
|
|
6
|
+
import * as path17 from "path";
|
|
7
7
|
|
|
8
8
|
// src/validation/schema-validator.ts
|
|
9
9
|
import Ajv from "ajv/dist/2020.js";
|
|
@@ -941,866 +941,42 @@ function validateRawRun(data) {
|
|
|
941
941
|
return { valid: true, errors: [] };
|
|
942
942
|
}
|
|
943
943
|
const errors = (validate.errors ?? []).map((err) => {
|
|
944
|
-
const
|
|
944
|
+
const path18 = err.instancePath || "/";
|
|
945
945
|
const message = err.message ?? "unknown error";
|
|
946
946
|
if (err.keyword === "additionalProperties") {
|
|
947
947
|
const extra = err.params.additionalProperty;
|
|
948
|
-
return `${
|
|
948
|
+
return `${path18}: ${message} \u2014 '${extra}'`;
|
|
949
949
|
}
|
|
950
950
|
if (err.keyword === "enum") {
|
|
951
951
|
const allowed = err.params.allowedValues;
|
|
952
|
-
return `${
|
|
952
|
+
return `${path18}: ${message} \u2014 allowed: ${JSON.stringify(allowed)}`;
|
|
953
953
|
}
|
|
954
|
-
return `${
|
|
954
|
+
return `${path18}: ${message}`;
|
|
955
955
|
});
|
|
956
956
|
return { valid: false, errors };
|
|
957
957
|
}
|
|
958
958
|
|
|
959
|
-
//
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
then: "Then",
|
|
964
|
-
and: "And",
|
|
965
|
-
but: "But"
|
|
966
|
-
};
|
|
967
|
-
function normalizeKeyword(keyword) {
|
|
968
|
-
return KEYWORD_MAP[keyword.toLowerCase()] ?? keyword;
|
|
969
|
-
}
|
|
970
|
-
function normalizeStepKeywords(steps) {
|
|
971
|
-
return steps.map((step) => ({
|
|
972
|
-
...step,
|
|
973
|
-
keyword: normalizeKeyword(step.keyword)
|
|
974
|
-
}));
|
|
975
|
-
}
|
|
976
|
-
function deriveScenarioName(tc) {
|
|
977
|
-
if (tc.title) return tc.title;
|
|
978
|
-
if (tc.titlePath && tc.titlePath.length > 0) {
|
|
979
|
-
return tc.titlePath[tc.titlePath.length - 1];
|
|
980
|
-
}
|
|
981
|
-
return "Untitled";
|
|
982
|
-
}
|
|
983
|
-
function synthesizeStories(raw) {
|
|
984
|
-
return {
|
|
985
|
-
...raw,
|
|
986
|
-
testCases: raw.testCases.map(synthesizeTestCase)
|
|
987
|
-
};
|
|
988
|
-
}
|
|
989
|
-
function synthesizeTestCase(tc) {
|
|
990
|
-
if (tc.story == null) {
|
|
991
|
-
const scenario = deriveScenarioName(tc);
|
|
992
|
-
return {
|
|
993
|
-
...tc,
|
|
994
|
-
story: {
|
|
995
|
-
scenario,
|
|
996
|
-
steps: [{ keyword: "Then", text: scenario }]
|
|
997
|
-
}
|
|
998
|
-
};
|
|
999
|
-
}
|
|
1000
|
-
const steps = tc.story.steps;
|
|
1001
|
-
if (!steps || steps.length === 0) {
|
|
1002
|
-
return {
|
|
1003
|
-
...tc,
|
|
1004
|
-
story: {
|
|
1005
|
-
...tc.story,
|
|
1006
|
-
steps: [{ keyword: "Then", text: tc.story.scenario }]
|
|
1007
|
-
}
|
|
1008
|
-
};
|
|
1009
|
-
}
|
|
1010
|
-
return {
|
|
1011
|
-
...tc,
|
|
1012
|
-
story: {
|
|
1013
|
-
...tc.story,
|
|
1014
|
-
steps: normalizeStepKeywords(steps)
|
|
1015
|
-
}
|
|
1016
|
-
};
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
|
-
// ../executable-stories-core/dist/converters/acl/status.js
|
|
1020
|
-
var STATUS_MAP = {
|
|
1021
|
-
pass: "passed",
|
|
1022
|
-
fail: "failed",
|
|
1023
|
-
skip: "skipped",
|
|
1024
|
-
pending: "pending",
|
|
1025
|
-
todo: "pending",
|
|
1026
|
-
// Map todo → pending
|
|
1027
|
-
timeout: "failed",
|
|
1028
|
-
// Map timeout → failed
|
|
1029
|
-
interrupted: "failed",
|
|
1030
|
-
// Map interrupted → failed
|
|
1031
|
-
unknown: "skipped"
|
|
1032
|
-
// Safest default
|
|
1033
|
-
};
|
|
1034
|
-
function normalizeStatus(raw) {
|
|
1035
|
-
return STATUS_MAP[raw] ?? "skipped";
|
|
1036
|
-
}
|
|
1037
|
-
|
|
1038
|
-
// ../executable-stories-core/dist/converters/acl/ids.js
|
|
1039
|
-
import { createHash } from "crypto";
|
|
1040
|
-
function generateTestCaseId(sourceFile, scenario) {
|
|
1041
|
-
const input = `${sourceFile}::${scenario}`;
|
|
1042
|
-
return createHash("sha1").update(input).digest("hex").slice(0, 12);
|
|
1043
|
-
}
|
|
1044
|
-
function generateRunId(startedAtMs, projectRoot) {
|
|
1045
|
-
const input = `${startedAtMs}::${projectRoot}`;
|
|
1046
|
-
return createHash("sha1").update(input).digest("hex").slice(0, 16);
|
|
1047
|
-
}
|
|
1048
|
-
function slugify(text2) {
|
|
1049
|
-
return text2.toLowerCase().replace(/[/\\]+/g, "-").replace(/[^\w\s-]/g, "").replace(/[\s_]+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "");
|
|
1050
|
-
}
|
|
1051
|
-
function generateFeatureId(uri) {
|
|
1052
|
-
const pathWithoutExt = uri.replace(/\.[^.]+$/, "");
|
|
1053
|
-
return slugify(pathWithoutExt);
|
|
1054
|
-
}
|
|
1055
|
-
function generateScenarioId(featureId, scenarioName) {
|
|
1056
|
-
return `${featureId};${slugify(scenarioName)}`;
|
|
1057
|
-
}
|
|
1058
|
-
function normalizeText(text2) {
|
|
1059
|
-
return text2.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
1060
|
-
}
|
|
1061
|
-
function tokenize(text2) {
|
|
1062
|
-
const normalized = normalizeText(text2);
|
|
1063
|
-
return normalized.length === 0 ? [] : normalized.split(" ");
|
|
1064
|
-
}
|
|
1065
|
-
function behaviourFingerprint(input) {
|
|
1066
|
-
const steps = input.steps.map((step) => `${step.keyword.toLowerCase()}:${normalizeText(step.text)}`).join("\n");
|
|
1067
|
-
const covers = [...input.covers ?? []].map((path20) => path20.trim()).filter(Boolean).sort().join(",");
|
|
1068
|
-
if (steps.length === 0 && covers.length === 0) return "";
|
|
1069
|
-
return createHash("sha1").update(`${steps}\0${covers}`).digest("hex").slice(0, 16);
|
|
1070
|
-
}
|
|
1071
|
-
function jaccard(a, b) {
|
|
1072
|
-
if (a.size === 0 && b.size === 0) return 1;
|
|
1073
|
-
if (a.size === 0 || b.size === 0) return 0;
|
|
1074
|
-
let intersection = 0;
|
|
1075
|
-
for (const value of a) if (b.has(value)) intersection += 1;
|
|
1076
|
-
return intersection / (a.size + b.size - intersection);
|
|
1077
|
-
}
|
|
1078
|
-
function stepTokens(steps) {
|
|
1079
|
-
const tokens = /* @__PURE__ */ new Set();
|
|
1080
|
-
for (const step of steps) {
|
|
1081
|
-
for (const token of tokenize(step.text)) tokens.add(token);
|
|
1082
|
-
}
|
|
1083
|
-
return tokens;
|
|
1084
|
-
}
|
|
1085
|
-
function behaviourSimilarity(a, b) {
|
|
1086
|
-
const aSteps = stepTokens(a.steps);
|
|
1087
|
-
const bSteps = stepTokens(b.steps);
|
|
1088
|
-
if (aSteps.size === 0 || bSteps.size === 0) return 0;
|
|
1089
|
-
const stepScore = jaccard(aSteps, bSteps);
|
|
1090
|
-
const titleScore = jaccard(new Set(tokenize(a.scenario)), new Set(tokenize(b.scenario)));
|
|
1091
|
-
return stepScore * 0.7 + titleScore * 0.3;
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
// ../executable-stories-core/dist/converters/acl/steps.js
|
|
1095
|
-
function deriveStepResults(steps, scenarioStatus, error) {
|
|
1096
|
-
if (steps.length === 0) {
|
|
1097
|
-
return [];
|
|
1098
|
-
}
|
|
1099
|
-
if (scenarioStatus === "passed") {
|
|
1100
|
-
return steps.map((_, index) => ({
|
|
1101
|
-
index,
|
|
1102
|
-
stepId: steps[index].id,
|
|
1103
|
-
status: "passed",
|
|
1104
|
-
durationMs: 0
|
|
1105
|
-
}));
|
|
1106
|
-
}
|
|
1107
|
-
if (scenarioStatus === "skipped" || scenarioStatus === "pending") {
|
|
1108
|
-
return steps.map((_, index) => ({
|
|
1109
|
-
index,
|
|
1110
|
-
stepId: steps[index].id,
|
|
1111
|
-
status: scenarioStatus,
|
|
1112
|
-
durationMs: 0
|
|
1113
|
-
}));
|
|
1114
|
-
}
|
|
1115
|
-
const failingIndex = findFailingStepIndex(steps, error);
|
|
1116
|
-
return steps.map((_, index) => {
|
|
1117
|
-
if (index < failingIndex) {
|
|
1118
|
-
return { index, stepId: steps[index].id, status: "passed", durationMs: 0 };
|
|
1119
|
-
} else if (index === failingIndex) {
|
|
1120
|
-
return {
|
|
1121
|
-
index,
|
|
1122
|
-
stepId: steps[index].id,
|
|
1123
|
-
status: "failed",
|
|
1124
|
-
durationMs: 0,
|
|
1125
|
-
errorMessage: error?.message
|
|
1126
|
-
};
|
|
1127
|
-
} else {
|
|
1128
|
-
return { index, stepId: steps[index].id, status: "skipped", durationMs: 0 };
|
|
1129
|
-
}
|
|
1130
|
-
});
|
|
1131
|
-
}
|
|
1132
|
-
function findFailingStepIndex(steps, error) {
|
|
1133
|
-
if (!error || steps.length === 0) {
|
|
1134
|
-
return steps.length - 1;
|
|
1135
|
-
}
|
|
1136
|
-
const errorText = `${error.message ?? ""} ${error.stack ?? ""}`.toLowerCase();
|
|
1137
|
-
for (let i = 0; i < steps.length; i++) {
|
|
1138
|
-
const stepText = steps[i].text.toLowerCase();
|
|
1139
|
-
if (errorText.includes(stepText)) {
|
|
1140
|
-
return i;
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1143
|
-
return steps.length - 1;
|
|
1144
|
-
}
|
|
1145
|
-
function mergeStepResults(derived, events) {
|
|
1146
|
-
if (!events || events.length === 0) {
|
|
1147
|
-
return derived;
|
|
1148
|
-
}
|
|
1149
|
-
const actualByIndex = /* @__PURE__ */ new Map();
|
|
1150
|
-
const actualByStepId = /* @__PURE__ */ new Map();
|
|
1151
|
-
for (const event of events) {
|
|
1152
|
-
if (event.index !== void 0) {
|
|
1153
|
-
actualByIndex.set(event.index, event);
|
|
1154
|
-
}
|
|
1155
|
-
if (event.stepId) {
|
|
1156
|
-
actualByStepId.set(event.stepId, event);
|
|
1157
|
-
}
|
|
1158
|
-
}
|
|
1159
|
-
return derived.map((step) => {
|
|
1160
|
-
const actual = (step.stepId ? actualByStepId.get(step.stepId) : void 0) ?? actualByIndex.get(step.index);
|
|
1161
|
-
if (!actual) {
|
|
1162
|
-
return step;
|
|
1163
|
-
}
|
|
1164
|
-
return {
|
|
1165
|
-
index: step.index,
|
|
1166
|
-
stepId: step.stepId ?? actual.stepId,
|
|
1167
|
-
status: normalizeStepStatus(actual.status) ?? step.status,
|
|
1168
|
-
durationMs: actual.durationMs ?? step.durationMs,
|
|
1169
|
-
errorMessage: actual.errorMessage ?? step.errorMessage
|
|
1170
|
-
};
|
|
1171
|
-
});
|
|
1172
|
-
}
|
|
1173
|
-
function normalizeStepStatus(status) {
|
|
1174
|
-
if (!status) return void 0;
|
|
1175
|
-
const lower = status.toLowerCase();
|
|
1176
|
-
if (lower === "pass" || lower === "passed") return "passed";
|
|
1177
|
-
if (lower === "fail" || lower === "failed") return "failed";
|
|
1178
|
-
if (lower === "skip" || lower === "skipped") return "skipped";
|
|
1179
|
-
if (lower === "pending") return "pending";
|
|
1180
|
-
return void 0;
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
|
-
// ../executable-stories-core/dist/converters/acl/attachments.js
|
|
1184
|
-
import * as fs from "fs";
|
|
1185
|
-
import * as path from "path";
|
|
1186
|
-
var DEFAULT_MAX_EMBED_BYTES = 512 * 1024;
|
|
1187
|
-
function resolveAttachment(raw, options = {}) {
|
|
1188
|
-
const maxBytes = options.maxEmbedBytes ?? DEFAULT_MAX_EMBED_BYTES;
|
|
1189
|
-
if (raw.body) {
|
|
1190
|
-
return {
|
|
1191
|
-
name: raw.name,
|
|
1192
|
-
mediaType: raw.mediaType,
|
|
1193
|
-
body: raw.body,
|
|
1194
|
-
contentEncoding: raw.encoding ?? "BASE64"
|
|
1195
|
-
};
|
|
1196
|
-
}
|
|
1197
|
-
if (raw.path) {
|
|
1198
|
-
return resolveFromPath(raw, maxBytes, options);
|
|
1199
|
-
}
|
|
1200
|
-
return {
|
|
1201
|
-
name: raw.name,
|
|
1202
|
-
mediaType: raw.mediaType,
|
|
1203
|
-
body: "",
|
|
1204
|
-
contentEncoding: "IDENTITY"
|
|
1205
|
-
};
|
|
1206
|
-
}
|
|
1207
|
-
function resolveFromPath(raw, maxBytes, options) {
|
|
1208
|
-
const filePath = raw.path;
|
|
1209
|
-
const absolutePath = path.isAbsolute(filePath) ? filePath : path.resolve(options.projectRoot ?? process.cwd(), filePath);
|
|
1210
|
-
if (!fs.existsSync(absolutePath)) {
|
|
1211
|
-
return {
|
|
1212
|
-
name: raw.name,
|
|
1213
|
-
mediaType: raw.mediaType,
|
|
1214
|
-
body: filePath,
|
|
1215
|
-
contentEncoding: "IDENTITY"
|
|
1216
|
-
};
|
|
1217
|
-
}
|
|
1218
|
-
const stats = fs.statSync(absolutePath);
|
|
1219
|
-
const byteLength = raw.byteLength ?? stats.size;
|
|
1220
|
-
if (byteLength > maxBytes) {
|
|
1221
|
-
if (options.externalDir) {
|
|
1222
|
-
const destPath = copyToExternalDir(absolutePath, options.externalDir);
|
|
1223
|
-
return {
|
|
1224
|
-
name: raw.name,
|
|
1225
|
-
mediaType: raw.mediaType,
|
|
1226
|
-
body: destPath,
|
|
1227
|
-
contentEncoding: "IDENTITY"
|
|
1228
|
-
};
|
|
1229
|
-
}
|
|
1230
|
-
const relativePath = options.projectRoot ? path.relative(options.projectRoot, absolutePath) : filePath;
|
|
1231
|
-
return {
|
|
1232
|
-
name: raw.name,
|
|
1233
|
-
mediaType: raw.mediaType,
|
|
1234
|
-
body: relativePath,
|
|
1235
|
-
contentEncoding: "IDENTITY"
|
|
1236
|
-
};
|
|
1237
|
-
}
|
|
1238
|
-
const content = fs.readFileSync(absolutePath);
|
|
1239
|
-
return {
|
|
1240
|
-
name: raw.name,
|
|
1241
|
-
mediaType: raw.mediaType,
|
|
1242
|
-
body: content.toString("base64"),
|
|
1243
|
-
contentEncoding: "BASE64"
|
|
1244
|
-
};
|
|
1245
|
-
}
|
|
1246
|
-
function copyToExternalDir(sourcePath, externalDir) {
|
|
1247
|
-
if (!fs.existsSync(externalDir)) {
|
|
1248
|
-
fs.mkdirSync(externalDir, { recursive: true });
|
|
1249
|
-
}
|
|
1250
|
-
const filename = path.basename(sourcePath);
|
|
1251
|
-
const destPath = path.join(externalDir, filename);
|
|
1252
|
-
let finalPath = destPath;
|
|
1253
|
-
let counter = 1;
|
|
1254
|
-
while (fs.existsSync(finalPath)) {
|
|
1255
|
-
const ext = path.extname(filename);
|
|
1256
|
-
const base = path.basename(filename, ext);
|
|
1257
|
-
finalPath = path.join(externalDir, `${base}-${counter}${ext}`);
|
|
1258
|
-
counter++;
|
|
1259
|
-
}
|
|
1260
|
-
fs.copyFileSync(sourcePath, finalPath);
|
|
1261
|
-
return finalPath;
|
|
1262
|
-
}
|
|
1263
|
-
function resolveAttachments(attachments, options = {}) {
|
|
1264
|
-
if (!attachments || attachments.length === 0) {
|
|
1265
|
-
return [];
|
|
1266
|
-
}
|
|
1267
|
-
return attachments.map((raw) => resolveAttachment(raw, options));
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
// ../executable-stories-core/dist/converters/acl/index.js
|
|
1271
|
-
function canonicalizeRun(raw, options = {}) {
|
|
1272
|
-
const now = Date.now();
|
|
1273
|
-
const startedAtMs = raw.startedAtMs ?? options.defaults?.startedAtMs ?? now;
|
|
1274
|
-
const finishedAtMs = raw.finishedAtMs ?? options.defaults?.finishedAtMs ?? now;
|
|
1275
|
-
const runId = generateRunId(startedAtMs, raw.projectRoot);
|
|
1276
|
-
const testCases = raw.testCases.filter((tc) => tc.story != null).map((tc) => canonicalizeTestCase(tc, options, raw.projectRoot));
|
|
1277
|
-
return {
|
|
1278
|
-
testCases,
|
|
1279
|
-
startedAtMs,
|
|
1280
|
-
finishedAtMs,
|
|
1281
|
-
durationMs: finishedAtMs - startedAtMs,
|
|
1282
|
-
projectRoot: raw.projectRoot,
|
|
1283
|
-
runId,
|
|
1284
|
-
packageVersion: raw.packageVersion,
|
|
1285
|
-
gitSha: raw.gitSha,
|
|
1286
|
-
ci: raw.ci
|
|
1287
|
-
};
|
|
1288
|
-
}
|
|
1289
|
-
function canonicalizeTestCase(raw, options, projectRoot) {
|
|
1290
|
-
const story = raw.story;
|
|
1291
|
-
const sourceFile = raw.sourceFile ?? "unknown";
|
|
1292
|
-
const scenario = story.scenario ?? raw.title ?? "Unknown Scenario";
|
|
1293
|
-
const id = generateTestCaseId(sourceFile, scenario);
|
|
1294
|
-
const status = normalizeStatus(raw.status);
|
|
1295
|
-
const derivedSteps = deriveStepResults(story.steps ?? [], status, raw.error);
|
|
1296
|
-
const stepResults = mergeStepResults(
|
|
1297
|
-
derivedSteps,
|
|
1298
|
-
raw.stepEvents?.map((e) => ({
|
|
1299
|
-
index: e.index,
|
|
1300
|
-
stepId: e.stepId,
|
|
1301
|
-
status: e.status,
|
|
1302
|
-
durationMs: e.durationMs,
|
|
1303
|
-
errorMessage: e.errorMessage
|
|
1304
|
-
}))
|
|
1305
|
-
);
|
|
1306
|
-
const attachments = resolveAttachments(raw.attachments, {
|
|
1307
|
-
maxEmbedBytes: options.attachments?.maxEmbedBytes,
|
|
1308
|
-
externalDir: options.attachments?.externalDir,
|
|
1309
|
-
projectRoot
|
|
1310
|
-
});
|
|
1311
|
-
const tags = normalizeTags(story);
|
|
1312
|
-
if (story.tickets) {
|
|
1313
|
-
story.tickets = normalizeTickets(story.tickets);
|
|
1314
|
-
}
|
|
1315
|
-
const titlePath = buildTitlePath(raw, story);
|
|
1316
|
-
return {
|
|
1317
|
-
id,
|
|
1318
|
-
story,
|
|
1319
|
-
sourceFile,
|
|
1320
|
-
sourceLine: raw.sourceLine ?? 1,
|
|
1321
|
-
status,
|
|
1322
|
-
rawStatus: raw.status,
|
|
1323
|
-
durationMs: raw.durationMs ?? 0,
|
|
1324
|
-
errorMessage: raw.error?.message,
|
|
1325
|
-
errorStack: raw.error?.stack,
|
|
1326
|
-
attachments,
|
|
1327
|
-
stepResults,
|
|
1328
|
-
titlePath,
|
|
1329
|
-
projectName: raw.projectName,
|
|
1330
|
-
retry: raw.retry ?? 0,
|
|
1331
|
-
retries: raw.retries ?? 0,
|
|
1332
|
-
tags,
|
|
1333
|
-
...raw.evidence ? { evidence: raw.evidence } : {}
|
|
1334
|
-
};
|
|
1335
|
-
}
|
|
1336
|
-
function normalizeTags(story) {
|
|
1337
|
-
const tags = story.tags ?? [];
|
|
1338
|
-
return [...new Set(tags)].sort();
|
|
1339
|
-
}
|
|
1340
|
-
function normalizeTickets(raw) {
|
|
1341
|
-
return raw.map((t) => typeof t === "string" ? { id: t } : t);
|
|
1342
|
-
}
|
|
1343
|
-
function buildTitlePath(raw, story) {
|
|
1344
|
-
if (story.suitePath && story.suitePath.length > 0) {
|
|
1345
|
-
return story.suitePath;
|
|
1346
|
-
}
|
|
1347
|
-
if (raw.titlePath && raw.titlePath.length > 0) {
|
|
1348
|
-
const withoutTestName = raw.titlePath.slice(0, -1);
|
|
1349
|
-
return withoutTestName.length > 0 ? withoutTestName : [];
|
|
1350
|
-
}
|
|
1351
|
-
return [];
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
// ../executable-stories-core/dist/converters/acl/validate.js
|
|
1355
|
-
function validateCanonicalRun(run) {
|
|
1356
|
-
const errors = [];
|
|
1357
|
-
if (!run.runId) {
|
|
1358
|
-
errors.push("Run missing runId");
|
|
1359
|
-
}
|
|
1360
|
-
if (!run.projectRoot) {
|
|
1361
|
-
errors.push("Run missing projectRoot");
|
|
1362
|
-
}
|
|
1363
|
-
if (typeof run.startedAtMs !== "number" || run.startedAtMs < 0) {
|
|
1364
|
-
errors.push(`Invalid startedAtMs: ${run.startedAtMs}`);
|
|
1365
|
-
}
|
|
1366
|
-
if (typeof run.finishedAtMs !== "number" || run.finishedAtMs < 0) {
|
|
1367
|
-
errors.push(`Invalid finishedAtMs: ${run.finishedAtMs}`);
|
|
1368
|
-
}
|
|
1369
|
-
if (run.finishedAtMs < run.startedAtMs) {
|
|
1370
|
-
errors.push(`finishedAtMs (${run.finishedAtMs}) < startedAtMs (${run.startedAtMs})`);
|
|
1371
|
-
}
|
|
1372
|
-
if (typeof run.durationMs !== "number" || run.durationMs < 0) {
|
|
1373
|
-
errors.push(`Invalid durationMs: ${run.durationMs}`);
|
|
1374
|
-
}
|
|
1375
|
-
if (!Array.isArray(run.testCases)) {
|
|
1376
|
-
errors.push("testCases is not an array");
|
|
1377
|
-
} else {
|
|
1378
|
-
for (let i = 0; i < run.testCases.length; i++) {
|
|
1379
|
-
const tcErrors = validateTestCase(run.testCases[i], i);
|
|
1380
|
-
errors.push(...tcErrors);
|
|
1381
|
-
}
|
|
1382
|
-
}
|
|
1383
|
-
return {
|
|
1384
|
-
valid: errors.length === 0,
|
|
1385
|
-
errors
|
|
1386
|
-
};
|
|
1387
|
-
}
|
|
1388
|
-
function validateTestCase(tc, index) {
|
|
1389
|
-
const errors = [];
|
|
1390
|
-
const prefix = `TestCase[${index}]`;
|
|
1391
|
-
if (!tc.id) {
|
|
1392
|
-
errors.push(`${prefix}: missing id`);
|
|
1393
|
-
}
|
|
1394
|
-
if (!tc.story) {
|
|
1395
|
-
errors.push(`${prefix}: missing story`);
|
|
1396
|
-
return errors;
|
|
1397
|
-
}
|
|
1398
|
-
if (!tc.sourceFile) {
|
|
1399
|
-
errors.push(`${prefix}: missing sourceFile`);
|
|
1400
|
-
}
|
|
1401
|
-
if (typeof tc.sourceLine !== "number" || tc.sourceLine < 1) {
|
|
1402
|
-
errors.push(`${prefix}: invalid sourceLine ${tc.sourceLine}`);
|
|
1403
|
-
}
|
|
1404
|
-
const validStatuses = ["passed", "failed", "skipped", "pending"];
|
|
1405
|
-
if (!validStatuses.includes(tc.status)) {
|
|
1406
|
-
errors.push(`${prefix}: invalid status "${tc.status}"`);
|
|
1407
|
-
}
|
|
1408
|
-
if (typeof tc.durationMs !== "number" || tc.durationMs < 0) {
|
|
1409
|
-
errors.push(`${prefix}: invalid durationMs ${tc.durationMs}`);
|
|
1410
|
-
}
|
|
1411
|
-
if (typeof tc.retry !== "number" || tc.retry < 0) {
|
|
1412
|
-
errors.push(`${prefix}: invalid retry ${tc.retry}`);
|
|
1413
|
-
}
|
|
1414
|
-
if (typeof tc.retries !== "number" || tc.retries < 0) {
|
|
1415
|
-
errors.push(`${prefix}: invalid retries ${tc.retries}`);
|
|
1416
|
-
}
|
|
1417
|
-
if (!Array.isArray(tc.attachments)) {
|
|
1418
|
-
errors.push(`${prefix}: attachments is not an array`);
|
|
1419
|
-
}
|
|
1420
|
-
if (!Array.isArray(tc.titlePath)) {
|
|
1421
|
-
errors.push(`${prefix}: titlePath is not an array`);
|
|
1422
|
-
}
|
|
1423
|
-
if (!Array.isArray(tc.tags)) {
|
|
1424
|
-
errors.push(`${prefix}: tags is not an array`);
|
|
1425
|
-
}
|
|
1426
|
-
if (!Array.isArray(tc.stepResults)) {
|
|
1427
|
-
errors.push(`${prefix}: stepResults is not an array`);
|
|
1428
|
-
} else {
|
|
1429
|
-
const stepsCount = tc.story.steps?.length ?? 0;
|
|
1430
|
-
if (tc.stepResults.length !== stepsCount) {
|
|
1431
|
-
errors.push(
|
|
1432
|
-
`${prefix}: stepResults.length (${tc.stepResults.length}) !== story.steps.length (${stepsCount})`
|
|
1433
|
-
);
|
|
1434
|
-
}
|
|
1435
|
-
const seenIndexes = /* @__PURE__ */ new Set();
|
|
1436
|
-
for (const sr of tc.stepResults) {
|
|
1437
|
-
if (typeof sr.index !== "number" || sr.index < 0 || sr.index >= stepsCount) {
|
|
1438
|
-
errors.push(`${prefix}: invalid stepResult index ${sr.index}`);
|
|
1439
|
-
}
|
|
1440
|
-
if (seenIndexes.has(sr.index)) {
|
|
1441
|
-
errors.push(`${prefix}: duplicate stepResult index ${sr.index}`);
|
|
1442
|
-
}
|
|
1443
|
-
seenIndexes.add(sr.index);
|
|
1444
|
-
if (!validStatuses.includes(sr.status)) {
|
|
1445
|
-
errors.push(`${prefix}: invalid stepResult status "${sr.status}" at index ${sr.index}`);
|
|
1446
|
-
}
|
|
1447
|
-
if (typeof sr.durationMs !== "number" || sr.durationMs < 0) {
|
|
1448
|
-
errors.push(`${prefix}: invalid stepResult durationMs ${sr.durationMs} at index ${sr.index}`);
|
|
1449
|
-
}
|
|
1450
|
-
}
|
|
1451
|
-
}
|
|
1452
|
-
return errors;
|
|
1453
|
-
}
|
|
1454
|
-
function assertValidRun(run) {
|
|
1455
|
-
const result = validateCanonicalRun(run);
|
|
1456
|
-
if (!result.valid) {
|
|
1457
|
-
throw new Error(`Invalid TestRunResult:
|
|
1458
|
-
${result.errors.join("\n")}`);
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
959
|
+
// src/cli.ts
|
|
960
|
+
import { synthesizeStories as synthesizeStories3 } from "executable-stories-core/converters/synthesize";
|
|
961
|
+
import { canonicalizeRun as canonicalizeRun5 } from "executable-stories-core/converters/acl/index";
|
|
962
|
+
import { assertValidRun as assertValidRun2 } from "executable-stories-core/converters/acl/validate";
|
|
1461
963
|
|
|
1462
964
|
// src/index.ts
|
|
1463
|
-
import * as
|
|
965
|
+
import * as path7 from "path";
|
|
1464
966
|
import * as fsPromises from "fs/promises";
|
|
1465
|
-
|
|
1466
|
-
// ../executable-stories-core/dist/converters/story-report.js
|
|
1467
|
-
import { posix as path2 } from "path";
|
|
1468
|
-
|
|
1469
|
-
// ../executable-stories-core/dist/types/story-report.js
|
|
1470
|
-
var STORY_REPORT_SCHEMA_VERSION = "1.0";
|
|
1471
|
-
|
|
1472
|
-
// ../executable-stories-core/dist/converters/story-report.js
|
|
1473
|
-
function reportSlug(text2) {
|
|
1474
|
-
return text2.toLowerCase().replace(/[/\\.]+/g, "-").replace(/[^\w\s-]/g, "").replace(/[\s_]+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "");
|
|
1475
|
-
}
|
|
1476
|
-
function toRelativeSourceFile(sourceFile, projectRoot) {
|
|
1477
|
-
if (!sourceFile) return sourceFile;
|
|
1478
|
-
const normalized = sourceFile.split(path2.sep).join("/");
|
|
1479
|
-
const root = projectRoot.split(path2.sep).join("/").replace(/\/$/, "");
|
|
1480
|
-
if (root && normalized.startsWith(root + "/")) return normalized.slice(root.length + 1);
|
|
1481
|
-
return normalized;
|
|
1482
|
-
}
|
|
1483
|
-
function fileBasenameTitle(sourceFile) {
|
|
1484
|
-
const base = sourceFile.split("/").pop() ?? sourceFile;
|
|
1485
|
-
return base.replace(/\.(story\.)?(test|spec)\.[tj]sx?$/, "").replace(/\.[tj]sx?$/, "");
|
|
1486
|
-
}
|
|
1487
|
-
function emptySummary() {
|
|
1488
|
-
return { total: 0, passed: 0, failed: 0, skipped: 0, pending: 0, durationMs: 0 };
|
|
1489
|
-
}
|
|
1490
|
-
function addToSummary(summary, status, durationMs) {
|
|
1491
|
-
summary.total += 1;
|
|
1492
|
-
summary[status] += 1;
|
|
1493
|
-
summary.durationMs += durationMs;
|
|
1494
|
-
}
|
|
1495
|
-
function isKeyword(value) {
|
|
1496
|
-
return value === "Given" || value === "When" || value === "Then" || value === "And" || value === "But";
|
|
1497
|
-
}
|
|
1498
|
-
function copyDocEntries(entries) {
|
|
1499
|
-
if (!entries || entries.length === 0) return [];
|
|
1500
|
-
return entries.map(copyDocEntry);
|
|
1501
|
-
}
|
|
1502
|
-
function copyDocEntry(entry) {
|
|
1503
|
-
const children = entry.children ? { children: copyDocEntries(entry.children) } : {};
|
|
1504
|
-
switch (entry.kind) {
|
|
1505
|
-
case "note":
|
|
1506
|
-
return { kind: "note", text: entry.text, phase: entry.phase, ...children };
|
|
1507
|
-
case "tag":
|
|
1508
|
-
return { kind: "tag", names: [...entry.names], phase: entry.phase, ...children };
|
|
1509
|
-
case "kv":
|
|
1510
|
-
return { kind: "kv", label: entry.label, value: entry.value, phase: entry.phase, ...children };
|
|
1511
|
-
case "code":
|
|
1512
|
-
return {
|
|
1513
|
-
kind: "code",
|
|
1514
|
-
label: entry.label,
|
|
1515
|
-
content: entry.content,
|
|
1516
|
-
...entry.lang ? { lang: entry.lang } : {},
|
|
1517
|
-
phase: entry.phase,
|
|
1518
|
-
...children
|
|
1519
|
-
};
|
|
1520
|
-
case "table":
|
|
1521
|
-
return {
|
|
1522
|
-
kind: "table",
|
|
1523
|
-
label: entry.label,
|
|
1524
|
-
columns: [...entry.columns],
|
|
1525
|
-
rows: entry.rows.map((r) => [...r]),
|
|
1526
|
-
phase: entry.phase,
|
|
1527
|
-
...children
|
|
1528
|
-
};
|
|
1529
|
-
case "link":
|
|
1530
|
-
return { kind: "link", label: entry.label, url: entry.url, phase: entry.phase, ...children };
|
|
1531
|
-
case "section":
|
|
1532
|
-
return { kind: "section", title: entry.title, markdown: entry.markdown, phase: entry.phase, ...children };
|
|
1533
|
-
case "mermaid":
|
|
1534
|
-
return {
|
|
1535
|
-
kind: "mermaid",
|
|
1536
|
-
code: entry.code,
|
|
1537
|
-
...entry.title ? { title: entry.title } : {},
|
|
1538
|
-
phase: entry.phase,
|
|
1539
|
-
...children
|
|
1540
|
-
};
|
|
1541
|
-
case "screenshot":
|
|
1542
|
-
return {
|
|
1543
|
-
kind: "screenshot",
|
|
1544
|
-
path: entry.path,
|
|
1545
|
-
...entry.alt ? { alt: entry.alt } : {},
|
|
1546
|
-
phase: entry.phase,
|
|
1547
|
-
...children
|
|
1548
|
-
};
|
|
1549
|
-
case "video":
|
|
1550
|
-
return {
|
|
1551
|
-
kind: "video",
|
|
1552
|
-
path: entry.path,
|
|
1553
|
-
...entry.caption ? { caption: entry.caption } : {},
|
|
1554
|
-
...entry.poster ? { poster: entry.poster } : {},
|
|
1555
|
-
phase: entry.phase,
|
|
1556
|
-
...children
|
|
1557
|
-
};
|
|
1558
|
-
case "html":
|
|
1559
|
-
return {
|
|
1560
|
-
kind: "html",
|
|
1561
|
-
...entry.path !== void 0 ? { path: entry.path } : {},
|
|
1562
|
-
...entry.url !== void 0 ? { url: entry.url } : {},
|
|
1563
|
-
...entry.content !== void 0 ? { content: entry.content } : {},
|
|
1564
|
-
...entry.title !== void 0 ? { title: entry.title } : {},
|
|
1565
|
-
...entry.height !== void 0 ? { height: entry.height } : {},
|
|
1566
|
-
phase: entry.phase,
|
|
1567
|
-
...children
|
|
1568
|
-
};
|
|
1569
|
-
case "state":
|
|
1570
|
-
return {
|
|
1571
|
-
kind: "state",
|
|
1572
|
-
...entry.label !== void 0 ? { label: entry.label } : {},
|
|
1573
|
-
value: entry.value,
|
|
1574
|
-
phase: entry.phase,
|
|
1575
|
-
...children
|
|
1576
|
-
};
|
|
1577
|
-
case "custom":
|
|
1578
|
-
return {
|
|
1579
|
-
kind: "custom",
|
|
1580
|
-
type: entry.type,
|
|
1581
|
-
data: entry.data,
|
|
1582
|
-
phase: entry.phase,
|
|
1583
|
-
...children
|
|
1584
|
-
};
|
|
1585
|
-
}
|
|
1586
|
-
}
|
|
1587
|
-
function buildStep(args) {
|
|
1588
|
-
const step = {
|
|
1589
|
-
id: `${args.scenarioId}--step-${args.index}`,
|
|
1590
|
-
index: args.index,
|
|
1591
|
-
keyword: args.keyword,
|
|
1592
|
-
text: args.text,
|
|
1593
|
-
status: args.status,
|
|
1594
|
-
durationMs: args.durationMs,
|
|
1595
|
-
docEntries: args.docEntries
|
|
1596
|
-
};
|
|
1597
|
-
if (args.errorMessage !== void 0) step.errorMessage = args.errorMessage;
|
|
1598
|
-
if (args.mode !== void 0) step.mode = args.mode;
|
|
1599
|
-
return step;
|
|
1600
|
-
}
|
|
1601
|
-
function buildSteps(scenarioId, tc) {
|
|
1602
|
-
const declared = tc.story.steps ?? [];
|
|
1603
|
-
const results = tc.stepResults;
|
|
1604
|
-
const max = Math.max(declared.length, results.length);
|
|
1605
|
-
const steps = [];
|
|
1606
|
-
for (let i = 0; i < max; i++) {
|
|
1607
|
-
const decl = declared[i];
|
|
1608
|
-
const res = results[i];
|
|
1609
|
-
const keywordSource = decl?.keyword;
|
|
1610
|
-
const keyword = keywordSource && isKeyword(keywordSource) ? keywordSource : "Given";
|
|
1611
|
-
const text2 = decl?.text ?? "";
|
|
1612
|
-
const status = res?.status ?? "pending";
|
|
1613
|
-
const durationMs = res?.durationMs ?? decl?.durationMs ?? 0;
|
|
1614
|
-
const docEntries = copyDocEntries(decl?.docs);
|
|
1615
|
-
steps.push(buildStep({
|
|
1616
|
-
scenarioId,
|
|
1617
|
-
index: i,
|
|
1618
|
-
keyword,
|
|
1619
|
-
text: text2,
|
|
1620
|
-
status,
|
|
1621
|
-
durationMs,
|
|
1622
|
-
...res?.errorMessage !== void 0 ? { errorMessage: res.errorMessage } : {},
|
|
1623
|
-
...decl?.mode !== void 0 ? { mode: decl.mode } : {},
|
|
1624
|
-
docEntries
|
|
1625
|
-
}));
|
|
1626
|
-
}
|
|
1627
|
-
return steps;
|
|
1628
|
-
}
|
|
1629
|
-
function buildAttachments(tc) {
|
|
1630
|
-
return tc.attachments.map((a) => ({
|
|
1631
|
-
name: a.name,
|
|
1632
|
-
mediaType: a.mediaType,
|
|
1633
|
-
body: a.body,
|
|
1634
|
-
contentEncoding: a.contentEncoding
|
|
1635
|
-
}));
|
|
1636
|
-
}
|
|
1637
|
-
function buildScenario(tc, featureId, scenarioRefs) {
|
|
1638
|
-
const titleRaw = tc.story.scenario?.trim() || "(untitled scenario)";
|
|
1639
|
-
const id = `${featureId}--${reportSlug(titleRaw) || `case-${tc.id}`}`;
|
|
1640
|
-
const steps = buildSteps(id, tc);
|
|
1641
|
-
const scenario = {
|
|
1642
|
-
id,
|
|
1643
|
-
title: titleRaw,
|
|
1644
|
-
status: tc.status,
|
|
1645
|
-
durationMs: tc.durationMs,
|
|
1646
|
-
tags: [...tc.tags],
|
|
1647
|
-
retry: tc.retry,
|
|
1648
|
-
retries: tc.retries,
|
|
1649
|
-
docEntries: copyDocEntries(tc.story.docs),
|
|
1650
|
-
steps,
|
|
1651
|
-
attachments: buildAttachments(tc)
|
|
1652
|
-
};
|
|
1653
|
-
if (tc.sourceLine && tc.sourceLine > 0) scenario.sourceLine = tc.sourceLine;
|
|
1654
|
-
if (tc.errorMessage !== void 0) scenario.errorMessage = tc.errorMessage;
|
|
1655
|
-
if (tc.errorStack !== void 0) scenario.errorStack = tc.errorStack;
|
|
1656
|
-
if (tc.rawStatus === "todo") scenario.planned = true;
|
|
1657
|
-
const tickets = tc.story.tickets;
|
|
1658
|
-
if (tickets && tickets.length > 0) {
|
|
1659
|
-
scenario.tickets = tickets.map((t) => t.url ? { id: t.id, url: t.url } : { id: t.id });
|
|
1660
|
-
}
|
|
1661
|
-
if (tc.story.covers && tc.story.covers.length > 0) {
|
|
1662
|
-
scenario.covers = [...tc.story.covers];
|
|
1663
|
-
}
|
|
1664
|
-
if (tc.story.otelSpans && tc.story.otelSpans.length > 0) {
|
|
1665
|
-
scenario.otelSpans = tc.story.otelSpans;
|
|
1666
|
-
}
|
|
1667
|
-
scenarioRefs?.set(tc.id, scenario);
|
|
1668
|
-
return scenario;
|
|
1669
|
-
}
|
|
1670
|
-
function deriveFeatureTitle(group, relSourceFile) {
|
|
1671
|
-
for (const tc of group) {
|
|
1672
|
-
const head = tc.titlePath?.[0];
|
|
1673
|
-
if (head && head.trim()) return head.trim();
|
|
1674
|
-
}
|
|
1675
|
-
return fileBasenameTitle(relSourceFile);
|
|
1676
|
-
}
|
|
1677
|
-
function compareScenarios(a, b) {
|
|
1678
|
-
const aLine = a.sourceLine ?? Number.POSITIVE_INFINITY;
|
|
1679
|
-
const bLine = b.sourceLine ?? Number.POSITIVE_INFINITY;
|
|
1680
|
-
if (aLine !== bLine) return aLine - bLine;
|
|
1681
|
-
return a.title.localeCompare(b.title);
|
|
1682
|
-
}
|
|
1683
|
-
function buildFeature(relSourceFile, group, scenarioRefs) {
|
|
1684
|
-
const id = `feature-${reportSlug(relSourceFile.replace(/\.[^.]+$/, "")) || "untitled"}`;
|
|
1685
|
-
const title = deriveFeatureTitle(group, relSourceFile);
|
|
1686
|
-
const summary = emptySummary();
|
|
1687
|
-
const scenarios = [];
|
|
1688
|
-
for (const tc of group) {
|
|
1689
|
-
const scenario = buildScenario(tc, id, scenarioRefs);
|
|
1690
|
-
scenarios.push(scenario);
|
|
1691
|
-
addToSummary(summary, scenario.status, scenario.durationMs);
|
|
1692
|
-
}
|
|
1693
|
-
scenarios.sort(compareScenarios);
|
|
1694
|
-
return { id, title, sourceFile: relSourceFile, summary, scenarios };
|
|
1695
|
-
}
|
|
1696
|
-
function ensureUniqueFeatureIds(features) {
|
|
1697
|
-
const seen = /* @__PURE__ */ new Map();
|
|
1698
|
-
for (const f of features) {
|
|
1699
|
-
const count2 = seen.get(f.id) ?? 0;
|
|
1700
|
-
if (count2 > 0) f.id = `${f.id}-${count2 + 1}`;
|
|
1701
|
-
seen.set(f.id, count2 + 1);
|
|
1702
|
-
}
|
|
1703
|
-
}
|
|
1704
|
-
function ensureUniqueScenarioIds(feature) {
|
|
1705
|
-
const seen = /* @__PURE__ */ new Map();
|
|
1706
|
-
for (const s of feature.scenarios) {
|
|
1707
|
-
const count2 = seen.get(s.id) ?? 0;
|
|
1708
|
-
if (count2 > 0) {
|
|
1709
|
-
const newId = `${s.id}-${count2 + 1}`;
|
|
1710
|
-
for (const step of s.steps) {
|
|
1711
|
-
step.id = step.id.replace(s.id, newId);
|
|
1712
|
-
}
|
|
1713
|
-
s.id = newId;
|
|
1714
|
-
}
|
|
1715
|
-
seen.set(s.id, count2 + 1);
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
function toStoryReport(run) {
|
|
1719
|
-
return toStoryReportWithIndex(run).report;
|
|
1720
|
-
}
|
|
1721
|
-
function toStoryReportWithIndex(run) {
|
|
1722
|
-
const groups = /* @__PURE__ */ new Map();
|
|
1723
|
-
for (const tc of run.testCases) {
|
|
1724
|
-
const rel = toRelativeSourceFile(tc.sourceFile, run.projectRoot);
|
|
1725
|
-
const existing = groups.get(rel);
|
|
1726
|
-
if (existing) existing.push(tc);
|
|
1727
|
-
else groups.set(rel, [tc]);
|
|
1728
|
-
}
|
|
1729
|
-
const scenarioRefs = /* @__PURE__ */ new Map();
|
|
1730
|
-
const features = [];
|
|
1731
|
-
for (const [rel, group] of groups) {
|
|
1732
|
-
features.push(buildFeature(rel, group, scenarioRefs));
|
|
1733
|
-
}
|
|
1734
|
-
features.sort((a, b) => a.title.localeCompare(b.title));
|
|
1735
|
-
ensureUniqueFeatureIds(features);
|
|
1736
|
-
for (const f of features) ensureUniqueScenarioIds(f);
|
|
1737
|
-
const summary = emptySummary();
|
|
1738
|
-
for (const f of features) {
|
|
1739
|
-
summary.total += f.summary.total;
|
|
1740
|
-
summary.passed += f.summary.passed;
|
|
1741
|
-
summary.failed += f.summary.failed;
|
|
1742
|
-
summary.skipped += f.summary.skipped;
|
|
1743
|
-
summary.pending += f.summary.pending;
|
|
1744
|
-
summary.durationMs += f.summary.durationMs;
|
|
1745
|
-
}
|
|
1746
|
-
const report = {
|
|
1747
|
-
schemaVersion: STORY_REPORT_SCHEMA_VERSION,
|
|
1748
|
-
runId: run.runId,
|
|
1749
|
-
startedAtMs: run.startedAtMs,
|
|
1750
|
-
finishedAtMs: run.finishedAtMs,
|
|
1751
|
-
durationMs: run.durationMs,
|
|
1752
|
-
projectRoot: run.projectRoot,
|
|
1753
|
-
summary,
|
|
1754
|
-
features
|
|
1755
|
-
};
|
|
1756
|
-
if (run.packageVersion) report.packageVersion = run.packageVersion;
|
|
1757
|
-
if (run.gitSha) report.gitSha = run.gitSha;
|
|
1758
|
-
if (run.ci) {
|
|
1759
|
-
const ci = { name: run.ci.name };
|
|
1760
|
-
if (run.ci.url) ci.url = run.ci.url;
|
|
1761
|
-
if (run.ci.buildNumber) ci.buildNumber = run.ci.buildNumber;
|
|
1762
|
-
if (run.ci.branch) ci.branch = run.ci.branch;
|
|
1763
|
-
if (run.ci.commitSha) ci.commitSha = run.ci.commitSha;
|
|
1764
|
-
if (run.ci.prNumber) ci.prNumber = run.ci.prNumber;
|
|
1765
|
-
report.ci = ci;
|
|
1766
|
-
}
|
|
1767
|
-
if (run.coverage) {
|
|
1768
|
-
const cov = {};
|
|
1769
|
-
if (run.coverage.linesPct !== void 0) cov.linesPct = run.coverage.linesPct;
|
|
1770
|
-
if (run.coverage.branchesPct !== void 0) cov.branchesPct = run.coverage.branchesPct;
|
|
1771
|
-
if (run.coverage.functionsPct !== void 0) cov.functionsPct = run.coverage.functionsPct;
|
|
1772
|
-
if (run.coverage.statementsPct !== void 0) cov.statementsPct = run.coverage.statementsPct;
|
|
1773
|
-
report.coverage = cov;
|
|
1774
|
-
}
|
|
1775
|
-
const scenarioIdByTestCaseId = {};
|
|
1776
|
-
for (const [tcId, scenario] of scenarioRefs) {
|
|
1777
|
-
scenarioIdByTestCaseId[tcId] = scenario.id;
|
|
1778
|
-
}
|
|
1779
|
-
return { report, index: { scenarioIdByTestCaseId } };
|
|
1780
|
-
}
|
|
967
|
+
import { toStoryReportWithIndex } from "executable-stories-core/converters/story-report";
|
|
1781
968
|
|
|
1782
969
|
// src/generated/react-assets.ts
|
|
1783
970
|
var reactReportCss = `/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
|
|
1784
971
|
@layer properties,theme,base,components,utilities;@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&family=Geist:wght@400;500;600;700&display=swap";@layer theme{:root,:host{--font-sans:var(--es-font-body);--font-mono:var(--es-font-mono);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.\\@container\\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\\[50\\%\\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\\.5{left:calc(var(--spacing) * 2.5)}.left-\\[50\\%\\]{left:50%}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.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}}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\u201C""\u201D""\u2018""\u2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-24{height:calc(var(--spacing) * 24)}.h-\\[1\\.15rem\\]{height:1.15rem}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[var\\(--available-height\\)\\]{max-height:var(--available-height)}.max-h-none{max-height:none}.min-h-4{min-height:calc(var(--spacing) * 4)}.w-1\\/2{width:50%}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[min\\(90vw\\,28rem\\)\\]{width:min(90vw,28rem)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[80vw\\]{max-width:80vw}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[11rem\\]{min-width:11rem}.min-w-\\[52px\\]{min-width:52px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\\[var\\(--transform-origin\\)\\]{transform-origin:var(--transform-origin)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-py-1{scroll-padding-block:var(--spacing)}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-start{justify-items:start}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\\[3px\\]{gap:3px}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\\.5{row-gap:calc(var(--spacing) * 2.5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\\[overscroll-behavior\\:contain\\]{overscroll-behavior:contain}.rounded{border-radius:var(--es-radius)}.rounded-\\[4px\\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border,.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-destructive\\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\\/40{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.border-fail-border{border-color:var(--es-fail-border)}.border-input{border-color:var(--input)}.border-pass-border{border-color:var(--es-pass-border)}.border-pend-border{border-color:var(--es-pend-border)}.border-primary{border-color:var(--primary)}.border-skip-border{border-color:var(--es-skip-border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border,.bg-border\\/40{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\\/40{background-color:color-mix(in oklab, var(--border) 40%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-fail{background-color:var(--es-fail)}.bg-fail-bg{background-color:var(--es-fail-bg)}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/50{background-color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.bg-muted\\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-pass{background-color:var(--es-pass)}.bg-pass-bg{background-color:var(--es-pass-bg)}.bg-pend{background-color:var(--es-pend)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-skip{background-color:var(--es-skip)}.bg-skip-bg{background-color:var(--es-skip-bg)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.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-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:0}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-0{padding-left:0}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--es-font-mono)}.font-sans{font-family:var(--es-font-body)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-sm\\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.82rem\\]{font-size:.82rem}.text-\\[0\\.625rem\\]{font-size:.625rem}.text-\\[0\\.6875rem\\]{font-size:.6875rem}.text-\\[0\\.8125rem\\]{font-size:.8125rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-fail{color:var(--es-fail)}.text-foreground{color:var(--foreground)}.text-keyword{color:var(--es-keyword)}.text-link{color:var(--es-link)}.text-muted-foreground{color:var(--muted-foreground)}.text-pass{color:var(--es-pass)}.text-pend{color:var(--es-pend)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-skip{color:var(--es-skip)}.text-step-param{color:var(--es-step-param)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--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)}.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-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-border{--tw-ring-color:var(--border)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.ring-offset-card{--tw-ring-offset-color:var(--card)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.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-\\[color\\,background-color\\,border-color\\,box-shadow\\]{transition-property:color,background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,background-color\\,box-shadow\\]{transition-property:color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.selection\\:bg-primary ::selection{background-color:var(--primary)}.selection\\:bg-primary::selection{background-color:var(--primary)}.selection\\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.backdrop\\:bg-black\\/40::backdrop{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.backdrop\\:bg-black\\/40::backdrop{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}@media (hover:hover){.hover\\:border-ring:hover{border-color:var(--ring)}.hover\\:bg-accent:hover{background-color:var(--accent)}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\\:bg-muted:hover{background-color:var(--muted)}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-foreground:hover,.hover\\:text-foreground\\/80:hover{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\\:text-foreground\\/80:hover{color:color-mix(in oklab, var(--foreground) 80%, transparent)}}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}}.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-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-2:focus-visible{--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-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\\[\\>svg\\]\\:gap-x-3:has(>svg){column-gap:calc(var(--spacing) * 3)}.has-\\[\\>svg\\]\\:px-1\\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\\[checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[checked\\]\\:border-primary[data-checked]{border-color:var(--primary)}.data-\\[checked\\]\\:bg-primary[data-checked]{background-color:var(--primary)}.data-\\[checked\\]\\:text-primary-foreground[data-checked]{color:var(--primary-foreground)}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.data-\\[ending-style\\]\\:-translate-x-full[data-ending-style]{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[ending-style\\]\\:scale-95[data-ending-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\\[ending-style\\]\\:opacity-0[data-ending-style]{opacity:0}.data-\\[highlighted\\]\\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-\\[highlighted\\]\\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\\[pressed\\]\\:bg-background[data-pressed]{background-color:var(--background)}.data-\\[pressed\\]\\:text-foreground[data-pressed]{color:var(--foreground)}.data-\\[pressed\\]\\:shadow-sm[data-pressed]{--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)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\\[starting-style\\]\\:-translate-x-full[data-starting-style]{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[starting-style\\]\\:scale-95[data-starting-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\\[starting-style\\]\\:opacity-0[data-starting-style]{opacity:0}.data-\\[unchecked\\]\\:translate-x-0[data-unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[unchecked\\]\\:bg-input[data-unchecked]{background-color:var(--input)}@media (min-width:40rem){.sm\\:inline-flex{display:inline-flex}.sm\\:w-72{width:calc(var(--spacing) * 72)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:inline{display:inline}.md\\:p-12{padding:calc(var(--spacing) * 12)}.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\\:block{display:block}.lg\\:hidden{display:none}}.dark\\:border-input:where([data-theme=dark],[data-theme=dark] *){border-color:var(--input)}.dark\\:bg-destructive\\/60:where([data-theme=dark],[data-theme=dark] *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/60:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\\:bg-input\\/30:where([data-theme=dark],[data-theme=dark] *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\\:hover\\:bg-accent\\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\\:hover\\:bg-input\\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\\[\\&_\\[cmdk-group\\]\\]\\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\\[\\&_\\[cmdk-input\\]\\]\\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\\[\\&_\\[cmdk-item\\]\\]\\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\\[\\&_\\[cmdk-item\\]\\]\\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:mx-auto svg{margin-inline:auto}.\\[\\&_svg\\]\\:size-3\\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&_svg\\]\\:h-auto svg{height:auto}.\\[\\&_svg\\]\\:max-w-full svg{max-width:100%}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-6 svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\\[\\&\\:\\:-webkit-details-marker\\]\\:hidden::-webkit-details-marker{display:none}.\\[\\.border-b\\]\\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\\[\\.border-t\\]\\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&\\>svg\\]\\:translate-y-0\\.5>svg{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\\[\\&\\>svg\\]\\:text-current>svg{color:currentColor}@media (hover:hover){a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--accent)}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\\[a\\&\\]\\:hover\\:bg-muted:hover{background-color:var(--muted)}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\\[a\\&\\]\\:hover\\:underline:hover{text-decoration-line:underline}}}:root,[data-theme=light]{--es-color-bg:#fff;--es-color-fg:#111827;--es-color-muted:#6b7280;--es-color-border:#e5e7eb;--es-color-surface:#f9fafb;--es-color-link:#2563eb;--es-color-passed:#16a34a;--es-color-failed:#dc2626;--es-color-skipped:#9ca3af;--es-color-pending:#d97706;--es-color-passed-bg:#f0fdf4;--es-color-failed-bg:#fef2f2;--es-color-skipped-bg:#f3f4f6;--es-color-pending-bg:#fffbeb;--es-warn-fg:#92400e;--es-font-body:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--es-font-mono:"Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--es-size-base:1rem;--es-size-sm:.875rem;--es-size-xs:.75rem;--es-size-h1:1.875rem;--es-size-h2:1.5rem;--es-size-h3:1.25rem;--es-space-1:.25rem;--es-space-2:.5rem;--es-space-3:.75rem;--es-space-4:1rem;--es-space-6:1.5rem;--es-space-8:2rem;--es-radius:.625rem;--es-line:1.6;--es-measure:72ch}@media (prefers-color-scheme:dark){:root{--es-color-bg:#0b0f17;--es-color-fg:#e5e7eb;--es-color-muted:#9ca3af;--es-color-border:#1f2937;--es-color-surface:#111827;--es-color-link:#60a5fa;--es-color-passed:#4ade80;--es-color-failed:#f87171;--es-color-skipped:#6b7280;--es-color-pending:#fbbf24;--es-color-passed-bg:#4ade8014;--es-color-failed-bg:#f8717114;--es-color-skipped-bg:#6b728014;--es-color-pending-bg:#fbbf2414;--es-warn-fg:#fbbf24}}[data-theme=dark]{--es-color-bg:#0b0f17;--es-color-fg:#e5e7eb;--es-color-muted:#9ca3af;--es-color-border:#1f2937;--es-color-surface:#111827;--es-color-link:#60a5fa;--es-color-passed:#4ade80;--es-color-failed:#f87171;--es-color-skipped:#6b7280;--es-color-pending:#fbbf24;--es-color-passed-bg:#4ade8014;--es-color-failed-bg:#f8717114;--es-color-skipped-bg:#6b728014;--es-color-pending-bg:#fbbf2414;--es-warn-fg:#fbbf24}.es-report{background:var(--es-color-bg);color:var(--es-color-fg);font-family:var(--es-font-body);font-size:var(--es-size-base);line-height:var(--es-line);padding:var(--es-space-6);max-width:1100px;margin-inline:auto}.es-report-header{gap:var(--es-space-4);flex-direction:column;margin-block-end:var(--es-space-6);display:flex}.es-report-header h1{font-size:var(--es-size-h1);margin:0}.es-report-summary{color:var(--es-color-muted);font-size:var(--es-size-sm);margin:0 0 var(--es-space-6)}.es-report-summary [data-status]{margin-inline-end:var(--es-space-3)}.es-report-summary [data-status=passed]{color:var(--es-color-passed)}.es-report-summary [data-status=failed]{color:var(--es-color-failed)}.es-report-summary [data-status=skipped]{color:var(--es-color-skipped)}.es-report-summary [data-status=pending]{color:var(--es-color-pending)}.es-feature{border:1px solid var(--es-color-border);border-radius:var(--es-radius);padding:var(--es-space-6);margin-block-end:var(--es-space-6)}.es-feature-title{font-size:var(--es-size-h2);margin:0 0 var(--es-space-2)}.es-feature-source{color:var(--es-color-muted);font-family:var(--es-font-mono);font-size:var(--es-size-xs);margin:0 0 var(--es-space-4)}.es-feature-summary{color:var(--es-color-muted);font-size:var(--es-size-sm);margin-block-end:var(--es-space-4)}.es-scenario{padding:var(--es-space-4) 0;border-block-start:1px solid var(--es-color-border);scroll-margin-block-start:var(--es-space-8)}.es-scenario:first-of-type{border-block-start:0}.es-scenario-title{font-size:var(--es-size-h3);margin:0 0 var(--es-space-2);align-items:baseline;gap:var(--es-space-2);display:flex}.es-scenario-status{font-size:var(--es-size-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px}.es-status-passed .es-scenario-status{color:var(--es-color-passed);background:var(--es-color-passed-bg)}.es-status-failed .es-scenario-status{color:var(--es-color-failed);background:var(--es-color-failed-bg)}.es-status-skipped .es-scenario-status{color:var(--es-color-skipped);background:var(--es-color-skipped-bg)}.es-status-pending .es-scenario-status{color:var(--es-color-pending);background:var(--es-color-pending-bg)}.es-scenario-error{background:var(--es-color-failed-bg);color:var(--es-color-failed);padding:var(--es-space-3) var(--es-space-4);border-radius:var(--es-radius);font-family:var(--es-font-mono);font-size:var(--es-size-sm);white-space:pre-wrap}.es-steps{margin:var(--es-space-4) 0 0;padding:0;list-style:none}.es-step{padding:var(--es-space-2) 0}.es-step-keyword{color:var(--es-color-muted);margin-inline-end:var(--es-space-2);font-weight:600}.es-step-failed{color:var(--es-color-failed)}.es-step-skipped{color:var(--es-color-skipped)}.es-tags{gap:var(--es-space-2);margin:var(--es-space-2) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.es-tags li{font-size:var(--es-size-xs);background:var(--es-color-surface);color:var(--es-color-muted);border-radius:999px;padding:2px 8px}.es-doc{margin-block:var(--es-space-3);max-width:var(--es-measure)}.es-doc-kv dt{color:var(--es-color-muted);font-weight:600;font-size:var(--es-size-sm)}.es-doc-kv dd{margin-inline-start:0}.es-doc-code{background:var(--es-color-surface);border-radius:var(--es-radius);padding:var(--es-space-3);overflow-x:auto}.es-doc-code pre{font-family:var(--es-font-mono);font-size:var(--es-size-sm);margin:0}.es-doc-code figcaption{color:var(--es-color-muted);font-size:var(--es-size-xs);margin-block-end:var(--es-space-2)}.es-doc-table table{border-collapse:collapse;width:100%}.es-doc-table th,.es-doc-table td{text-align:start;padding:var(--es-space-2);border-block-end:1px solid var(--es-color-border)}.es-doc-link{color:var(--es-color-link)}.es-doc-section{background:var(--es-color-surface);padding:var(--es-space-4);border-radius:var(--es-radius)}.es-doc-mermaid pre{font-family:var(--es-font-mono);font-size:var(--es-size-sm);background:var(--es-color-surface);padding:var(--es-space-3);border-radius:var(--es-radius);overflow-x:auto}.es-doc-screenshot img{border-radius:var(--es-radius);max-width:100%;height:auto}.es-doc-custom{background:var(--es-color-surface);padding:var(--es-space-3);border-radius:var(--es-radius);font-family:var(--es-font-mono);font-size:var(--es-size-sm)}.es-empty,.es-schema-error{text-align:center;padding:var(--es-space-8);color:var(--es-color-muted)}.es-schema-error{background:var(--es-color-failed-bg);color:var(--es-fail,#b91c1c);border-radius:var(--es-radius)}.es-schema-error pre{font-family:var(--es-font-mono);font-size:var(--es-size-sm);text-align:start;margin-block-start:var(--es-space-3)}.es-failure-banner{z-index:10;align-items:center;gap:var(--es-space-3);padding:var(--es-space-3) var(--es-space-4);background:var(--es-color-failed-bg);color:var(--es-fail,#b91c1c);border:1px solid var(--es-color-failed);border-radius:var(--es-radius);margin-block-end:var(--es-space-4);display:flex;position:sticky;top:0}.es-failure-banner-jump{color:inherit;border-radius:var(--es-radius);padding:var(--es-space-1) var(--es-space-3);cursor:pointer;font:inherit;background:0 0;border:1px solid}.es-failure-banner-jump:focus-visible{outline:2px solid var(--es-color-failed);outline-offset:2px}.es-freshness{color:var(--es-color-muted);font-size:var(--es-size-xs);margin:0}.es-freshness a{color:inherit}.es-stale-banner{justify-content:space-between;align-items:center;gap:var(--es-space-3);padding:var(--es-space-3) var(--es-space-4);border:1px solid var(--es-color-pending);border-radius:var(--es-radius);background:var(--es-color-pending-bg);color:var(--es-warn-fg,#92400e);font-size:var(--es-size-sm);display:flex}.es-stale-banner a{color:inherit;white-space:nowrap}.es-failure-banner-jump{touch-action:manipulation}@media print{.es-report{max-width:100%;padding:0}.es-feature,.es-scenario{break-inside:avoid}.es-failure-banner,.es-shortcuts-trigger,.es-search{display:none}}@layer base{.es-report-island,.es-report-island *,.es-report-island :before,.es-report-island :after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--border)}.es-report-island button{appearance:none;font:inherit;color:inherit;cursor:pointer;background-color:#0000;background-image:none;padding:0}.es-report-island :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure,pre,blockquote){margin:0}.es-report-island :where(ul,ol){padding:0;list-style:none}[data-detail-level=minimal] [data-es-docs]{display:none}}:root,[data-theme=light]{--background:#fff;--foreground:#171717;--card:#fff;--card-foreground:#171717;--popover:#fff;--popover-foreground:#171717;--primary:#229652;--primary-foreground:#fff;--secondary:#f6f6f6;--secondary-foreground:#171717;--muted:#f6f6f6;--muted-foreground:#616161;--accent:#e8e8e8;--accent-foreground:#171717;--destructive:#b81e1e;--destructive-foreground:#fff;--border:#e6e6e6;--input:#e6e6e6;--ring:#28af60;--es-pass:#1a7440;--es-pass-bg:#effaf4;--es-pass-border:#b3e6c8;--es-fail:#ad1f1f;--es-fail-bg:#fef1f1;--es-fail-border:#f4c2c2;--es-skip:#72501d;--es-skip-bg:#fffae6;--es-skip-border:#eedba0;--es-pend:#5d389f;--es-pend-bg:#f6f3fc;--es-pend-border:#d4c8ea;--es-keyword:#1a7440;--es-step-param:#2662d9;--es-link:#1a7440}[data-theme=dark]{--background:#0f0f0f;--foreground:#f2f2f2;--card:#171717;--card-foreground:#f2f2f2;--popover:#171717;--popover-foreground:#f2f2f2;--primary:#2fd072;--primary-foreground:#0f0f0f;--secondary:#212121;--secondary-foreground:#f2f2f2;--muted:#212121;--muted-foreground:#a3a3a3;--accent:#383838;--accent-foreground:#f2f2f2;--destructive:#e14747;--destructive-foreground:#fff;--border:#2b2b2b;--input:#2b2b2b;--ring:#2fd072;--es-pass:#64d894;--es-pass-bg:#0f291a;--es-pass-border:#255639;--es-fail:#f17e7e;--es-fail-bg:#2e0f0f;--es-fail-border:#6b2424;--es-skip:#f2cc5a;--es-skip-bg:#272211;--es-skip-border:#5a4e2b;--es-pend:#b697ed;--es-pend-bg:#231934;--es-pend-border:#4b396a;--es-keyword:#59d98e;--es-step-param:#7da1e8;--es-link:#61db94}.es-doc-prose{--tw-prose-body:var(--muted-foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--es-link);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--border);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:var(--foreground);--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);font-family:var(--font-sans)}.es-doc-prose :where(code):not(:where(pre code)){font-family:var(--font-mono);background:var(--muted);border-radius:4px;padding:.1em .3em}.es-doc-prose :where(code):before,.es-doc-prose :where(code):after{content:none}.es-doc-prose :where(a){text-underline-offset:2px}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value: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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}`;
|
|
1785
972
|
var reactIslandScript = '"use strict";var EsReportIsland=(()=>{var KA=Object.create;var Fc=Object.defineProperty;var WA=Object.getOwnPropertyDescriptor;var ZA=Object.getOwnPropertyNames;var QA=Object.getPrototypeOf,$A=Object.prototype.hasOwnProperty;var ha=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Bo=(e,t)=>{for(var a in t)Fc(e,a,{get:t[a],enumerable:!0})},cS=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ZA(t))!$A.call(e,n)&&n!==a&&Fc(e,n,{get:()=>t[n],enumerable:!(o=WA(t,n))||o.enumerable});return e};var C=(e,t,a)=>(a=e!=null?KA(QA(e)):{},cS(t||!e||!e.__esModule?Fc(a,"default",{value:e,enumerable:!0}):a,e)),JA=e=>cS(Fc({},"__esModule",{value:!0}),e);var CS=ha(Ee=>{"use strict";var Zm=Symbol.for("react.transitional.element"),e1=Symbol.for("react.portal"),t1=Symbol.for("react.fragment"),a1=Symbol.for("react.strict_mode"),o1=Symbol.for("react.profiler"),n1=Symbol.for("react.consumer"),r1=Symbol.for("react.context"),l1=Symbol.for("react.forward_ref"),s1=Symbol.for("react.suspense"),i1=Symbol.for("react.memo"),gS=Symbol.for("react.lazy"),u1=Symbol.for("react.activity"),fS=Symbol.iterator;function c1(e){return e===null||typeof e!="object"?null:(e=fS&&e[fS]||e["@@iterator"],typeof e=="function"?e:null)}var hS={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xS=Object.assign,bS={};function Wl(e,t,a){this.props=e,this.context=t,this.refs=bS,this.updater=a||hS}Wl.prototype.isReactComponent={};Wl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Wl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yS(){}yS.prototype=Wl.prototype;function Qm(e,t,a){this.props=e,this.context=t,this.refs=bS,this.updater=a||hS}var $m=Qm.prototype=new yS;$m.constructor=Qm;xS($m,Wl.prototype);$m.isPureReactComponent=!0;var dS=Array.isArray;function Wm(){}var ct={H:null,A:null,T:null,S:null},SS=Object.prototype.hasOwnProperty;function Jm(e,t,a){var o=a.ref;return{$$typeof:Zm,type:e,key:t,ref:o!==void 0?o:null,props:a}}function f1(e,t){return Jm(e.type,t,e.props)}function eg(e){return typeof e=="object"&&e!==null&&e.$$typeof===Zm}function d1(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var pS=/\\/+/g;function Km(e,t){return typeof e=="object"&&e!==null&&e.key!=null?d1(""+e.key):t.toString(36)}function p1(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Wm,Wm):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Kl(e,t,a,o,n){var r=typeof e;(r==="undefined"||r==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(r){case"bigint":case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Zm:case e1:l=!0;break;case gS:return l=e._init,Kl(l(e._payload),t,a,o,n)}}if(l)return n=n(e),l=o===""?"."+Km(e,0):o,dS(n)?(a="",l!=null&&(a=l.replace(pS,"$&/")+"/"),Kl(n,t,a,"",function(u){return u})):n!=null&&(eg(n)&&(n=f1(n,a+(n.key==null||e&&e.key===n.key?"":(""+n.key).replace(pS,"$&/")+"/")+l)),t.push(n)),1;l=0;var s=o===""?".":o+":";if(dS(e))for(var i=0;i<e.length;i++)o=e[i],r=s+Km(o,i),l+=Kl(o,t,a,r,n);else if(i=c1(e),typeof i=="function")for(e=i.call(e),i=0;!(o=e.next()).done;)o=o.value,r=s+Km(o,i++),l+=Kl(o,t,a,r,n);else if(r==="object"){if(typeof e.then=="function")return Kl(p1(e),t,a,o,n);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return l}function _c(e,t,a){if(e==null)return e;var o=[],n=0;return Kl(e,o,"","",function(r){return t.call(a,r,n++)}),o}function m1(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var mS=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},g1={map:_c,forEach:function(e,t,a){_c(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return _c(e,function(){t++}),t},toArray:function(e){return _c(e,function(t){return t})||[]},only:function(e){if(!eg(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ee.Activity=u1;Ee.Children=g1;Ee.Component=Wl;Ee.Fragment=t1;Ee.Profiler=o1;Ee.PureComponent=Qm;Ee.StrictMode=a1;Ee.Suspense=s1;Ee.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ct;Ee.__COMPILER_RUNTIME={__proto__:null,c:function(e){return ct.H.useMemoCache(e)}};Ee.cache=function(e){return function(){return e.apply(null,arguments)}};Ee.cacheSignal=function(){return null};Ee.cloneElement=function(e,t,a){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var o=xS({},e.props),n=e.key;if(t!=null)for(r in t.key!==void 0&&(n=""+t.key),t)!SS.call(t,r)||r==="key"||r==="__self"||r==="__source"||r==="ref"&&t.ref===void 0||(o[r]=t[r]);var r=arguments.length-2;if(r===1)o.children=a;else if(1<r){for(var l=Array(r),s=0;s<r;s++)l[s]=arguments[s+2];o.children=l}return Jm(e.type,n,o)};Ee.createContext=function(e){return e={$$typeof:r1,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:n1,_context:e},e};Ee.createElement=function(e,t,a){var o,n={},r=null;if(t!=null)for(o in t.key!==void 0&&(r=""+t.key),t)SS.call(t,o)&&o!=="key"&&o!=="__self"&&o!=="__source"&&(n[o]=t[o]);var l=arguments.length-2;if(l===1)n.children=a;else if(1<l){for(var s=Array(l),i=0;i<l;i++)s[i]=arguments[i+2];n.children=s}if(e&&e.defaultProps)for(o in l=e.defaultProps,l)n[o]===void 0&&(n[o]=l[o]);return Jm(e,r,n)};Ee.createRef=function(){return{current:null}};Ee.forwardRef=function(e){return{$$typeof:l1,render:e}};Ee.isValidElement=eg;Ee.lazy=function(e){return{$$typeof:gS,_payload:{_status:-1,_result:e},_init:m1}};Ee.memo=function(e,t){return{$$typeof:i1,type:e,compare:t===void 0?null:t}};Ee.startTransition=function(e){var t=ct.T,a={};ct.T=a;try{var o=e(),n=ct.S;n!==null&&n(a,o),typeof o=="object"&&o!==null&&typeof o.then=="function"&&o.then(Wm,mS)}catch(r){mS(r)}finally{t!==null&&a.types!==null&&(t.types=a.types),ct.T=t}};Ee.unstable_useCacheRefresh=function(){return ct.H.useCacheRefresh()};Ee.use=function(e){return ct.H.use(e)};Ee.useActionState=function(e,t,a){return ct.H.useActionState(e,t,a)};Ee.useCallback=function(e,t){return ct.H.useCallback(e,t)};Ee.useContext=function(e){return ct.H.useContext(e)};Ee.useDebugValue=function(){};Ee.useDeferredValue=function(e,t){return ct.H.useDeferredValue(e,t)};Ee.useEffect=function(e,t){return ct.H.useEffect(e,t)};Ee.useEffectEvent=function(e){return ct.H.useEffectEvent(e)};Ee.useId=function(){return ct.H.useId()};Ee.useImperativeHandle=function(e,t,a){return ct.H.useImperativeHandle(e,t,a)};Ee.useInsertionEffect=function(e,t){return ct.H.useInsertionEffect(e,t)};Ee.useLayoutEffect=function(e,t){return ct.H.useLayoutEffect(e,t)};Ee.useMemo=function(e,t){return ct.H.useMemo(e,t)};Ee.useOptimistic=function(e,t){return ct.H.useOptimistic(e,t)};Ee.useReducer=function(e,t,a){return ct.H.useReducer(e,t,a)};Ee.useRef=function(e){return ct.H.useRef(e)};Ee.useState=function(e){return ct.H.useState(e)};Ee.useSyncExternalStore=function(e,t,a){return ct.H.useSyncExternalStore(e,t,a)};Ee.useTransition=function(){return ct.H.useTransition()};Ee.version="19.2.7"});var k=ha((wz,RS)=>{"use strict";RS.exports=CS()});var OS=ha(mt=>{"use strict";function ng(e,t){var a=e.length;e.push(t);e:for(;0<a;){var o=a-1>>>1,n=e[o];if(0<zc(n,t))e[o]=t,e[a]=n,a=o;else break e}}function Fo(e){return e.length===0?null:e[0]}function Hc(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var o=0,n=e.length,r=n>>>1;o<r;){var l=2*(o+1)-1,s=e[l],i=l+1,u=e[i];if(0>zc(s,a))i<n&&0>zc(u,s)?(e[o]=u,e[i]=a,o=i):(e[o]=s,e[l]=a,o=l);else if(i<n&&0>zc(u,a))e[o]=u,e[i]=a,o=i;else break e}}return t}function zc(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}mt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(vS=performance,mt.unstable_now=function(){return vS.now()}):(tg=Date,LS=tg.now(),mt.unstable_now=function(){return tg.now()-LS});var vS,tg,LS,cn=[],Gn=[],h1=1,Ja=null,Qt=3,rg=!1,yi=!1,Si=!1,lg=!1,ES=typeof setTimeout=="function"?setTimeout:null,TS=typeof clearTimeout=="function"?clearTimeout:null,IS=typeof setImmediate<"u"?setImmediate:null;function Uc(e){for(var t=Fo(Gn);t!==null;){if(t.callback===null)Hc(Gn);else if(t.startTime<=e)Hc(Gn),t.sortIndex=t.expirationTime,ng(cn,t);else break;t=Fo(Gn)}}function sg(e){if(Si=!1,Uc(e),!yi)if(Fo(cn)!==null)yi=!0,Ql||(Ql=!0,Zl());else{var t=Fo(Gn);t!==null&&ig(sg,t.startTime-e)}}var Ql=!1,Ci=-1,kS=5,MS=-1;function AS(){return lg?!0:!(mt.unstable_now()-MS<kS)}function ag(){if(lg=!1,Ql){var e=mt.unstable_now();MS=e;var t=!0;try{e:{yi=!1,Si&&(Si=!1,TS(Ci),Ci=-1),rg=!0;var a=Qt;try{t:{for(Uc(e),Ja=Fo(cn);Ja!==null&&!(Ja.expirationTime>e&&AS());){var o=Ja.callback;if(typeof o=="function"){Ja.callback=null,Qt=Ja.priorityLevel;var n=o(Ja.expirationTime<=e);if(e=mt.unstable_now(),typeof n=="function"){Ja.callback=n,Uc(e),t=!0;break t}Ja===Fo(cn)&&Hc(cn),Uc(e)}else Hc(cn);Ja=Fo(cn)}if(Ja!==null)t=!0;else{var r=Fo(Gn);r!==null&&ig(sg,r.startTime-e),t=!1}}break e}finally{Ja=null,Qt=a,rg=!1}t=void 0}}finally{t?Zl():Ql=!1}}}var Zl;typeof IS=="function"?Zl=function(){IS(ag)}:typeof MessageChannel<"u"?(og=new MessageChannel,wS=og.port2,og.port1.onmessage=ag,Zl=function(){wS.postMessage(null)}):Zl=function(){ES(ag,0)};var og,wS;function ig(e,t){Ci=ES(function(){e(mt.unstable_now())},t)}mt.unstable_IdlePriority=5;mt.unstable_ImmediatePriority=1;mt.unstable_LowPriority=4;mt.unstable_NormalPriority=3;mt.unstable_Profiling=null;mt.unstable_UserBlockingPriority=2;mt.unstable_cancelCallback=function(e){e.callback=null};mt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):kS=0<e?Math.floor(1e3/e):5};mt.unstable_getCurrentPriorityLevel=function(){return Qt};mt.unstable_next=function(e){switch(Qt){case 1:case 2:case 3:var t=3;break;default:t=Qt}var a=Qt;Qt=t;try{return e()}finally{Qt=a}};mt.unstable_requestPaint=function(){lg=!0};mt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=Qt;Qt=e;try{return t()}finally{Qt=a}};mt.unstable_scheduleCallback=function(e,t,a){var o=mt.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?o+a:o):a=o,e){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=a+n,e={id:h1++,callback:t,priorityLevel:e,startTime:a,expirationTime:n,sortIndex:-1},a>o?(e.sortIndex=a,ng(Gn,e),Fo(cn)===null&&e===Fo(Gn)&&(Si?(TS(Ci),Ci=-1):Si=!0,ig(sg,a-o))):(e.sortIndex=n,ng(cn,e),yi||rg||(yi=!0,Ql||(Ql=!0,Zl()))),e};mt.unstable_shouldYield=AS;mt.unstable_wrapCallback=function(e){var t=Qt;return function(){var a=Qt;Qt=t;try{return e.apply(this,arguments)}finally{Qt=a}}}});var PS=ha((Tz,DS)=>{"use strict";DS.exports=OS()});var BS=ha(ca=>{"use strict";var x1=k();function NS(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Yn(){}var ua={d:{f:Yn,r:function(){throw Error(NS(522))},D:Yn,C:Yn,L:Yn,m:Yn,X:Yn,S:Yn,M:Yn},p:0,findDOMNode:null},b1=Symbol.for("react.portal");function y1(e,t,a){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:b1,key:o==null?null:""+o,children:e,containerInfo:t,implementation:a}}var Ri=x1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function qc(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ca.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=ua;ca.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(NS(299));return y1(e,t,null,a)};ca.flushSync=function(e){var t=Ri.T,a=ua.p;try{if(Ri.T=null,ua.p=2,e)return e()}finally{Ri.T=t,ua.p=a,ua.d.f()}};ca.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,ua.d.C(e,t))};ca.prefetchDNS=function(e){typeof e=="string"&&ua.d.D(e)};ca.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var a=t.as,o=qc(a,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,r=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;a==="style"?ua.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:o,integrity:n,fetchPriority:r}):a==="script"&&ua.d.X(e,{crossOrigin:o,integrity:n,fetchPriority:r,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ca.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var a=qc(t.as,t.crossOrigin);ua.d.M(e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&ua.d.M(e)};ca.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var a=t.as,o=qc(a,t.crossOrigin);ua.d.L(e,a,{crossOrigin:o,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ca.preloadModule=function(e,t){if(typeof e=="string")if(t){var a=qc(t.as,t.crossOrigin);ua.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else ua.d.m(e)};ca.requestFormReset=function(e){ua.d.r(e)};ca.unstable_batchedUpdates=function(e,t){return e(t)};ca.useFormState=function(e,t,a){return Ri.H.useFormState(e,t,a)};ca.useFormStatus=function(){return Ri.H.useHostTransitionStatus()};ca.version="19.2.7"});var fn=ha((Mz,_S)=>{"use strict";function FS(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(FS)}catch(e){console.error(e)}}FS(),_S.exports=BS()});var ZL=ha(md=>{"use strict";var Pt=PS(),cR=k(),S1=fn();function _(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function fR(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function iu(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function dR(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function pR(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function zS(e){if(iu(e)!==e)throw Error(_(188))}function C1(e){var t=e.alternate;if(!t){if(t=iu(e),t===null)throw Error(_(188));return t!==e?null:e}for(var a=e,o=t;;){var n=a.return;if(n===null)break;var r=n.alternate;if(r===null){if(o=n.return,o!==null){a=o;continue}break}if(n.child===r.child){for(r=n.child;r;){if(r===a)return zS(n),e;if(r===o)return zS(n),t;r=r.sibling}throw Error(_(188))}if(a.return!==o.return)a=n,o=r;else{for(var l=!1,s=n.child;s;){if(s===a){l=!0,a=n,o=r;break}if(s===o){l=!0,o=n,a=r;break}s=s.sibling}if(!l){for(s=r.child;s;){if(s===a){l=!0,a=r,o=n;break}if(s===o){l=!0,o=r,a=n;break}s=s.sibling}if(!l)throw Error(_(189))}}if(a.alternate!==o)throw Error(_(190))}if(a.tag!==3)throw Error(_(188));return a.stateNode.current===a?e:t}function mR(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=mR(e),t!==null)return t;e=e.sibling}return null}var pt=Object.assign,R1=Symbol.for("react.element"),Vc=Symbol.for("react.transitional.element"),Mi=Symbol.for("react.portal"),os=Symbol.for("react.fragment"),gR=Symbol.for("react.strict_mode"),qg=Symbol.for("react.profiler"),hR=Symbol.for("react.consumer"),yn=Symbol.for("react.context"),Fh=Symbol.for("react.forward_ref"),Vg=Symbol.for("react.suspense"),Gg=Symbol.for("react.suspense_list"),_h=Symbol.for("react.memo"),Xn=Symbol.for("react.lazy"),Yg=Symbol.for("react.activity"),v1=Symbol.for("react.memo_cache_sentinel"),US=Symbol.iterator;function vi(e){return e===null||typeof e!="object"?null:(e=US&&e[US]||e["@@iterator"],typeof e=="function"?e:null)}var L1=Symbol.for("react.client.reference");function Xg(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===L1?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case os:return"Fragment";case qg:return"Profiler";case gR:return"StrictMode";case Vg:return"Suspense";case Gg:return"SuspenseList";case Yg:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Mi:return"Portal";case yn:return e.displayName||"Context";case hR:return(e._context.displayName||"Context")+".Consumer";case Fh:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case _h:return t=e.displayName||null,t!==null?t:Xg(e.type)||"Memo";case Xn:t=e._payload,e=e._init;try{return Xg(e(t))}catch{}}return null}var Ai=Array.isArray,ye=cR.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ye=S1.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,tl={pending:!1,data:null,method:null,action:null},jg=[],ns=-1;function qo(e){return{current:e}}function Ut(e){0>ns||(e.current=jg[ns],jg[ns]=null,ns--)}function it(e,t){ns++,jg[ns]=e.current,e.current=t}var Ho=qo(null),Ki=qo(null),or=qo(null),vf=qo(null);function Lf(e,t){switch(it(or,t),it(Ki,e),it(Ho,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jC(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jC(t),e=BL(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Ut(Ho),it(Ho,e)}function Rs(){Ut(Ho),Ut(Ki),Ut(or)}function Kg(e){e.memoizedState!==null&&it(vf,e);var t=Ho.current,a=BL(t,e.type);t!==a&&(it(Ki,e),it(Ho,a))}function If(e){Ki.current===e&&(Ut(Ho),Ut(Ki)),vf.current===e&&(Ut(vf),ru._currentValue=tl)}var ug,HS;function Qr(e){if(ug===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);ug=t&&t[1]||"",HS=-1<a.stack.indexOf(`\n at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`\n`+ug+e+HS}var cg=!1;function fg(e,t){if(!e||cg)return"";cg=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var r=o.DetermineComponentFrameRoot(),l=r[0],s=r[1];if(l&&s){var i=l.split(`\n`),u=s.split(`\n`);for(n=o=0;o<i.length&&!i[o].includes("DetermineComponentFrameRoot");)o++;for(;n<u.length&&!u[n].includes("DetermineComponentFrameRoot");)n++;if(o===i.length||n===u.length)for(o=i.length-1,n=u.length-1;1<=o&&0<=n&&i[o]!==u[n];)n--;for(;1<=o&&0<=n;o--,n--)if(i[o]!==u[n]){if(o!==1||n!==1)do if(o--,n--,0>n||i[o]!==u[n]){var c=`\n`+i[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=n);break}}}finally{cg=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Qr(a):""}function I1(e,t){switch(e.tag){case 26:case 27:case 5:return Qr(e.type);case 16:return Qr("Lazy");case 13:return e.child!==t&&t!==null?Qr("Suspense Fallback"):Qr("Suspense");case 19:return Qr("SuspenseList");case 0:case 15:return fg(e.type,!1);case 11:return fg(e.type.render,!1);case 1:return fg(e.type,!0);case 31:return Qr("Activity");default:return""}}function qS(e){try{var t="",a=null;do t+=I1(e,a),a=e,e=e.return;while(e);return t}catch(o){return`\nError generating stack: `+o.message+`\n`+o.stack}}var Wg=Object.prototype.hasOwnProperty,zh=Pt.unstable_scheduleCallback,dg=Pt.unstable_cancelCallback,w1=Pt.unstable_shouldYield,E1=Pt.unstable_requestPaint,Fa=Pt.unstable_now,T1=Pt.unstable_getCurrentPriorityLevel,xR=Pt.unstable_ImmediatePriority,bR=Pt.unstable_UserBlockingPriority,wf=Pt.unstable_NormalPriority,k1=Pt.unstable_LowPriority,yR=Pt.unstable_IdlePriority,M1=Pt.log,A1=Pt.unstable_setDisableYieldValue,uu=null,_a=null;function $n(e){if(typeof M1=="function"&&A1(e),_a&&typeof _a.setStrictMode=="function")try{_a.setStrictMode(uu,e)}catch{}}var za=Math.clz32?Math.clz32:P1,O1=Math.log,D1=Math.LN2;function P1(e){return e>>>=0,e===0?32:31-(O1(e)/D1|0)|0}var Gc=256,Yc=262144,Xc=4194304;function $r(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function $f(e,t,a){var o=e.pendingLanes;if(o===0)return 0;var n=0,r=e.suspendedLanes,l=e.pingedLanes;e=e.warmLanes;var s=o&134217727;return s!==0?(o=s&~r,o!==0?n=$r(o):(l&=s,l!==0?n=$r(l):a||(a=s&~e,a!==0&&(n=$r(a))))):(s=o&~r,s!==0?n=$r(s):l!==0?n=$r(l):a||(a=o&~e,a!==0&&(n=$r(a)))),n===0?0:t!==0&&t!==n&&(t&r)===0&&(r=n&-n,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:n}function cu(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function N1(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function SR(){var e=Xc;return Xc<<=1,(Xc&62914560)===0&&(Xc=4194304),e}function pg(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function fu(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function B1(e,t,a,o,n,r){var l=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var s=e.entanglements,i=e.expirationTimes,u=e.hiddenUpdates;for(a=l&~a;0<a;){var c=31-za(a),f=1<<c;s[c]=0,i[c]=-1;var d=u[c];if(d!==null)for(u[c]=null,c=0;c<d.length;c++){var m=d[c];m!==null&&(m.lane&=-536870913)}a&=~f}o!==0&&CR(e,o,0),r!==0&&n===0&&e.tag!==0&&(e.suspendedLanes|=r&~(l&~t))}function CR(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-za(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|a&261930}function RR(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-za(a),n=1<<o;n&t|e[o]&t&&(e[o]|=t),a&=~n}}function vR(e,t){var a=t&-t;return a=(a&42)!==0?1:Uh(a),(a&(e.suspendedLanes|t))!==0?0:a}function Uh(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Hh(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function LR(){var e=Ye.p;return e!==0?e:(e=window.event,e===void 0?32:jL(e.type))}function VS(e,t){var a=Ye.p;try{return Ye.p=e,t()}finally{Ye.p=a}}var hr=Math.random().toString(36).slice(2),Vt="__reactFiber$"+hr,Ra="__reactProps$"+hr,Ds="__reactContainer$"+hr,Zg="__reactEvents$"+hr,F1="__reactListeners$"+hr,_1="__reactHandles$"+hr,GS="__reactResources$"+hr,du="__reactMarker$"+hr;function qh(e){delete e[Vt],delete e[Ra],delete e[Zg],delete e[F1],delete e[_1]}function rs(e){var t=e[Vt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ds]||a[Vt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=$C(e);e!==null;){if(a=e[Vt])return a;e=$C(e)}return t}e=a,a=e.parentNode}return null}function Ps(e){if(e=e[Vt]||e[Ds]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Oi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(_(33))}function gs(e){var t=e[GS];return t||(t=e[GS]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function zt(e){e[du]=!0}var IR=new Set,wR={};function fl(e,t){vs(e,t),vs(e+"Capture",t)}function vs(e,t){for(wR[e]=t,e=0;e<t.length;e++)IR.add(t[e])}var z1=RegExp("^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$"),YS={},XS={};function U1(e){return Wg.call(XS,e)?!0:Wg.call(YS,e)?!1:z1.test(e)?XS[e]=!0:(YS[e]=!0,!1)}function sf(e,t,a){if(U1(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var o=t.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function jc(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function dn(e,t,a,o){if(o===null)e.removeAttribute(a);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+o)}}function to(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ER(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function H1(e,t,a){var o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var n=o.get,r=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(l){a=""+l,r.call(this,l)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return a},setValue:function(l){a=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qg(e){if(!e._valueTracker){var t=ER(e)?"checked":"value";e._valueTracker=H1(e,t,""+e[t])}}function TR(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),o="";return e&&(o=ER(e)?e.checked?"true":"false":e.value),e=o,e!==a?(t.setValue(e),!0):!1}function Ef(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var q1=/[\\n"\\\\]/g;function no(e){return e.replace(q1,function(t){return"\\\\"+t.charCodeAt(0).toString(16)+" "})}function $g(e,t,a,o,n,r,l,s){e.name="",l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.type=l:e.removeAttribute("type"),t!=null?l==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+to(t)):e.value!==""+to(t)&&(e.value=""+to(t)):l!=="submit"&&l!=="reset"||e.removeAttribute("value"),t!=null?Jg(e,l,to(t)):a!=null?Jg(e,l,to(a)):o!=null&&e.removeAttribute("value"),n==null&&r!=null&&(e.defaultChecked=!!r),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"?e.name=""+to(s):e.removeAttribute("name")}function kR(e,t,a,o,n,r,l,s){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||a!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){Qg(e);return}a=a!=null?""+to(a):"",t=t!=null?""+to(t):a,s||t===e.value||(e.value=t),e.defaultValue=t}o=o??n,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=s?e.checked:!!o,e.defaultChecked=!!o,l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"&&(e.name=l),Qg(e)}function Jg(e,t,a){t==="number"&&Ef(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function hs(e,t,a,o){if(e=e.options,t){t={};for(var n=0;n<a.length;n++)t["$"+a[n]]=!0;for(a=0;a<e.length;a++)n=t.hasOwnProperty("$"+e[a].value),e[a].selected!==n&&(e[a].selected=n),n&&o&&(e[a].defaultSelected=!0)}else{for(a=""+to(a),t=null,n=0;n<e.length;n++){if(e[n].value===a){e[n].selected=!0,o&&(e[n].defaultSelected=!0);return}t!==null||e[n].disabled||(t=e[n])}t!==null&&(t.selected=!0)}}function MR(e,t,a){if(t!=null&&(t=""+to(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+to(a):""}function AR(e,t,a,o){if(t==null){if(o!=null){if(a!=null)throw Error(_(92));if(Ai(o)){if(1<o.length)throw Error(_(93));o=o[0]}a=o}a==null&&(a=""),t=a}a=to(t),e.defaultValue=a,o=e.textContent,o===a&&o!==""&&o!==null&&(e.value=o),Qg(e)}function Ls(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var V1=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function jS(e,t,a){var o=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?o?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":o?e.setProperty(t,a):typeof a!="number"||a===0||V1.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function OR(e,t,a){if(t!=null&&typeof t!="object")throw Error(_(62));if(e=e.style,a!=null){for(var o in a)!a.hasOwnProperty(o)||t!=null&&t.hasOwnProperty(o)||(o.indexOf("--")===0?e.setProperty(o,""):o==="float"?e.cssFloat="":e[o]="");for(var n in t)o=t[n],t.hasOwnProperty(n)&&a[n]!==o&&jS(e,n,o)}else for(var r in t)t.hasOwnProperty(r)&&jS(e,r,t[r])}function Vh(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var G1=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Y1=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function uf(e){return Y1.test(""+e)?"javascript:throw new Error(\'React has blocked a javascript: URL as a security precaution.\')":e}function Sn(){}var eh=null;function Gh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ls=null,xs=null;function KS(e){var t=Ps(e);if(t&&(e=t.stateNode)){var a=e[Ra]||null;e:switch(e=t.stateNode,t.type){case"input":if($g(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll(\'input[name="\'+no(""+t)+\'"][type="radio"]\'),t=0;t<a.length;t++){var o=a[t];if(o!==e&&o.form===e.form){var n=o[Ra]||null;if(!n)throw Error(_(90));$g(o,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name)}}for(t=0;t<a.length;t++)o=a[t],o.form===e.form&&TR(o)}break e;case"textarea":MR(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&hs(e,!!a.multiple,t,!1)}}}var mg=!1;function DR(e,t,a){if(mg)return e(t,a);mg=!0;try{var o=e(t);return o}finally{if(mg=!1,(ls!==null||xs!==null)&&(cd(),ls&&(t=ls,e=xs,xs=ls=null,KS(t),e)))for(t=0;t<e.length;t++)KS(e[t])}}function Wi(e,t){var a=e.stateNode;if(a===null)return null;var o=a[Ra]||null;if(o===null)return null;a=o[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(_(231,t,typeof a));return a}var In=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),th=!1;if(In)try{$l={},Object.defineProperty($l,"passive",{get:function(){th=!0}}),window.addEventListener("test",$l,$l),window.removeEventListener("test",$l,$l)}catch{th=!1}var $l,Jn=null,Yh=null,cf=null;function PR(){if(cf)return cf;var e,t=Yh,a=t.length,o,n="value"in Jn?Jn.value:Jn.textContent,r=n.length;for(e=0;e<a&&t[e]===n[e];e++);var l=a-e;for(o=1;o<=l&&t[a-o]===n[r-o];o++);return cf=n.slice(e,1<o?1-o:void 0)}function ff(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Kc(){return!0}function WS(){return!1}function va(e){function t(a,o,n,r,l){this._reactName=a,this._targetInst=n,this.type=o,this.nativeEvent=r,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(r):r[s]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Kc:WS,this.isPropagationStopped=WS,this}return pt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Kc)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Kc)},persist:function(){},isPersistent:Kc}),t}var dl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Jf=va(dl),pu=pt({},dl,{view:0,detail:0}),X1=va(pu),gg,hg,Li,ed=pt({},pu,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Xh,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Li&&(Li&&e.type==="mousemove"?(gg=e.screenX-Li.screenX,hg=e.screenY-Li.screenY):hg=gg=0,Li=e),gg)},movementY:function(e){return"movementY"in e?e.movementY:hg}}),ZS=va(ed),j1=pt({},ed,{dataTransfer:0}),K1=va(j1),W1=pt({},pu,{relatedTarget:0}),xg=va(W1),Z1=pt({},dl,{animationName:0,elapsedTime:0,pseudoElement:0}),Q1=va(Z1),$1=pt({},dl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),J1=va($1),eO=pt({},dl,{data:0}),QS=va(eO),tO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},aO={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},oO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=oO[e])?!!t[e]:!1}function Xh(){return nO}var rO=pt({},pu,{key:function(e){if(e.key){var t=tO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ff(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?aO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Xh,charCode:function(e){return e.type==="keypress"?ff(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ff(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),lO=va(rO),sO=pt({},ed,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),$S=va(sO),iO=pt({},pu,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Xh}),uO=va(iO),cO=pt({},dl,{propertyName:0,elapsedTime:0,pseudoElement:0}),fO=va(cO),dO=pt({},ed,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),pO=va(dO),mO=pt({},dl,{newState:0,oldState:0}),gO=va(mO),hO=[9,13,27,32],jh=In&&"CompositionEvent"in window,Ni=null;In&&"documentMode"in document&&(Ni=document.documentMode);var xO=In&&"TextEvent"in window&&!Ni,NR=In&&(!jh||Ni&&8<Ni&&11>=Ni),JS=" ",eC=!1;function BR(e,t){switch(e){case"keyup":return hO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function FR(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ss=!1;function bO(e,t){switch(e){case"compositionend":return FR(t);case"keypress":return t.which!==32?null:(eC=!0,JS);case"textInput":return e=t.data,e===JS&&eC?null:e;default:return null}}function yO(e,t){if(ss)return e==="compositionend"||!jh&&BR(e,t)?(e=PR(),cf=Yh=Jn=null,ss=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return NR&&t.locale!=="ko"?null:t.data;default:return null}}var SO={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tC(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!SO[e.type]:t==="textarea"}function _R(e,t,a,o){ls?xs?xs.push(o):xs=[o]:ls=o,t=Yf(t,"onChange"),0<t.length&&(a=new Jf("onChange","change",null,a,o),e.push({event:a,listeners:t}))}var Bi=null,Zi=null;function CO(e){DL(e,0)}function td(e){var t=Oi(e);if(TR(t))return e}function aC(e,t){if(e==="change")return t}var zR=!1;In&&(In?(Zc="oninput"in document,Zc||(bg=document.createElement("div"),bg.setAttribute("oninput","return;"),Zc=typeof bg.oninput=="function"),Wc=Zc):Wc=!1,zR=Wc&&(!document.documentMode||9<document.documentMode));var Wc,Zc,bg;function oC(){Bi&&(Bi.detachEvent("onpropertychange",UR),Zi=Bi=null)}function UR(e){if(e.propertyName==="value"&&td(Zi)){var t=[];_R(t,Zi,e,Gh(e)),DR(CO,t)}}function RO(e,t,a){e==="focusin"?(oC(),Bi=t,Zi=a,Bi.attachEvent("onpropertychange",UR)):e==="focusout"&&oC()}function vO(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return td(Zi)}function LO(e,t){if(e==="click")return td(t)}function IO(e,t){if(e==="input"||e==="change")return td(t)}function wO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ha=typeof Object.is=="function"?Object.is:wO;function Qi(e,t){if(Ha(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(o=0;o<a.length;o++){var n=a[o];if(!Wg.call(t,n)||!Ha(e[n],t[n]))return!1}return!0}function nC(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function rC(e,t){var a=nC(e);e=0;for(var o;a;){if(a.nodeType===3){if(o=e+a.textContent.length,e<=t&&o>=t)return{node:a,offset:t-e};e=o}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=nC(a)}}function HR(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?HR(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function qR(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ef(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ef(e.document)}return t}function Kh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var EO=In&&"documentMode"in document&&11>=document.documentMode,is=null,ah=null,Fi=null,oh=!1;function lC(e,t,a){var o=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;oh||is==null||is!==Ef(o)||(o=is,"selectionStart"in o&&Kh(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Fi&&Qi(Fi,o)||(Fi=o,o=Yf(ah,"onSelect"),0<o.length&&(t=new Jf("onSelect","select",null,t,a),e.push({event:t,listeners:o}),t.target=is)))}function Zr(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var us={animationend:Zr("Animation","AnimationEnd"),animationiteration:Zr("Animation","AnimationIteration"),animationstart:Zr("Animation","AnimationStart"),transitionrun:Zr("Transition","TransitionRun"),transitionstart:Zr("Transition","TransitionStart"),transitioncancel:Zr("Transition","TransitionCancel"),transitionend:Zr("Transition","TransitionEnd")},yg={},VR={};In&&(VR=document.createElement("div").style,"AnimationEvent"in window||(delete us.animationend.animation,delete us.animationiteration.animation,delete us.animationstart.animation),"TransitionEvent"in window||delete us.transitionend.transition);function pl(e){if(yg[e])return yg[e];if(!us[e])return e;var t=us[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in VR)return yg[e]=t[a];return e}var GR=pl("animationend"),YR=pl("animationiteration"),XR=pl("animationstart"),TO=pl("transitionrun"),kO=pl("transitionstart"),MO=pl("transitioncancel"),jR=pl("transitionend"),KR=new Map,nh="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");nh.push("scrollEnd");function vo(e,t){KR.set(e,t),fl(t,[e])}var Tf=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},eo=[],cs=0,Wh=0;function ad(){for(var e=cs,t=Wh=cs=0;t<e;){var a=eo[t];eo[t++]=null;var o=eo[t];eo[t++]=null;var n=eo[t];eo[t++]=null;var r=eo[t];if(eo[t++]=null,o!==null&&n!==null){var l=o.pending;l===null?n.next=n:(n.next=l.next,l.next=n),o.pending=n}r!==0&&WR(a,n,r)}}function od(e,t,a,o){eo[cs++]=e,eo[cs++]=t,eo[cs++]=a,eo[cs++]=o,Wh|=o,e.lanes|=o,e=e.alternate,e!==null&&(e.lanes|=o)}function Zh(e,t,a,o){return od(e,t,a,o),kf(e)}function ml(e,t){return od(e,null,null,t),kf(e)}function WR(e,t,a){e.lanes|=a;var o=e.alternate;o!==null&&(o.lanes|=a);for(var n=!1,r=e.return;r!==null;)r.childLanes|=a,o=r.alternate,o!==null&&(o.childLanes|=a),r.tag===22&&(e=r.stateNode,e===null||e._visibility&1||(n=!0)),e=r,r=r.return;return e.tag===3?(r=e.stateNode,n&&t!==null&&(n=31-za(a),e=r.hiddenUpdates,o=e[n],o===null?e[n]=[t]:o.push(t),t.lane=a|536870912),r):null}function kf(e){if(50<Xi)throw Xi=0,Ih=null,Error(_(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var fs={};function AO(e,t,a,o){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Na(e,t,a,o){return new AO(e,t,a,o)}function Qh(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Rn(e,t){var a=e.alternate;return a===null?(a=Na(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function ZR(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function df(e,t,a,o,n,r){var l=0;if(o=e,typeof e=="function")Qh(e)&&(l=1);else if(typeof e=="string")l=PD(e,a,Ho.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Yg:return e=Na(31,a,t,n),e.elementType=Yg,e.lanes=r,e;case os:return al(a.children,n,r,t);case gR:l=8,n|=24;break;case qg:return e=Na(12,a,t,n|2),e.elementType=qg,e.lanes=r,e;case Vg:return e=Na(13,a,t,n),e.elementType=Vg,e.lanes=r,e;case Gg:return e=Na(19,a,t,n),e.elementType=Gg,e.lanes=r,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case yn:l=10;break e;case hR:l=9;break e;case Fh:l=11;break e;case _h:l=14;break e;case Xn:l=16,o=null;break e}l=29,a=Error(_(130,e===null?"null":typeof e,"")),o=null}return t=Na(l,a,t,n),t.elementType=e,t.type=o,t.lanes=r,t}function al(e,t,a,o){return e=Na(7,e,o,t),e.lanes=a,e}function Sg(e,t,a){return e=Na(6,e,null,t),e.lanes=a,e}function QR(e){var t=Na(18,null,null,0);return t.stateNode=e,t}function Cg(e,t,a){return t=Na(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var sC=new WeakMap;function ro(e,t){if(typeof e=="object"&&e!==null){var a=sC.get(e);return a!==void 0?a:(t={value:e,source:t,stack:qS(t)},sC.set(e,t),t)}return{value:e,source:t,stack:qS(t)}}var ds=[],ps=0,Mf=null,$i=0,ao=[],oo=0,dr=null,_o=1,zo="";function xn(e,t){ds[ps++]=$i,ds[ps++]=Mf,Mf=e,$i=t}function $R(e,t,a){ao[oo++]=_o,ao[oo++]=zo,ao[oo++]=dr,dr=e;var o=_o;e=zo;var n=32-za(o)-1;o&=~(1<<n),a+=1;var r=32-za(t)+n;if(30<r){var l=n-n%5;r=(o&(1<<l)-1).toString(32),o>>=l,n-=l,_o=1<<32-za(t)+n|a<<n|o,zo=r+e}else _o=1<<r|a<<n|o,zo=e}function $h(e){e.return!==null&&(xn(e,1),$R(e,1,0))}function Jh(e){for(;e===Mf;)Mf=ds[--ps],ds[ps]=null,$i=ds[--ps],ds[ps]=null;for(;e===dr;)dr=ao[--oo],ao[oo]=null,zo=ao[--oo],ao[oo]=null,_o=ao[--oo],ao[oo]=null}function JR(e,t){ao[oo++]=_o,ao[oo++]=zo,ao[oo++]=dr,_o=t.id,zo=t.overflow,dr=e}var Gt=null,dt=null,Ue=!1,nr=null,lo=!1,rh=Error(_(519));function pr(e){var t=Error(_(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ji(ro(t,e)),rh}function iC(e){var t=e.stateNode,a=e.type,o=e.memoizedProps;switch(t[Vt]=e,t[Ra]=o,a){case"dialog":Fe("cancel",t),Fe("close",t);break;case"iframe":case"object":case"embed":Fe("load",t);break;case"video":case"audio":for(a=0;a<ou.length;a++)Fe(ou[a],t);break;case"source":Fe("error",t);break;case"img":case"image":case"link":Fe("error",t),Fe("load",t);break;case"details":Fe("toggle",t);break;case"input":Fe("invalid",t),kR(t,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":Fe("invalid",t);break;case"textarea":Fe("invalid",t),AR(t,o.value,o.defaultValue,o.children)}a=o.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||o.suppressHydrationWarning===!0||NL(t.textContent,a)?(o.popover!=null&&(Fe("beforetoggle",t),Fe("toggle",t)),o.onScroll!=null&&Fe("scroll",t),o.onScrollEnd!=null&&Fe("scrollend",t),o.onClick!=null&&(t.onclick=Sn),t=!0):t=!1,t||pr(e,!0)}function uC(e){for(Gt=e.return;Gt;)switch(Gt.tag){case 5:case 31:case 13:lo=!1;return;case 27:case 3:lo=!0;return;default:Gt=Gt.return}}function Jl(e){if(e!==Gt)return!1;if(!Ue)return uC(e),Ue=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Mh(e.type,e.memoizedProps)),a=!a),a&&dt&&pr(e),uC(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(_(317));dt=QC(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(_(317));dt=QC(e)}else t===27?(t=dt,xr(e.type)?(e=Ph,Ph=null,dt=e):dt=t):dt=Gt?io(e.stateNode.nextSibling):null;return!0}function ll(){dt=Gt=null,Ue=!1}function Rg(){var e=nr;return e!==null&&(Sa===null?Sa=e:Sa.push.apply(Sa,e),nr=null),e}function Ji(e){nr===null?nr=[e]:nr.push(e)}var lh=qo(null),gl=null,Cn=null;function Kn(e,t,a){it(lh,t._currentValue),t._currentValue=a}function vn(e){e._currentValue=lh.current,Ut(lh)}function sh(e,t,a){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===a)break;e=e.return}}function ih(e,t,a,o){var n=e.child;for(n!==null&&(n.return=e);n!==null;){var r=n.dependencies;if(r!==null){var l=n.child;r=r.firstContext;e:for(;r!==null;){var s=r;r=n;for(var i=0;i<t.length;i++)if(s.context===t[i]){r.lanes|=a,s=r.alternate,s!==null&&(s.lanes|=a),sh(r.return,a,e),o||(l=null);break e}r=s.next}}else if(n.tag===18){if(l=n.return,l===null)throw Error(_(341));l.lanes|=a,r=l.alternate,r!==null&&(r.lanes|=a),sh(l,a,e),l=null}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===e){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}}function Ns(e,t,a,o){e=null;for(var n=t,r=!1;n!==null;){if(!r){if((n.flags&524288)!==0)r=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var l=n.alternate;if(l===null)throw Error(_(387));if(l=l.memoizedProps,l!==null){var s=n.type;Ha(n.pendingProps.value,l.value)||(e!==null?e.push(s):e=[s])}}else if(n===vf.current){if(l=n.alternate,l===null)throw Error(_(387));l.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(e!==null?e.push(ru):e=[ru])}n=n.return}e!==null&&ih(t,e,a,o),t.flags|=262144}function Af(e){for(e=e.firstContext;e!==null;){if(!Ha(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function sl(e){gl=e,Cn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Yt(e){return ev(gl,e)}function Qc(e,t){return gl===null&&sl(e),ev(e,t)}function ev(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},Cn===null){if(e===null)throw Error(_(308));Cn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Cn=Cn.next=t;return a}var OO=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,o){e.push(o)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},DO=Pt.unstable_scheduleCallback,PO=Pt.unstable_NormalPriority,Tt={$$typeof:yn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ex(){return{controller:new OO,data:new Map,refCount:0}}function mu(e){e.refCount--,e.refCount===0&&DO(PO,function(){e.controller.abort()})}var _i=null,uh=0,Is=0,bs=null;function NO(e,t){if(_i===null){var a=_i=[];uh=0,Is=Ix(),bs={status:"pending",value:void 0,then:function(o){a.push(o)}}}return uh++,t.then(cC,cC),t}function cC(){if(--uh===0&&_i!==null){bs!==null&&(bs.status="fulfilled");var e=_i;_i=null,Is=0,bs=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function BO(e,t){var a=[],o={status:"pending",value:null,reason:null,then:function(n){a.push(n)}};return e.then(function(){o.status="fulfilled",o.value=t;for(var n=0;n<a.length;n++)(0,a[n])(t)},function(n){for(o.status="rejected",o.reason=n,n=0;n<a.length;n++)(0,a[n])(void 0)}),o}var fC=ye.S;ye.S=function(e,t){mL=Fa(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&NO(e,t),fC!==null&&fC(e,t)};var ol=qo(null);function tx(){var e=ol.current;return e!==null?e:lt.pooledCache}function pf(e,t){t===null?it(ol,ol.current):it(ol,t.pool)}function tv(){var e=tx();return e===null?null:{parent:Tt._currentValue,pool:e}}var Bs=Error(_(460)),ax=Error(_(474)),nd=Error(_(542)),Of={then:function(){}};function dC(e){return e=e.status,e==="fulfilled"||e==="rejected"}function av(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(Sn,Sn),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mC(e),e;default:if(typeof t.status=="string")t.then(Sn,Sn);else{if(e=lt,e!==null&&100<e.shellSuspendCounter)throw Error(_(482));e=t,e.status="pending",e.then(function(o){if(t.status==="pending"){var n=t;n.status="fulfilled",n.value=o}},function(o){if(t.status==="pending"){var n=t;n.status="rejected",n.reason=o}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,mC(e),e}throw nl=t,Bs}}function Jr(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(nl=a,Bs):a}}var nl=null;function pC(){if(nl===null)throw Error(_(459));var e=nl;return nl=null,e}function mC(e){if(e===Bs||e===nd)throw Error(_(483))}var ys=null,eu=0;function $c(e){var t=eu;return eu+=1,ys===null&&(ys=[]),av(ys,e,t)}function Ii(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Jc(e,t){throw t.$$typeof===R1?Error(_(525)):(e=Object.prototype.toString.call(t),Error(_(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ov(e){function t(g,p){if(e){var x=g.deletions;x===null?(g.deletions=[p],g.flags|=16):x.push(p)}}function a(g,p){if(!e)return null;for(;p!==null;)t(g,p),p=p.sibling;return null}function o(g){for(var p=new Map;g!==null;)g.key!==null?p.set(g.key,g):p.set(g.index,g),g=g.sibling;return p}function n(g,p){return g=Rn(g,p),g.index=0,g.sibling=null,g}function r(g,p,x){return g.index=x,e?(x=g.alternate,x!==null?(x=x.index,x<p?(g.flags|=67108866,p):x):(g.flags|=67108866,p)):(g.flags|=1048576,p)}function l(g){return e&&g.alternate===null&&(g.flags|=67108866),g}function s(g,p,x,b){return p===null||p.tag!==6?(p=Sg(x,g.mode,b),p.return=g,p):(p=n(p,x),p.return=g,p)}function i(g,p,x,b){var L=x.type;return L===os?c(g,p,x.props.children,b,x.key):p!==null&&(p.elementType===L||typeof L=="object"&&L!==null&&L.$$typeof===Xn&&Jr(L)===p.type)?(p=n(p,x.props),Ii(p,x),p.return=g,p):(p=df(x.type,x.key,x.props,null,g.mode,b),Ii(p,x),p.return=g,p)}function u(g,p,x,b){return p===null||p.tag!==4||p.stateNode.containerInfo!==x.containerInfo||p.stateNode.implementation!==x.implementation?(p=Cg(x,g.mode,b),p.return=g,p):(p=n(p,x.children||[]),p.return=g,p)}function c(g,p,x,b,L){return p===null||p.tag!==7?(p=al(x,g.mode,b,L),p.return=g,p):(p=n(p,x),p.return=g,p)}function f(g,p,x){if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return p=Sg(""+p,g.mode,x),p.return=g,p;if(typeof p=="object"&&p!==null){switch(p.$$typeof){case Vc:return x=df(p.type,p.key,p.props,null,g.mode,x),Ii(x,p),x.return=g,x;case Mi:return p=Cg(p,g.mode,x),p.return=g,p;case Xn:return p=Jr(p),f(g,p,x)}if(Ai(p)||vi(p))return p=al(p,g.mode,x,null),p.return=g,p;if(typeof p.then=="function")return f(g,$c(p),x);if(p.$$typeof===yn)return f(g,Qc(g,p),x);Jc(g,p)}return null}function d(g,p,x,b){var L=p!==null?p.key:null;if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return L!==null?null:s(g,p,""+x,b);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Vc:return x.key===L?i(g,p,x,b):null;case Mi:return x.key===L?u(g,p,x,b):null;case Xn:return x=Jr(x),d(g,p,x,b)}if(Ai(x)||vi(x))return L!==null?null:c(g,p,x,b,null);if(typeof x.then=="function")return d(g,p,$c(x),b);if(x.$$typeof===yn)return d(g,p,Qc(g,x),b);Jc(g,x)}return null}function m(g,p,x,b,L){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return g=g.get(x)||null,s(p,g,""+b,L);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case Vc:return g=g.get(b.key===null?x:b.key)||null,i(p,g,b,L);case Mi:return g=g.get(b.key===null?x:b.key)||null,u(p,g,b,L);case Xn:return b=Jr(b),m(g,p,x,b,L)}if(Ai(b)||vi(b))return g=g.get(x)||null,c(p,g,b,L,null);if(typeof b.then=="function")return m(g,p,x,$c(b),L);if(b.$$typeof===yn)return m(g,p,x,Qc(p,b),L);Jc(p,b)}return null}function h(g,p,x,b){for(var L=null,R=null,I=p,v=p=0,E=null;I!==null&&v<x.length;v++){I.index>v?(E=I,I=null):E=I.sibling;var w=d(g,I,x[v],b);if(w===null){I===null&&(I=E);break}e&&I&&w.alternate===null&&t(g,I),p=r(w,p,v),R===null?L=w:R.sibling=w,R=w,I=E}if(v===x.length)return a(g,I),Ue&&xn(g,v),L;if(I===null){for(;v<x.length;v++)I=f(g,x[v],b),I!==null&&(p=r(I,p,v),R===null?L=I:R.sibling=I,R=I);return Ue&&xn(g,v),L}for(I=o(I);v<x.length;v++)E=m(I,g,v,x[v],b),E!==null&&(e&&E.alternate!==null&&I.delete(E.key===null?v:E.key),p=r(E,p,v),R===null?L=E:R.sibling=E,R=E);return e&&I.forEach(function(P){return t(g,P)}),Ue&&xn(g,v),L}function y(g,p,x,b){if(x==null)throw Error(_(151));for(var L=null,R=null,I=p,v=p=0,E=null,w=x.next();I!==null&&!w.done;v++,w=x.next()){I.index>v?(E=I,I=null):E=I.sibling;var P=d(g,I,w.value,b);if(P===null){I===null&&(I=E);break}e&&I&&P.alternate===null&&t(g,I),p=r(P,p,v),R===null?L=P:R.sibling=P,R=P,I=E}if(w.done)return a(g,I),Ue&&xn(g,v),L;if(I===null){for(;!w.done;v++,w=x.next())w=f(g,w.value,b),w!==null&&(p=r(w,p,v),R===null?L=w:R.sibling=w,R=w);return Ue&&xn(g,v),L}for(I=o(I);!w.done;v++,w=x.next())w=m(I,g,v,w.value,b),w!==null&&(e&&w.alternate!==null&&I.delete(w.key===null?v:w.key),p=r(w,p,v),R===null?L=w:R.sibling=w,R=w);return e&&I.forEach(function(O){return t(g,O)}),Ue&&xn(g,v),L}function S(g,p,x,b){if(typeof x=="object"&&x!==null&&x.type===os&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Vc:e:{for(var L=x.key;p!==null;){if(p.key===L){if(L=x.type,L===os){if(p.tag===7){a(g,p.sibling),b=n(p,x.props.children),b.return=g,g=b;break e}}else if(p.elementType===L||typeof L=="object"&&L!==null&&L.$$typeof===Xn&&Jr(L)===p.type){a(g,p.sibling),b=n(p,x.props),Ii(b,x),b.return=g,g=b;break e}a(g,p);break}else t(g,p);p=p.sibling}x.type===os?(b=al(x.props.children,g.mode,b,x.key),b.return=g,g=b):(b=df(x.type,x.key,x.props,null,g.mode,b),Ii(b,x),b.return=g,g=b)}return l(g);case Mi:e:{for(L=x.key;p!==null;){if(p.key===L)if(p.tag===4&&p.stateNode.containerInfo===x.containerInfo&&p.stateNode.implementation===x.implementation){a(g,p.sibling),b=n(p,x.children||[]),b.return=g,g=b;break e}else{a(g,p);break}else t(g,p);p=p.sibling}b=Cg(x,g.mode,b),b.return=g,g=b}return l(g);case Xn:return x=Jr(x),S(g,p,x,b)}if(Ai(x))return h(g,p,x,b);if(vi(x)){if(L=vi(x),typeof L!="function")throw Error(_(150));return x=L.call(x),y(g,p,x,b)}if(typeof x.then=="function")return S(g,p,$c(x),b);if(x.$$typeof===yn)return S(g,p,Qc(g,x),b);Jc(g,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,p!==null&&p.tag===6?(a(g,p.sibling),b=n(p,x),b.return=g,g=b):(a(g,p),b=Sg(x,g.mode,b),b.return=g,g=b),l(g)):a(g,p)}return function(g,p,x,b){try{eu=0;var L=S(g,p,x,b);return ys=null,L}catch(I){if(I===Bs||I===nd)throw I;var R=Na(29,I,null,g.mode);return R.lanes=b,R.return=g,R}}}var il=ov(!0),nv=ov(!1),jn=!1;function ox(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ch(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function rr(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function lr(e,t,a){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(Ge&2)!==0){var n=o.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),o.pending=t,t=kf(e),WR(e,null,a),t}return od(e,o,t,a),kf(e)}function zi(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var o=t.lanes;o&=e.pendingLanes,a|=o,t.lanes=a,RR(e,a)}}function vg(e,t){var a=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,a===o)){var n=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var l={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?n=r=l:r=r.next=l,a=a.next}while(a!==null);r===null?n=r=t:r=r.next=t}else n=r=t;a={baseState:o.baseState,firstBaseUpdate:n,lastBaseUpdate:r,shared:o.shared,callbacks:o.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var fh=!1;function Ui(){if(fh){var e=bs;if(e!==null)throw e}}function Hi(e,t,a,o){fh=!1;var n=e.updateQueue;jn=!1;var r=n.firstBaseUpdate,l=n.lastBaseUpdate,s=n.shared.pending;if(s!==null){n.shared.pending=null;var i=s,u=i.next;i.next=null,l===null?r=u:l.next=u,l=i;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==l&&(s===null?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=i))}if(r!==null){var f=n.baseState;l=0,c=u=i=null,s=r;do{var d=s.lane&-536870913,m=d!==s.lane;if(m?(ze&d)===d:(o&d)===d){d!==0&&d===Is&&(fh=!0),c!==null&&(c=c.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});e:{var h=e,y=s;d=t;var S=a;switch(y.tag){case 1:if(h=y.payload,typeof h=="function"){f=h.call(S,f,d);break e}f=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=y.payload,d=typeof h=="function"?h.call(S,f,d):h,d==null)break e;f=pt({},f,d);break e;case 2:jn=!0}}d=s.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=n.callbacks,m===null?n.callbacks=[d]:m.push(d))}else m={lane:d,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(u=c=m,i=f):c=c.next=m,l|=d;if(s=s.next,s===null){if(s=n.shared.pending,s===null)break;m=s,s=m.next,m.next=null,n.lastBaseUpdate=m,n.shared.pending=null}}while(!0);c===null&&(i=f),n.baseState=i,n.firstBaseUpdate=u,n.lastBaseUpdate=c,r===null&&(n.shared.lanes=0),gr|=l,e.lanes=l,e.memoizedState=f}}function rv(e,t){if(typeof e!="function")throw Error(_(191,e));e.call(t)}function lv(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)rv(a[e],t)}var ws=qo(null),Df=qo(0);function gC(e,t){e=kn,it(Df,e),it(ws,t),kn=e|t.baseLanes}function dh(){it(Df,kn),it(ws,ws.current)}function nx(){kn=Df.current,Ut(ws),Ut(Df)}var qa=qo(null),so=null;function Wn(e){var t=e.alternate;it(Ct,Ct.current&1),it(qa,e),so===null&&(t===null||ws.current!==null||t.memoizedState!==null)&&(so=e)}function ph(e){it(Ct,Ct.current),it(qa,e),so===null&&(so=e)}function sv(e){e.tag===22?(it(Ct,Ct.current),it(qa,e),so===null&&(so=e)):Zn(e)}function Zn(){it(Ct,Ct.current),it(qa,qa.current)}function Pa(e){Ut(qa),so===e&&(so=null),Ut(Ct)}var Ct=qo(0);function Pf(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Oh(a)||Dh(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var wn=0,Ae=null,tt=null,wt=null,Nf=!1,Ss=!1,ul=!1,Bf=0,tu=0,Cs=null,FO=0;function bt(){throw Error(_(321))}function rx(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Ha(e[a],t[a]))return!1;return!0}function lx(e,t,a,o,n,r){return wn=r,Ae=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ye.H=e===null||e.memoizedState===null?_v:xx,ul=!1,r=a(o,n),ul=!1,Ss&&(r=uv(t,a,o,n)),iv(e),r}function iv(e){ye.H=au;var t=tt!==null&&tt.next!==null;if(wn=0,wt=tt=Ae=null,Nf=!1,tu=0,Cs=null,t)throw Error(_(300));e===null||kt||(e=e.dependencies,e!==null&&Af(e)&&(kt=!0))}function uv(e,t,a,o){Ae=e;var n=0;do{if(Ss&&(Cs=null),tu=0,Ss=!1,25<=n)throw Error(_(301));if(n+=1,wt=tt=null,e.updateQueue!=null){var r=e.updateQueue;r.lastEffect=null,r.events=null,r.stores=null,r.memoCache!=null&&(r.memoCache.index=0)}ye.H=zv,r=t(a,o)}while(Ss);return r}function _O(){var e=ye.H,t=e.useState()[0];return t=typeof t.then=="function"?gu(t):t,e=e.useState()[0],(tt!==null?tt.memoizedState:null)!==e&&(Ae.flags|=1024),t}function sx(){var e=Bf!==0;return Bf=0,e}function ix(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function ux(e){if(Nf){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Nf=!1}wn=0,wt=tt=Ae=null,Ss=!1,tu=Bf=0,Cs=null}function fa(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return wt===null?Ae.memoizedState=wt=e:wt=wt.next=e,wt}function Rt(){if(tt===null){var e=Ae.alternate;e=e!==null?e.memoizedState:null}else e=tt.next;var t=wt===null?Ae.memoizedState:wt.next;if(t!==null)wt=t,tt=e;else{if(e===null)throw Ae.alternate===null?Error(_(467)):Error(_(310));tt=e,e={memoizedState:tt.memoizedState,baseState:tt.baseState,baseQueue:tt.baseQueue,queue:tt.queue,next:null},wt===null?Ae.memoizedState=wt=e:wt=wt.next=e}return wt}function rd(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function gu(e){var t=tu;return tu+=1,Cs===null&&(Cs=[]),e=av(Cs,e,t),t=Ae,(wt===null?t.memoizedState:wt.next)===null&&(t=t.alternate,ye.H=t===null||t.memoizedState===null?_v:xx),e}function ld(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return gu(e);if(e.$$typeof===yn)return Yt(e)}throw Error(_(438,String(e)))}function cx(e){var t=null,a=Ae.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var o=Ae.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(t={data:o.data.map(function(n){return n.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=rd(),Ae.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),o=0;o<e;o++)a[o]=v1;return t.index++,a}function En(e,t){return typeof t=="function"?t(e):t}function mf(e){var t=Rt();return fx(t,tt,e)}function fx(e,t,a){var o=e.queue;if(o===null)throw Error(_(311));o.lastRenderedReducer=a;var n=e.baseQueue,r=o.pending;if(r!==null){if(n!==null){var l=n.next;n.next=r.next,r.next=l}t.baseQueue=n=r,o.pending=null}if(r=e.baseState,n===null)e.memoizedState=r;else{t=n.next;var s=l=null,i=null,u=t,c=!1;do{var f=u.lane&-536870913;if(f!==u.lane?(ze&f)===f:(wn&f)===f){var d=u.revertLane;if(d===0)i!==null&&(i=i.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Is&&(c=!0);else if((wn&d)===d){u=u.next,d===Is&&(c=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},i===null?(s=i=f,l=r):i=i.next=f,Ae.lanes|=d,gr|=d;f=u.action,ul&&a(r,f),r=u.hasEagerState?u.eagerState:a(r,f)}else d={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},i===null?(s=i=d,l=r):i=i.next=d,Ae.lanes|=f,gr|=f;u=u.next}while(u!==null&&u!==t);if(i===null?l=r:i.next=s,!Ha(r,e.memoizedState)&&(kt=!0,c&&(a=bs,a!==null)))throw a;e.memoizedState=r,e.baseState=l,e.baseQueue=i,o.lastRenderedState=r}return n===null&&(o.lanes=0),[e.memoizedState,o.dispatch]}function Lg(e){var t=Rt(),a=t.queue;if(a===null)throw Error(_(311));a.lastRenderedReducer=e;var o=a.dispatch,n=a.pending,r=t.memoizedState;if(n!==null){a.pending=null;var l=n=n.next;do r=e(r,l.action),l=l.next;while(l!==n);Ha(r,t.memoizedState)||(kt=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),a.lastRenderedState=r}return[r,o]}function cv(e,t,a){var o=Ae,n=Rt(),r=Ue;if(r){if(a===void 0)throw Error(_(407));a=a()}else a=t();var l=!Ha((tt||n).memoizedState,a);if(l&&(n.memoizedState=a,kt=!0),n=n.queue,dx(pv.bind(null,o,n,e),[e]),n.getSnapshot!==t||l||wt!==null&&wt.memoizedState.tag&1){if(o.flags|=2048,Es(9,{destroy:void 0},dv.bind(null,o,n,a,t),null),lt===null)throw Error(_(349));r||(wn&127)!==0||fv(o,t,a)}return a}function fv(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=Ae.updateQueue,t===null?(t=rd(),Ae.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function dv(e,t,a,o){t.value=a,t.getSnapshot=o,mv(t)&&gv(e)}function pv(e,t,a){return a(function(){mv(t)&&gv(e)})}function mv(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Ha(e,a)}catch{return!0}}function gv(e){var t=ml(e,2);t!==null&&Ca(t,e,2)}function mh(e){var t=fa();if(typeof e=="function"){var a=e;if(e=a(),ul){$n(!0);try{a()}finally{$n(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:En,lastRenderedState:e},t}function hv(e,t,a,o){return e.baseState=a,fx(e,tt,typeof o=="function"?o:En)}function zO(e,t,a,o,n){if(id(e))throw Error(_(485));if(e=t.action,e!==null){var r={payload:n,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(l){r.listeners.push(l)}};ye.T!==null?a(!0):r.isTransition=!1,o(r),a=t.pending,a===null?(r.next=t.pending=r,xv(t,r)):(r.next=a.next,t.pending=a.next=r)}}function xv(e,t){var a=t.action,o=t.payload,n=e.state;if(t.isTransition){var r=ye.T,l={};ye.T=l;try{var s=a(n,o),i=ye.S;i!==null&&i(l,s),hC(e,t,s)}catch(u){gh(e,t,u)}finally{r!==null&&l.types!==null&&(r.types=l.types),ye.T=r}}else try{r=a(n,o),hC(e,t,r)}catch(u){gh(e,t,u)}}function hC(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(o){xC(e,t,o)},function(o){return gh(e,t,o)}):xC(e,t,a)}function xC(e,t,a){t.status="fulfilled",t.value=a,bv(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,xv(e,a)))}function gh(e,t,a){var o=e.pending;if(e.pending=null,o!==null){o=o.next;do t.status="rejected",t.reason=a,bv(t),t=t.next;while(t!==o)}e.action=null}function bv(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function yv(e,t){return t}function bC(e,t){if(Ue){var a=lt.formState;if(a!==null){e:{var o=Ae;if(Ue){if(dt){t:{for(var n=dt,r=lo;n.nodeType!==8;){if(!r){n=null;break t}if(n=io(n.nextSibling),n===null){n=null;break t}}r=n.data,n=r==="F!"||r==="F"?n:null}if(n){dt=io(n.nextSibling),o=n.data==="F!";break e}}pr(o)}o=!1}o&&(t=a[0])}}return a=fa(),a.memoizedState=a.baseState=t,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:yv,lastRenderedState:t},a.queue=o,a=Nv.bind(null,Ae,o),o.dispatch=a,o=mh(!1),r=hx.bind(null,Ae,!1,o.queue),o=fa(),n={state:t,dispatch:null,action:e,pending:null},o.queue=n,a=zO.bind(null,Ae,n,r,a),n.dispatch=a,o.memoizedState=e,[t,a,!1]}function yC(e){var t=Rt();return Sv(t,tt,e)}function Sv(e,t,a){if(t=fx(e,t,yv)[0],e=mf(En)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var o=gu(t)}catch(l){throw l===Bs?nd:l}else o=t;t=Rt();var n=t.queue,r=n.dispatch;return a!==t.memoizedState&&(Ae.flags|=2048,Es(9,{destroy:void 0},UO.bind(null,n,a),null)),[o,r,e]}function UO(e,t){e.action=t}function SC(e){var t=Rt(),a=tt;if(a!==null)return Sv(t,a,e);Rt(),t=t.memoizedState,a=Rt();var o=a.queue.dispatch;return a.memoizedState=e,[t,o,!1]}function Es(e,t,a,o){return e={tag:e,create:a,deps:o,inst:t,next:null},t=Ae.updateQueue,t===null&&(t=rd(),Ae.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(o=a.next,a.next=e,e.next=o,t.lastEffect=e),e}function Cv(){return Rt().memoizedState}function gf(e,t,a,o){var n=fa();Ae.flags|=e,n.memoizedState=Es(1|t,{destroy:void 0},a,o===void 0?null:o)}function sd(e,t,a,o){var n=Rt();o=o===void 0?null:o;var r=n.memoizedState.inst;tt!==null&&o!==null&&rx(o,tt.memoizedState.deps)?n.memoizedState=Es(t,r,a,o):(Ae.flags|=e,n.memoizedState=Es(1|t,r,a,o))}function CC(e,t){gf(8390656,8,e,t)}function dx(e,t){sd(2048,8,e,t)}function HO(e){Ae.flags|=4;var t=Ae.updateQueue;if(t===null)t=rd(),Ae.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Rv(e){var t=Rt().memoizedState;return HO({ref:t,nextImpl:e}),function(){if((Ge&2)!==0)throw Error(_(440));return t.impl.apply(void 0,arguments)}}function vv(e,t){return sd(4,2,e,t)}function Lv(e,t){return sd(4,4,e,t)}function Iv(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function wv(e,t,a){a=a!=null?a.concat([e]):null,sd(4,4,Iv.bind(null,t,e),a)}function px(){}function Ev(e,t){var a=Rt();t=t===void 0?null:t;var o=a.memoizedState;return t!==null&&rx(t,o[1])?o[0]:(a.memoizedState=[e,t],e)}function Tv(e,t){var a=Rt();t=t===void 0?null:t;var o=a.memoizedState;if(t!==null&&rx(t,o[1]))return o[0];if(o=e(),ul){$n(!0);try{e()}finally{$n(!1)}}return a.memoizedState=[o,t],o}function mx(e,t,a){return a===void 0||(wn&1073741824)!==0&&(ze&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=hL(),Ae.lanes|=e,gr|=e,a)}function kv(e,t,a,o){return Ha(a,t)?a:ws.current!==null?(e=mx(e,a,o),Ha(e,t)||(kt=!0),e):(wn&42)===0||(wn&1073741824)!==0&&(ze&261930)===0?(kt=!0,e.memoizedState=a):(e=hL(),Ae.lanes|=e,gr|=e,t)}function Mv(e,t,a,o,n){var r=Ye.p;Ye.p=r!==0&&8>r?r:8;var l=ye.T,s={};ye.T=s,hx(e,!1,t,a);try{var i=n(),u=ye.S;if(u!==null&&u(s,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var c=BO(i,o);qi(e,t,c,Ua(e))}else qi(e,t,o,Ua(e))}catch(f){qi(e,t,{then:function(){},status:"rejected",reason:f},Ua())}finally{Ye.p=r,l!==null&&s.types!==null&&(l.types=s.types),ye.T=l}}function qO(){}function hh(e,t,a,o){if(e.tag!==5)throw Error(_(476));var n=Av(e).queue;Mv(e,n,t,tl,a===null?qO:function(){return Ov(e),a(o)})}function Av(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:tl,baseState:tl,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:En,lastRenderedState:tl},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:En,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ov(e){var t=Av(e);t.next===null&&(t=e.alternate.memoizedState),qi(e,t.next.queue,{},Ua())}function gx(){return Yt(ru)}function Dv(){return Rt().memoizedState}function Pv(){return Rt().memoizedState}function VO(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Ua();e=rr(a);var o=lr(t,e,a);o!==null&&(Ca(o,t,a),zi(o,t,a)),t={cache:ex()},e.payload=t;return}t=t.return}}function GO(e,t,a){var o=Ua();a={lane:o,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},id(e)?Bv(t,a):(a=Zh(e,t,a,o),a!==null&&(Ca(a,e,o),Fv(a,t,o)))}function Nv(e,t,a){var o=Ua();qi(e,t,a,o)}function qi(e,t,a,o){var n={lane:o,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(id(e))Bv(t,n);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var l=t.lastRenderedState,s=r(l,a);if(n.hasEagerState=!0,n.eagerState=s,Ha(s,l))return od(e,t,n,0),lt===null&&ad(),!1}catch{}if(a=Zh(e,t,n,o),a!==null)return Ca(a,e,o),Fv(a,t,o),!0}return!1}function hx(e,t,a,o){if(o={lane:2,revertLane:Ix(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},id(e)){if(t)throw Error(_(479))}else t=Zh(e,a,o,2),t!==null&&Ca(t,e,2)}function id(e){var t=e.alternate;return e===Ae||t!==null&&t===Ae}function Bv(e,t){Ss=Nf=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Fv(e,t,a){if((a&4194048)!==0){var o=t.lanes;o&=e.pendingLanes,a|=o,t.lanes=a,RR(e,a)}}var au={readContext:Yt,use:ld,useCallback:bt,useContext:bt,useEffect:bt,useImperativeHandle:bt,useLayoutEffect:bt,useInsertionEffect:bt,useMemo:bt,useReducer:bt,useRef:bt,useState:bt,useDebugValue:bt,useDeferredValue:bt,useTransition:bt,useSyncExternalStore:bt,useId:bt,useHostTransitionStatus:bt,useFormState:bt,useActionState:bt,useOptimistic:bt,useMemoCache:bt,useCacheRefresh:bt};au.useEffectEvent=bt;var _v={readContext:Yt,use:ld,useCallback:function(e,t){return fa().memoizedState=[e,t===void 0?null:t],e},useContext:Yt,useEffect:CC,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,gf(4194308,4,Iv.bind(null,t,e),a)},useLayoutEffect:function(e,t){return gf(4194308,4,e,t)},useInsertionEffect:function(e,t){gf(4,2,e,t)},useMemo:function(e,t){var a=fa();t=t===void 0?null:t;var o=e();if(ul){$n(!0);try{e()}finally{$n(!1)}}return a.memoizedState=[o,t],o},useReducer:function(e,t,a){var o=fa();if(a!==void 0){var n=a(t);if(ul){$n(!0);try{a(t)}finally{$n(!1)}}}else n=t;return o.memoizedState=o.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},o.queue=e,e=e.dispatch=GO.bind(null,Ae,e),[o.memoizedState,e]},useRef:function(e){var t=fa();return e={current:e},t.memoizedState=e},useState:function(e){e=mh(e);var t=e.queue,a=Nv.bind(null,Ae,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:px,useDeferredValue:function(e,t){var a=fa();return mx(a,e,t)},useTransition:function(){var e=mh(!1);return e=Mv.bind(null,Ae,e.queue,!0,!1),fa().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var o=Ae,n=fa();if(Ue){if(a===void 0)throw Error(_(407));a=a()}else{if(a=t(),lt===null)throw Error(_(349));(ze&127)!==0||fv(o,t,a)}n.memoizedState=a;var r={value:a,getSnapshot:t};return n.queue=r,CC(pv.bind(null,o,r,e),[e]),o.flags|=2048,Es(9,{destroy:void 0},dv.bind(null,o,r,a,t),null),a},useId:function(){var e=fa(),t=lt.identifierPrefix;if(Ue){var a=zo,o=_o;a=(o&~(1<<32-za(o)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Bf++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=FO++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:gx,useFormState:bC,useActionState:bC,useOptimistic:function(e){var t=fa();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=hx.bind(null,Ae,!0,a),a.dispatch=t,[e,t]},useMemoCache:cx,useCacheRefresh:function(){return fa().memoizedState=VO.bind(null,Ae)},useEffectEvent:function(e){var t=fa(),a={impl:e};return t.memoizedState=a,function(){if((Ge&2)!==0)throw Error(_(440));return a.impl.apply(void 0,arguments)}}},xx={readContext:Yt,use:ld,useCallback:Ev,useContext:Yt,useEffect:dx,useImperativeHandle:wv,useInsertionEffect:vv,useLayoutEffect:Lv,useMemo:Tv,useReducer:mf,useRef:Cv,useState:function(){return mf(En)},useDebugValue:px,useDeferredValue:function(e,t){var a=Rt();return kv(a,tt.memoizedState,e,t)},useTransition:function(){var e=mf(En)[0],t=Rt().memoizedState;return[typeof e=="boolean"?e:gu(e),t]},useSyncExternalStore:cv,useId:Dv,useHostTransitionStatus:gx,useFormState:yC,useActionState:yC,useOptimistic:function(e,t){var a=Rt();return hv(a,tt,e,t)},useMemoCache:cx,useCacheRefresh:Pv};xx.useEffectEvent=Rv;var zv={readContext:Yt,use:ld,useCallback:Ev,useContext:Yt,useEffect:dx,useImperativeHandle:wv,useInsertionEffect:vv,useLayoutEffect:Lv,useMemo:Tv,useReducer:Lg,useRef:Cv,useState:function(){return Lg(En)},useDebugValue:px,useDeferredValue:function(e,t){var a=Rt();return tt===null?mx(a,e,t):kv(a,tt.memoizedState,e,t)},useTransition:function(){var e=Lg(En)[0],t=Rt().memoizedState;return[typeof e=="boolean"?e:gu(e),t]},useSyncExternalStore:cv,useId:Dv,useHostTransitionStatus:gx,useFormState:SC,useActionState:SC,useOptimistic:function(e,t){var a=Rt();return tt!==null?hv(a,tt,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:cx,useCacheRefresh:Pv};zv.useEffectEvent=Rv;function Ig(e,t,a,o){t=e.memoizedState,a=a(o,t),a=a==null?t:pt({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var xh={enqueueSetState:function(e,t,a){e=e._reactInternals;var o=Ua(),n=rr(o);n.payload=t,a!=null&&(n.callback=a),t=lr(e,n,o),t!==null&&(Ca(t,e,o),zi(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var o=Ua(),n=rr(o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=lr(e,n,o),t!==null&&(Ca(t,e,o),zi(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ua(),o=rr(a);o.tag=2,t!=null&&(o.callback=t),t=lr(e,o,a),t!==null&&(Ca(t,e,a),zi(t,e,a))}};function RC(e,t,a,o,n,r,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,r,l):t.prototype&&t.prototype.isPureReactComponent?!Qi(a,o)||!Qi(n,r):!0}function vC(e,t,a,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,o),t.state!==e&&xh.enqueueReplaceState(t,t.state,null)}function cl(e,t){var a=t;if("ref"in t){a={};for(var o in t)o!=="ref"&&(a[o]=t[o])}if(e=e.defaultProps){a===t&&(a=pt({},a));for(var n in e)a[n]===void 0&&(a[n]=e[n])}return a}function Uv(e){Tf(e)}function Hv(e){console.error(e)}function qv(e){Tf(e)}function Ff(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(o){setTimeout(function(){throw o})}}function LC(e,t,a){try{var o=e.onCaughtError;o(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function bh(e,t,a){return a=rr(a),a.tag=3,a.payload={element:null},a.callback=function(){Ff(e,t)},a}function Vv(e){return e=rr(e),e.tag=3,e}function Gv(e,t,a,o){var n=a.type.getDerivedStateFromError;if(typeof n=="function"){var r=o.value;e.payload=function(){return n(r)},e.callback=function(){LC(t,a,o)}}var l=a.stateNode;l!==null&&typeof l.componentDidCatch=="function"&&(e.callback=function(){LC(t,a,o),typeof n!="function"&&(sr===null?sr=new Set([this]):sr.add(this));var s=o.stack;this.componentDidCatch(o.value,{componentStack:s!==null?s:""})})}function YO(e,t,a,o,n){if(a.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(t=a.alternate,t!==null&&Ns(t,a,n,!0),a=qa.current,a!==null){switch(a.tag){case 31:case 13:return so===null?qf():a.alternate===null&&yt===0&&(yt=3),a.flags&=-257,a.flags|=65536,a.lanes=n,o===Of?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([o]):t.add(o),Bg(e,o,n)),!1;case 22:return a.flags|=65536,o===Of?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([o])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([o]):a.add(o)),Bg(e,o,n)),!1}throw Error(_(435,a.tag))}return Bg(e,o,n),qf(),!1}if(Ue)return t=qa.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=n,o!==rh&&(e=Error(_(422),{cause:o}),Ji(ro(e,a)))):(o!==rh&&(t=Error(_(423),{cause:o}),Ji(ro(t,a))),e=e.current.alternate,e.flags|=65536,n&=-n,e.lanes|=n,o=ro(o,a),n=bh(e.stateNode,o,n),vg(e,n),yt!==4&&(yt=2)),!1;var r=Error(_(520),{cause:o});if(r=ro(r,a),Yi===null?Yi=[r]:Yi.push(r),yt!==4&&(yt=2),t===null)return!0;o=ro(o,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=n&-n,a.lanes|=e,e=bh(a.stateNode,o,e),vg(a,e),!1;case 1:if(t=a.type,r=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||r!==null&&typeof r.componentDidCatch=="function"&&(sr===null||!sr.has(r))))return a.flags|=65536,n&=-n,a.lanes|=n,n=Vv(n),Gv(n,e,a,o),vg(a,n),!1}a=a.return}while(a!==null);return!1}var bx=Error(_(461)),kt=!1;function qt(e,t,a,o){t.child=e===null?nv(t,null,a,o):il(t,e.child,a,o)}function IC(e,t,a,o,n){a=a.render;var r=t.ref;if("ref"in o){var l={};for(var s in o)s!=="ref"&&(l[s]=o[s])}else l=o;return sl(t),o=lx(e,t,a,l,r,n),s=sx(),e!==null&&!kt?(ix(e,t,n),Tn(e,t,n)):(Ue&&s&&$h(t),t.flags|=1,qt(e,t,o,n),t.child)}function wC(e,t,a,o,n){if(e===null){var r=a.type;return typeof r=="function"&&!Qh(r)&&r.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=r,Yv(e,t,r,o,n)):(e=df(a.type,null,o,t,t.mode,n),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!yx(e,n)){var l=r.memoizedProps;if(a=a.compare,a=a!==null?a:Qi,a(l,o)&&e.ref===t.ref)return Tn(e,t,n)}return t.flags|=1,e=Rn(r,o),e.ref=t.ref,e.return=t,t.child=e}function Yv(e,t,a,o,n){if(e!==null){var r=e.memoizedProps;if(Qi(r,o)&&e.ref===t.ref)if(kt=!1,t.pendingProps=o=r,yx(e,n))(e.flags&131072)!==0&&(kt=!0);else return t.lanes=e.lanes,Tn(e,t,n)}return yh(e,t,a,o,n)}function Xv(e,t,a,o){var n=o.children,r=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((t.flags&128)!==0){if(r=r!==null?r.baseLanes|a:a,e!==null){for(o=t.child=e.child,n=0;o!==null;)n=n|o.lanes|o.childLanes,o=o.sibling;o=n&~r}else o=0,t.child=null;return EC(e,t,r,a,o)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&pf(t,r!==null?r.cachePool:null),r!==null?gC(t,r):dh(),sv(t);else return o=t.lanes=536870912,EC(e,t,r!==null?r.baseLanes|a:a,a,o)}else r!==null?(pf(t,r.cachePool),gC(t,r),Zn(t),t.memoizedState=null):(e!==null&&pf(t,null),dh(),Zn(t));return qt(e,t,n,a),t.child}function Di(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function EC(e,t,a,o,n){var r=tx();return r=r===null?null:{parent:Tt._currentValue,pool:r},t.memoizedState={baseLanes:a,cachePool:r},e!==null&&pf(t,null),dh(),sv(t),e!==null&&Ns(e,t,o,!0),t.childLanes=n,null}function hf(e,t){return t=_f({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function TC(e,t,a){return il(t,e.child,null,a),e=hf(t,t.pendingProps),e.flags|=2,Pa(t),t.memoizedState=null,e}function XO(e,t,a){var o=t.pendingProps,n=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ue){if(o.mode==="hidden")return e=hf(t,o),t.lanes=536870912,Di(null,e);if(ph(t),(e=dt)?(e=_L(e,lo),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:dr!==null?{id:_o,overflow:zo}:null,retryLane:536870912,hydrationErrors:null},a=QR(e),a.return=t,t.child=a,Gt=t,dt=null)):e=null,e===null)throw pr(t);return t.lanes=536870912,null}return hf(t,o)}var r=e.memoizedState;if(r!==null){var l=r.dehydrated;if(ph(t),n)if(t.flags&256)t.flags&=-257,t=TC(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(_(558));else if(kt||Ns(e,t,a,!1),n=(a&e.childLanes)!==0,kt||n){if(o=lt,o!==null&&(l=vR(o,a),l!==0&&l!==r.retryLane))throw r.retryLane=l,ml(e,l),Ca(o,e,l),bx;qf(),t=TC(e,t,a)}else e=r.treeContext,dt=io(l.nextSibling),Gt=t,Ue=!0,nr=null,lo=!1,e!==null&&JR(t,e),t=hf(t,o),t.flags|=4096;return t}return e=Rn(e.child,{mode:o.mode,children:o.children}),e.ref=t.ref,t.child=e,e.return=t,e}function xf(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(_(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function yh(e,t,a,o,n){return sl(t),a=lx(e,t,a,o,void 0,n),o=sx(),e!==null&&!kt?(ix(e,t,n),Tn(e,t,n)):(Ue&&o&&$h(t),t.flags|=1,qt(e,t,a,n),t.child)}function kC(e,t,a,o,n,r){return sl(t),t.updateQueue=null,a=uv(t,o,a,n),iv(e),o=sx(),e!==null&&!kt?(ix(e,t,r),Tn(e,t,r)):(Ue&&o&&$h(t),t.flags|=1,qt(e,t,a,r),t.child)}function MC(e,t,a,o,n){if(sl(t),t.stateNode===null){var r=fs,l=a.contextType;typeof l=="object"&&l!==null&&(r=Yt(l)),r=new a(o,r),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=xh,t.stateNode=r,r._reactInternals=t,r=t.stateNode,r.props=o,r.state=t.memoizedState,r.refs={},ox(t),l=a.contextType,r.context=typeof l=="object"&&l!==null?Yt(l):fs,r.state=t.memoizedState,l=a.getDerivedStateFromProps,typeof l=="function"&&(Ig(t,a,l,o),r.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(l=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),l!==r.state&&xh.enqueueReplaceState(r,r.state,null),Hi(t,o,r,n),Ui(),r.state=t.memoizedState),typeof r.componentDidMount=="function"&&(t.flags|=4194308),o=!0}else if(e===null){r=t.stateNode;var s=t.memoizedProps,i=cl(a,s);r.props=i;var u=r.context,c=a.contextType;l=fs,typeof c=="object"&&c!==null&&(l=Yt(c));var f=a.getDerivedStateFromProps;c=typeof f=="function"||typeof r.getSnapshotBeforeUpdate=="function",s=t.pendingProps!==s,c||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(s||u!==l)&&vC(t,r,o,l),jn=!1;var d=t.memoizedState;r.state=d,Hi(t,o,r,n),Ui(),u=t.memoizedState,s||d!==u||jn?(typeof f=="function"&&(Ig(t,a,f,o),u=t.memoizedState),(i=jn||RC(t,a,i,o,d,u,l))?(c||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount()),typeof r.componentDidMount=="function"&&(t.flags|=4194308)):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=u),r.props=o,r.state=u,r.context=l,o=i):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{r=t.stateNode,ch(e,t),l=t.memoizedProps,c=cl(a,l),r.props=c,f=t.pendingProps,d=r.context,u=a.contextType,i=fs,typeof u=="object"&&u!==null&&(i=Yt(u)),s=a.getDerivedStateFromProps,(u=typeof s=="function"||typeof r.getSnapshotBeforeUpdate=="function")||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(l!==f||d!==i)&&vC(t,r,o,i),jn=!1,d=t.memoizedState,r.state=d,Hi(t,o,r,n),Ui();var m=t.memoizedState;l!==f||d!==m||jn||e!==null&&e.dependencies!==null&&Af(e.dependencies)?(typeof s=="function"&&(Ig(t,a,s,o),m=t.memoizedState),(c=jn||RC(t,a,c,o,d,m,i)||e!==null&&e.dependencies!==null&&Af(e.dependencies))?(u||typeof r.UNSAFE_componentWillUpdate!="function"&&typeof r.componentWillUpdate!="function"||(typeof r.componentWillUpdate=="function"&&r.componentWillUpdate(o,m,i),typeof r.UNSAFE_componentWillUpdate=="function"&&r.UNSAFE_componentWillUpdate(o,m,i)),typeof r.componentDidUpdate=="function"&&(t.flags|=4),typeof r.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof r.componentDidUpdate!="function"||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=m),r.props=o,r.state=m,r.context=i,o=c):(typeof r.componentDidUpdate!="function"||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),o=!1)}return r=o,xf(e,t),o=(t.flags&128)!==0,r||o?(r=t.stateNode,a=o&&typeof a.getDerivedStateFromError!="function"?null:r.render(),t.flags|=1,e!==null&&o?(t.child=il(t,e.child,null,n),t.child=il(t,null,a,n)):qt(e,t,a,n),t.memoizedState=r.state,e=t.child):e=Tn(e,t,n),e}function AC(e,t,a,o){return ll(),t.flags|=256,qt(e,t,a,o),t.child}var wg={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Eg(e){return{baseLanes:e,cachePool:tv()}}function Tg(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ba),e}function jv(e,t,a){var o=t.pendingProps,n=!1,r=(t.flags&128)!==0,l;if((l=r)||(l=e!==null&&e.memoizedState===null?!1:(Ct.current&2)!==0),l&&(n=!0,t.flags&=-129),l=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ue){if(n?Wn(t):Zn(t),(e=dt)?(e=_L(e,lo),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:dr!==null?{id:_o,overflow:zo}:null,retryLane:536870912,hydrationErrors:null},a=QR(e),a.return=t,t.child=a,Gt=t,dt=null)):e=null,e===null)throw pr(t);return Dh(e)?t.lanes=32:t.lanes=536870912,null}var s=o.children;return o=o.fallback,n?(Zn(t),n=t.mode,s=_f({mode:"hidden",children:s},n),o=al(o,n,a,null),s.return=t,o.return=t,s.sibling=o,t.child=s,o=t.child,o.memoizedState=Eg(a),o.childLanes=Tg(e,l,a),t.memoizedState=wg,Di(null,o)):(Wn(t),Sh(t,s))}var i=e.memoizedState;if(i!==null&&(s=i.dehydrated,s!==null)){if(r)t.flags&256?(Wn(t),t.flags&=-257,t=kg(e,t,a)):t.memoizedState!==null?(Zn(t),t.child=e.child,t.flags|=128,t=null):(Zn(t),s=o.fallback,n=t.mode,o=_f({mode:"visible",children:o.children},n),s=al(s,n,a,null),s.flags|=2,o.return=t,s.return=t,o.sibling=s,t.child=o,il(t,e.child,null,a),o=t.child,o.memoizedState=Eg(a),o.childLanes=Tg(e,l,a),t.memoizedState=wg,t=Di(null,o));else if(Wn(t),Dh(s)){if(l=s.nextSibling&&s.nextSibling.dataset,l)var u=l.dgst;l=u,o=Error(_(419)),o.stack="",o.digest=l,Ji({value:o,source:null,stack:null}),t=kg(e,t,a)}else if(kt||Ns(e,t,a,!1),l=(a&e.childLanes)!==0,kt||l){if(l=lt,l!==null&&(o=vR(l,a),o!==0&&o!==i.retryLane))throw i.retryLane=o,ml(e,o),Ca(l,e,o),bx;Oh(s)||qf(),t=kg(e,t,a)}else Oh(s)?(t.flags|=192,t.child=e.child,t=null):(e=i.treeContext,dt=io(s.nextSibling),Gt=t,Ue=!0,nr=null,lo=!1,e!==null&&JR(t,e),t=Sh(t,o.children),t.flags|=4096);return t}return n?(Zn(t),s=o.fallback,n=t.mode,i=e.child,u=i.sibling,o=Rn(i,{mode:"hidden",children:o.children}),o.subtreeFlags=i.subtreeFlags&65011712,u!==null?s=Rn(u,s):(s=al(s,n,a,null),s.flags|=2),s.return=t,o.return=t,o.sibling=s,t.child=o,Di(null,o),o=t.child,s=e.child.memoizedState,s===null?s=Eg(a):(n=s.cachePool,n!==null?(i=Tt._currentValue,n=n.parent!==i?{parent:i,pool:i}:n):n=tv(),s={baseLanes:s.baseLanes|a,cachePool:n}),o.memoizedState=s,o.childLanes=Tg(e,l,a),t.memoizedState=wg,Di(e.child,o)):(Wn(t),a=e.child,e=a.sibling,a=Rn(a,{mode:"visible",children:o.children}),a.return=t,a.sibling=null,e!==null&&(l=t.deletions,l===null?(t.deletions=[e],t.flags|=16):l.push(e)),t.child=a,t.memoizedState=null,a)}function Sh(e,t){return t=_f({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function _f(e,t){return e=Na(22,e,null,t),e.lanes=0,e}function kg(e,t,a){return il(t,e.child,null,a),e=Sh(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function OC(e,t,a){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),sh(e.return,t,a)}function Mg(e,t,a,o,n,r){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:a,tailMode:n,treeForkCount:r}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=o,l.tail=a,l.tailMode=n,l.treeForkCount=r)}function Kv(e,t,a){var o=t.pendingProps,n=o.revealOrder,r=o.tail;o=o.children;var l=Ct.current,s=(l&2)!==0;if(s?(l=l&1|2,t.flags|=128):l&=1,it(Ct,l),qt(e,t,o,a),o=Ue?$i:0,!s&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&OC(e,a,t);else if(e.tag===19)OC(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(n){case"forwards":for(a=t.child,n=null;a!==null;)e=a.alternate,e!==null&&Pf(e)===null&&(n=a),a=a.sibling;a=n,a===null?(n=t.child,t.child=null):(n=a.sibling,a.sibling=null),Mg(t,!1,n,a,r,o);break;case"backwards":case"unstable_legacy-backwards":for(a=null,n=t.child,t.child=null;n!==null;){if(e=n.alternate,e!==null&&Pf(e)===null){t.child=n;break}e=n.sibling,n.sibling=a,a=n,n=e}Mg(t,!0,a,null,r,o);break;case"together":Mg(t,!1,null,null,void 0,o);break;default:t.memoizedState=null}return t.child}function Tn(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),gr|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Ns(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(_(153));if(t.child!==null){for(e=t.child,a=Rn(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Rn(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function yx(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Af(e)))}function jO(e,t,a){switch(t.tag){case 3:Lf(t,t.stateNode.containerInfo),Kn(t,Tt,e.memoizedState.cache),ll();break;case 27:case 5:Kg(t);break;case 4:Lf(t,t.stateNode.containerInfo);break;case 10:Kn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,ph(t),null;break;case 13:var o=t.memoizedState;if(o!==null)return o.dehydrated!==null?(Wn(t),t.flags|=128,null):(a&t.child.childLanes)!==0?jv(e,t,a):(Wn(t),e=Tn(e,t,a),e!==null?e.sibling:null);Wn(t);break;case 19:var n=(e.flags&128)!==0;if(o=(a&t.childLanes)!==0,o||(Ns(e,t,a,!1),o=(a&t.childLanes)!==0),n){if(o)return Kv(e,t,a);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),it(Ct,Ct.current),o)break;return null;case 22:return t.lanes=0,Xv(e,t,a,t.pendingProps);case 24:Kn(t,Tt,e.memoizedState.cache)}return Tn(e,t,a)}function Wv(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)kt=!0;else{if(!yx(e,a)&&(t.flags&128)===0)return kt=!1,jO(e,t,a);kt=(e.flags&131072)!==0}else kt=!1,Ue&&(t.flags&1048576)!==0&&$R(t,$i,t.index);switch(t.lanes=0,t.tag){case 16:e:{var o=t.pendingProps;if(e=Jr(t.elementType),t.type=e,typeof e=="function")Qh(e)?(o=cl(e,o),t.tag=1,t=MC(null,t,e,o,a)):(t.tag=0,t=yh(null,t,e,o,a));else{if(e!=null){var n=e.$$typeof;if(n===Fh){t.tag=11,t=IC(null,t,e,o,a);break e}else if(n===_h){t.tag=14,t=wC(null,t,e,o,a);break e}}throw t=Xg(e)||e,Error(_(306,t,""))}}return t;case 0:return yh(e,t,t.type,t.pendingProps,a);case 1:return o=t.type,n=cl(o,t.pendingProps),MC(e,t,o,n,a);case 3:e:{if(Lf(t,t.stateNode.containerInfo),e===null)throw Error(_(387));o=t.pendingProps;var r=t.memoizedState;n=r.element,ch(e,t),Hi(t,o,null,a);var l=t.memoizedState;if(o=l.cache,Kn(t,Tt,o),o!==r.cache&&ih(t,[Tt],a,!0),Ui(),o=l.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:l.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=AC(e,t,o,a);break e}else if(o!==n){n=ro(Error(_(424)),t),Ji(n),t=AC(e,t,o,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,dt=io(e.firstChild),Gt=t,Ue=!0,nr=null,lo=!0,a=nv(t,null,o,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ll(),o===n){t=Tn(e,t,a);break e}qt(e,t,o,a)}t=t.child}return t;case 26:return xf(e,t),e===null?(a=eR(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ue||(a=t.type,e=t.pendingProps,o=Xf(or.current).createElement(a),o[Vt]=t,o[Ra]=e,Xt(o,a,e),zt(o),t.stateNode=o):t.memoizedState=eR(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Kg(t),e===null&&Ue&&(o=t.stateNode=zL(t.type,t.pendingProps,or.current),Gt=t,lo=!0,n=dt,xr(t.type)?(Ph=n,dt=io(o.firstChild)):dt=n),qt(e,t,t.pendingProps.children,a),xf(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ue&&((n=o=dt)&&(o=CD(o,t.type,t.pendingProps,lo),o!==null?(t.stateNode=o,Gt=t,dt=io(o.firstChild),lo=!1,n=!0):n=!1),n||pr(t)),Kg(t),n=t.type,r=t.pendingProps,l=e!==null?e.memoizedProps:null,o=r.children,Mh(n,r)?o=null:l!==null&&Mh(n,l)&&(t.flags|=32),t.memoizedState!==null&&(n=lx(e,t,_O,null,null,a),ru._currentValue=n),xf(e,t),qt(e,t,o,a),t.child;case 6:return e===null&&Ue&&((e=a=dt)&&(a=RD(a,t.pendingProps,lo),a!==null?(t.stateNode=a,Gt=t,dt=null,e=!0):e=!1),e||pr(t)),null;case 13:return jv(e,t,a);case 4:return Lf(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=il(t,null,o,a):qt(e,t,o,a),t.child;case 11:return IC(e,t,t.type,t.pendingProps,a);case 7:return qt(e,t,t.pendingProps,a),t.child;case 8:return qt(e,t,t.pendingProps.children,a),t.child;case 12:return qt(e,t,t.pendingProps.children,a),t.child;case 10:return o=t.pendingProps,Kn(t,t.type,o.value),qt(e,t,o.children,a),t.child;case 9:return n=t.type._context,o=t.pendingProps.children,sl(t),n=Yt(n),o=o(n),t.flags|=1,qt(e,t,o,a),t.child;case 14:return wC(e,t,t.type,t.pendingProps,a);case 15:return Yv(e,t,t.type,t.pendingProps,a);case 19:return Kv(e,t,a);case 31:return XO(e,t,a);case 22:return Xv(e,t,a,t.pendingProps);case 24:return sl(t),o=Yt(Tt),e===null?(n=tx(),n===null&&(n=lt,r=ex(),n.pooledCache=r,r.refCount++,r!==null&&(n.pooledCacheLanes|=a),n=r),t.memoizedState={parent:o,cache:n},ox(t),Kn(t,Tt,n)):((e.lanes&a)!==0&&(ch(e,t),Hi(t,null,null,a),Ui()),n=e.memoizedState,r=t.memoizedState,n.parent!==o?(n={parent:o,cache:o},t.memoizedState=n,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=n),Kn(t,Tt,o)):(o=r.cache,Kn(t,Tt,o),o!==n.cache&&ih(t,[Tt],a,!0))),qt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(_(156,t.tag))}function pn(e){e.flags|=4}function Ag(e,t,a,o,n){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(n&335544128)===n)if(e.stateNode.complete)e.flags|=8192;else if(yL())e.flags|=8192;else throw nl=Of,ax}else e.flags&=-16777217}function DC(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!qL(t))if(yL())e.flags|=8192;else throw nl=Of,ax}function ef(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?SR():536870912,e.lanes|=t,Ts|=t)}function wi(e,t){if(!Ue)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var o=null;a!==null;)a.alternate!==null&&(o=a),a=a.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function ft(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,o=0;if(t)for(var n=e.child;n!==null;)a|=n.lanes|n.childLanes,o|=n.subtreeFlags&65011712,o|=n.flags&65011712,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)a|=n.lanes|n.childLanes,o|=n.subtreeFlags,o|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=o,e.childLanes=a,t}function KO(e,t,a){var o=t.pendingProps;switch(Jh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ft(t),null;case 1:return ft(t),null;case 3:return a=t.stateNode,o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),vn(Tt),Rs(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Jl(t)?pn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Rg())),ft(t),null;case 26:var n=t.type,r=t.memoizedState;return e===null?(pn(t),r!==null?(ft(t),DC(t,r)):(ft(t),Ag(t,n,null,o,a))):r?r!==e.memoizedState?(pn(t),ft(t),DC(t,r)):(ft(t),t.flags&=-16777217):(e=e.memoizedProps,e!==o&&pn(t),ft(t),Ag(t,n,e,o,a)),null;case 27:if(If(t),a=or.current,n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&pn(t);else{if(!o){if(t.stateNode===null)throw Error(_(166));return ft(t),null}e=Ho.current,Jl(t)?iC(t,e):(e=zL(n,o,a),t.stateNode=e,pn(t))}return ft(t),null;case 5:if(If(t),n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&pn(t);else{if(!o){if(t.stateNode===null)throw Error(_(166));return ft(t),null}if(r=Ho.current,Jl(t))iC(t,r);else{var l=Xf(or.current);switch(r){case 1:r=l.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:r=l.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":r=l.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":r=l.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":r=l.createElement("div"),r.innerHTML="<script><\\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof o.is=="string"?l.createElement("select",{is:o.is}):l.createElement("select"),o.multiple?r.multiple=!0:o.size&&(r.size=o.size);break;default:r=typeof o.is=="string"?l.createElement(n,{is:o.is}):l.createElement(n)}}r[Vt]=t,r[Ra]=o;e:for(l=t.child;l!==null;){if(l.tag===5||l.tag===6)r.appendChild(l.stateNode);else if(l.tag!==4&&l.tag!==27&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===t)break e;for(;l.sibling===null;){if(l.return===null||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}t.stateNode=r;e:switch(Xt(r,n,o),n){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&pn(t)}}return ft(t),Ag(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==o&&pn(t);else{if(typeof o!="string"&&t.stateNode===null)throw Error(_(166));if(e=or.current,Jl(t)){if(e=t.stateNode,a=t.memoizedProps,o=null,n=Gt,n!==null)switch(n.tag){case 27:case 5:o=n.memoizedProps}e[Vt]=t,e=!!(e.nodeValue===a||o!==null&&o.suppressHydrationWarning===!0||NL(e.nodeValue,a)),e||pr(t,!0)}else e=Xf(e).createTextNode(o),e[Vt]=t,t.stateNode=e}return ft(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(o=Jl(t),a!==null){if(e===null){if(!o)throw Error(_(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(_(557));e[Vt]=t}else ll(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ft(t),e=!1}else a=Rg(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Pa(t),t):(Pa(t),null);if((t.flags&128)!==0)throw Error(_(558))}return ft(t),null;case 13:if(o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=Jl(t),o!==null&&o.dehydrated!==null){if(e===null){if(!n)throw Error(_(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(_(317));n[Vt]=t}else ll(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ft(t),n=!1}else n=Rg(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(Pa(t),t):(Pa(t),null)}return Pa(t),(t.flags&128)!==0?(t.lanes=a,t):(a=o!==null,e=e!==null&&e.memoizedState!==null,a&&(o=t.child,n=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(n=o.alternate.memoizedState.cachePool.pool),r=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(r=o.memoizedState.cachePool.pool),r!==n&&(o.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),ef(t,t.updateQueue),ft(t),null);case 4:return Rs(),e===null&&wx(t.stateNode.containerInfo),ft(t),null;case 10:return vn(t.type),ft(t),null;case 19:if(Ut(Ct),o=t.memoizedState,o===null)return ft(t),null;if(n=(t.flags&128)!==0,r=o.rendering,r===null)if(n)wi(o,!1);else{if(yt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=Pf(e),r!==null){for(t.flags|=128,wi(o,!1),e=r.updateQueue,t.updateQueue=e,ef(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)ZR(a,e),a=a.sibling;return it(Ct,Ct.current&1|2),Ue&&xn(t,o.treeForkCount),t.child}e=e.sibling}o.tail!==null&&Fa()>Uf&&(t.flags|=128,n=!0,wi(o,!1),t.lanes=4194304)}else{if(!n)if(e=Pf(r),e!==null){if(t.flags|=128,n=!0,e=e.updateQueue,t.updateQueue=e,ef(t,e),wi(o,!0),o.tail===null&&o.tailMode==="hidden"&&!r.alternate&&!Ue)return ft(t),null}else 2*Fa()-o.renderingStartTime>Uf&&a!==536870912&&(t.flags|=128,n=!0,wi(o,!1),t.lanes=4194304);o.isBackwards?(r.sibling=t.child,t.child=r):(e=o.last,e!==null?e.sibling=r:t.child=r,o.last=r)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Fa(),e.sibling=null,a=Ct.current,it(Ct,n?a&1|2:a&1),Ue&&xn(t,o.treeForkCount),e):(ft(t),null);case 22:case 23:return Pa(t),nx(),o=t.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(t.flags|=8192):o&&(t.flags|=8192),o?(a&536870912)!==0&&(t.flags&128)===0&&(ft(t),t.subtreeFlags&6&&(t.flags|=8192)):ft(t),a=t.updateQueue,a!==null&&ef(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),o=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),o!==a&&(t.flags|=2048),e!==null&&Ut(ol),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),vn(Tt),ft(t),null;case 25:return null;case 30:return null}throw Error(_(156,t.tag))}function WO(e,t){switch(Jh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return vn(Tt),Rs(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return If(t),null;case 31:if(t.memoizedState!==null){if(Pa(t),t.alternate===null)throw Error(_(340));ll()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Pa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(_(340));ll()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ut(Ct),null;case 4:return Rs(),null;case 10:return vn(t.type),null;case 22:case 23:return Pa(t),nx(),e!==null&&Ut(ol),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return vn(Tt),null;case 25:return null;default:return null}}function Zv(e,t){switch(Jh(t),t.tag){case 3:vn(Tt),Rs();break;case 26:case 27:case 5:If(t);break;case 4:Rs();break;case 31:t.memoizedState!==null&&Pa(t);break;case 13:Pa(t);break;case 19:Ut(Ct);break;case 10:vn(t.type);break;case 22:case 23:Pa(t),nx(),e!==null&&Ut(ol);break;case 24:vn(Tt)}}function hu(e,t){try{var a=t.updateQueue,o=a!==null?a.lastEffect:null;if(o!==null){var n=o.next;a=n;do{if((a.tag&e)===e){o=void 0;var r=a.create,l=a.inst;o=r(),l.destroy=o}a=a.next}while(a!==n)}}catch(s){We(t,t.return,s)}}function mr(e,t,a){try{var o=t.updateQueue,n=o!==null?o.lastEffect:null;if(n!==null){var r=n.next;o=r;do{if((o.tag&e)===e){var l=o.inst,s=l.destroy;if(s!==void 0){l.destroy=void 0,n=t;var i=a,u=s;try{u()}catch(c){We(n,i,c)}}}o=o.next}while(o!==r)}}catch(c){We(t,t.return,c)}}function Qv(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{lv(t,a)}catch(o){We(e,e.return,o)}}}function $v(e,t,a){a.props=cl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(o){We(e,t,o)}}function Vi(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof a=="function"?e.refCleanup=a(o):a.current=o}}catch(n){We(e,t,n)}}function Uo(e,t){var a=e.ref,o=e.refCleanup;if(a!==null)if(typeof o=="function")try{o()}catch(n){We(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(n){We(e,t,n)}else a.current=null}function Jv(e){var t=e.type,a=e.memoizedProps,o=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&o.focus();break e;case"img":a.src?o.src=a.src:a.srcSet&&(o.srcset=a.srcSet)}}catch(n){We(e,e.return,n)}}function Og(e,t,a){try{var o=e.stateNode;gD(o,e.type,a,t),o[Ra]=t}catch(n){We(e,e.return,n)}}function eL(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&xr(e.type)||e.tag===4}function Dg(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||eL(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&xr(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ch(e,t,a){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Sn));else if(o!==4&&(o===27&&xr(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Ch(e,t,a),e=e.sibling;e!==null;)Ch(e,t,a),e=e.sibling}function zf(e,t,a){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(o!==4&&(o===27&&xr(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(zf(e,t,a),e=e.sibling;e!==null;)zf(e,t,a),e=e.sibling}function tL(e){var t=e.stateNode,a=e.memoizedProps;try{for(var o=e.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Xt(t,o,a),t[Vt]=e,t[Ra]=a}catch(r){We(e,e.return,r)}}var bn=!1,Et=!1,Pg=!1,PC=typeof WeakSet=="function"?WeakSet:Set,_t=null;function ZO(e,t){if(e=e.containerInfo,Th=Zf,e=qR(e),Kh(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var o=a.getSelection&&a.getSelection();if(o&&o.rangeCount!==0){a=o.anchorNode;var n=o.anchorOffset,r=o.focusNode;o=o.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var l=0,s=-1,i=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var m;f!==a||n!==0&&f.nodeType!==3||(s=l+n),f!==r||o!==0&&f.nodeType!==3||(i=l+o),f.nodeType===3&&(l+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===a&&++u===n&&(s=l),d===r&&++c===o&&(i=l),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}a=s===-1||i===-1?null:{start:s,end:i}}else a=null}a=a||{start:0,end:0}}else a=null;for(kh={focusedElem:e,selectionRange:a},Zf=!1,_t=t;_t!==null;)if(t=_t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,_t=e;else for(;_t!==null;){switch(t=_t,r=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)n=e[a],n.ref.impl=n.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&r!==null){e=void 0,a=t,n=r.memoizedProps,r=r.memoizedState,o=a.stateNode;try{var h=cl(a.type,n);e=o.getSnapshotBeforeUpdate(h,r),o.__reactInternalSnapshotBeforeUpdate=e}catch(y){We(a,a.return,y)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Ah(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Ah(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(_(163))}if(e=t.sibling,e!==null){e.return=t.return,_t=e;break}_t=t.return}}function aL(e,t,a){var o=a.flags;switch(a.tag){case 0:case 11:case 15:gn(e,a),o&4&&hu(5,a);break;case 1:if(gn(e,a),o&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(l){We(a,a.return,l)}else{var n=cl(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(n,t,e.__reactInternalSnapshotBeforeUpdate)}catch(l){We(a,a.return,l)}}o&64&&Qv(a),o&512&&Vi(a,a.return);break;case 3:if(gn(e,a),o&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{lv(e,t)}catch(l){We(a,a.return,l)}}break;case 27:t===null&&o&4&&tL(a);case 26:case 5:gn(e,a),t===null&&o&4&&Jv(a),o&512&&Vi(a,a.return);break;case 12:gn(e,a);break;case 31:gn(e,a),o&4&&rL(e,a);break;case 13:gn(e,a),o&4&&lL(e,a),o&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=rD.bind(null,a),vD(e,a))));break;case 22:if(o=a.memoizedState!==null||bn,!o){t=t!==null&&t.memoizedState!==null||Et,n=bn;var r=Et;bn=o,(Et=t)&&!r?hn(e,a,(a.subtreeFlags&8772)!==0):gn(e,a),bn=n,Et=r}break;case 30:break;default:gn(e,a)}}function oL(e){var t=e.alternate;t!==null&&(e.alternate=null,oL(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&qh(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var gt=null,ya=!1;function mn(e,t,a){for(a=a.child;a!==null;)nL(e,t,a),a=a.sibling}function nL(e,t,a){if(_a&&typeof _a.onCommitFiberUnmount=="function")try{_a.onCommitFiberUnmount(uu,a)}catch{}switch(a.tag){case 26:Et||Uo(a,t),mn(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:Et||Uo(a,t);var o=gt,n=ya;xr(a.type)&&(gt=a.stateNode,ya=!1),mn(e,t,a),ji(a.stateNode),gt=o,ya=n;break;case 5:Et||Uo(a,t);case 6:if(o=gt,n=ya,gt=null,mn(e,t,a),gt=o,ya=n,gt!==null)if(ya)try{(gt.nodeType===9?gt.body:gt.nodeName==="HTML"?gt.ownerDocument.body:gt).removeChild(a.stateNode)}catch(r){We(a,t,r)}else try{gt.removeChild(a.stateNode)}catch(r){We(a,t,r)}break;case 18:gt!==null&&(ya?(e=gt,WC(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),Os(e)):WC(gt,a.stateNode));break;case 4:o=gt,n=ya,gt=a.stateNode.containerInfo,ya=!0,mn(e,t,a),gt=o,ya=n;break;case 0:case 11:case 14:case 15:mr(2,a,t),Et||mr(4,a,t),mn(e,t,a);break;case 1:Et||(Uo(a,t),o=a.stateNode,typeof o.componentWillUnmount=="function"&&$v(a,t,o)),mn(e,t,a);break;case 21:mn(e,t,a);break;case 22:Et=(o=Et)||a.memoizedState!==null,mn(e,t,a),Et=o;break;default:mn(e,t,a)}}function rL(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Os(e)}catch(a){We(t,t.return,a)}}}function lL(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Os(e)}catch(a){We(t,t.return,a)}}function QO(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new PC),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new PC),t;default:throw Error(_(435,e.tag))}}function tf(e,t){var a=QO(e);t.forEach(function(o){if(!a.has(o)){a.add(o);var n=lD.bind(null,e,o);o.then(n,n)}})}function xa(e,t){var a=t.deletions;if(a!==null)for(var o=0;o<a.length;o++){var n=a[o],r=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 27:if(xr(s.type)){gt=s.stateNode,ya=!1;break e}break;case 5:gt=s.stateNode,ya=!1;break e;case 3:case 4:gt=s.stateNode.containerInfo,ya=!0;break e}s=s.return}if(gt===null)throw Error(_(160));nL(r,l,n),gt=null,ya=!1,r=n.alternate,r!==null&&(r.return=null),n.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)sL(t,e),t=t.sibling}var Ro=null;function sL(e,t){var a=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:xa(t,e),ba(e),o&4&&(mr(3,e,e.return),hu(3,e),mr(5,e,e.return));break;case 1:xa(t,e),ba(e),o&512&&(Et||a===null||Uo(a,a.return)),o&64&&bn&&(e=e.updateQueue,e!==null&&(o=e.callbacks,o!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?o:a.concat(o))));break;case 26:var n=Ro;if(xa(t,e),ba(e),o&512&&(Et||a===null||Uo(a,a.return)),o&4){var r=a!==null?a.memoizedState:null;if(o=e.memoizedState,a===null)if(o===null)if(e.stateNode===null){e:{o=e.type,a=e.memoizedProps,n=n.ownerDocument||n;t:switch(o){case"title":r=n.getElementsByTagName("title")[0],(!r||r[du]||r[Vt]||r.namespaceURI==="http://www.w3.org/2000/svg"||r.hasAttribute("itemprop"))&&(r=n.createElement(o),n.head.insertBefore(r,n.querySelector("head > title"))),Xt(r,o,a),r[Vt]=e,zt(r),o=r;break e;case"link":var l=aR("link","href",n).get(o+(a.href||""));if(l){for(var s=0;s<l.length;s++)if(r=l[s],r.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&r.getAttribute("rel")===(a.rel==null?null:a.rel)&&r.getAttribute("title")===(a.title==null?null:a.title)&&r.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){l.splice(s,1);break t}}r=n.createElement(o),Xt(r,o,a),n.head.appendChild(r);break;case"meta":if(l=aR("meta","content",n).get(o+(a.content||""))){for(s=0;s<l.length;s++)if(r=l[s],r.getAttribute("content")===(a.content==null?null:""+a.content)&&r.getAttribute("name")===(a.name==null?null:a.name)&&r.getAttribute("property")===(a.property==null?null:a.property)&&r.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&r.getAttribute("charset")===(a.charSet==null?null:a.charSet)){l.splice(s,1);break t}}r=n.createElement(o),Xt(r,o,a),n.head.appendChild(r);break;default:throw Error(_(468,o))}r[Vt]=e,zt(r),o=r}e.stateNode=o}else oR(n,e.type,e.stateNode);else e.stateNode=tR(n,o,e.memoizedProps);else r!==o?(r===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):r.count--,o===null?oR(n,e.type,e.stateNode):tR(n,o,e.memoizedProps)):o===null&&e.stateNode!==null&&Og(e,e.memoizedProps,a.memoizedProps)}break;case 27:xa(t,e),ba(e),o&512&&(Et||a===null||Uo(a,a.return)),a!==null&&o&4&&Og(e,e.memoizedProps,a.memoizedProps);break;case 5:if(xa(t,e),ba(e),o&512&&(Et||a===null||Uo(a,a.return)),e.flags&32){n=e.stateNode;try{Ls(n,"")}catch(h){We(e,e.return,h)}}o&4&&e.stateNode!=null&&(n=e.memoizedProps,Og(e,n,a!==null?a.memoizedProps:n)),o&1024&&(Pg=!0);break;case 6:if(xa(t,e),ba(e),o&4){if(e.stateNode===null)throw Error(_(162));o=e.memoizedProps,a=e.stateNode;try{a.nodeValue=o}catch(h){We(e,e.return,h)}}break;case 3:if(Sf=null,n=Ro,Ro=jf(t.containerInfo),xa(t,e),Ro=n,ba(e),o&4&&a!==null&&a.memoizedState.isDehydrated)try{Os(t.containerInfo)}catch(h){We(e,e.return,h)}Pg&&(Pg=!1,iL(e));break;case 4:o=Ro,Ro=jf(e.stateNode.containerInfo),xa(t,e),ba(e),Ro=o;break;case 12:xa(t,e),ba(e);break;case 31:xa(t,e),ba(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,tf(e,o)));break;case 13:xa(t,e),ba(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(ud=Fa()),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,tf(e,o)));break;case 22:n=e.memoizedState!==null;var i=a!==null&&a.memoizedState!==null,u=bn,c=Et;if(bn=u||n,Et=c||i,xa(t,e),Et=c,bn=u,ba(e),o&8192)e:for(t=e.stateNode,t._visibility=n?t._visibility&-2:t._visibility|1,n&&(a===null||i||bn||Et||el(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){i=a=t;try{if(r=i.stateNode,n)l=r.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none";else{s=i.stateNode;var f=i.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;s.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(h){We(i,i.return,h)}}}else if(t.tag===6){if(a===null){i=t;try{i.stateNode.nodeValue=n?"":i.memoizedProps}catch(h){We(i,i.return,h)}}}else if(t.tag===18){if(a===null){i=t;try{var m=i.stateNode;n?ZC(m,!0):ZC(i.stateNode,!1)}catch(h){We(i,i.return,h)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}o&4&&(o=e.updateQueue,o!==null&&(a=o.retryQueue,a!==null&&(o.retryQueue=null,tf(e,a))));break;case 19:xa(t,e),ba(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,tf(e,o)));break;case 30:break;case 21:break;default:xa(t,e),ba(e)}}function ba(e){var t=e.flags;if(t&2){try{for(var a,o=e.return;o!==null;){if(eL(o)){a=o;break}o=o.return}if(a==null)throw Error(_(160));switch(a.tag){case 27:var n=a.stateNode,r=Dg(e);zf(e,r,n);break;case 5:var l=a.stateNode;a.flags&32&&(Ls(l,""),a.flags&=-33);var s=Dg(e);zf(e,s,l);break;case 3:case 4:var i=a.stateNode.containerInfo,u=Dg(e);Ch(e,u,i);break;default:throw Error(_(161))}}catch(c){We(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function iL(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;iL(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function gn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)aL(e,t.alternate,t),t=t.sibling}function el(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:mr(4,t,t.return),el(t);break;case 1:Uo(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&$v(t,t.return,a),el(t);break;case 27:ji(t.stateNode);case 26:case 5:Uo(t,t.return),el(t);break;case 22:t.memoizedState===null&&el(t);break;case 30:el(t);break;default:el(t)}e=e.sibling}}function hn(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var o=t.alternate,n=e,r=t,l=r.flags;switch(r.tag){case 0:case 11:case 15:hn(n,r,a),hu(4,r);break;case 1:if(hn(n,r,a),o=r,n=o.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(u){We(o,o.return,u)}if(o=r,n=o.updateQueue,n!==null){var s=o.stateNode;try{var i=n.shared.hiddenCallbacks;if(i!==null)for(n.shared.hiddenCallbacks=null,n=0;n<i.length;n++)rv(i[n],s)}catch(u){We(o,o.return,u)}}a&&l&64&&Qv(r),Vi(r,r.return);break;case 27:tL(r);case 26:case 5:hn(n,r,a),a&&o===null&&l&4&&Jv(r),Vi(r,r.return);break;case 12:hn(n,r,a);break;case 31:hn(n,r,a),a&&l&4&&rL(n,r);break;case 13:hn(n,r,a),a&&l&4&&lL(n,r);break;case 22:r.memoizedState===null&&hn(n,r,a),Vi(r,r.return);break;case 30:break;default:hn(n,r,a)}t=t.sibling}}function Sx(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&mu(a))}function Cx(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&mu(e))}function Co(e,t,a,o){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)uL(e,t,a,o),t=t.sibling}function uL(e,t,a,o){var n=t.flags;switch(t.tag){case 0:case 11:case 15:Co(e,t,a,o),n&2048&&hu(9,t);break;case 1:Co(e,t,a,o);break;case 3:Co(e,t,a,o),n&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&mu(e)));break;case 12:if(n&2048){Co(e,t,a,o),e=t.stateNode;try{var r=t.memoizedProps,l=r.id,s=r.onPostCommit;typeof s=="function"&&s(l,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(i){We(t,t.return,i)}}else Co(e,t,a,o);break;case 31:Co(e,t,a,o);break;case 13:Co(e,t,a,o);break;case 23:break;case 22:r=t.stateNode,l=t.alternate,t.memoizedState!==null?r._visibility&2?Co(e,t,a,o):Gi(e,t):r._visibility&2?Co(e,t,a,o):(r._visibility|=2,ts(e,t,a,o,(t.subtreeFlags&10256)!==0||!1)),n&2048&&Sx(l,t);break;case 24:Co(e,t,a,o),n&2048&&Cx(t.alternate,t);break;default:Co(e,t,a,o)}}function ts(e,t,a,o,n){for(n=n&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var r=e,l=t,s=a,i=o,u=l.flags;switch(l.tag){case 0:case 11:case 15:ts(r,l,s,i,n),hu(8,l);break;case 23:break;case 22:var c=l.stateNode;l.memoizedState!==null?c._visibility&2?ts(r,l,s,i,n):Gi(r,l):(c._visibility|=2,ts(r,l,s,i,n)),n&&u&2048&&Sx(l.alternate,l);break;case 24:ts(r,l,s,i,n),n&&u&2048&&Cx(l.alternate,l);break;default:ts(r,l,s,i,n)}t=t.sibling}}function Gi(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,o=t,n=o.flags;switch(o.tag){case 22:Gi(a,o),n&2048&&Sx(o.alternate,o);break;case 24:Gi(a,o),n&2048&&Cx(o.alternate,o);break;default:Gi(a,o)}t=t.sibling}}var Pi=8192;function es(e,t,a){if(e.subtreeFlags&Pi)for(e=e.child;e!==null;)cL(e,t,a),e=e.sibling}function cL(e,t,a){switch(e.tag){case 26:es(e,t,a),e.flags&Pi&&e.memoizedState!==null&&ND(a,Ro,e.memoizedState,e.memoizedProps);break;case 5:es(e,t,a);break;case 3:case 4:var o=Ro;Ro=jf(e.stateNode.containerInfo),es(e,t,a),Ro=o;break;case 22:e.memoizedState===null&&(o=e.alternate,o!==null&&o.memoizedState!==null?(o=Pi,Pi=16777216,es(e,t,a),Pi=o):es(e,t,a));break;default:es(e,t,a)}}function fL(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ei(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var o=t[a];_t=o,pL(o,e)}fL(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)dL(e),e=e.sibling}function dL(e){switch(e.tag){case 0:case 11:case 15:Ei(e),e.flags&2048&&mr(9,e,e.return);break;case 3:Ei(e);break;case 12:Ei(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,bf(e)):Ei(e);break;default:Ei(e)}}function bf(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var o=t[a];_t=o,pL(o,e)}fL(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:mr(8,t,t.return),bf(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,bf(t));break;default:bf(t)}e=e.sibling}}function pL(e,t){for(;_t!==null;){var a=_t;switch(a.tag){case 0:case 11:case 15:mr(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var o=a.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:mu(a.memoizedState.cache)}if(o=a.child,o!==null)o.return=a,_t=o;else e:for(a=e;_t!==null;){o=_t;var n=o.sibling,r=o.return;if(oL(o),o===a){_t=null;break e}if(n!==null){n.return=r,_t=n;break e}_t=r}}}var $O={getCacheForType:function(e){var t=Yt(Tt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Yt(Tt).controller.signal}},JO=typeof WeakMap=="function"?WeakMap:Map,Ge=0,lt=null,_e=null,ze=0,Ke=0,Da=null,er=!1,Fs=!1,Rx=!1,kn=0,yt=0,gr=0,rl=0,vx=0,Ba=0,Ts=0,Yi=null,Sa=null,Rh=!1,ud=0,mL=0,Uf=1/0,Hf=null,sr=null,Dt=0,ir=null,ks=null,Ln=0,vh=0,Lh=null,gL=null,Xi=0,Ih=null;function Ua(){return(Ge&2)!==0&&ze!==0?ze&-ze:ye.T!==null?Ix():LR()}function hL(){if(Ba===0)if((ze&536870912)===0||Ue){var e=Yc;Yc<<=1,(Yc&3932160)===0&&(Yc=262144),Ba=e}else Ba=536870912;return e=qa.current,e!==null&&(e.flags|=32),Ba}function Ca(e,t,a){(e===lt&&(Ke===2||Ke===9)||e.cancelPendingCommit!==null)&&(Ms(e,0),tr(e,ze,Ba,!1)),fu(e,a),((Ge&2)===0||e!==lt)&&(e===lt&&((Ge&2)===0&&(rl|=a),yt===4&&tr(e,ze,Ba,!1)),Vo(e))}function xL(e,t,a){if((Ge&6)!==0)throw Error(_(327));var o=!a&&(t&127)===0&&(t&e.expiredLanes)===0||cu(e,t),n=o?aD(e,t):Ng(e,t,!0),r=o;do{if(n===0){Fs&&!o&&tr(e,t,0,!1);break}else{if(a=e.current.alternate,r&&!eD(a)){n=Ng(e,t,!1),r=!1;continue}if(n===2){if(r=t,e.errorRecoveryDisabledLanes&r)var l=0;else l=e.pendingLanes&-536870913,l=l!==0?l:l&536870912?536870912:0;if(l!==0){t=l;e:{var s=e;n=Yi;var i=s.current.memoizedState.isDehydrated;if(i&&(Ms(s,l).flags|=256),l=Ng(s,l,!1),l!==2){if(Rx&&!i){s.errorRecoveryDisabledLanes|=r,rl|=r,n=4;break e}r=Sa,Sa=n,r!==null&&(Sa===null?Sa=r:Sa.push.apply(Sa,r))}n=l}if(r=!1,n!==2)continue}}if(n===1){Ms(e,0),tr(e,t,0,!0);break}e:{switch(o=e,r=n,r){case 0:case 1:throw Error(_(345));case 4:if((t&4194048)!==t)break;case 6:tr(o,t,Ba,!er);break e;case 2:Sa=null;break;case 3:case 5:break;default:throw Error(_(329))}if((t&62914560)===t&&(n=ud+300-Fa(),10<n)){if(tr(o,t,Ba,!er),$f(o,0,!0)!==0)break e;Ln=t,o.timeoutHandle=FL(NC.bind(null,o,a,Sa,Hf,Rh,t,Ba,rl,Ts,er,r,"Throttled",-0,0),n);break e}NC(o,a,Sa,Hf,Rh,t,Ba,rl,Ts,er,r,null,-0,0)}}break}while(!0);Vo(e)}function NC(e,t,a,o,n,r,l,s,i,u,c,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Sn},cL(t,r,f);var h=(r&62914560)===r?ud-Fa():(r&4194048)===r?mL-Fa():0;if(h=BD(f,h),h!==null){Ln=r,e.cancelPendingCommit=h(FC.bind(null,e,t,r,a,o,n,l,s,i,c,f,null,d,m)),tr(e,r,l,!u);return}}FC(e,t,r,a,o,n,l,s,i)}function eD(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var o=0;o<a.length;o++){var n=a[o],r=n.getSnapshot;n=n.value;try{if(!Ha(r(),n))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function tr(e,t,a,o){t&=~vx,t&=~rl,e.suspendedLanes|=t,e.pingedLanes&=~t,o&&(e.warmLanes|=t),o=e.expirationTimes;for(var n=t;0<n;){var r=31-za(n),l=1<<r;o[r]=-1,n&=~l}a!==0&&CR(e,a,t)}function cd(){return(Ge&6)===0?(xu(0,!1),!1):!0}function Lx(){if(_e!==null){if(Ke===0)var e=_e.return;else e=_e,Cn=gl=null,ux(e),ys=null,eu=0,e=_e;for(;e!==null;)Zv(e.alternate,e),e=e.return;_e=null}}function Ms(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,bD(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ln=0,Lx(),lt=e,_e=a=Rn(e.current,null),ze=t,Ke=0,Da=null,er=!1,Fs=cu(e,t),Rx=!1,Ts=Ba=vx=rl=gr=yt=0,Sa=Yi=null,Rh=!1,(t&8)!==0&&(t|=t&32);var o=e.entangledLanes;if(o!==0)for(e=e.entanglements,o&=t;0<o;){var n=31-za(o),r=1<<n;t|=e[n],o&=~r}return kn=t,ad(),a}function bL(e,t){Ae=null,ye.H=au,t===Bs||t===nd?(t=pC(),Ke=3):t===ax?(t=pC(),Ke=4):Ke=t===bx?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Da=t,_e===null&&(yt=1,Ff(e,ro(t,e.current)))}function yL(){var e=qa.current;return e===null?!0:(ze&4194048)===ze?so===null:(ze&62914560)===ze||(ze&536870912)!==0?e===so:!1}function SL(){var e=ye.H;return ye.H=au,e===null?au:e}function CL(){var e=ye.A;return ye.A=$O,e}function qf(){yt=4,er||(ze&4194048)!==ze&&qa.current!==null||(Fs=!0),(gr&134217727)===0&&(rl&134217727)===0||lt===null||tr(lt,ze,Ba,!1)}function Ng(e,t,a){var o=Ge;Ge|=2;var n=SL(),r=CL();(lt!==e||ze!==t)&&(Hf=null,Ms(e,t)),t=!1;var l=yt;e:do try{if(Ke!==0&&_e!==null){var s=_e,i=Da;switch(Ke){case 8:Lx(),l=6;break e;case 3:case 2:case 9:case 6:qa.current===null&&(t=!0);var u=Ke;if(Ke=0,Da=null,ms(e,s,i,u),a&&Fs){l=0;break e}break;default:u=Ke,Ke=0,Da=null,ms(e,s,i,u)}}tD(),l=yt;break}catch(c){bL(e,c)}while(!0);return t&&e.shellSuspendCounter++,Cn=gl=null,Ge=o,ye.H=n,ye.A=r,_e===null&&(lt=null,ze=0,ad()),l}function tD(){for(;_e!==null;)RL(_e)}function aD(e,t){var a=Ge;Ge|=2;var o=SL(),n=CL();lt!==e||ze!==t?(Hf=null,Uf=Fa()+500,Ms(e,t)):Fs=cu(e,t);e:do try{if(Ke!==0&&_e!==null){t=_e;var r=Da;t:switch(Ke){case 1:Ke=0,Da=null,ms(e,t,r,1);break;case 2:case 9:if(dC(r)){Ke=0,Da=null,BC(t);break}t=function(){Ke!==2&&Ke!==9||lt!==e||(Ke=7),Vo(e)},r.then(t,t);break e;case 3:Ke=7;break e;case 4:Ke=5;break e;case 7:dC(r)?(Ke=0,Da=null,BC(t)):(Ke=0,Da=null,ms(e,t,r,7));break;case 5:var l=null;switch(_e.tag){case 26:l=_e.memoizedState;case 5:case 27:var s=_e;if(l?qL(l):s.stateNode.complete){Ke=0,Da=null;var i=s.sibling;if(i!==null)_e=i;else{var u=s.return;u!==null?(_e=u,fd(u)):_e=null}break t}}Ke=0,Da=null,ms(e,t,r,5);break;case 6:Ke=0,Da=null,ms(e,t,r,6);break;case 8:Lx(),yt=6;break e;default:throw Error(_(462))}}oD();break}catch(c){bL(e,c)}while(!0);return Cn=gl=null,ye.H=o,ye.A=n,Ge=a,_e!==null?0:(lt=null,ze=0,ad(),yt)}function oD(){for(;_e!==null&&!w1();)RL(_e)}function RL(e){var t=Wv(e.alternate,e,kn);e.memoizedProps=e.pendingProps,t===null?fd(e):_e=t}function BC(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=kC(a,t,t.pendingProps,t.type,void 0,ze);break;case 11:t=kC(a,t,t.pendingProps,t.type.render,t.ref,ze);break;case 5:ux(t);default:Zv(a,t),t=_e=ZR(t,kn),t=Wv(a,t,kn)}e.memoizedProps=e.pendingProps,t===null?fd(e):_e=t}function ms(e,t,a,o){Cn=gl=null,ux(t),ys=null,eu=0;var n=t.return;try{if(YO(e,n,t,a,ze)){yt=1,Ff(e,ro(a,e.current)),_e=null;return}}catch(r){if(n!==null)throw _e=n,r;yt=1,Ff(e,ro(a,e.current)),_e=null;return}t.flags&32768?(Ue||o===1?e=!0:Fs||(ze&536870912)!==0?e=!1:(er=e=!0,(o===2||o===9||o===3||o===6)&&(o=qa.current,o!==null&&o.tag===13&&(o.flags|=16384))),vL(t,e)):fd(t)}function fd(e){var t=e;do{if((t.flags&32768)!==0){vL(t,er);return}e=t.return;var a=KO(t.alternate,t,kn);if(a!==null){_e=a;return}if(t=t.sibling,t!==null){_e=t;return}_e=t=e}while(t!==null);yt===0&&(yt=5)}function vL(e,t){do{var a=WO(e.alternate,e);if(a!==null){a.flags&=32767,_e=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){_e=e;return}_e=e=a}while(e!==null);yt=6,_e=null}function FC(e,t,a,o,n,r,l,s,i){e.cancelPendingCommit=null;do dd();while(Dt!==0);if((Ge&6)!==0)throw Error(_(327));if(t!==null){if(t===e.current)throw Error(_(177));if(r=t.lanes|t.childLanes,r|=Wh,B1(e,a,r,l,s,i),e===lt&&(_e=lt=null,ze=0),ks=t,ir=e,Ln=a,vh=r,Lh=n,gL=o,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,sD(wf,function(){return TL(),null})):(e.callbackNode=null,e.callbackPriority=0),o=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||o){o=ye.T,ye.T=null,n=Ye.p,Ye.p=2,l=Ge,Ge|=4;try{ZO(e,t,a)}finally{Ge=l,Ye.p=n,ye.T=o}}Dt=1,LL(),IL(),wL()}}function LL(){if(Dt===1){Dt=0;var e=ir,t=ks,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=ye.T,ye.T=null;var o=Ye.p;Ye.p=2;var n=Ge;Ge|=4;try{sL(t,e);var r=kh,l=qR(e.containerInfo),s=r.focusedElem,i=r.selectionRange;if(l!==s&&s&&s.ownerDocument&&HR(s.ownerDocument.documentElement,s)){if(i!==null&&Kh(s)){var u=i.start,c=i.end;if(c===void 0&&(c=u),"selectionStart"in s)s.selectionStart=u,s.selectionEnd=Math.min(c,s.value.length);else{var f=s.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var m=d.getSelection(),h=s.textContent.length,y=Math.min(i.start,h),S=i.end===void 0?y:Math.min(i.end,h);!m.extend&&y>S&&(l=S,S=y,y=l);var g=rC(s,y),p=rC(s,S);if(g&&p&&(m.rangeCount!==1||m.anchorNode!==g.node||m.anchorOffset!==g.offset||m.focusNode!==p.node||m.focusOffset!==p.offset)){var x=f.createRange();x.setStart(g.node,g.offset),m.removeAllRanges(),y>S?(m.addRange(x),m.extend(p.node,p.offset)):(x.setEnd(p.node,p.offset),m.addRange(x))}}}}for(f=[],m=s;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<f.length;s++){var b=f[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}Zf=!!Th,kh=Th=null}finally{Ge=n,Ye.p=o,ye.T=a}}e.current=t,Dt=2}}function IL(){if(Dt===2){Dt=0;var e=ir,t=ks,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=ye.T,ye.T=null;var o=Ye.p;Ye.p=2;var n=Ge;Ge|=4;try{aL(e,t.alternate,t)}finally{Ge=n,Ye.p=o,ye.T=a}}Dt=3}}function wL(){if(Dt===4||Dt===3){Dt=0,E1();var e=ir,t=ks,a=Ln,o=gL;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Dt=5:(Dt=0,ks=ir=null,EL(e,e.pendingLanes));var n=e.pendingLanes;if(n===0&&(sr=null),Hh(a),t=t.stateNode,_a&&typeof _a.onCommitFiberRoot=="function")try{_a.onCommitFiberRoot(uu,t,void 0,(t.current.flags&128)===128)}catch{}if(o!==null){t=ye.T,n=Ye.p,Ye.p=2,ye.T=null;try{for(var r=e.onRecoverableError,l=0;l<o.length;l++){var s=o[l];r(s.value,{componentStack:s.stack})}}finally{ye.T=t,Ye.p=n}}(Ln&3)!==0&&dd(),Vo(e),n=e.pendingLanes,(a&261930)!==0&&(n&42)!==0?e===Ih?Xi++:(Xi=0,Ih=e):Xi=0,xu(0,!1)}}function EL(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,mu(t)))}function dd(){return LL(),IL(),wL(),TL()}function TL(){if(Dt!==5)return!1;var e=ir,t=vh;vh=0;var a=Hh(Ln),o=ye.T,n=Ye.p;try{Ye.p=32>a?32:a,ye.T=null,a=Lh,Lh=null;var r=ir,l=Ln;if(Dt=0,ks=ir=null,Ln=0,(Ge&6)!==0)throw Error(_(331));var s=Ge;if(Ge|=4,dL(r.current),uL(r,r.current,l,a),Ge=s,xu(0,!1),_a&&typeof _a.onPostCommitFiberRoot=="function")try{_a.onPostCommitFiberRoot(uu,r)}catch{}return!0}finally{Ye.p=n,ye.T=o,EL(e,t)}}function _C(e,t,a){t=ro(a,t),t=bh(e.stateNode,t,2),e=lr(e,t,2),e!==null&&(fu(e,2),Vo(e))}function We(e,t,a){if(e.tag===3)_C(e,e,a);else for(;t!==null;){if(t.tag===3){_C(t,e,a);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(sr===null||!sr.has(o))){e=ro(a,e),a=Vv(2),o=lr(t,a,2),o!==null&&(Gv(a,o,t,e),fu(o,2),Vo(o));break}}t=t.return}}function Bg(e,t,a){var o=e.pingCache;if(o===null){o=e.pingCache=new JO;var n=new Set;o.set(t,n)}else n=o.get(t),n===void 0&&(n=new Set,o.set(t,n));n.has(a)||(Rx=!0,n.add(a),e=nD.bind(null,e,t,a),t.then(e,e))}function nD(e,t,a){var o=e.pingCache;o!==null&&o.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,lt===e&&(ze&a)===a&&(yt===4||yt===3&&(ze&62914560)===ze&&300>Fa()-ud?(Ge&2)===0&&Ms(e,0):vx|=a,Ts===ze&&(Ts=0)),Vo(e)}function kL(e,t){t===0&&(t=SR()),e=ml(e,t),e!==null&&(fu(e,t),Vo(e))}function rD(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),kL(e,a)}function lD(e,t){var a=0;switch(e.tag){case 31:case 13:var o=e.stateNode,n=e.memoizedState;n!==null&&(a=n.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(_(314))}o!==null&&o.delete(t),kL(e,a)}function sD(e,t){return zh(e,t)}var Vf=null,as=null,wh=!1,Gf=!1,Fg=!1,ar=0;function Vo(e){e!==as&&e.next===null&&(as===null?Vf=as=e:as=as.next=e),Gf=!0,wh||(wh=!0,uD())}function xu(e,t){if(!Fg&&Gf){Fg=!0;do for(var a=!1,o=Vf;o!==null;){if(!t)if(e!==0){var n=o.pendingLanes;if(n===0)var r=0;else{var l=o.suspendedLanes,s=o.pingedLanes;r=(1<<31-za(42|e)+1)-1,r&=n&~(l&~s),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,zC(o,r))}else r=ze,r=$f(o,o===lt?r:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(r&3)===0||cu(o,r)||(a=!0,zC(o,r));o=o.next}while(a);Fg=!1}}function iD(){ML()}function ML(){Gf=wh=!1;var e=0;ar!==0&&xD()&&(e=ar);for(var t=Fa(),a=null,o=Vf;o!==null;){var n=o.next,r=AL(o,t);r===0?(o.next=null,a===null?Vf=n:a.next=n,n===null&&(as=a)):(a=o,(e!==0||(r&3)!==0)&&(Gf=!0)),o=n}Dt!==0&&Dt!==5||xu(e,!1),ar!==0&&(ar=0)}function AL(e,t){for(var a=e.suspendedLanes,o=e.pingedLanes,n=e.expirationTimes,r=e.pendingLanes&-62914561;0<r;){var l=31-za(r),s=1<<l,i=n[l];i===-1?((s&a)===0||(s&o)!==0)&&(n[l]=N1(s,t)):i<=t&&(e.expiredLanes|=s),r&=~s}if(t=lt,a=ze,a=$f(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o=e.callbackNode,a===0||e===t&&(Ke===2||Ke===9)||e.cancelPendingCommit!==null)return o!==null&&o!==null&&dg(o),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||cu(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(o!==null&&dg(o),Hh(a)){case 2:case 8:a=bR;break;case 32:a=wf;break;case 268435456:a=yR;break;default:a=wf}return o=OL.bind(null,e),a=zh(a,o),e.callbackPriority=t,e.callbackNode=a,t}return o!==null&&o!==null&&dg(o),e.callbackPriority=2,e.callbackNode=null,2}function OL(e,t){if(Dt!==0&&Dt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(dd()&&e.callbackNode!==a)return null;var o=ze;return o=$f(e,e===lt?o:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o===0?null:(xL(e,o,t),AL(e,Fa()),e.callbackNode!=null&&e.callbackNode===a?OL.bind(null,e):null)}function zC(e,t){if(dd())return null;xL(e,t,!0)}function uD(){yD(function(){(Ge&6)!==0?zh(xR,iD):ML()})}function Ix(){if(ar===0){var e=Is;e===0&&(e=Gc,Gc<<=1,(Gc&261888)===0&&(Gc=256)),ar=e}return ar}function UC(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:uf(""+e)}function HC(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function cD(e,t,a,o,n){if(t==="submit"&&a&&a.stateNode===n){var r=UC((n[Ra]||null).action),l=o.submitter;l&&(t=(t=l[Ra]||null)?UC(t.formAction):l.getAttribute("formAction"),t!==null&&(r=t,l=null));var s=new Jf("action","action",null,o,n);e.push({event:s,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(ar!==0){var i=l?HC(n,l):new FormData(n);hh(a,{pending:!0,data:i,method:n.method,action:r},null,i)}}else typeof r=="function"&&(s.preventDefault(),i=l?HC(n,l):new FormData(n),hh(a,{pending:!0,data:i,method:n.method,action:r},r,i))},currentTarget:n}]})}}for(af=0;af<nh.length;af++)of=nh[af],qC=of.toLowerCase(),VC=of[0].toUpperCase()+of.slice(1),vo(qC,"on"+VC);var of,qC,VC,af;vo(GR,"onAnimationEnd");vo(YR,"onAnimationIteration");vo(XR,"onAnimationStart");vo("dblclick","onDoubleClick");vo("focusin","onFocus");vo("focusout","onBlur");vo(TO,"onTransitionRun");vo(kO,"onTransitionStart");vo(MO,"onTransitionCancel");vo(jR,"onTransitionEnd");vs("onMouseEnter",["mouseout","mouseover"]);vs("onMouseLeave",["mouseout","mouseover"]);vs("onPointerEnter",["pointerout","pointerover"]);vs("onPointerLeave",["pointerout","pointerover"]);fl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fl("onBeforeInput",["compositionend","keypress","textInput","paste"]);fl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ou="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),fD=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ou));function DL(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var o=e[a],n=o.event;o=o.listeners;e:{var r=void 0;if(t)for(var l=o.length-1;0<=l;l--){var s=o[l],i=s.instance,u=s.currentTarget;if(s=s.listener,i!==r&&n.isPropagationStopped())break e;r=s,n.currentTarget=u;try{r(n)}catch(c){Tf(c)}n.currentTarget=null,r=i}else for(l=0;l<o.length;l++){if(s=o[l],i=s.instance,u=s.currentTarget,s=s.listener,i!==r&&n.isPropagationStopped())break e;r=s,n.currentTarget=u;try{r(n)}catch(c){Tf(c)}n.currentTarget=null,r=i}}}}function Fe(e,t){var a=t[Zg];a===void 0&&(a=t[Zg]=new Set);var o=e+"__bubble";a.has(o)||(PL(t,e,2,!1),a.add(o))}function _g(e,t,a){var o=0;t&&(o|=4),PL(a,e,o,t)}var nf="_reactListening"+Math.random().toString(36).slice(2);function wx(e){if(!e[nf]){e[nf]=!0,IR.forEach(function(a){a!=="selectionchange"&&(fD.has(a)||_g(a,!1,e),_g(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[nf]||(t[nf]=!0,_g("selectionchange",!1,t))}}function PL(e,t,a,o){switch(jL(t)){case 2:var n=zD;break;case 8:n=UD;break;default:n=Mx}a=n.bind(null,t,a,e),n=void 0,!th||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),o?n!==void 0?e.addEventListener(t,a,{capture:!0,passive:n}):e.addEventListener(t,a,!0):n!==void 0?e.addEventListener(t,a,{passive:n}):e.addEventListener(t,a,!1)}function zg(e,t,a,o,n){var r=o;if((t&1)===0&&(t&2)===0&&o!==null)e:for(;;){if(o===null)return;var l=o.tag;if(l===3||l===4){var s=o.stateNode.containerInfo;if(s===n)break;if(l===4)for(l=o.return;l!==null;){var i=l.tag;if((i===3||i===4)&&l.stateNode.containerInfo===n)return;l=l.return}for(;s!==null;){if(l=rs(s),l===null)return;if(i=l.tag,i===5||i===6||i===26||i===27){o=r=l;continue e}s=s.parentNode}}o=o.return}DR(function(){var u=r,c=Gh(a),f=[];e:{var d=KR.get(e);if(d!==void 0){var m=Jf,h=e;switch(e){case"keypress":if(ff(a)===0)break e;case"keydown":case"keyup":m=lO;break;case"focusin":h="focus",m=xg;break;case"focusout":h="blur",m=xg;break;case"beforeblur":case"afterblur":m=xg;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=ZS;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=K1;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=uO;break;case GR:case YR:case XR:m=Q1;break;case jR:m=fO;break;case"scroll":case"scrollend":m=X1;break;case"wheel":m=pO;break;case"copy":case"cut":case"paste":m=J1;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=$S;break;case"toggle":case"beforetoggle":m=gO}var y=(t&4)!==0,S=!y&&(e==="scroll"||e==="scrollend"),g=y?d!==null?d+"Capture":null:d;y=[];for(var p=u,x;p!==null;){var b=p;if(x=b.stateNode,b=b.tag,b!==5&&b!==26&&b!==27||x===null||g===null||(b=Wi(p,g),b!=null&&y.push(nu(p,b,x))),S)break;p=p.return}0<y.length&&(d=new m(d,h,null,a,c),f.push({event:d,listeners:y}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&a!==eh&&(h=a.relatedTarget||a.fromElement)&&(rs(h)||h[Ds]))break e;if((m||d)&&(d=c.window===c?c:(d=c.ownerDocument)?d.defaultView||d.parentWindow:window,m?(h=a.relatedTarget||a.toElement,m=u,h=h?rs(h):null,h!==null&&(S=iu(h),y=h.tag,h!==S||y!==5&&y!==27&&y!==6)&&(h=null)):(m=null,h=u),m!==h)){if(y=ZS,b="onMouseLeave",g="onMouseEnter",p="mouse",(e==="pointerout"||e==="pointerover")&&(y=$S,b="onPointerLeave",g="onPointerEnter",p="pointer"),S=m==null?d:Oi(m),x=h==null?d:Oi(h),d=new y(b,p+"leave",m,a,c),d.target=S,d.relatedTarget=x,b=null,rs(c)===u&&(y=new y(g,p+"enter",h,a,c),y.target=x,y.relatedTarget=S,b=y),S=b,m&&h)t:{for(y=dD,g=m,p=h,x=0,b=g;b;b=y(b))x++;b=0;for(var L=p;L;L=y(L))b++;for(;0<x-b;)g=y(g),x--;for(;0<b-x;)p=y(p),b--;for(;x--;){if(g===p||p!==null&&g===p.alternate){y=g;break t}g=y(g),p=y(p)}y=null}else y=null;m!==null&&GC(f,d,m,y,!1),h!==null&&S!==null&&GC(f,S,h,y,!0)}}e:{if(d=u?Oi(u):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=aC;else if(tC(d))if(zR)R=IO;else{R=vO;var I=RO}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?u&&Vh(u.elementType)&&(R=aC):R=LO;if(R&&(R=R(e,u))){_R(f,R,a,c);break e}I&&I(e,d,u),e==="focusout"&&u&&d.type==="number"&&u.memoizedProps.value!=null&&Jg(d,"number",d.value)}switch(I=u?Oi(u):window,e){case"focusin":(tC(I)||I.contentEditable==="true")&&(is=I,ah=u,Fi=null);break;case"focusout":Fi=ah=is=null;break;case"mousedown":oh=!0;break;case"contextmenu":case"mouseup":case"dragend":oh=!1,lC(f,a,c);break;case"selectionchange":if(EO)break;case"keydown":case"keyup":lC(f,a,c)}var v;if(jh)e:{switch(e){case"compositionstart":var E="onCompositionStart";break e;case"compositionend":E="onCompositionEnd";break e;case"compositionupdate":E="onCompositionUpdate";break e}E=void 0}else ss?BR(e,a)&&(E="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(E="onCompositionStart");E&&(NR&&a.locale!=="ko"&&(ss||E!=="onCompositionStart"?E==="onCompositionEnd"&&ss&&(v=PR()):(Jn=c,Yh="value"in Jn?Jn.value:Jn.textContent,ss=!0)),I=Yf(u,E),0<I.length&&(E=new QS(E,e,null,a,c),f.push({event:E,listeners:I}),v?E.data=v:(v=FR(a),v!==null&&(E.data=v)))),(v=xO?bO(e,a):yO(e,a))&&(E=Yf(u,"onBeforeInput"),0<E.length&&(I=new QS("onBeforeInput","beforeinput",null,a,c),f.push({event:I,listeners:E}),I.data=v)),cD(f,e,u,a,c)}DL(f,t)})}function nu(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Yf(e,t){for(var a=t+"Capture",o=[];e!==null;){var n=e,r=n.stateNode;if(n=n.tag,n!==5&&n!==26&&n!==27||r===null||(n=Wi(e,a),n!=null&&o.unshift(nu(e,n,r)),n=Wi(e,t),n!=null&&o.push(nu(e,n,r))),e.tag===3)return o;e=e.return}return[]}function dD(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function GC(e,t,a,o,n){for(var r=t._reactName,l=[];a!==null&&a!==o;){var s=a,i=s.alternate,u=s.stateNode;if(s=s.tag,i!==null&&i===o)break;s!==5&&s!==26&&s!==27||u===null||(i=u,n?(u=Wi(a,r),u!=null&&l.unshift(nu(a,u,i))):n||(u=Wi(a,r),u!=null&&l.push(nu(a,u,i)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var pD=/\\r\\n?/g,mD=/\\u0000|\\uFFFD/g;function YC(e){return(typeof e=="string"?e:""+e).replace(pD,`\n`).replace(mD,"")}function NL(e,t){return t=YC(t),YC(e)===t}function et(e,t,a,o,n,r){switch(a){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||Ls(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&Ls(e,""+o);break;case"className":jc(e,"class",o);break;case"tabIndex":jc(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":jc(e,a,o);break;case"style":OR(e,o,r);break;case"data":if(t!=="object"){jc(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=uf(""+o),e.setAttribute(a,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(a,"javascript:throw new Error(\'A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().\')");break}else typeof r=="function"&&(a==="formAction"?(t!=="input"&&et(e,t,"name",n.name,n,null),et(e,t,"formEncType",n.formEncType,n,null),et(e,t,"formMethod",n.formMethod,n,null),et(e,t,"formTarget",n.formTarget,n,null)):(et(e,t,"encType",n.encType,n,null),et(e,t,"method",n.method,n,null),et(e,t,"target",n.target,n,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=uf(""+o),e.setAttribute(a,o);break;case"onClick":o!=null&&(e.onclick=Sn);break;case"onScroll":o!=null&&Fe("scroll",e);break;case"onScrollEnd":o!=null&&Fe("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(_(61));if(a=o.__html,a!=null){if(n.children!=null)throw Error(_(60));e.innerHTML=a}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}a=uf(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""+o):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":o===!0?e.setAttribute(a,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,o):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(a,o):e.removeAttribute(a);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(a):e.setAttribute(a,o);break;case"popover":Fe("beforetoggle",e),Fe("toggle",e),sf(e,"popover",o);break;case"xlinkActuate":dn(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":dn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":dn(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":dn(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":dn(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":dn(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":dn(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":dn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":dn(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":sf(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=G1.get(a)||a,sf(e,a,o))}}function Eh(e,t,a,o,n,r){switch(a){case"style":OR(e,o,r);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(_(61));if(a=o.__html,a!=null){if(n.children!=null)throw Error(_(60));e.innerHTML=a}}break;case"children":typeof o=="string"?Ls(e,o):(typeof o=="number"||typeof o=="bigint")&&Ls(e,""+o);break;case"onScroll":o!=null&&Fe("scroll",e);break;case"onScrollEnd":o!=null&&Fe("scrollend",e);break;case"onClick":o!=null&&(e.onclick=Sn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wR.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(n=a.endsWith("Capture"),t=a.slice(2,n?a.length-7:void 0),r=e[Ra]||null,r=r!=null?r[a]:null,typeof r=="function"&&e.removeEventListener(t,r,n),typeof o=="function")){typeof r!="function"&&r!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,o,n);break e}a in e?e[a]=o:o===!0?e.setAttribute(a,""):sf(e,a,o)}}}function Xt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Fe("error",e),Fe("load",e);var o=!1,n=!1,r;for(r in a)if(a.hasOwnProperty(r)){var l=a[r];if(l!=null)switch(r){case"src":o=!0;break;case"srcSet":n=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(_(137,t));default:et(e,t,r,l,a,null)}}n&&et(e,t,"srcSet",a.srcSet,a,null),o&&et(e,t,"src",a.src,a,null);return;case"input":Fe("invalid",e);var s=r=l=n=null,i=null,u=null;for(o in a)if(a.hasOwnProperty(o)){var c=a[o];if(c!=null)switch(o){case"name":n=c;break;case"type":l=c;break;case"checked":i=c;break;case"defaultChecked":u=c;break;case"value":r=c;break;case"defaultValue":s=c;break;case"children":case"dangerouslySetInnerHTML":if(c!=null)throw Error(_(137,t));break;default:et(e,t,o,c,a,null)}}kR(e,r,s,i,u,l,n,!1);return;case"select":Fe("invalid",e),o=l=r=null;for(n in a)if(a.hasOwnProperty(n)&&(s=a[n],s!=null))switch(n){case"value":r=s;break;case"defaultValue":l=s;break;case"multiple":o=s;default:et(e,t,n,s,a,null)}t=r,a=l,e.multiple=!!o,t!=null?hs(e,!!o,t,!1):a!=null&&hs(e,!!o,a,!0);return;case"textarea":Fe("invalid",e),r=n=o=null;for(l in a)if(a.hasOwnProperty(l)&&(s=a[l],s!=null))switch(l){case"value":o=s;break;case"defaultValue":n=s;break;case"children":r=s;break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(_(91));break;default:et(e,t,l,s,a,null)}AR(e,o,n,r);return;case"option":for(i in a)a.hasOwnProperty(i)&&(o=a[i],o!=null)&&(i==="selected"?e.selected=o&&typeof o!="function"&&typeof o!="symbol":et(e,t,i,o,a,null));return;case"dialog":Fe("beforetoggle",e),Fe("toggle",e),Fe("cancel",e),Fe("close",e);break;case"iframe":case"object":Fe("load",e);break;case"video":case"audio":for(o=0;o<ou.length;o++)Fe(ou[o],e);break;case"image":Fe("error",e),Fe("load",e);break;case"details":Fe("toggle",e);break;case"embed":case"source":case"link":Fe("error",e),Fe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(u in a)if(a.hasOwnProperty(u)&&(o=a[u],o!=null))switch(u){case"children":case"dangerouslySetInnerHTML":throw Error(_(137,t));default:et(e,t,u,o,a,null)}return;default:if(Vh(t)){for(c in a)a.hasOwnProperty(c)&&(o=a[c],o!==void 0&&Eh(e,t,c,o,a,void 0));return}}for(s in a)a.hasOwnProperty(s)&&(o=a[s],o!=null&&et(e,t,s,o,a,null))}function gD(e,t,a,o){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var n=null,r=null,l=null,s=null,i=null,u=null,c=null;for(m in a){var f=a[m];if(a.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":i=f;default:o.hasOwnProperty(m)||et(e,t,m,null,o,f)}}for(var d in o){var m=o[d];if(f=a[d],o.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":r=m;break;case"name":n=m;break;case"checked":u=m;break;case"defaultChecked":c=m;break;case"value":l=m;break;case"defaultValue":s=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(_(137,t));break;default:m!==f&&et(e,t,d,m,o,f)}}$g(e,l,s,i,u,c,r,n);return;case"select":m=l=s=d=null;for(r in a)if(i=a[r],a.hasOwnProperty(r)&&i!=null)switch(r){case"value":break;case"multiple":m=i;default:o.hasOwnProperty(r)||et(e,t,r,null,o,i)}for(n in o)if(r=o[n],i=a[n],o.hasOwnProperty(n)&&(r!=null||i!=null))switch(n){case"value":d=r;break;case"defaultValue":s=r;break;case"multiple":l=r;default:r!==i&&et(e,t,n,r,o,i)}t=s,a=l,o=m,d!=null?hs(e,!!a,d,!1):!!o!=!!a&&(t!=null?hs(e,!!a,t,!0):hs(e,!!a,a?[]:"",!1));return;case"textarea":m=d=null;for(s in a)if(n=a[s],a.hasOwnProperty(s)&&n!=null&&!o.hasOwnProperty(s))switch(s){case"value":break;case"children":break;default:et(e,t,s,null,o,n)}for(l in o)if(n=o[l],r=a[l],o.hasOwnProperty(l)&&(n!=null||r!=null))switch(l){case"value":d=n;break;case"defaultValue":m=n;break;case"children":break;case"dangerouslySetInnerHTML":if(n!=null)throw Error(_(91));break;default:n!==r&&et(e,t,l,n,o,r)}MR(e,d,m);return;case"option":for(var h in a)d=a[h],a.hasOwnProperty(h)&&d!=null&&!o.hasOwnProperty(h)&&(h==="selected"?e.selected=!1:et(e,t,h,null,o,d));for(i in o)d=o[i],m=a[i],o.hasOwnProperty(i)&&d!==m&&(d!=null||m!=null)&&(i==="selected"?e.selected=d&&typeof d!="function"&&typeof d!="symbol":et(e,t,i,d,o,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var y in a)d=a[y],a.hasOwnProperty(y)&&d!=null&&!o.hasOwnProperty(y)&&et(e,t,y,null,o,d);for(u in o)if(d=o[u],m=a[u],o.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(_(137,t));break;default:et(e,t,u,d,o,m)}return;default:if(Vh(t)){for(var S in a)d=a[S],a.hasOwnProperty(S)&&d!==void 0&&!o.hasOwnProperty(S)&&Eh(e,t,S,void 0,o,d);for(c in o)d=o[c],m=a[c],!o.hasOwnProperty(c)||d===m||d===void 0&&m===void 0||Eh(e,t,c,d,o,m);return}}for(var g in a)d=a[g],a.hasOwnProperty(g)&&d!=null&&!o.hasOwnProperty(g)&&et(e,t,g,null,o,d);for(f in o)d=o[f],m=a[f],!o.hasOwnProperty(f)||d===m||d==null&&m==null||et(e,t,f,d,o,m)}function XC(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function hD(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),o=0;o<a.length;o++){var n=a[o],r=n.transferSize,l=n.initiatorType,s=n.duration;if(r&&s&&XC(l)){for(l=0,s=n.responseEnd,o+=1;o<a.length;o++){var i=a[o],u=i.startTime;if(u>s)break;var c=i.transferSize,f=i.initiatorType;c&&XC(f)&&(i=i.responseEnd,l+=c*(i<s?1:(s-u)/(i-u)))}if(--o,t+=8*(r+l)/(n.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Th=null,kh=null;function Xf(e){return e.nodeType===9?e:e.ownerDocument}function jC(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function BL(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Mh(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ug=null;function xD(){var e=window.event;return e&&e.type==="popstate"?e===Ug?!1:(Ug=e,!0):(Ug=null,!1)}var FL=typeof setTimeout=="function"?setTimeout:void 0,bD=typeof clearTimeout=="function"?clearTimeout:void 0,KC=typeof Promise=="function"?Promise:void 0,yD=typeof queueMicrotask=="function"?queueMicrotask:typeof KC<"u"?function(e){return KC.resolve(null).then(e).catch(SD)}:FL;function SD(e){setTimeout(function(){throw e})}function xr(e){return e==="head"}function WC(e,t){var a=t,o=0;do{var n=a.nextSibling;if(e.removeChild(a),n&&n.nodeType===8)if(a=n.data,a==="/$"||a==="/&"){if(o===0){e.removeChild(n),Os(t);return}o--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")o++;else if(a==="html")ji(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ji(a);for(var r=a.firstChild;r;){var l=r.nextSibling,s=r.nodeName;r[du]||s==="SCRIPT"||s==="STYLE"||s==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=l}}else a==="body"&&ji(e.ownerDocument.body);a=n}while(a);Os(t)}function ZC(e,t){var a=e;e=0;do{var o=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=o}while(a)}function Ah(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Ah(a),qh(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function CD(e,t,a,o){for(;e.nodeType===1;){var n=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!o&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(o){if(!e[du])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==n.rel||e.getAttribute("href")!==(n.href==null||n.href===""?null:n.href)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin)||e.getAttribute("title")!==(n.title==null?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(n.src==null?null:n.src)||e.getAttribute("type")!==(n.type==null?null:n.type)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=n.name==null?null:""+n.name;if(n.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=io(e.nextSibling),e===null)break}return null}function RD(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=io(e.nextSibling),e===null))return null;return e}function _L(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=io(e.nextSibling),e===null))return null;return e}function Oh(e){return e.data==="$?"||e.data==="$~"}function Dh(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function vD(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var o=function(){t(),a.removeEventListener("DOMContentLoaded",o)};a.addEventListener("DOMContentLoaded",o),e._reactRetry=o}}function io(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Ph=null;function QC(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return io(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function $C(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function zL(e,t,a){switch(t=Xf(a),e){case"html":if(e=t.documentElement,!e)throw Error(_(452));return e;case"head":if(e=t.head,!e)throw Error(_(453));return e;case"body":if(e=t.body,!e)throw Error(_(454));return e;default:throw Error(_(451))}}function ji(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);qh(e)}var uo=new Map,JC=new Set;function jf(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Mn=Ye.d;Ye.d={f:LD,r:ID,D:wD,C:ED,L:TD,m:kD,X:AD,S:MD,M:OD};function LD(){var e=Mn.f(),t=cd();return e||t}function ID(e){var t=Ps(e);t!==null&&t.tag===5&&t.type==="form"?Ov(t):Mn.r(e)}var _s=typeof document>"u"?null:document;function UL(e,t,a){var o=_s;if(o&&typeof t=="string"&&t){var n=no(t);n=\'link[rel="\'+e+\'"][href="\'+n+\'"]\',typeof a=="string"&&(n+=\'[crossorigin="\'+a+\'"]\'),JC.has(n)||(JC.add(n),e={rel:e,crossOrigin:a,href:t},o.querySelector(n)===null&&(t=o.createElement("link"),Xt(t,"link",e),zt(t),o.head.appendChild(t)))}}function wD(e){Mn.D(e),UL("dns-prefetch",e,null)}function ED(e,t){Mn.C(e,t),UL("preconnect",e,t)}function TD(e,t,a){Mn.L(e,t,a);var o=_s;if(o&&e&&t){var n=\'link[rel="preload"][as="\'+no(t)+\'"]\';t==="image"&&a&&a.imageSrcSet?(n+=\'[imagesrcset="\'+no(a.imageSrcSet)+\'"]\',typeof a.imageSizes=="string"&&(n+=\'[imagesizes="\'+no(a.imageSizes)+\'"]\')):n+=\'[href="\'+no(e)+\'"]\';var r=n;switch(t){case"style":r=As(e);break;case"script":r=zs(e)}uo.has(r)||(e=pt({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),uo.set(r,e),o.querySelector(n)!==null||t==="style"&&o.querySelector(bu(r))||t==="script"&&o.querySelector(yu(r))||(t=o.createElement("link"),Xt(t,"link",e),zt(t),o.head.appendChild(t)))}}function kD(e,t){Mn.m(e,t);var a=_s;if(a&&e){var o=t&&typeof t.as=="string"?t.as:"script",n=\'link[rel="modulepreload"][as="\'+no(o)+\'"][href="\'+no(e)+\'"]\',r=n;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=zs(e)}if(!uo.has(r)&&(e=pt({rel:"modulepreload",href:e},t),uo.set(r,e),a.querySelector(n)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(yu(r)))return}o=a.createElement("link"),Xt(o,"link",e),zt(o),a.head.appendChild(o)}}}function MD(e,t,a){Mn.S(e,t,a);var o=_s;if(o&&e){var n=gs(o).hoistableStyles,r=As(e);t=t||"default";var l=n.get(r);if(!l){var s={loading:0,preload:null};if(l=o.querySelector(bu(r)))s.loading=5;else{e=pt({rel:"stylesheet",href:e,"data-precedence":t},a),(a=uo.get(r))&&Ex(e,a);var i=l=o.createElement("link");zt(i),Xt(i,"link",e),i._p=new Promise(function(u,c){i.onload=u,i.onerror=c}),i.addEventListener("load",function(){s.loading|=1}),i.addEventListener("error",function(){s.loading|=2}),s.loading|=4,yf(l,t,o)}l={type:"stylesheet",instance:l,count:1,state:s},n.set(r,l)}}}function AD(e,t){Mn.X(e,t);var a=_s;if(a&&e){var o=gs(a).hoistableScripts,n=zs(e),r=o.get(n);r||(r=a.querySelector(yu(n)),r||(e=pt({src:e,async:!0},t),(t=uo.get(n))&&Tx(e,t),r=a.createElement("script"),zt(r),Xt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},o.set(n,r))}}function OD(e,t){Mn.M(e,t);var a=_s;if(a&&e){var o=gs(a).hoistableScripts,n=zs(e),r=o.get(n);r||(r=a.querySelector(yu(n)),r||(e=pt({src:e,async:!0,type:"module"},t),(t=uo.get(n))&&Tx(e,t),r=a.createElement("script"),zt(r),Xt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},o.set(n,r))}}function eR(e,t,a,o){var n=(n=or.current)?jf(n):null;if(!n)throw Error(_(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=As(a.href),a=gs(n).hoistableStyles,o=a.get(t),o||(o={type:"style",instance:null,count:0,state:null},a.set(t,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=As(a.href);var r=gs(n).hoistableStyles,l=r.get(e);if(l||(n=n.ownerDocument||n,l={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,l),(r=n.querySelector(bu(e)))&&!r._p&&(l.instance=r,l.state.loading=5),uo.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},uo.set(e,a),r||DD(n,e,a,l.state))),t&&o===null)throw Error(_(528,""));return l}if(t&&o!==null)throw Error(_(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=zs(a),a=gs(n).hoistableScripts,o=a.get(t),o||(o={type:"script",instance:null,count:0,state:null},a.set(t,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(_(444,e))}}function As(e){return\'href="\'+no(e)+\'"\'}function bu(e){return\'link[rel="stylesheet"][\'+e+"]"}function HL(e){return pt({},e,{"data-precedence":e.precedence,precedence:null})}function DD(e,t,a,o){e.querySelector(\'link[rel="preload"][as="style"][\'+t+"]")?o.loading=1:(t=e.createElement("link"),o.preload=t,t.addEventListener("load",function(){return o.loading|=1}),t.addEventListener("error",function(){return o.loading|=2}),Xt(t,"link",a),zt(t),e.head.appendChild(t))}function zs(e){return\'[src="\'+no(e)+\'"]\'}function yu(e){return"script[async]"+e}function tR(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var o=e.querySelector(\'style[data-href~="\'+no(a.href)+\'"]\');if(o)return t.instance=o,zt(o),o;var n=pt({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),zt(o),Xt(o,"style",n),yf(o,a.precedence,e),t.instance=o;case"stylesheet":n=As(a.href);var r=e.querySelector(bu(n));if(r)return t.state.loading|=4,t.instance=r,zt(r),r;o=HL(a),(n=uo.get(n))&&Ex(o,n),r=(e.ownerDocument||e).createElement("link"),zt(r);var l=r;return l._p=new Promise(function(s,i){l.onload=s,l.onerror=i}),Xt(r,"link",o),t.state.loading|=4,yf(r,a.precedence,e),t.instance=r;case"script":return r=zs(a.src),(n=e.querySelector(yu(r)))?(t.instance=n,zt(n),n):(o=a,(n=uo.get(r))&&(o=pt({},a),Tx(o,n)),e=e.ownerDocument||e,n=e.createElement("script"),zt(n),Xt(n,"link",o),e.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(_(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(o=t.instance,t.state.loading|=4,yf(o,a.precedence,e));return t.instance}function yf(e,t,a){for(var o=a.querySelectorAll(\'link[rel="stylesheet"][data-precedence],style[data-precedence]\'),n=o.length?o[o.length-1]:null,r=n,l=0;l<o.length;l++){var s=o[l];if(s.dataset.precedence===t)r=s;else if(r!==n)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Ex(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Tx(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Sf=null;function aR(e,t,a){if(Sf===null){var o=new Map,n=Sf=new Map;n.set(a,o)}else n=Sf,o=n.get(a),o||(o=new Map,n.set(a,o));if(o.has(e))return o;for(o.set(e,null),a=a.getElementsByTagName(e),n=0;n<a.length;n++){var r=a[n];if(!(r[du]||r[Vt]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var l=r.getAttribute(t)||"";l=e+l;var s=o.get(l);s?s.push(r):o.set(l,[r])}}return o}function oR(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function PD(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function qL(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function ND(e,t,a,o){if(a.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var n=As(o.href),r=t.querySelector(bu(n));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Kf.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,zt(r);return}r=t.ownerDocument||t,o=HL(o),(n=uo.get(n))&&Ex(o,n),r=r.createElement("link"),zt(r);var l=r;l._p=new Promise(function(s,i){l.onload=s,l.onerror=i}),Xt(r,"link",o),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Kf.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Hg=0;function BD(e,t){return e.stylesheets&&e.count===0&&Cf(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var o=setTimeout(function(){if(e.stylesheets&&Cf(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&Hg===0&&(Hg=62500*hD());var n=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Cf(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>Hg?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(n)}}:null}function Kf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Cf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Wf=null;function Cf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Wf=new Map,t.forEach(FD,e),Wf=null,Kf.call(e))}function FD(e,t){if(!(t.state.loading&4)){var a=Wf.get(e);if(a)var o=a.get(null);else{a=new Map,Wf.set(e,a);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<n.length;r++){var l=n[r];(l.nodeName==="LINK"||l.getAttribute("media")!=="not all")&&(a.set(l.dataset.precedence,l),o=l)}o&&a.set(null,o)}n=t.instance,l=n.getAttribute("data-precedence"),r=a.get(l)||o,r===o&&a.set(null,n),a.set(l,n),this.count++,o=Kf.bind(this),n.addEventListener("load",o),n.addEventListener("error",o),r?r.parentNode.insertBefore(n,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(n,e.firstChild)),t.state.loading|=4}}var ru={$$typeof:yn,Provider:null,Consumer:null,_currentValue:tl,_currentValue2:tl,_threadCount:0};function _D(e,t,a,o,n,r,l,s,i){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=pg(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pg(0),this.hiddenUpdates=pg(null),this.identifierPrefix=o,this.onUncaughtError=n,this.onCaughtError=r,this.onRecoverableError=l,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=i,this.incompleteTransitions=new Map}function VL(e,t,a,o,n,r,l,s,i,u,c,f){return e=new _D(e,t,a,l,i,u,c,f,s),t=1,r===!0&&(t|=24),r=Na(3,null,null,t),e.current=r,r.stateNode=e,t=ex(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:o,isDehydrated:a,cache:t},ox(r),e}function GL(e){return e?(e=fs,e):fs}function YL(e,t,a,o,n,r){n=GL(n),o.context===null?o.context=n:o.pendingContext=n,o=rr(t),o.payload={element:a},r=r===void 0?null:r,r!==null&&(o.callback=r),a=lr(e,o,t),a!==null&&(Ca(a,e,t),zi(a,e,t))}function nR(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function kx(e,t){nR(e,t),(e=e.alternate)&&nR(e,t)}function XL(e){if(e.tag===13||e.tag===31){var t=ml(e,67108864);t!==null&&Ca(t,e,67108864),kx(e,67108864)}}function rR(e){if(e.tag===13||e.tag===31){var t=Ua();t=Uh(t);var a=ml(e,t);a!==null&&Ca(a,e,t),kx(e,t)}}var Zf=!0;function zD(e,t,a,o){var n=ye.T;ye.T=null;var r=Ye.p;try{Ye.p=2,Mx(e,t,a,o)}finally{Ye.p=r,ye.T=n}}function UD(e,t,a,o){var n=ye.T;ye.T=null;var r=Ye.p;try{Ye.p=8,Mx(e,t,a,o)}finally{Ye.p=r,ye.T=n}}function Mx(e,t,a,o){if(Zf){var n=Nh(o);if(n===null)zg(e,t,o,Qf,a),lR(e,o);else if(qD(n,e,t,a,o))o.stopPropagation();else if(lR(e,o),t&4&&-1<HD.indexOf(e)){for(;n!==null;){var r=Ps(n);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var l=$r(r.pendingLanes);if(l!==0){var s=r;for(s.pendingLanes|=2,s.entangledLanes|=2;l;){var i=1<<31-za(l);s.entanglements[1]|=i,l&=~i}Vo(r),(Ge&6)===0&&(Uf=Fa()+500,xu(0,!1))}}break;case 31:case 13:s=ml(r,2),s!==null&&Ca(s,r,2),cd(),kx(r,2)}if(r=Nh(o),r===null&&zg(e,t,o,Qf,a),r===n)break;n=r}n!==null&&o.stopPropagation()}else zg(e,t,o,null,a)}}function Nh(e){return e=Gh(e),Ax(e)}var Qf=null;function Ax(e){if(Qf=null,e=rs(e),e!==null){var t=iu(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=dR(t),e!==null)return e;e=null}else if(a===31){if(e=pR(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Qf=e,null}function jL(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(T1()){case xR:return 2;case bR:return 8;case wf:case k1:return 32;case yR:return 268435456;default:return 32}default:return 32}}var Bh=!1,ur=null,cr=null,fr=null,lu=new Map,su=new Map,Qn=[],HD="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function lR(e,t){switch(e){case"focusin":case"focusout":ur=null;break;case"dragenter":case"dragleave":cr=null;break;case"mouseover":case"mouseout":fr=null;break;case"pointerover":case"pointerout":lu.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":su.delete(t.pointerId)}}function Ti(e,t,a,o,n,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:o,nativeEvent:r,targetContainers:[n]},t!==null&&(t=Ps(t),t!==null&&XL(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),e)}function qD(e,t,a,o,n){switch(t){case"focusin":return ur=Ti(ur,e,t,a,o,n),!0;case"dragenter":return cr=Ti(cr,e,t,a,o,n),!0;case"mouseover":return fr=Ti(fr,e,t,a,o,n),!0;case"pointerover":var r=n.pointerId;return lu.set(r,Ti(lu.get(r)||null,e,t,a,o,n)),!0;case"gotpointercapture":return r=n.pointerId,su.set(r,Ti(su.get(r)||null,e,t,a,o,n)),!0}return!1}function KL(e){var t=rs(e.target);if(t!==null){var a=iu(t);if(a!==null){if(t=a.tag,t===13){if(t=dR(a),t!==null){e.blockedOn=t,VS(e.priority,function(){rR(a)});return}}else if(t===31){if(t=pR(a),t!==null){e.blockedOn=t,VS(e.priority,function(){rR(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Rf(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Nh(e.nativeEvent);if(a===null){a=e.nativeEvent;var o=new a.constructor(a.type,a);eh=o,a.target.dispatchEvent(o),eh=null}else return t=Ps(a),t!==null&&XL(t),e.blockedOn=a,!1;t.shift()}return!0}function sR(e,t,a){Rf(e)&&a.delete(t)}function VD(){Bh=!1,ur!==null&&Rf(ur)&&(ur=null),cr!==null&&Rf(cr)&&(cr=null),fr!==null&&Rf(fr)&&(fr=null),lu.forEach(sR),su.forEach(sR)}function rf(e,t){e.blockedOn===t&&(e.blockedOn=null,Bh||(Bh=!0,Pt.unstable_scheduleCallback(Pt.unstable_NormalPriority,VD)))}var lf=null;function iR(e){lf!==e&&(lf=e,Pt.unstable_scheduleCallback(Pt.unstable_NormalPriority,function(){lf===e&&(lf=null);for(var t=0;t<e.length;t+=3){var a=e[t],o=e[t+1],n=e[t+2];if(typeof o!="function"){if(Ax(o||a)===null)continue;break}var r=Ps(a);r!==null&&(e.splice(t,3),t-=3,hh(r,{pending:!0,data:n,method:a.method,action:o},o,n))}}))}function Os(e){function t(i){return rf(i,e)}ur!==null&&rf(ur,e),cr!==null&&rf(cr,e),fr!==null&&rf(fr,e),lu.forEach(t),su.forEach(t);for(var a=0;a<Qn.length;a++){var o=Qn[a];o.blockedOn===e&&(o.blockedOn=null)}for(;0<Qn.length&&(a=Qn[0],a.blockedOn===null);)KL(a),a.blockedOn===null&&Qn.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(o=0;o<a.length;o+=3){var n=a[o],r=a[o+1],l=n[Ra]||null;if(typeof r=="function")l||iR(a);else if(l){var s=null;if(r&&r.hasAttribute("formAction")){if(n=r,l=r[Ra]||null)s=l.formAction;else if(Ax(n)!==null)continue}else s=l.action;typeof s=="function"?a[o+1]=s:(a.splice(o,3),o-=3),iR(a)}}}function WL(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(l){return n=l})},focusReset:"manual",scroll:"manual"})}function t(){n!==null&&(n(),n=null),o||setTimeout(a,20)}function a(){if(!o&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,n=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){o=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),n!==null&&(n(),n=null)}}}function Ox(e){this._internalRoot=e}pd.prototype.render=Ox.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(_(409));var a=t.current,o=Ua();YL(a,o,e,t,null,null)};pd.prototype.unmount=Ox.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;YL(e.current,2,null,e,null,null),cd(),t[Ds]=null}};function pd(e){this._internalRoot=e}pd.prototype.unstable_scheduleHydration=function(e){if(e){var t=LR();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Qn.length&&t!==0&&t<Qn[a].priority;a++);Qn.splice(a,0,e),a===0&&KL(e)}};var uR=cR.version;if(uR!=="19.2.7")throw Error(_(527,uR,"19.2.7"));Ye.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(_(188)):(e=Object.keys(e).join(","),Error(_(268,e)));return e=C1(t),e=e!==null?mR(e):null,e=e===null?null:e.stateNode,e};var GD={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:ye,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(ki=__REACT_DEVTOOLS_GLOBAL_HOOK__,!ki.isDisabled&&ki.supportsFiber))try{uu=ki.inject(GD),_a=ki}catch{}var ki;md.createRoot=function(e,t){if(!fR(e))throw Error(_(299));var a=!1,o="",n=Uv,r=Hv,l=qv;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onUncaughtError!==void 0&&(n=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=VL(e,1,!1,null,null,a,o,null,n,r,l,WL),e[Ds]=t.current,wx(e),new Ox(t)};md.hydrateRoot=function(e,t,a){if(!fR(e))throw Error(_(299));var o=!1,n="",r=Uv,l=Hv,s=qv,i=null;return a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(l=a.onCaughtError),a.onRecoverableError!==void 0&&(s=a.onRecoverableError),a.formState!==void 0&&(i=a.formState)),t=VL(e,1,!0,t,a??null,o,n,i,r,l,s,WL),t.context=GL(null),a=t.current,o=Ua(),o=Uh(o),n=rr(o),n.callback=null,lr(a,n,o),a=o,t.current.lanes=a,fu(t,a),Vo(t),e[Ds]=t.current,wx(e),new pd(t)};md.version="19.2.7"});var JL=ha((Oz,$L)=>{"use strict";function QL(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(QL)}catch(e){console.error(e)}}QL(),$L.exports=ZL()});var HI=ha(Sd=>{"use strict";var WP=Symbol.for("react.transitional.element"),ZP=Symbol.for("react.fragment");function UI(e,t,a){var o=null;if(a!==void 0&&(o=""+a),t.key!==void 0&&(o=""+t.key),"key"in t){a={};for(var n in t)n!=="key"&&(a[n]=t[n])}else a=t;return t=a.ref,{$$typeof:WP,type:e,key:o,ref:t!==void 0?t:null,props:a}}Sd.Fragment=ZP;Sd.jsx=UI;Sd.jsxs=UI});var F=ha((SU,qI)=>{"use strict";qI.exports=HI()});var mT=ha(pT=>{"use strict";var ti=k();function CF(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var RF=typeof Object.is=="function"?Object.is:CF,vF=ti.useState,LF=ti.useEffect,IF=ti.useLayoutEffect,wF=ti.useDebugValue;function EF(e,t){var a=t(),o=vF({inst:{value:a,getSnapshot:t}}),n=o[0].inst,r=o[1];return IF(function(){n.value=a,n.getSnapshot=t,ly(n)&&r({inst:n})},[e,a,t]),LF(function(){return ly(n)&&r({inst:n}),e(function(){ly(n)&&r({inst:n})})},[e]),wF(a),a}function ly(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!RF(e,a)}catch{return!0}}function TF(e,t){return t()}var kF=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?TF:EF;pT.useSyncExternalStore=ti.useSyncExternalStore!==void 0?ti.useSyncExternalStore:kF});var sy=ha((y5,gT)=>{"use strict";gT.exports=mT()});var xT=ha(hT=>{"use strict";var Lp=k(),MF=sy();function AF(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var OF=typeof Object.is=="function"?Object.is:AF,DF=MF.useSyncExternalStore,PF=Lp.useRef,NF=Lp.useEffect,BF=Lp.useMemo,FF=Lp.useDebugValue;hT.useSyncExternalStoreWithSelector=function(e,t,a,o,n){var r=PF(null);if(r.current===null){var l={hasValue:!1,value:null};r.current=l}else l=r.current;r=BF(function(){function i(m){if(!u){if(u=!0,c=m,m=o(m),n!==void 0&&l.hasValue){var h=l.value;if(n(h,m))return f=h}return f=m}if(h=f,OF(c,m))return h;var y=o(m);return n!==void 0&&n(h,y)?(c=m,h):(c=m,f=y)}var u=!1,c,f,d=a===void 0?null:a;return[function(){return i(t())},d===null?void 0:function(){return i(d())}]},[t,a,o,n]);var s=DF(e,r[0],r[1]);return NF(function(){l.hasValue=!0,l.value=s},[s]),FF(s),s}});var yT=ha((C5,bT)=>{"use strict";bT.exports=xT()});var vz={};Bo(vz,{mountReportIsland:()=>iS});var UA=C(k(),1),HA=C(JL(),1);var qe=C(k(),1);var Dx=e=>({ok:!0,data:e}),Px=e=>({ok:!1,error:e});function eI(e){return typeof e=="object"&&e!==null&&"ok"in e&&typeof e.ok=="boolean"?e:Dx(e)}var WI=C(k(),1);var tI=C(k(),1),hl=(0,tI.createContext)(null);var mU=C(k(),1);function aI(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(a=aI(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function gd(){for(var e,t,a=0,o="",n=arguments.length;a<n;a++)(e=arguments[a])&&(t=aI(e))&&(o&&(o+=" "),o+=t);return o}var oI=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,nI=gd,br=(e,t)=>a=>{var o;if(t?.variants==null)return nI(e,a?.class,a?.className);let{variants:n,defaultVariants:r}=t,l=Object.keys(n).map(u=>{let c=a?.[u],f=r?.[u];if(c===null)return null;let d=oI(c)||oI(f);return n[u][d]}),s=a&&Object.entries(a).reduce((u,c)=>{let[f,d]=c;return d===void 0||(u[f]=d),u},{}),i=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((u,c)=>{let{class:f,className:d,...m}=c;return Object.entries(m).every(h=>{let[y,S]=h;return Array.isArray(S)?S.includes({...r,...s}[y]):{...r,...s}[y]===S})?[...u,f,d]:u},[]);return nI(e,l,i,a?.class,a?.className)};function YD(e,t){return function(o,...n){let r=new URL(e);return r.searchParams.set("code",o.toString()),n.forEach(l=>r.searchParams.append("args[]",l)),`${t} error #${o}; visit ${r} for the full message.`}}var XD=YD("https://base-ui.com/production-error","Base UI"),Re=XD;var xl=C(k(),1);var lI=C(k(),1),rI={};function ut(e,t){let a=lI.useRef(rI);return a.current===rI&&(a.current=e(t)),a}function La(e,t,a,o){let n=ut(iI).current;return jD(n,e,t,a,o)&&uI(n,[e,t,a,o]),n.callback}function sI(e){let t=ut(iI).current;return KD(t,e)&&uI(t,e),t.callback}function iI(){return{callback:null,cleanup:null,refs:[]}}function jD(e,t,a,o,n){return e.refs[0]!==t||e.refs[1]!==a||e.refs[2]!==o||e.refs[3]!==n}function KD(e,t){return e.refs.length!==t.length||e.refs.some((a,o)=>a!==t[o])}function uI(e,t){if(e.refs=t,t.every(a=>a==null)){e.callback=null;return}e.callback=a=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),a!=null){let o=Array(t.length).fill(null);for(let n=0;n<t.length;n+=1){let r=t[n];if(r!=null)switch(typeof r){case"function":{let l=r(a);typeof l=="function"&&(o[n]=l);break}case"object":{r.current=a;break}default:}}e.cleanup=()=>{for(let n=0;n<t.length;n+=1){let r=t[n];if(r!=null)switch(typeof r){case"function":{let l=o[n];typeof l=="function"?l():r(null);break}case"object":{r.current=null;break}default:}}}}}}var fI=C(k(),1);var cI=C(k(),1),WD=parseInt(cI.version,10);function Us(e){return WD>=e}function Nx(e){if(!fI.isValidElement(e))return null;let t=e,a=t.props;return(Us(19)?a?.ref:t.ref)??null}function Su(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function Ve(){}var co=Object.freeze([]),ve=Object.freeze({});function dI(e,t){let a={};for(let o in e){let n=e[o];if(t?.hasOwnProperty(o)){let r=t[o](n);r!=null&&Object.assign(a,r);continue}n===!0?a[`data-${o.toLowerCase()}`]="":n&&(a[`data-${o.toLowerCase()}`]=n.toString())}return a}function pI(e,t){return typeof e=="function"?e(t):e}function mI(e,t){return typeof e=="function"?e(t):e}var Bx={};function jt(e,t,a,o,n){if(!a&&!o&&!n&&!e)return hd(t);let r=hd(e);return t&&(r=Cu(r,t)),a&&(r=Cu(r,a)),o&&(r=Cu(r,o)),n&&(r=Cu(r,n)),r}function gI(e){if(e.length===0)return Bx;if(e.length===1)return hd(e[0]);let t=hd(e[0]);for(let a=1;a<e.length;a+=1)t=Cu(t,e[a]);return t}function hd(e){return Fx(e)?{...xI(e,Bx)}:ZD(e)}function Cu(e,t){return Fx(t)?xI(t,e):QD(e,t)}function ZD(e){let t={...e};for(let a in t){let o=t[a];hI(a,o)&&(t[a]=bI(o))}return t}function QD(e,t){if(!t)return e;for(let a in t){let o=t[a];switch(a){case"style":{e[a]=Su(e.style,o);break}case"className":{e[a]=_x(e.className,o);break}default:hI(a,o)?e[a]=$D(e[a],o):e[a]=o}}return e}function hI(e,t){let a=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2);return a===111&&o===110&&n>=65&&n<=90&&(typeof t=="function"||typeof t>"u")}function Fx(e){return typeof e=="function"}function xI(e,t){return Fx(e)?e(t):e??Bx}function $D(e,t){return t?e?(...a)=>{let o=a[0];if(yI(o)){let r=o;Ru(r);let l=t(...a);return r.baseUIHandlerPrevented||e?.(...a),l}let n=t(...a);return e?.(...a),n}:bI(t):e}function bI(e){return e&&((...t)=>{let a=t[0];return yI(a)&&Ru(a),e(...t)})}function Ru(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function _x(e,t){return t?e?t+" "+e:t:e}function yI(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}var zx=C(k(),1);function se(e,t,a={}){let o=t.render,n=JD(t,a);if(a.enabled===!1)return null;let r=a.state??ve;return aP(e,o,n,r)}function JD(e,t={}){let{className:a,style:o,render:n}=e,{state:r=ve,ref:l,props:s,stateAttributesMapping:i,enabled:u=!0}=t,c=u?pI(a,r):void 0,f=u?mI(o,r):void 0,d=u?dI(r,i):ve,m=u&&s?eP(s):void 0,h=u?Su(d,m)??{}:ve;return typeof document<"u"&&(u?Array.isArray(l)?h.ref=sI([h.ref,Nx(n),...l]):h.ref=La(h.ref,Nx(n),l):La(null,null)),u?(c!==void 0&&(h.className=_x(h.className,c)),f!==void 0&&(h.style=Su(h.style,f)),h):ve}function eP(e){return Array.isArray(e)?gI(e):jt(void 0,e)}var tP=Symbol.for("react.lazy");function aP(e,t,a,o){if(t){if(typeof t=="function")return t(a,o);let n=jt(a,t.props);n.ref=a.ref;let r=t;return r?.$$typeof===tP&&(r=xl.Children.toArray(t)[0]),xl.cloneElement(r,n)}if(e&&typeof e=="string")return oP(e,a);throw new Error(Re(8))}function oP(e,t){return e==="button"?(0,zx.createElement)("button",{type:"button",...t,key:t.key}):e==="img"?(0,zx.createElement)("img",{alt:"",...t,key:t.key}):xl.createElement(e,t)}function xd(e){return se(e.defaultTagName??"div",e,e)}var nP=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},rP=(e,t)=>({classGroupId:e,validator:t}),II=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a});var SI=[],lP="arbitrary..",sP=e=>{let t=uP(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return iP(l);let s=l.split("-"),i=s[0]===""&&s.length>1?1:0;return wI(s,i,t)},getConflictingClassGroupIds:(l,s)=>{if(s){let i=o[l],u=a[l];return i?u?nP(u,i):i:u||SI}return a[l]||SI}}},wI=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let n=e[t],r=a.nextPart.get(n);if(r){let u=wI(e,t+1,r);if(u)return u}let l=a.validators;if(l===null)return;let s=t===0?e.join("-"):e.slice(t).join("-"),i=l.length;for(let u=0;u<i;u++){let c=l[u];if(c.validator(s))return c.classGroupId}},iP=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?lP+o:void 0})(),uP=e=>{let{theme:t,classGroups:a}=e;return cP(a,t)},cP=(e,t)=>{let a=II();for(let o in e){let n=e[o];Hx(n,a,o,t)}return a},Hx=(e,t,a,o)=>{let n=e.length;for(let r=0;r<n;r++){let l=e[r];fP(l,t,a,o)}},fP=(e,t,a,o)=>{if(typeof e=="string"){dP(e,t,a);return}if(typeof e=="function"){pP(e,t,a,o);return}mP(e,t,a,o)},dP=(e,t,a)=>{let o=e===""?t:EI(t,e);o.classGroupId=a},pP=(e,t,a,o)=>{if(gP(e)){Hx(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(rP(a,e))},mP=(e,t,a,o)=>{let n=Object.entries(e),r=n.length;for(let l=0;l<r;l++){let[s,i]=n[l];Hx(i,EI(t,s),a,o)}},EI=(e,t)=>{let a=e,o=t.split("-"),n=o.length;for(let r=0;r<n;r++){let l=o[r],s=a.nextPart.get(l);s||(s=II(),a.nextPart.set(l,s)),a=s}return a},gP=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,hP=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),n=(r,l)=>{a[r]=l,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(r){let l=a[r];if(l!==void 0)return l;if((l=o[r])!==void 0)return n(r,l),l},set(r,l){r in a?a[r]=l:n(r,l)}}};var xP=[],CI=(e,t,a,o,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:n}),bP=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=n=>{let r=[],l=0,s=0,i=0,u,c=n.length;for(let y=0;y<c;y++){let S=n[y];if(l===0&&s===0){if(S===":"){r.push(n.slice(i,y)),i=y+1;continue}if(S==="/"){u=y;continue}}S==="["?l++:S==="]"?l--:S==="("?s++:S===")"&&s--}let f=r.length===0?n:n.slice(i),d=f,m=!1;f.endsWith("!")?(d=f.slice(0,-1),m=!0):f.startsWith("!")&&(d=f.slice(1),m=!0);let h=u&&u>i?u-i:void 0;return CI(r,m,d,h)};if(t){let n=t+":",r=o;o=l=>l.startsWith(n)?r(l.slice(n.length)):CI(xP,!1,l,void 0,!0)}if(a){let n=o;o=r=>a({className:r,parseClassName:n})}return o},yP=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],n=[];for(let r=0;r<a.length;r++){let l=a[r],s=l[0]==="[",i=t.has(l);s||i?(n.length>0&&(n.sort(),o.push(...n),n=[]),o.push(l)):n.push(l)}return n.length>0&&(n.sort(),o.push(...n)),o}},SP=e=>({cache:hP(e.cacheSize),parseClassName:bP(e),sortModifiers:yP(e),postfixLookupClassGroupIds:CP(e),...sP(e)}),CP=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},RP=/\\s+/,vP=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:r,postfixLookupClassGroupIds:l}=t,s=[],i=e.trim().split(RP),u="";for(let c=i.length-1;c>=0;c-=1){let f=i[c],{isExternal:d,modifiers:m,hasImportantModifier:h,baseClassName:y,maybePostfixModifierPosition:S}=a(f);if(d){u=f+(u.length>0?" "+u:u);continue}let g=!!S,p;if(g){let I=y.substring(0,S);p=o(I);let v=p&&l[p]?o(y):void 0;v&&v!==p&&(p=v,g=!1)}else p=o(y);if(!p){if(!g){u=f+(u.length>0?" "+u:u);continue}if(p=o(y),!p){u=f+(u.length>0?" "+u:u);continue}g=!1}let x=m.length===0?"":m.length===1?m[0]:r(m).join(":"),b=h?x+"!":x,L=b+p;if(s.indexOf(L)>-1)continue;s.push(L);let R=n(p,g);for(let I=0;I<R.length;++I){let v=R[I];s.push(b+v)}u=f+(u.length>0?" "+u:u)}return u},LP=(...e)=>{let t=0,a,o,n="";for(;t<e.length;)(a=e[t++])&&(o=TI(a))&&(n&&(n+=" "),n+=o);return n},TI=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=TI(e[o]))&&(a&&(a+=" "),a+=t);return a},IP=(e,...t)=>{let a,o,n,r,l=i=>{let u=t.reduce((c,f)=>f(c),e());return a=SP(u),o=a.cache.get,n=a.cache.set,r=s,s(i)},s=i=>{let u=o(i);if(u)return u;let c=vP(i,a);return n(i,c),c};return r=l,(...i)=>r(LP(...i))},wP=[],Nt=e=>{let t=a=>a[e]||wP;return t.isThemeGetter=!0,t},kI=/^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i,MI=/^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i,EP=/^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/,TP=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,kP=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,MP=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/,AP=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,OP=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,yr=e=>EP.test(e),Ne=e=>!!e&&!Number.isNaN(Number(e)),Go=e=>!!e&&Number.isInteger(Number(e)),Ux=e=>e.endsWith("%")&&Ne(e.slice(0,-1)),An=e=>TP.test(e),AI=()=>!0,DP=e=>kP.test(e)&&!MP.test(e),qx=()=>!1,PP=e=>AP.test(e),NP=e=>OP.test(e),BP=e=>!ne(e)&&!le(e),FP=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),_P=e=>Sr(e,PI,qx),ne=e=>kI.test(e),bl=e=>Sr(e,NI,DP),RI=e=>Sr(e,XP,Ne),zP=e=>Sr(e,FI,AI),UP=e=>Sr(e,BI,qx),vI=e=>Sr(e,OI,qx),HP=e=>Sr(e,DI,NP),bd=e=>Sr(e,_I,PP),le=e=>MI.test(e),vu=e=>yl(e,NI),qP=e=>yl(e,BI),LI=e=>yl(e,OI),VP=e=>yl(e,PI),GP=e=>yl(e,DI),yd=e=>yl(e,_I,!0),YP=e=>yl(e,FI,!0),Sr=(e,t,a)=>{let o=kI.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},yl=(e,t,a=!1)=>{let o=MI.exec(e);return o?o[1]?t(o[1]):a:!1},OI=e=>e==="position"||e==="percentage",DI=e=>e==="image"||e==="url",PI=e=>e==="length"||e==="size"||e==="bg-size",NI=e=>e==="length",XP=e=>e==="number",BI=e=>e==="family-name",FI=e=>e==="number"||e==="weight",_I=e=>e==="shadow";var jP=()=>{let e=Nt("color"),t=Nt("font"),a=Nt("text"),o=Nt("font-weight"),n=Nt("tracking"),r=Nt("leading"),l=Nt("breakpoint"),s=Nt("container"),i=Nt("spacing"),u=Nt("radius"),c=Nt("shadow"),f=Nt("inset-shadow"),d=Nt("text-shadow"),m=Nt("drop-shadow"),h=Nt("blur"),y=Nt("perspective"),S=Nt("aspect"),g=Nt("ease"),p=Nt("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],b=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...b(),le,ne],R=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],v=()=>[le,ne,i],E=()=>[yr,"full","auto",...v()],w=()=>[Go,"none","subgrid",le,ne],P=()=>["auto",{span:["full",Go,le,ne]},Go,le,ne],O=()=>[Go,"auto",le,ne],B=()=>["auto","min","max","fr",le,ne],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...v()],H=()=>[yr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...v()],T=()=>[yr,"screen","full","dvw","lvw","svw","min","max","fit",...v()],N=()=>[yr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...v()],A=()=>[e,le,ne],K=()=>[...b(),LI,vI,{position:[le,ne]}],J=()=>["no-repeat",{repeat:["","x","y","space","round"]}],fe=()=>["auto","cover","contain",VP,_P,{size:[le,ne]}],re=()=>[Ux,vu,bl],X=()=>["","none","full",u,le,ne],Z=()=>["",Ne,vu,bl],me=()=>["solid","dashed","dotted","double"],Q=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ee=()=>[Ne,Ux,LI,vI],Ie=()=>["","none",h,le,ne],Te=()=>["none",Ne,le,ne],te=()=>["none",Ne,le,ne],he=()=>[Ne,le,ne],ce=()=>[yr,"full",...v()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[An],breakpoint:[An],color:[AI],container:[An],"drop-shadow":[An],ease:["in","out","in-out"],font:[BP],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[An],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[An],shadow:[An],spacing:["px",Ne],text:[An],"text-shadow":[An],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",yr,ne,le,S]}],container:["container"],"container-type":[{"@container":["","normal","size",le,ne]}],"container-named":[FP],columns:[{columns:[Ne,ne,le,s]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{"inset-s":E(),start:E()}],end:[{"inset-e":E(),end:E()}],"inset-bs":[{"inset-bs":E()}],"inset-be":[{"inset-be":E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[Go,"auto",le,ne]}],basis:[{basis:[yr,"full","auto",s,...v()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ne,yr,"auto","initial","none",ne]}],grow:[{grow:["",Ne,le,ne]}],shrink:[{shrink:["",Ne,le,ne]}],order:[{order:[Go,"first","last","none",le,ne]}],"grid-cols":[{"grid-cols":w()}],"col-start-end":[{col:P()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":w()}],"row-start-end":[{row:P()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:v()}],"gap-x":[{"gap-x":v()}],"gap-y":[{"gap-y":v()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:v()}],px:[{px:v()}],py:[{py:v()}],ps:[{ps:v()}],pe:[{pe:v()}],pbs:[{pbs:v()}],pbe:[{pbe:v()}],pt:[{pt:v()}],pr:[{pr:v()}],pb:[{pb:v()}],pl:[{pl:v()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mbs:[{mbs:z()}],mbe:[{mbe:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":v()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":v()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...T()]}],"min-inline-size":[{"min-inline":["auto",...T()]}],"max-inline-size":[{"max-inline":["none",...T()]}],"block-size":[{block:["auto",...N()]}],"min-block-size":[{"min-block":["auto",...N()]}],"max-block-size":[{"max-block":["none",...N()]}],w:[{w:[s,"screen",...H()]}],"min-w":[{"min-w":[s,"screen","none",...H()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[l]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",a,vu,bl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,YP,zP]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ux,ne]}],"font-family":[{font:[qP,UP,t]}],"font-features":[{"font-features":[ne]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,le,ne]}],"line-clamp":[{"line-clamp":[Ne,"none",le,RI]}],leading:[{leading:[r,...v()]}],"list-image":[{"list-image":["none",le,ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",le,ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:A()}],"text-color":[{text:A()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...me(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ne,"from-font","auto",le,bl]}],"text-decoration-color":[{decoration:A()}],"underline-offset":[{"underline-offset":[Ne,"auto",le,ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:v()}],"tab-size":[{tab:[Go,le,ne]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",le,ne]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",le,ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:J()}],"bg-size":[{bg:fe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Go,le,ne],radial:["",le,ne],conic:[Go,le,ne]},GP,HP]}],"bg-color":[{bg:A()}],"gradient-from-pos":[{from:re()}],"gradient-via-pos":[{via:re()}],"gradient-to-pos":[{to:re()}],"gradient-from":[{from:A()}],"gradient-via":[{via:A()}],"gradient-to":[{to:A()}],rounded:[{rounded:X()}],"rounded-s":[{"rounded-s":X()}],"rounded-e":[{"rounded-e":X()}],"rounded-t":[{"rounded-t":X()}],"rounded-r":[{"rounded-r":X()}],"rounded-b":[{"rounded-b":X()}],"rounded-l":[{"rounded-l":X()}],"rounded-ss":[{"rounded-ss":X()}],"rounded-se":[{"rounded-se":X()}],"rounded-ee":[{"rounded-ee":X()}],"rounded-es":[{"rounded-es":X()}],"rounded-tl":[{"rounded-tl":X()}],"rounded-tr":[{"rounded-tr":X()}],"rounded-br":[{"rounded-br":X()}],"rounded-bl":[{"rounded-bl":X()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-bs":[{"border-bs":Z()}],"border-w-be":[{"border-be":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...me(),"hidden","none"]}],"divide-style":[{divide:[...me(),"hidden","none"]}],"border-color":[{border:A()}],"border-color-x":[{"border-x":A()}],"border-color-y":[{"border-y":A()}],"border-color-s":[{"border-s":A()}],"border-color-e":[{"border-e":A()}],"border-color-bs":[{"border-bs":A()}],"border-color-be":[{"border-be":A()}],"border-color-t":[{"border-t":A()}],"border-color-r":[{"border-r":A()}],"border-color-b":[{"border-b":A()}],"border-color-l":[{"border-l":A()}],"divide-color":[{divide:A()}],"outline-style":[{outline:[...me(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ne,le,ne]}],"outline-w":[{outline:["",Ne,vu,bl]}],"outline-color":[{outline:A()}],shadow:[{shadow:["","none",c,yd,bd]}],"shadow-color":[{shadow:A()}],"inset-shadow":[{"inset-shadow":["none",f,yd,bd]}],"inset-shadow-color":[{"inset-shadow":A()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:A()}],"ring-offset-w":[{"ring-offset":[Ne,bl]}],"ring-offset-color":[{"ring-offset":A()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":A()}],"text-shadow":[{"text-shadow":["none",d,yd,bd]}],"text-shadow-color":[{"text-shadow":A()}],opacity:[{opacity:[Ne,le,ne]}],"mix-blend":[{"mix-blend":[...Q(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Q()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ne]}],"mask-image-linear-from-pos":[{"mask-linear-from":ee()}],"mask-image-linear-to-pos":[{"mask-linear-to":ee()}],"mask-image-linear-from-color":[{"mask-linear-from":A()}],"mask-image-linear-to-color":[{"mask-linear-to":A()}],"mask-image-t-from-pos":[{"mask-t-from":ee()}],"mask-image-t-to-pos":[{"mask-t-to":ee()}],"mask-image-t-from-color":[{"mask-t-from":A()}],"mask-image-t-to-color":[{"mask-t-to":A()}],"mask-image-r-from-pos":[{"mask-r-from":ee()}],"mask-image-r-to-pos":[{"mask-r-to":ee()}],"mask-image-r-from-color":[{"mask-r-from":A()}],"mask-image-r-to-color":[{"mask-r-to":A()}],"mask-image-b-from-pos":[{"mask-b-from":ee()}],"mask-image-b-to-pos":[{"mask-b-to":ee()}],"mask-image-b-from-color":[{"mask-b-from":A()}],"mask-image-b-to-color":[{"mask-b-to":A()}],"mask-image-l-from-pos":[{"mask-l-from":ee()}],"mask-image-l-to-pos":[{"mask-l-to":ee()}],"mask-image-l-from-color":[{"mask-l-from":A()}],"mask-image-l-to-color":[{"mask-l-to":A()}],"mask-image-x-from-pos":[{"mask-x-from":ee()}],"mask-image-x-to-pos":[{"mask-x-to":ee()}],"mask-image-x-from-color":[{"mask-x-from":A()}],"mask-image-x-to-color":[{"mask-x-to":A()}],"mask-image-y-from-pos":[{"mask-y-from":ee()}],"mask-image-y-to-pos":[{"mask-y-to":ee()}],"mask-image-y-from-color":[{"mask-y-from":A()}],"mask-image-y-to-color":[{"mask-y-to":A()}],"mask-image-radial":[{"mask-radial":[le,ne]}],"mask-image-radial-from-pos":[{"mask-radial-from":ee()}],"mask-image-radial-to-pos":[{"mask-radial-to":ee()}],"mask-image-radial-from-color":[{"mask-radial-from":A()}],"mask-image-radial-to-color":[{"mask-radial-to":A()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Ne]}],"mask-image-conic-from-pos":[{"mask-conic-from":ee()}],"mask-image-conic-to-pos":[{"mask-conic-to":ee()}],"mask-image-conic-from-color":[{"mask-conic-from":A()}],"mask-image-conic-to-color":[{"mask-conic-to":A()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:J()}],"mask-size":[{mask:fe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",le,ne]}],filter:[{filter:["","none",le,ne]}],blur:[{blur:Ie()}],brightness:[{brightness:[Ne,le,ne]}],contrast:[{contrast:[Ne,le,ne]}],"drop-shadow":[{"drop-shadow":["","none",m,yd,bd]}],"drop-shadow-color":[{"drop-shadow":A()}],grayscale:[{grayscale:["",Ne,le,ne]}],"hue-rotate":[{"hue-rotate":[Ne,le,ne]}],invert:[{invert:["",Ne,le,ne]}],saturate:[{saturate:[Ne,le,ne]}],sepia:[{sepia:["",Ne,le,ne]}],"backdrop-filter":[{"backdrop-filter":["","none",le,ne]}],"backdrop-blur":[{"backdrop-blur":Ie()}],"backdrop-brightness":[{"backdrop-brightness":[Ne,le,ne]}],"backdrop-contrast":[{"backdrop-contrast":[Ne,le,ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ne,le,ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ne,le,ne]}],"backdrop-invert":[{"backdrop-invert":["",Ne,le,ne]}],"backdrop-opacity":[{"backdrop-opacity":[Ne,le,ne]}],"backdrop-saturate":[{"backdrop-saturate":[Ne,le,ne]}],"backdrop-sepia":[{"backdrop-sepia":["",Ne,le,ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":v()}],"border-spacing-x":[{"border-spacing-x":v()}],"border-spacing-y":[{"border-spacing-y":v()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",le,ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ne,"initial",le,ne]}],ease:[{ease:["linear","initial",g,le,ne]}],delay:[{delay:[Ne,le,ne]}],animate:[{animate:["none",p,le,ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,le,ne]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Te()}],"rotate-x":[{"rotate-x":Te()}],"rotate-y":[{"rotate-y":Te()}],"rotate-z":[{"rotate-z":Te()}],scale:[{scale:te()}],"scale-x":[{"scale-x":te()}],"scale-y":[{"scale-y":te()}],"scale-z":[{"scale-z":te()}],"scale-3d":["scale-3d"],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[le,ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ce()}],"translate-x":[{"translate-x":ce()}],"translate-y":[{"translate-y":ce()}],"translate-z":[{"translate-z":ce()}],"translate-none":["translate-none"],zoom:[{zoom:[Go,le,ne]}],accent:[{accent:A()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:A()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",le,ne]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":A()}],"scrollbar-track-color":[{"scrollbar-track":A()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":v()}],"scroll-mx":[{"scroll-mx":v()}],"scroll-my":[{"scroll-my":v()}],"scroll-ms":[{"scroll-ms":v()}],"scroll-me":[{"scroll-me":v()}],"scroll-mbs":[{"scroll-mbs":v()}],"scroll-mbe":[{"scroll-mbe":v()}],"scroll-mt":[{"scroll-mt":v()}],"scroll-mr":[{"scroll-mr":v()}],"scroll-mb":[{"scroll-mb":v()}],"scroll-ml":[{"scroll-ml":v()}],"scroll-p":[{"scroll-p":v()}],"scroll-px":[{"scroll-px":v()}],"scroll-py":[{"scroll-py":v()}],"scroll-ps":[{"scroll-ps":v()}],"scroll-pe":[{"scroll-pe":v()}],"scroll-pbs":[{"scroll-pbs":v()}],"scroll-pbe":[{"scroll-pbe":v()}],"scroll-pt":[{"scroll-pt":v()}],"scroll-pr":[{"scroll-pr":v()}],"scroll-pb":[{"scroll-pb":v()}],"scroll-pl":[{"scroll-pl":v()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",le,ne]}],fill:[{fill:["none",...A()]}],"stroke-w":[{stroke:[Ne,vu,bl,RI]}],stroke:[{stroke:["none",...A()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var zI=IP(jP);function oe(...e){return zI(gd(e))}var KP=br("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline",passed:"border-pass-border text-pass font-mono uppercase",failed:"border-fail-border bg-fail-bg text-fail font-mono uppercase",skipped:"border-skip-border text-skip font-mono uppercase",pending:"border-pend-border text-pend font-mono uppercase",tag:"border-border text-muted-foreground font-mono font-medium [a&]:hover:bg-muted"}},defaultVariants:{variant:"default"}});function Ia({className:e,variant:t="default",render:a,...o}){return xd({defaultTagName:"span",render:a,props:{"data-slot":"badge","data-variant":t,className:oe(KP({variant:t}),e),...o}})}var Oe=C(F(),1),QP="file-tree",$P="data-model";function VI(e){return e==="added"||e==="modified"||e==="removed"||e==="renamed"}function Cd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Yo(e){return typeof e=="string"&&e!==""?e:void 0}function JP({authored:e}){return e!=="agent"?null:(0,Oe.jsx)(Ia,{variant:"outline",className:"border-border text-[10px] text-muted-foreground",children:"AI-authored, not verified by a run"})}function GI({title:e,authored:t,children:a}){return(0,Oe.jsxs)("figure",{className:"my-3",children:[e||t==="agent"?(0,Oe.jsxs)("figcaption",{className:"mb-1.5 flex flex-wrap items-center gap-2",children:[e?(0,Oe.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:e}):null,(0,Oe.jsx)(JP,{authored:t})]}):null,a]})}function YI({change:e}){return(0,Oe.jsx)(Ia,{variant:"tag",className:"text-[10px]",children:e})}function eN(e){if(!Cd(e)||!Array.isArray(e.files))return;let t=[];for(let a of e.files){if(typeof a=="string"){a&&t.push({path:a});continue}if(!Cd(a))continue;let o=Yo(a.path);o&&t.push({path:o,change:VI(a.change)?a.change:void 0,note:Yo(a.note)})}if(t.length!==0)return{title:Yo(e.title),authored:Yo(e.authored),files:t}}function tN(e){let t={name:"",children:new Map};for(let a of e){let o=a.path.split("/").filter(Boolean),n=t;o.forEach((r,l)=>{let s=n.children.get(r);s||(s={name:r,children:new Map},n.children.set(r,s)),l===o.length-1&&(s.file=a),n=s})}return t}function aN(e){return[...e.children.values()].sort((t,a)=>{let o=t.children.size>0,n=a.children.size>0;return o!==n?o?-1:1:t.name.localeCompare(a.name)})}function XI({node:e,depth:t}){let a=aN(e);return(0,Oe.jsx)("ul",{className:oe("space-y-0.5",t>0&&"ml-3 border-l border-border/60 pl-3"),children:a.map(o=>{let n=o.children.size>0;return(0,Oe.jsxs)("li",{children:[(0,Oe.jsxs)("div",{className:"flex flex-wrap items-baseline gap-2",children:[(0,Oe.jsx)("span",{className:oe("font-mono text-xs",n?"text-muted-foreground":"text-foreground"),children:n?`${o.name}/`:o.name}),o.file?.change?(0,Oe.jsx)(YI,{change:o.file.change}):null,o.file?.note?(0,Oe.jsx)("span",{className:"text-xs text-muted-foreground",children:o.file.note}):null]}),n?(0,Oe.jsx)(XI,{node:o,depth:t+1}):null]},o.name)})})}function oN({entry:e}){let t=eN(e.data);return t?(0,Oe.jsx)(GI,{title:t.title??"Files changed",authored:t.authored,children:(0,Oe.jsx)("div",{tabIndex:0,className:"overflow-x-auto rounded-md border border-border bg-card p-3",children:(0,Oe.jsx)(XI,{node:tN(t.files),depth:0})})}):(0,Oe.jsx)(jI,{entry:e})}function nN(e){if(!Cd(e)||!Array.isArray(e.fields))return;let t=[];for(let a of e.fields){if(!Cd(a))continue;let o=Yo(a.name);o&&t.push({name:o,type:Yo(a.type),note:Yo(a.note),change:VI(a.change)?a.change:void 0})}if(t.length!==0)return{title:Yo(e.title),authored:Yo(e.authored),name:Yo(e.name),fields:t}}function rN({entry:e}){let t=nN(e.data);if(!t)return(0,Oe.jsx)(jI,{entry:e});let a=t.fields.some(o=>o.note);return(0,Oe.jsx)(GI,{title:t.title??t.name??"Data model",authored:t.authored,children:(0,Oe.jsx)("div",{tabIndex:0,className:"overflow-x-auto rounded-md border border-border",children:(0,Oe.jsxs)("table",{className:"w-full border-collapse text-sm",children:[(0,Oe.jsx)("thead",{children:(0,Oe.jsxs)("tr",{className:"bg-muted/50",children:[(0,Oe.jsx)("th",{scope:"col",className:"border-b border-border px-3 py-2 text-left font-semibold",children:"Field"}),(0,Oe.jsx)("th",{scope:"col",className:"border-b border-border px-3 py-2 text-left font-semibold",children:"Type"}),a?(0,Oe.jsx)("th",{scope:"col",className:"border-b border-border px-3 py-2 text-left font-semibold",children:"Note"}):null]})}),(0,Oe.jsx)("tbody",{children:t.fields.map(o=>(0,Oe.jsxs)("tr",{children:[(0,Oe.jsx)("td",{className:"border-b border-border px-3 py-2",children:(0,Oe.jsxs)("span",{className:"flex flex-wrap items-center gap-2",children:[(0,Oe.jsx)("span",{className:"font-mono text-xs text-foreground",children:o.name}),o.change?(0,Oe.jsx)(YI,{change:o.change}):null]})}),(0,Oe.jsx)("td",{className:"border-b border-border px-3 py-2 font-mono text-xs text-muted-foreground",children:o.type??""}),a?(0,Oe.jsx)("td",{className:"border-b border-border px-3 py-2 text-foreground",children:o.note??""}):null]},o.name))})]})})})}function jI({entry:e}){return(0,Oe.jsxs)("div",{className:"my-2","data-type":e.type,children:[(0,Oe.jsxs)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:[e.type," (unrecognised shape)"]}),(0,Oe.jsx)("pre",{tabIndex:0,className:"overflow-x-auto rounded-md bg-muted p-3 font-mono text-xs text-foreground",children:lN(e.data)})]})}function lN(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}var KI={[QP]:e=>(0,Oe.jsx)(oN,{entry:e}),[$P]:e=>(0,Oe.jsx)(rN,{entry:e})};var QI=C(F(),1),sN={};function ZI({report:e,customRenderers:t,renderers:a,children:o}){let n=(0,WI.useMemo)(()=>({report:e,customRenderers:{...KI,...t},renderers:a??sN}),[e,t,a]);return(0,QI.jsx)(hl.Provider,{value:n,children:o})}var $I=C(k(),1);function Lo(){let e=(0,$I.useContext)(hl);if(!e)throw new Error("useReport must be used inside <ReportRoot> or <Report>. Wrap your tree with one of those.");return e.report}function On(e){if(e<1e3)return`${Math.round(e)} ms`;if(e<6e4)return`${(e/1e3).toFixed(2)} s`;let t=Math.floor(e/6e4),a=Math.floor(e%6e4/1e3);if(t<60)return a>0?`${t}m ${a}s`:`${t}m`;let o=Math.floor(t/60),n=t%60;return`${o}h ${n}m`}var e0=C(F(),1);function JI({entry:e}){return(0,e0.jsx)("p",{className:"my-2 text-sm text-muted-foreground",children:e.text})}var Rd=C(F(),1);function t0({entry:e}){return(0,Rd.jsx)("ul",{className:"my-2 flex flex-wrap gap-1.5","aria-label":"Tags",children:e.names.map(t=>(0,Rd.jsx)("li",{children:(0,Rd.jsx)(Ia,{variant:"tag",children:t})},t))})}var Lu=C(F(),1);function iN(e){if(e===null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function a0({entry:e}){return(0,Lu.jsxs)("dl",{className:"my-2 flex flex-wrap items-baseline gap-x-2 text-sm",children:[(0,Lu.jsx)("dt",{className:"font-semibold text-muted-foreground",children:e.label}),(0,Lu.jsx)("dd",{className:"font-mono text-foreground",children:iN(e.value)})]})}var Vx=C(k(),1);var uN={},cN={};function o0(){return(0,Vx.useContext)(hl)?.customRenderers??uN}function Hs(){return(0,Vx.useContext)(hl)?.renderers??cN}var Xo=C(F(),1);function Iu({label:e,children:t}){return(0,Xo.jsxs)("figure",{className:"my-3",children:[e?(0,Xo.jsx)("figcaption",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:e}):null,(0,Xo.jsx)("pre",{tabIndex:0,className:"overflow-x-auto rounded-md bg-muted p-3",children:t})]})}function n0({entry:e}){let t=Hs();return t.code?(0,Xo.jsx)(Xo.Fragment,{children:t.code(e)}):(0,Xo.jsx)(Iu,{label:e.label,children:(0,Xo.jsx)("code",{className:oe("font-mono text-xs",e.lang&&`language-${e.lang}`),children:e.content})})}var fo=C(F(),1);function r0({entry:e}){return(0,fo.jsxs)("figure",{className:"my-3",children:[e.label?(0,fo.jsx)("figcaption",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:e.label}):null,(0,fo.jsx)("div",{tabIndex:0,className:"overflow-x-auto rounded-md border border-border",children:(0,fo.jsxs)("table",{className:"w-full border-collapse text-sm",children:[(0,fo.jsx)("thead",{children:(0,fo.jsx)("tr",{className:"bg-muted/50",children:e.columns.map(t=>(0,fo.jsx)("th",{scope:"col",className:"border-b border-border px-3 py-2 text-left font-semibold",children:t},t))})}),(0,fo.jsx)("tbody",{children:e.rows.map((t,a)=>(0,fo.jsx)("tr",{children:t.map((o,n)=>(0,fo.jsx)("td",{className:"border-b border-border px-3 py-2 text-foreground",children:o},n))},a))})]})})]})}var s0=C(F(),1);function l0({entry:e}){return(0,s0.jsx)("a",{className:"text-sm font-medium text-primary underline underline-offset-2 hover:no-underline",href:e.url,rel:"noreferrer noopener",target:"_blank",children:e.label})}function jx(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Rl=jx();function g0(e){Rl=e}var Sl={exec:()=>null};function qs(e){let t=[];return a=>{let o=Math.max(0,Math.min(3,a-1)),n=t[o];return n||(n=e(o),t[o]=n),n}}function He(e,t=""){let a=typeof e=="string"?e:e.source,o={replace:(n,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace($t.caret,"$1"),a=a.replace(n,l),o},getRegex:()=>new RegExp(a,t)};return o}var fN=((e="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+e)}catch{return!1}})(),$t={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^\'"]*[^\\s])\\s+([\'"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>"\']/,escapeReplace:/[&<>"\']/g,escapeTestNoEncode:/[<>"\']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>"\']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:qs(e=>new RegExp(`^ {0,${e}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ ][^\\\\n]*)?(?:\\\\n|$))`)),hrRegex:qs(e=>new RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`)),fencesBeginRegex:qs(e=>new RegExp(`^ {0,${e}}(?:\\`\\`\\`|~~~)`)),headingBeginRegex:qs(e=>new RegExp(`^ {0,${e}}#`)),htmlBeginRegex:qs(e=>new RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:qs(e=>new RegExp(`^ {0,${e}}>`))},dN=/^(?:[ \\t]*(?:\\n|$))+/,pN=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,mN=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,Tu=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,gN=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,Kx=/ {0,3}(?:[*+-]|\\d{1,9}[.)])/,h0=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,x0=He(h0).replace(/bull/g,Kx).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,"").getRegex(),hN=He(h0).replace(/bull/g,Kx).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),Wx=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,xN=/^[^\\n]+/,Zx=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,bN=He(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace("label",Zx).replace("title",/(?:"(?:\\\\"?|[^"\\\\])*"|\'[^\'\\n]*(?:\\n[^\'\\n]+)*\\n?\'|\\([^()]*\\))/).getRegex(),yN=He(/^(bull)([ \\t][^\\n]*?)?(?:\\n|$)/).replace(/bull/g,Kx).getRegex(),Ed="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Qx=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,SN=He("^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ ]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ ]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ ]*)+\\\\n|$))","i").replace("comment",Qx).replace("tag",Ed).replace("attribute",/ +[a-zA-Z:_][\\w.:-]*(?: *= *"[^"\\n]*"| *= *\'[^\'\\n]*\'| *= *[^\\s"\'=<>`]+)?/).getRegex(),b0=He(Wx).replace("hr",Tu).replace("heading"," {0,3}#{1,6}(?:\\\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]").replace("html","</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ed).getRegex(),CN=He(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace("paragraph",b0).getRegex(),$x={blockquote:CN,code:pN,def:bN,fences:mN,heading:gN,hr:Tu,html:SN,lheading:x0,list:yN,newline:dN,paragraph:b0,table:Sl,text:xN},i0=He("^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)").replace("hr",Tu).replace("heading"," {0,3}#{1,6}(?:\\\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\\\t]").replace("html","</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ed).getRegex(),RN={...$x,lheading:hN,table:i0,paragraph:He(Wx).replace("hr",Tu).replace("heading"," {0,3}#{1,6}(?:\\\\s|$)").replace("|lheading","").replace("table",i0).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]").replace("html","</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ed).getRegex()},vN={...$x,html:He(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:"[^"]*"|\'[^\']*\'|\\\\s[^\'"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace("comment",Qx).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +(["(][^\\n]+[")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:Sl,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:He(Wx).replace("hr",Tu).replace("heading",` *#{1,6} *[^\n]`).replace("lheading",x0).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},LN=/^\\\\([!"#$%&\'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,IN=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,y0=/^( {2,}|\\\\)\\n(?!\\s*$)/,wN=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,Vs=/[\\p{P}\\p{S}]/u,Td=/[\\s\\p{P}\\p{S}]/u,Jx=/[^\\s\\p{P}\\p{S}]/u,EN=He(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Td).getRegex(),S0=/(?!~)[\\p{P}\\p{S}]/u,TN=/(?!~)[\\s\\p{P}\\p{S}]/u,kN=/(?:[^\\s\\p{P}\\p{S}]|~)/u,MN=He(/link|precode-code|html/,"g").replace("link",/\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace("precode-",fN?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),C0=/^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/,AN=He(C0,"u").replace(/punct/g,Vs).getRegex(),ON=He(C0,"u").replace(/punct/g,S0).getRegex(),R0="^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)",DN=He(R0,"gu").replace(/notPunctSpace/g,Jx).replace(/punctSpace/g,Td).replace(/punct/g,Vs).getRegex(),PN=He(R0,"gu").replace(/notPunctSpace/g,kN).replace(/punctSpace/g,TN).replace(/punct/g,S0).getRegex(),NN=He("^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Jx).replace(/punctSpace/g,Td).replace(/punct/g,Vs).getRegex(),BN=He(/^~~?(?:((?!~)punct)|[^\\s~])/,"u").replace(/punct/g,Vs).getRegex(),FN="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",_N=He(FN,"gu").replace(/notPunctSpace/g,Jx).replace(/punctSpace/g,Td).replace(/punct/g,Vs).getRegex(),zN=He(/\\\\(punct)/,"gu").replace(/punct/g,Vs).getRegex(),UN=He(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&\'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),HN=He(Qx).replace("(?:-->|$)","-->").getRegex(),qN=He("^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>").replace("comment",HN).replace("attribute",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*"[^"]*"|\\s*=\\s*\'[^\']*\'|\\s*=\\s*[^\\s"\'=<>`]+)?/).getRegex(),Ld=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/,VN=He(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace("label",Ld).replace("href",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace("title",/"(?:\\\\"?|[^"\\\\])*"|\'(?:\\\\\'?|[^\'\\\\])*\'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),v0=He(/^!?\\[(label)\\]\\[(ref)\\]/).replace("label",Ld).replace("ref",Zx).getRegex(),L0=He(/^!?\\[(ref)\\](?:\\[\\])?/).replace("ref",Zx).getRegex(),GN=He("reflink|nolink(?!\\\\()","g").replace("reflink",v0).replace("nolink",L0).getRegex(),u0=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,eb={_backpedal:Sl,anyPunctuation:zN,autolink:UN,blockSkip:MN,br:y0,code:IN,del:Sl,delLDelim:Sl,delRDelim:Sl,emStrongLDelim:AN,emStrongRDelimAst:DN,emStrongRDelimUnd:NN,escape:LN,link:VN,nolink:L0,punctuation:EN,reflink:v0,reflinkSearch:GN,tag:qN,text:wN,url:Sl},YN={...eb,link:He(/^!?\\[(label)\\]\\((.*?)\\)/).replace("label",Ld).getRegex(),reflink:He(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace("label",Ld).getRegex()},Gx={...eb,emStrongRDelimAst:PN,emStrongLDelim:ON,delLDelim:BN,delRDelim:_N,url:He(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace("protocol",u0).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_\'"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_\'"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:He(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&\'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&\'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&\'*+\\/=?_`{\\|}~-]+@)))/).replace("protocol",u0).getRegex()},XN={...Gx,br:He(y0).replace("{2,}","*").getRegex(),text:He(Gx.text).replace("\\\\b_","\\\\b_| {2,}\\\\n").replace(/\\{2,\\}/g,"*").getRegex()},vd={normal:$x,gfm:RN,pedantic:vN},wu={normal:eb,gfm:Gx,breaks:XN,pedantic:YN},jN={"&":"&","<":"<",">":">",\'"\':""","\'":"'"},c0=e=>jN[e];function jo(e,t){if(t){if($t.escapeTest.test(e))return e.replace($t.escapeReplace,c0)}else if($t.escapeTestNoEncode.test(e))return e.replace($t.escapeReplaceNoEncode,c0);return e}function f0(e){try{e=encodeURI(e).replace($t.percentDecode,"%")}catch{return null}return e}function d0(e,t){let a=e.replace($t.findPipe,(r,l,s)=>{let i=!1,u=l;for(;--u>=0&&s[u]==="\\\\";)i=!i;return i?"|":" |"}),o=a.split($t.splitPipe),n=0;if(o[0].trim()||o.shift(),o.length>0&&!o.at(-1)?.trim()&&o.pop(),t)if(o.length>t)o.splice(t);else for(;o.length<t;)o.push("");for(;n<o.length;n++)o[n]=o[n].trim().replace($t.slashPipe,"|");return o}function Cr(e,t,a){let o=e.length;if(o===0)return"";let n=0;for(;n<o;){let r=e.charAt(o-n-1);if(r===t&&!a)n++;else if(r!==t&&a)n++;else break}return e.slice(0,o-n)}function p0(e){let t=e.split(`\n`),a=t.length-1;for(;a>=0&&$t.blankLine.test(t[a]);)a--;return t.length-a<=2?e:t.slice(0,a+1).join(`\n`)}function KN(e,t){if(e.indexOf(t[1])===-1)return-1;let a=0;for(let o=0;o<e.length;o++)if(e[o]==="\\\\")o++;else if(e[o]===t[0])a++;else if(e[o]===t[1]&&(a--,a<0))return o;return a>0?-2:-1}function WN(e,t=0){let a=t,o="";for(let n of e)if(n===" "){let r=4-a%4;o+=" ".repeat(r),a+=r}else o+=n,a++;return o}function m0(e,t,a,o,n){let r=t.href,l=t.title||null,s=e[1].replace(n.other.outputLinkReplace,"$1");o.state.inLink=!0;let i={type:e[0].charAt(0)==="!"?"image":"link",raw:a,href:r,title:l,text:s,tokens:o.inlineTokens(s)};return o.state.inLink=!1,i}function ZN(e,t,a){let o=e.match(a.other.indentCodeCompensation);if(o===null)return t;let n=o[1];return t.split(`\n`).map(r=>{let l=r.match(a.other.beginningSpace);if(l===null)return r;let[s]=l;return s.length>=n.length?r.slice(n.length):r}).join(`\n`)}var Id=class{options;rules;lexer;constructor(e){this.options=e||Rl}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let a=this.options.pedantic?t[0]:p0(t[0]),o=a.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:a,codeBlockStyle:"indented",text:o}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let a=t[0],o=ZN(a,t[3]||"",this.rules);return{type:"code",raw:a,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:o}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let a=t[2].trim();if(this.rules.other.endingHash.test(a)){let o=Cr(a,"#");(this.options.pedantic||!o||this.rules.other.endingSpaceChar.test(o))&&(a=o.trim())}return{type:"heading",raw:Cr(t[0],`\n`),depth:t[1].length,text:a,tokens:this.lexer.inline(a)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Cr(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let a=Cr(t[0],`\n`).split(`\n`),o="",n="",r=[];for(;a.length>0;){let l=!1,s=[],i;for(i=0;i<a.length;i++)if(this.rules.other.blockquoteStart.test(a[i]))s.push(a[i]),l=!0;else if(!l)s.push(a[i]);else break;a=a.slice(i);let u=s.join(`\n`),c=u.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,"");o=o?`${o}\n${u}`:u,n=n?`${n}\n${c}`:c;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,r,!0),this.lexer.state.top=f,a.length===0)break;let d=r.at(-1);if(d?.type==="code")break;if(d?.type==="blockquote"){let m=d,h=m.raw+`\n`+a.join(`\n`),y=this.blockquote(h);r[r.length-1]=y,o=o.substring(0,o.length-m.raw.length)+y.raw,n=n.substring(0,n.length-m.text.length)+y.text;break}else if(d?.type==="list"){let m=d,h=m.raw+`\n`+a.join(`\n`),y=this.list(h);r[r.length-1]=y,o=o.substring(0,o.length-d.raw.length)+y.raw,n=n.substring(0,n.length-m.raw.length)+y.raw,a=h.substring(r.at(-1).raw.length).split(`\n`);continue}}return{type:"blockquote",raw:o,tokens:r,text:n}}}list(e){let t=this.rules.block.list.exec(e);if(t){let a=t[1].trim(),o=a.length>1,n={type:"list",raw:"",ordered:o,start:o?+a.slice(0,-1):"",loose:!1,items:[]};a=o?`\\\\d{1,9}\\\\${a.slice(-1)}`:`\\\\${a}`,this.options.pedantic&&(a=o?a:"[*+-]");let r=this.rules.other.listItemRegex(a),l=!1;for(;e;){let i=!1,u="",c="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;u=t[0],e=e.substring(u.length);let f=WN(t[2].split(`\n`,1)[0],t[1].length),d=e.split(`\n`,1)[0],m=!f.trim(),h=0;if(this.options.pedantic?(h=2,c=f.trimStart()):m?h=t[1].length+1:(h=f.search(this.rules.other.nonSpaceChar),h=h>4?1:h,c=f.slice(h),h+=t[1].length),m&&this.rules.other.blankLine.test(d)&&(u+=d+`\n`,e=e.substring(d.length+1),i=!0),!i){let y=this.rules.other.nextBulletRegex(h),S=this.rules.other.hrRegex(h),g=this.rules.other.fencesBeginRegex(h),p=this.rules.other.headingBeginRegex(h),x=this.rules.other.htmlBeginRegex(h),b=this.rules.other.blockquoteBeginRegex(h);for(;e;){let L=e.split(`\n`,1)[0],R;if(d=L,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),R=d):R=d.replace(this.rules.other.tabCharGlobal," "),g.test(d)||p.test(d)||x.test(d)||b.test(d)||y.test(d)||S.test(d))break;if(R.search(this.rules.other.nonSpaceChar)>=h||!d.trim())c+=`\n`+R.slice(h);else{if(m||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||g.test(f)||p.test(f)||S.test(f))break;c+=`\n`+d}m=!d.trim(),u+=L+`\n`,e=e.substring(L.length+1),f=R.slice(h)}}n.loose||(l?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(l=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),n.raw+=u}let s=n.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let i of n.items){this.lexer.state.top=!1,i.tokens=this.lexer.blockTokens(i.text,[]);let u=i.tokens[0];if(i.task&&(u?.type==="text"||u?.type==="paragraph")){i.text=i.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let c=this.rules.other.listTaskCheckbox.exec(i.raw);if(c){let f={type:"checkbox",raw:c[0]+" ",checked:c[0]!=="[ ]"};i.checked=f.checked,n.loose?i.tokens[0]&&["paragraph","text"].includes(i.tokens[0].type)&&"tokens"in i.tokens[0]&&i.tokens[0].tokens?(i.tokens[0].raw=f.raw+i.tokens[0].raw,i.tokens[0].text=f.raw+i.tokens[0].text,i.tokens[0].tokens.unshift(f)):i.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):i.tokens.unshift(f)}}else i.task&&(i.task=!1);if(!n.loose){let c=i.tokens.filter(d=>d.type==="space"),f=c.length>0&&c.some(d=>this.rules.other.anyLine.test(d.raw));n.loose=f}}if(n.loose)for(let i of n.items){i.loose=!0;for(let u of i.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(e){let t=this.rules.block.html.exec(e);if(t){let a=p0(t[0]);return{type:"html",block:!0,raw:a,pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:a}}}def(e){let t=this.rules.block.def.exec(e);if(t){let a=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),o=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:a,raw:Cr(t[0],`\n`),href:o,title:n}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let a=d0(t[1]),o=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`\n`):[],r={type:"table",raw:Cr(t[0],`\n`),header:[],align:[],rows:[]};if(a.length===o.length){for(let l of o)this.rules.other.tableAlignRight.test(l)?r.align.push("right"):this.rules.other.tableAlignCenter.test(l)?r.align.push("center"):this.rules.other.tableAlignLeft.test(l)?r.align.push("left"):r.align.push(null);for(let l=0;l<a.length;l++)r.header.push({text:a[l],tokens:this.lexer.inline(a[l]),header:!0,align:r.align[l]});for(let l of n)r.rows.push(d0(l,r.header.length).map((s,i)=>({text:s,tokens:this.lexer.inline(s),header:!1,align:r.align[i]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let a=t[1].trim();return{type:"heading",raw:Cr(t[0],`\n`),depth:t[2].charAt(0)==="="?1:2,text:a,tokens:this.lexer.inline(a)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let a=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:a,tokens:this.lexer.inline(a)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let a=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(a)){if(!this.rules.other.endAngleBracket.test(a))return;let r=Cr(a.slice(0,-1),"\\\\");if((a.length-r.length)%2===0)return}else{let r=KN(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let o=t[2],n="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(o);r&&(o=r[1],n=r[3])}else n=t[3]?t[3].slice(1,-1):"";return o=o.trim(),this.rules.other.startAngleBracket.test(o)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(a)?o=o.slice(1):o=o.slice(1,-1)),m0(t,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let a;if((a=this.rules.inline.reflink.exec(e))||(a=this.rules.inline.nolink.exec(e))){let o=(a[2]||a[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=t[o.toLowerCase()];if(!n){let r=a[0].charAt(0);return{type:"text",raw:r,text:r}}return m0(a,n,a[0],this.lexer,this.rules)}}emStrong(e,t,a=""){let o=this.rules.inline.emStrongLDelim.exec(e);if(!(!o||!o[1]&&!o[2]&&!o[3]&&!o[4]||o[4]&&a.match(this.rules.other.unicodeAlphaNumeric))&&(!(o[1]||o[3])||!a||this.rules.inline.punctuation.exec(a))){let n=[...o[0]].length-1,r,l,s=n,i=0,u=o[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+n);(o=u.exec(t))!==null;){if(r=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!r)continue;if(l=[...r].length,o[3]||o[4]){s+=l;continue}else if((o[5]||o[6])&&n%3&&!((n+l)%3)){i+=l;continue}if(s-=l,s>0)continue;l=Math.min(l,l+s+i);let c=[...o[0]][0].length,f=e.slice(0,n+o.index+c+l);if(Math.min(n,l)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let d=f.slice(2,-2);return{type:"strong",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let a=t[2].replace(this.rules.other.newLineCharGlobal," "),o=this.rules.other.nonSpaceChar.test(a),n=this.rules.other.startingSpaceChar.test(a)&&this.rules.other.endingSpaceChar.test(a);return o&&n&&(a=a.substring(1,a.length-1)),{type:"codespan",raw:t[0],text:a}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,a=""){let o=this.rules.inline.delLDelim.exec(e);if(o&&(!o[1]||!a||this.rules.inline.punctuation.exec(a))){let n=[...o[0]].length-1,r,l,s=n,i=this.rules.inline.delRDelim;for(i.lastIndex=0,t=t.slice(-1*e.length+n);(o=i.exec(t))!==null;){if(r=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!r||(l=[...r].length,l!==n))continue;if(o[3]||o[4]){s+=l;continue}if(s-=l,s>0)continue;l=Math.min(l,l+s);let u=[...o[0]][0].length,c=e.slice(0,n+o.index+u+l),f=c.slice(n,-n);return{type:"del",raw:c,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let a,o;return t[2]==="@"?(a=t[1],o="mailto:"+a):(a=t[1],o=a),{type:"link",raw:t[0],text:a,href:o,tokens:[{type:"text",raw:a,text:a}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let a,o;if(t[2]==="@")a=t[0],o="mailto:"+a;else{let n;do n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(n!==t[0]);a=t[0],t[1]==="www."?o="http://"+t[0]:o=t[0]}return{type:"link",raw:t[0],text:a,href:o,tokens:[{type:"text",raw:a,text:a}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let a=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:a}}}},Io=class Yx{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Rl,this.options.tokenizer=this.options.tokenizer||new Id,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let a={other:$t,block:vd.normal,inline:wu.normal};this.options.pedantic?(a.block=vd.pedantic,a.inline=wu.pedantic):this.options.gfm&&(a.block=vd.gfm,this.options.breaks?a.inline=wu.breaks:a.inline=wu.gfm),this.tokenizer.rules=a}static get rules(){return{block:vd,inline:wu}}static lex(t,a){return new Yx(a).lex(t)}static lexInline(t,a){return new Yx(a).inlineTokens(t)}lex(t){t=t.replace($t.carriageReturn,`\n`),this.blockTokens(t,this.tokens);for(let a=0;a<this.inlineQueue.length;a++){let o=this.inlineQueue[a];this.inlineTokens(o.src,o.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,a=[],o=!1){this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace($t.tabCharGlobal," ").replace($t.spaceLine,""));let n=1/0;for(;t;){if(t.length<n)n=t.length;else{this.infiniteLoopError(t.charCodeAt(0));break}let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},t,a))?(t=t.substring(r.raw.length),a.push(r),!0):!1))continue;if(r=this.tokenizer.space(t)){t=t.substring(r.raw.length);let s=a.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:a.push(r);continue}if(r=this.tokenizer.code(t)){t=t.substring(r.raw.length);let s=a.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(`\n`)?"":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):a.push(r);continue}if(r=this.tokenizer.fences(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.heading(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.hr(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.blockquote(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.list(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.html(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.def(t)){t=t.substring(r.raw.length);let s=a.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(`\n`)?"":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},a.push(r));continue}if(r=this.tokenizer.table(t)){t=t.substring(r.raw.length),a.push(r);continue}if(r=this.tokenizer.lheading(t)){t=t.substring(r.raw.length),a.push(r);continue}let l=t;if(this.options.extensions?.startBlock){let s=1/0,i=t.slice(1),u;this.options.extensions.startBlock.forEach(c=>{u=c.call({lexer:this},i),typeof u=="number"&&u>=0&&(s=Math.min(s,u))}),s<1/0&&s>=0&&(l=t.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(l))){let s=a.at(-1);o&&s?.type==="paragraph"?(s.raw+=(s.raw.endsWith(`\n`)?"":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):a.push(r),o=l.length!==t.length,t=t.substring(r.raw.length);continue}if(r=this.tokenizer.text(t)){t=t.substring(r.raw.length);let s=a.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(`\n`)?"":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):a.push(r);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return this.state.top=!0,a}inline(t,a=[]){return this.inlineQueue.push({src:t,tokens:a}),a}inlineTokens(t,a=[]){this.tokenizer.lexer=this;let o=t,n=null;if(this.tokens.links){let u=Object.keys(this.tokens.links);if(u.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(o))!==null;)u.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(o))!==null;)o=o.slice(0,n.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(o))!==null;)r=n[2]?n[2].length:0,o=o.slice(0,n.index+r)+"["+"a".repeat(n[0].length-r-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);o=this.options.hooks?.emStrongMask?.call({lexer:this},o)??o;let l=!1,s="",i=1/0;for(;t;){if(t.length<i)i=t.length;else{this.infiniteLoopError(t.charCodeAt(0));break}l||(s=""),l=!1;let u;if(this.options.extensions?.inline?.some(f=>(u=f.call({lexer:this},t,a))?(t=t.substring(u.raw.length),a.push(u),!0):!1))continue;if(u=this.tokenizer.escape(t)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.tag(t)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.link(t)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(u.raw.length);let f=a.at(-1);u.type==="text"&&f?.type==="text"?(f.raw+=u.raw,f.text+=u.text):a.push(u);continue}if(u=this.tokenizer.emStrong(t,o,s)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.codespan(t)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.br(t)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.del(t,o,s)){t=t.substring(u.raw.length),a.push(u);continue}if(u=this.tokenizer.autolink(t)){t=t.substring(u.raw.length),a.push(u);continue}if(!this.state.inLink&&(u=this.tokenizer.url(t))){t=t.substring(u.raw.length),a.push(u);continue}let c=t;if(this.options.extensions?.startInline){let f=1/0,d=t.slice(1),m;this.options.extensions.startInline.forEach(h=>{m=h.call({lexer:this},d),typeof m=="number"&&m>=0&&(f=Math.min(f,m))}),f<1/0&&f>=0&&(c=t.substring(0,f+1))}if(u=this.tokenizer.inlineText(c)){t=t.substring(u.raw.length),u.raw.slice(-1)!=="_"&&(s=u.raw.slice(-1)),l=!0;let f=a.at(-1);f?.type==="text"?(f.raw+=u.raw,f.text+=u.text):a.push(u);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return a}infiniteLoopError(t){let a="Infinite loop on byte: "+t;if(this.options.silent)console.error(a);else throw new Error(a)}},wd=class{options;parser;constructor(e){this.options=e||Rl}space(e){return""}code({text:e,lang:t,escaped:a}){let o=(t||"").match($t.notSpaceStart)?.[0],n=e.replace($t.endingNewline,"")+`\n`;return o?\'<pre><code class="language-\'+jo(o)+\'">\'+(a?n:jo(n,!0))+`</code></pre>\n`:"<pre><code>"+(a?n:jo(n,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,a=e.start,o="";for(let l=0;l<e.items.length;l++){let s=e.items[l];o+=this.listitem(s)}let n=t?"ol":"ul",r=t&&a!==1?\' start="\'+a+\'"\':"";return"<"+n+r+`>\n`+o+"</"+n+`>\n`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>\n`}checkbox({checked:e}){return"<input "+(e?\'checked="" \':"")+\'disabled="" type="checkbox"> \'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t="",a="";for(let n=0;n<e.header.length;n++)a+=this.tablecell(e.header[n]);t+=this.tablerow({text:a});let o="";for(let n=0;n<e.rows.length;n++){let r=e.rows[n];a="";for(let l=0;l<r.length;l++)a+=this.tablecell(r[l]);o+=this.tablerow({text:a})}return o&&(o=`<tbody>${o}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+o+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),a=e.header?"th":"td";return(e.align?`<${a} align="${e.align}">`:`<${a}>`)+t+`</${a}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${jo(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:a}){let o=this.parser.parseInline(a),n=f0(e);if(n===null)return o;e=n;let r=\'<a href="\'+e+\'"\';return t&&(r+=\' title="\'+jo(t)+\'"\'),r+=">"+o+"</a>",r}image({href:e,title:t,text:a,tokens:o}){o&&(a=this.parser.parseInline(o,this.parser.textRenderer));let n=f0(e);if(n===null)return jo(a);e=n;let r=`<img src="${e}" alt="${jo(a)}"`;return t&&(r+=` title="${jo(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:jo(e.text)}},tb=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},wo=class Xx{options;renderer;textRenderer;constructor(t){this.options=t||Rl,this.options.renderer=this.options.renderer||new wd,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new tb}static parse(t,a){return new Xx(a).parse(t)}static parseInline(t,a){return new Xx(a).parseInline(t)}parse(t){this.renderer.parser=this;let a="";for(let o=0;o<t.length;o++){let n=t[o];if(this.options.extensions?.renderers?.[n.type]){let l=n,s=this.options.extensions.renderers[l.type].call({parser:this},l);if(s!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){a+=s||"";continue}}let r=n;switch(r.type){case"space":{a+=this.renderer.space(r);break}case"hr":{a+=this.renderer.hr(r);break}case"heading":{a+=this.renderer.heading(r);break}case"code":{a+=this.renderer.code(r);break}case"table":{a+=this.renderer.table(r);break}case"blockquote":{a+=this.renderer.blockquote(r);break}case"list":{a+=this.renderer.list(r);break}case"checkbox":{a+=this.renderer.checkbox(r);break}case"html":{a+=this.renderer.html(r);break}case"def":{a+=this.renderer.def(r);break}case"paragraph":{a+=this.renderer.paragraph(r);break}case"text":{a+=this.renderer.text(r);break}default:{let l=\'Token with "\'+r.type+\'" type was not found.\';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return a}parseInline(t,a=this.renderer){this.renderer.parser=this;let o="";for(let n=0;n<t.length;n++){let r=t[n];if(this.options.extensions?.renderers?.[r.type]){let s=this.options.extensions.renderers[r.type].call({parser:this},r);if(s!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){o+=s||"";continue}}let l=r;switch(l.type){case"escape":{o+=a.text(l);break}case"html":{o+=a.html(l);break}case"link":{o+=a.link(l);break}case"image":{o+=a.image(l);break}case"checkbox":{o+=a.checkbox(l);break}case"strong":{o+=a.strong(l);break}case"em":{o+=a.em(l);break}case"codespan":{o+=a.codespan(l);break}case"br":{o+=a.br(l);break}case"del":{o+=a.del(l);break}case"text":{o+=a.text(l);break}default:{let s=\'Token with "\'+l.type+\'" type was not found.\';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return o}},Eu=class{options;block;constructor(e){this.options=e||Rl}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Io.lex:Io.lexInline}provideParser(e=this.block){return e?wo.parse:wo.parseInline}},QN=class{defaults=jx();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=wo;Renderer=wd;TextRenderer=tb;Lexer=Io;Tokenizer=Id;Hooks=Eu;constructor(...e){this.use(...e)}walkTokens(e,t){let a=[];for(let o of e)switch(a=a.concat(t.call(this,o)),o.type){case"table":{let n=o;for(let r of n.header)a=a.concat(this.walkTokens(r.tokens,t));for(let r of n.rows)for(let l of r)a=a.concat(this.walkTokens(l.tokens,t));break}case"list":{let n=o;a=a.concat(this.walkTokens(n.items,t));break}default:{let n=o;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach(r=>{let l=n[r].flat(1/0);a=a.concat(this.walkTokens(l,t))}):n.tokens&&(a=a.concat(this.walkTokens(n.tokens,t)))}}return a}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(a=>{let o={...a};if(o.async=this.defaults.async||o.async||!1,a.extensions&&(a.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let r=t.renderers[n.name];r?t.renderers[n.name]=function(...l){let s=n.renderer.apply(this,l);return s===!1&&(s=r.apply(this,l)),s}:t.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be \'block\' or \'inline\'");let r=t[n.level];r?r.unshift(n.tokenizer):t[n.level]=[n.tokenizer],n.start&&(n.level==="block"?t.startBlock?t.startBlock.push(n.start):t.startBlock=[n.start]:n.level==="inline"&&(t.startInline?t.startInline.push(n.start):t.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(t.childTokens[n.name]=n.childTokens)}),o.extensions=t),a.renderer){let n=this.defaults.renderer||new wd(this.defaults);for(let r in a.renderer){if(!(r in n))throw new Error(`renderer \'${r}\' does not exist`);if(["options","parser"].includes(r))continue;let l=r,s=a.renderer[l],i=n[l];n[l]=(...u)=>{let c=s.apply(n,u);return c===!1&&(c=i.apply(n,u)),c||""}}o.renderer=n}if(a.tokenizer){let n=this.defaults.tokenizer||new Id(this.defaults);for(let r in a.tokenizer){if(!(r in n))throw new Error(`tokenizer \'${r}\' does not exist`);if(["options","rules","lexer"].includes(r))continue;let l=r,s=a.tokenizer[l],i=n[l];n[l]=(...u)=>{let c=s.apply(n,u);return c===!1&&(c=i.apply(n,u)),c}}o.tokenizer=n}if(a.hooks){let n=this.defaults.hooks||new Eu;for(let r in a.hooks){if(!(r in n))throw new Error(`hook \'${r}\' does not exist`);if(["options","block"].includes(r))continue;let l=r,s=a.hooks[l],i=n[l];Eu.passThroughHooks.has(r)?n[l]=u=>{if(this.defaults.async&&Eu.passThroughHooksRespectAsync.has(r))return(async()=>{let f=await s.call(n,u);return i.call(n,f)})();let c=s.call(n,u);return i.call(n,c)}:n[l]=(...u)=>{if(this.defaults.async)return(async()=>{let f=await s.apply(n,u);return f===!1&&(f=await i.apply(n,u)),f})();let c=s.apply(n,u);return c===!1&&(c=i.apply(n,u)),c}}o.hooks=n}if(a.walkTokens){let n=this.defaults.walkTokens,r=a.walkTokens;o.walkTokens=function(l){let s=[];return s.push(r.call(this,l)),n&&(s=s.concat(n.call(this,l))),s}}this.defaults={...this.defaults,...o}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Io.lex(e,t??this.defaults)}parser(e,t){return wo.parse(e,t??this.defaults)}parseMarkdown(e){return(t,a)=>{let o={...a},n={...this.defaults,...o},r=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&o.async===!1)return r(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return r(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return r(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=e),n.async)return(async()=>{let l=n.hooks?await n.hooks.preprocess(t):t,s=await(n.hooks?await n.hooks.provideLexer(e):e?Io.lex:Io.lexInline)(l,n),i=n.hooks?await n.hooks.processAllTokens(s):s;n.walkTokens&&await Promise.all(this.walkTokens(i,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(e):e?wo.parse:wo.parseInline)(i,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(r);try{n.hooks&&(t=n.hooks.preprocess(t));let l=(n.hooks?n.hooks.provideLexer(e):e?Io.lex:Io.lexInline)(t,n);n.hooks&&(l=n.hooks.processAllTokens(l)),n.walkTokens&&this.walkTokens(l,n.walkTokens);let s=(n.hooks?n.hooks.provideParser(e):e?wo.parse:wo.parseInline)(l,n);return n.hooks&&(s=n.hooks.postprocess(s)),s}catch(l){return r(l)}}}onError(e,t){return a=>{if(a.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let o="<p>An error occurred:</p><pre>"+jo(a.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(a);throw a}}},Cl=new QN;function je(e,t){return Cl.parse(e,t)}je.options=je.setOptions=function(e){return Cl.setOptions(e),je.defaults=Cl.defaults,g0(je.defaults),je};je.getDefaults=jx;je.defaults=Rl;je.use=function(...e){return Cl.use(...e),je.defaults=Cl.defaults,g0(je.defaults),je};je.walkTokens=function(e,t){return Cl.walkTokens(e,t)};je.parseInline=Cl.parseInline;je.Parser=wo;je.parser=wo.parse;je.Renderer=wd;je.TextRenderer=tb;je.Lexer=Io;je.lexer=Io.lex;je.Tokenizer=Id;je.Hooks=Eu;je.parse=je;var HU=je.options,qU=je.setOptions,VU=je.use,GU=je.walkTokens,YU=je.parseInline;var XU=wo.parse,jU=Io.lex;function Dn(e){if(!e)return;let t=e.trim(),a=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!(a&&!/^https?$/i.test(a[1]??"")))return t}function ku(e){if(!e)return;let t=e.trim();return/^data:image\\//i.test(t)?t:Dn(t)}function vl(e){return/^(?:[/\\\\]|[A-Za-z]:[/\\\\])/.test(e)}var Rr=C(F(),1);function I0(e){return Dn(e)??"#"}function $N(e){return je.parse(e,{async:!1}).replace(/<script\\b[^>]*>[\\s\\S]*?<\\/script>/gi,"").replace(/<style\\b[^>]*>[\\s\\S]*?<\\/style>/gi,"").replace(/<\\/?(?:iframe|object|embed|form|base)\\b[^>]*>/gi,"").replace(/\\son[a-z]+\\s*=\\s*"[^"]*"/gi,"").replace(/\\son[a-z]+\\s*=\\s*\'[^\']*\'/gi,"").replace(/\\son[a-z]+\\s*=\\s*[^\\s>]+/gi,"").replace(/(href|src)\\s*=\\s*"([^"]*)"/gi,(a,o,n)=>`${o}="${I0(n)}"`).replace(/(href|src)\\s*=\\s*\'([^\']*)\'/gi,(a,o,n)=>`${o}=\'${I0(n)}\'`)}function w0({entry:e}){let t=Hs();if(t.section)return(0,Rr.jsx)(Rr.Fragment,{children:t.section(e)});let a=$N(e.markdown);return(0,Rr.jsxs)("section",{className:"my-3 text-sm","aria-label":e.title,children:[e.title?(0,Rr.jsx)("h4",{className:"mb-1 font-semibold text-foreground",children:e.title}):null,(0,Rr.jsx)("div",{className:"es-doc-prose prose prose-sm max-w-none",dangerouslySetInnerHTML:{__html:a}})]})}var Pn=C(F(),1);function ab({entry:e,ref:t}){return(0,Pn.jsxs)("figure",{ref:t,className:"my-3","aria-label":e.title??"Diagram",children:[e.title?(0,Pn.jsx)("figcaption",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:e.title}):null,(0,Pn.jsx)("pre",{"data-mermaid":!0,tabIndex:0,className:"overflow-x-auto rounded-md bg-muted p-3 font-mono text-xs text-foreground",children:e.code})]})}function E0({entry:e}){let t=Hs();return t.mermaid?(0,Pn.jsx)(Pn.Fragment,{children:t.mermaid(e)}):(0,Pn.jsx)(ab,{entry:e})}var Nn=C(F(),1);function T0({entry:e}){let t=vl(e.path)?void 0:ku(e.path);return t?(0,Nn.jsxs)("figure",{className:"my-3",children:[(0,Nn.jsx)("img",{src:t,alt:e.alt??"",loading:"lazy",className:"max-w-full rounded-md border border-border"}),e.alt?(0,Nn.jsx)("figcaption",{className:"mt-1.5 text-xs text-muted-foreground",children:e.alt}):null]}):(0,Nn.jsxs)("figure",{className:"my-3 rounded-md border border-dashed border-border p-3 text-sm text-muted-foreground",children:[(0,Nn.jsx)("div",{className:"font-medium",children:"Screenshot unavailable"}),(0,Nn.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:e.path}),e.alt?(0,Nn.jsx)("figcaption",{className:"mt-1.5 text-xs",children:e.alt}):null]})}var Bn=C(F(),1);function k0({entry:e}){if(vl(e.path))return(0,Bn.jsxs)("figure",{className:"my-3 rounded-md border border-dashed border-border p-3 text-sm text-muted-foreground",children:[(0,Bn.jsx)("div",{className:"font-medium",children:"Video unavailable"}),(0,Bn.jsx)("div",{className:"mt-1 break-all font-mono text-xs",children:e.path}),e.caption?(0,Bn.jsx)("figcaption",{className:"mt-1.5 text-xs",children:e.caption}):null]});let t=Dn(e.path),a=Dn(e.poster);return(0,Bn.jsxs)("figure",{className:"my-3",children:[(0,Bn.jsx)("video",{controls:!0,preload:"metadata",...t?{src:t}:{},...a?{poster:a}:{},className:"max-w-full rounded-md border border-border"}),e.caption?(0,Bn.jsx)("figcaption",{className:"mt-1 text-xs text-muted-foreground",children:e.caption}):null]})}var Ll=C(F(),1);function M0({entry:e}){let t=typeof e.height=="number"?`${e.height}px`:e.height??"400px",a=e.title??"Embedded HTML",o=Dn(e.url??e.path),n=e.content!==void 0?{srcDoc:e.content}:{src:o??""};return(0,Ll.jsxs)("figure",{className:"my-3 overflow-hidden rounded-md border border-border",children:[(0,Ll.jsxs)("figcaption",{className:"flex items-center justify-between border-b border-border bg-muted/40 px-3 py-1.5 text-xs font-medium text-muted-foreground",children:[(0,Ll.jsx)("span",{children:e.title??"HTML"}),o?(0,Ll.jsx)("a",{href:o,target:"_blank",rel:"noreferrer noopener","aria-label":"Open in new tab",title:"Open in new tab",className:"text-primary",children:"\\u2197"}):null]}),(0,Ll.jsx)("iframe",{...n,sandbox:"allow-scripts",loading:"lazy",title:a,className:"block w-full border-0",style:{height:t}})]})}var ob=C(F(),1);function A0({entry:e}){let t;try{t=JSON.stringify(e.value,null,2)??String(e.value)}catch{t=String(e.value)}return(0,ob.jsx)(Iu,{label:e.label??"State",children:(0,ob.jsx)("code",{className:"font-mono text-xs language-json",children:t})})}var vr=C(F(),1);function O0({entry:e}){let a=o0()[e.type];return a?(0,vr.jsx)(vr.Fragment,{children:a(e)}):(0,vr.jsxs)("div",{className:"my-2","data-type":e.type,children:[(0,vr.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:e.type}),(0,vr.jsx)("pre",{tabIndex:0,className:"overflow-x-auto rounded-md bg-muted p-3 font-mono text-xs text-foreground",children:JN(e.data)})]})}function JN(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}var wa=C(F(),1);function D0({entry:e}){switch(e.kind){case"note":return(0,wa.jsx)(JI,{entry:e});case"tag":return(0,wa.jsx)(t0,{entry:e});case"kv":return(0,wa.jsx)(a0,{entry:e});case"code":return(0,wa.jsx)(n0,{entry:e});case"table":return(0,wa.jsx)(r0,{entry:e});case"link":return(0,wa.jsx)(l0,{entry:e});case"section":return(0,wa.jsx)(w0,{entry:e});case"mermaid":return(0,wa.jsx)(E0,{entry:e});case"screenshot":return(0,wa.jsx)(T0,{entry:e});case"video":return(0,wa.jsx)(k0,{entry:e});case"html":return(0,wa.jsx)(M0,{entry:e});case"state":return(0,wa.jsx)(A0,{entry:e});case"custom":return(0,wa.jsx)(O0,{entry:e})}}var Mu=C(F(),1);function kd({entries:e}){return e.length===0?null:(0,Mu.jsx)(Mu.Fragment,{children:e.map((t,a)=>(0,Mu.jsx)(D0,{entry:t},a))})}var N0=C(F(),1),e2=/"[^"]*"|(?<![\\w.-])\\d+(?:\\.\\d+)?(?![\\w.-])/g;function P0(e){let t=Array.from(e.matchAll(e2));if(t.length===0)return e;let a=[],o=0;return t.forEach((n,r)=>{let l=n.index,s=l+n[0].length;l>o&&a.push(e.slice(o,l)),a.push((0,N0.jsx)("span",{className:"font-medium text-step-param italic",children:n[0]},r)),o=s}),o<e.length&&a.push(e.slice(o)),a}var Va=C(F(),1),t2={passed:"\\u2713",failed:"\\u2717",skipped:"\\u25CB",pending:"\\u25CB"},a2={passed:"text-pass",failed:"text-fail",skipped:"text-skip",pending:"text-pend"};function B0({scenario:e}){return e.steps.length===0?null:(0,Va.jsx)("ol",{"data-slot":"steps",className:"flex flex-col",children:e.steps.map(t=>(0,Va.jsx)(o2,{step:t},t.id))})}function o2({step:e}){let t=e.keyword.toLowerCase(),a=t==="and"||t==="but";return(0,Va.jsxs)("li",{id:e.id,"data-status":e.status,className:oe("py-1.5 text-[0.8125rem] leading-normal",a&&"pl-5"),children:[(0,Va.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,Va.jsx)("span",{"aria-hidden":!0,className:oe("w-4 shrink-0 text-center text-xs",a2[e.status]),children:t2[e.status]??"\\u25CB"}),(0,Va.jsx)("span",{className:oe("min-w-[52px] shrink-0 font-mono text-xs font-semibold capitalize",a?"font-medium text-muted-foreground":"text-keyword"),children:e.keyword}),(0,Va.jsx)("span",{className:"flex-1 text-foreground",children:P0(e.text)}),e.durationMs>0?(0,Va.jsx)("span",{className:"shrink-0 whitespace-nowrap font-mono text-[0.6875rem] text-muted-foreground",children:On(e.durationMs)}):null]}),e.errorMessage?(0,Va.jsx)("pre",{role:"alert",className:"mt-2.5 ml-6 overflow-x-auto rounded-md border border-fail-border bg-fail-bg px-4 py-3.5 font-mono text-xs leading-relaxed whitespace-pre-wrap text-fail",children:e.errorMessage}):null,e.docEntries.length>0?(0,Va.jsx)("div",{"data-es-docs":!0,className:"mt-2 ml-6",children:(0,Va.jsx)(kd,{entries:e.docEntries})}):null]})}var Md=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function rb(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((a,o)=>rb(a,t[o]));if(Md(e)&&Md(t)){let a=Object.keys(e),o=Object.keys(t);return a.length===o.length&&a.every(n=>n in t&&rb(e[n],t[n]))}return!1}var F0=(e,t)=>e===""?t:`${e}.${t}`;function lb(e,t,a,o){if(!Object.is(t,a)){if(Array.isArray(t)&&Array.isArray(a)){let n=Math.min(t.length,a.length);for(let r=0;r<n;r++)lb(`${e}[${r}]`,t[r],a[r],o);for(let r=n;r<a.length;r++)o.push({path:`${e}[${r}]`,kind:"added",after:a[r]});for(let r=n;r<t.length;r++)o.push({path:`${e}[${r}]`,kind:"removed",before:t[r]});return}if(Md(t)&&Md(a)){for(let n of Object.keys(a)){let r=F0(e,n);n in t?lb(r,t[n],a[n],o):o.push({path:r,kind:"added",after:a[n]})}for(let n of Object.keys(t))n in a||o.push({path:F0(e,n),kind:"removed",before:t[n]});return}rb(t,a)||o.push({path:e,kind:"changed",before:t,after:a})}}function Ad(e,t){let a=[];return lb("",e,t,a),a}function nb(e,t=60){let a=e===void 0?"undefined":JSON.stringify(e);return a.length>t?`${a.slice(0,t-1)}\\u2026`:a}function Od(e){return e.map(t=>{let a=t.path===""?"(root)":t.path;switch(t.kind){case"added":return`+ ${a}: ${nb(t.after)}`;case"removed":return`\\u2212 ${a}`;case"changed":return`${a}: ${nb(t.before)} \\u2192 ${nb(t.after)}`}})}function _0(e){for(let t of e){if(t.kind==="screenshot")return t;if(t.children){let a=_0(t.children);if(a)return a}}}function z0(e,t=[]){for(let a of e)a.kind==="state"&&t.push(a),a.children&&z0(a.children,t);return t}var n2=e=>e??"";function U0(e){let t=[],a=[],o=new Map;for(let n of e.steps){let r=_0(n.docEntries),l=z0(n.docEntries);if(!r&&l.length===0)continue;let s=new Map;for(let u of l){let c=n2(u.label);!s.has(c)&&!a.includes(c)&&a.push(c),s.set(c,u)}let i=[];for(let u of a){let c=s.get(u);if(!c)continue;let f={...c.label!==void 0&&{label:c.label},value:c.value};o.has(u)&&(f.changes=Ad(o.get(u),c.value)),o.set(u,c.value),i.push(f)}t.push({stepId:n.id,stepIndex:n.index,keyword:n.keyword,text:n.text,status:n.status,...r&&{screenshot:{path:r.path,...r.alt!==void 0&&{alt:r.alt}}},states:i})}return t}var Ze=C(F(),1),r2={passed:"\\u2713",failed:"\\u2717",skipped:"\\u25CB",pending:"\\u25CB"},l2={passed:"text-pass",failed:"text-fail",skipped:"text-skip",pending:"text-pend"};function H0({scenario:e}){let t=U0(e);return t.length<2?null:(0,Ze.jsxs)("section",{"data-slot":"storyboard","aria-label":"Storyboard",className:"mb-3",children:[(0,Ze.jsx)("h4",{className:"mb-1.5 text-xs font-semibold tracking-wide text-muted-foreground uppercase",children:"Storyboard"}),(0,Ze.jsx)("ol",{className:"flex items-start gap-3 overflow-x-auto pb-2",children:t.map(a=>(0,Ze.jsx)(s2,{frame:a},a.stepId))})]})}function s2({frame:e}){let t=`${e.keyword} ${e.text}`,a=e.states.length>0,o=(0,Ze.jsxs)("p",{className:"mt-1 flex items-baseline gap-1.5 text-[0.6875rem] leading-snug",children:[(0,Ze.jsx)("span",{"aria-hidden":!0,className:oe("shrink-0",l2[e.status]),children:r2[e.status]??"\\u25CB"}),(0,Ze.jsxs)("span",{className:"min-w-0",children:[(0,Ze.jsx)("span",{className:"font-mono font-semibold text-keyword",children:e.keyword})," ",(0,Ze.jsx)("span",{className:"text-muted-foreground",children:e.screenshot?.alt??e.text})]})]});return(0,Ze.jsxs)("li",{className:oe("shrink-0",a?"w-64":"w-40"),children:[e.screenshot?(0,Ze.jsx)(i2,{frame:e,label:t}):null,a?(0,Ze.jsx)("div",{className:oe("flex flex-col gap-1.5",e.screenshot&&"mt-1.5"),children:e.states.map((n,r)=>(0,Ze.jsx)(f2,{card:n},n.label??r))}):null,e.screenshot?o:(0,Ze.jsx)("a",{href:`#${e.stepId}`,"aria-label":`Jump to step: ${t}`,className:"block hover:underline",children:o})]})}function i2({frame:e,label:t}){let a=e.screenshot?.path??"",o=vl(a)?void 0:ku(a);return(0,Ze.jsx)("a",{href:`#${e.stepId}`,"aria-label":`Jump to step: ${t}`,className:"block overflow-hidden rounded-md border border-border transition-colors hover:border-ring",children:o?(0,Ze.jsx)("img",{src:o,alt:e.screenshot?.alt??t,loading:"lazy",className:"h-24 w-full bg-muted object-cover object-top"}):(0,Ze.jsx)("span",{className:"flex h-24 w-full items-center justify-center border-b border-dashed border-border bg-muted px-2 text-center text-[0.6875rem] text-muted-foreground",children:"Screenshot unavailable"})})}var u2={added:"bg-pass-bg text-pass",removed:"bg-fail-bg text-fail",changed:"bg-skip-bg text-skip"};function c2(e){try{return JSON.stringify(e,null,2)??String(e)}catch{return String(e)}}function f2({card:e}){let t=c2(e.value),a=e.changes===void 0;return(0,Ze.jsxs)("div",{"data-slot":"state-card",className:"rounded-md border border-border bg-card p-2",children:[(0,Ze.jsxs)("p",{className:"flex flex-wrap items-baseline gap-1.5",children:[(0,Ze.jsx)("span",{className:"inline-flex rounded-full border border-border px-1.5 font-mono text-[0.625rem] font-medium text-muted-foreground",children:e.label??"State"}),a?(0,Ze.jsx)("span",{className:"text-[0.625rem] text-muted-foreground italic",children:"first capture"}):null]}),!a&&(e.changes&&e.changes.length>0?(0,Ze.jsx)("ul",{className:"mt-1.5 flex flex-col gap-0.5",children:e.changes.map((o,n)=>(0,Ze.jsx)("li",{className:oe("rounded-sm px-1.5 py-0.5 font-mono text-[0.625rem] leading-snug break-all",u2[o.kind]),children:Od([o])[0]},n))}):(0,Ze.jsx)("p",{className:"mt-1.5 text-[0.625rem] text-muted-foreground",children:"No changes"})),(0,Ze.jsxs)("details",{open:a&&t.length<=240,className:oe(a?"mt-1.5":"mt-1"),children:[(0,Ze.jsx)("summary",{className:"cursor-pointer text-[0.625rem] text-muted-foreground hover:text-foreground",children:"Snapshot"}),(0,Ze.jsx)("pre",{tabIndex:0,className:"mt-1 max-h-48 overflow-auto rounded-sm bg-muted p-1.5 font-mono text-[0.625rem] leading-snug",children:t})]})]})}var Eo=C(F(),1);function q0({attachments:e}){return e.length===0?null:(0,Eo.jsx)("div",{role:"group","aria-label":"Attachments",className:"mt-3 flex flex-col gap-2",children:e.map((t,a)=>{let o=t.contentEncoding==="BASE64"?`data:${t.mediaType};base64,${t.body}`:`data:${t.mediaType},${encodeURIComponent(t.body)}`,n=t.mediaType.startsWith("image/");return(0,Eo.jsx)("figure",{className:"m-0",children:n?(0,Eo.jsxs)(Eo.Fragment,{children:[(0,Eo.jsx)("img",{src:o,alt:t.name,loading:"lazy",className:"max-w-full rounded-md border border-border"}),(0,Eo.jsx)("figcaption",{className:"mt-1 text-xs text-muted-foreground",children:t.name})]}):(0,Eo.jsxs)("a",{href:o,download:t.name,className:"text-xs text-link underline underline-offset-2",children:[t.name," ",(0,Eo.jsxs)("span",{className:"text-muted-foreground",children:["(",t.mediaType,")"]})]})},`${t.name}-${a}`)})})}var d2=new Set(["ok","error","unset"]),p2=e=>d2.has(e)?e:"unset";function m2(e){let t=[];for(let a of e){if(!a||typeof a.spanId!="string"||typeof a.name!="string")continue;let o,n;if(a.startTimeMs!=null&&a.durationMs!=null)o=a.startTimeMs,n=a.durationMs;else if(a.startTimeUnixNano!=null&&a.endTimeUnixNano!=null)o=a.startTimeUnixNano/1e6,n=(a.endTimeUnixNano-a.startTimeUnixNano)/1e6;else continue;n=Math.max(0,n),!(!isFinite(o)||!isFinite(n))&&t.push({spanId:a.spanId,parentSpanId:a.parentSpanId,name:a.name,startTimeMs:o,durationMs:n,status:p2(a.status),statusMessage:a.statusMessage})}return t}function V0(e){let t=m2(e);if(t.length===0)return[];let a=new Map;for(let s of t){let i=s.spanId,u=2;for(;a.has(i);)i=`${s.spanId}__dup${u++}`;a.set(i,{span:{...s,spanId:i},children:[],depth:0})}let o=[];for(let s of a.values()){let i=s.span.parentSpanId?a.get(s.span.parentSpanId):void 0;i&&i!==s?i.children.push(s):o.push(s)}for(let s of a.values())s.children.sort((i,u)=>i.span.startTimeMs-u.span.startTimeMs);o.sort((s,i)=>s.span.startTimeMs-i.span.startTimeMs);let n=[],r=new Set,l=(s,i)=>{if(!r.has(s.span.spanId)){r.add(s.span.spanId),n.push({...s.span,depth:i});for(let u of s.children)l(u,i+1)}};for(let s of o)l(s,0);for(let s of a.values())r.has(s.span.spanId)||l(s,0);return n}function G0(e){let t=1/0,a=-1/0;for(let n of e)t=Math.min(t,n.startTimeMs),a=Math.max(a,n.startTimeMs+n.durationMs);let o=a-t;return{minStartMs:isFinite(t)?t:0,totalMs:o>0?o:1}}var Ko=C(F(),1),g2={ok:"bg-pass",error:"bg-fail",unset:"bg-skip"};function Y0({spans:e}){if(!e||e.length===0)return null;let t=V0(e);if(t.length===0)return null;let{minStartMs:a,totalMs:o}=G0(t);return(0,Ko.jsxs)("details",{className:"mt-3 rounded-md border border-border bg-muted/30",children:[(0,Ko.jsxs)("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted-foreground",children:["Trace (",t.length," span",t.length===1?"":"s",", ",On(o),")"]}),(0,Ko.jsx)("ul",{className:"flex flex-col gap-0.5 px-3 pb-3 font-mono text-[0.6875rem]",children:t.map((n,r)=>{let l=(n.startTimeMs-a)/o*100,s=Math.max(n.durationMs/o*100,.5);return(0,Ko.jsxs)("li",{className:"flex items-center gap-2",children:[(0,Ko.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",style:{paddingLeft:`${n.depth*12}px`},title:n.statusMessage?`${n.name}: ${n.statusMessage}`:n.name,children:n.name}),(0,Ko.jsx)("span",{className:"relative h-3 w-1/2 shrink-0 overflow-hidden rounded-sm bg-border/40",children:(0,Ko.jsx)("span",{className:oe("absolute top-0 h-full rounded-sm",g2[n.status]),style:{left:`${l}%`,width:`${s}%`}})}),(0,Ko.jsx)("span",{className:"w-16 shrink-0 text-right text-muted-foreground",children:On(n.durationMs)})]},`${n.spanId}-${r}`)})})]})}var Dd=C(k(),1),X0=(0,Dd.createContext)(null),j0=X0.Provider;function K0(){return(0,Dd.useContext)(X0)}function h2(e){let t=e[e.length-1];if(!t)return;let a=0;for(let o=e.length-1;o>=0&&e[o].status===t.status;o--)a++;return{status:t.status,count:a}}var x2={passed:"Passing",failed:"Failing",skipped:"Skipped",pending:"Pending"};function sb(e){let a=`${e.filter(n=>n.status==="passed").length}/${e.length} runs passed`,o=h2(e);return!o||e.length<2?a:`${a} \\xB7 ${x2[o.status]} for the last ${o.count===1?"run":`${o.count} runs`}`}var b2=3;function W0(e){let t=e.filter(r=>r.status==="passed"||r.status==="failed");if(t.length<b2)return"stable";let a=0;for(let r=1;r<t.length;r++)t[r].status!==t[r-1].status&&a++;let o=a/(t.length-1),n=t.filter(r=>r.status==="failed").length/t.length;return o>.5||o>.3&&n>.2?"flaky":o>.2||n>.3?"unstable":"stable"}function Z0(e,t){let a=!1,o={newlyFailing:[],newlyPassing:[],added:[]};for(let n of t){let r=e[n.id];if(!r||r.length===0)continue;let l=r[r.length-1],s=r[r.length-2];if(!s){o.added.push(n);continue}a=!0,l.status==="failed"&&s.status!=="failed"?o.newlyFailing.push(n):l.status==="passed"&&s.status==="failed"&&o.newlyPassing.push(n)}return a?o:void 0}var Lr=C(F(),1),y2=10,S2={passed:"bg-pass",failed:"bg-fail",skipped:"bg-skip",pending:"bg-pend"};function C2(e){let t=[new Date(e.timestamp).toLocaleString(),e.status];return e.commitSha&&t.push(e.commitSha.slice(0,8)),t.join(" \\xB7 ")}function Q0({scenarioId:e}){let a=K0()?.[e];if(!a||a.length<2)return null;let o=a.slice(-y2),n=W0(o)==="flaky",r=n?`${sb(o)} \\xB7 Flaky`:sb(o);return(0,Lr.jsxs)(Lr.Fragment,{children:[n?(0,Lr.jsx)(Ia,{variant:"pending","aria-label":"Flaky: status flips between recent runs",title:r,children:"Flaky"}):null,(0,Lr.jsx)("span",{role:"img","aria-label":`Run history: ${r}`,title:r,className:"flex shrink-0 items-center gap-[3px]",children:o.map((l,s)=>(0,Lr.jsx)("span",{"aria-hidden":!0,title:C2(l),className:oe("inline-block size-1.5 rounded-full",S2[l.status],s===o.length-1&&"ring-1 ring-border ring-offset-1 ring-offset-card")},`${l.timestamp}-${s}`))})]})}var To=C(k(),1),$0=(0,To.createContext)(null),J0=$0.Provider;function Pd(){return(0,To.useContext)($0)}var ew="es-collapsed-ids";function R2(){if(typeof localStorage>"u")return null;try{let e=localStorage.getItem(ew);return e?new Set(JSON.parse(e)):null}catch{return null}}function ib(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(ew,JSON.stringify([...e]))}catch{}}function tw(e){let[t,a]=(0,To.useState)(()=>R2()??e?.()??new Set),o=(0,To.useCallback)(s=>t.has(s),[t]),n=(0,To.useCallback)(s=>{a(i=>{let u=new Set(i);return u.has(s)?u.delete(s):u.add(s),ib(u),u})},[]),r=(0,To.useCallback)(s=>{a(()=>{let i=new Set(s);return ib(i),i})},[]),l=(0,To.useCallback)(()=>{a(()=>{let s=new Set;return ib(s),s})},[]);return{api:{isCollapsed:o,toggle:n},collapseAll:r,expandAll:l}}var Nd=C(k(),1);function aw(e){return e.replaceAll("|","\\\\|").replaceAll(`\n`," ")}function ub(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)??String(e)}catch{return String(e)}}function cb(e,t){let a=[];switch(e.kind){case"note":a.push(e.text);break;case"tag":a.push(e.names.map(o=>`\\`@${o}\\``).join(" "));break;case"kv":a.push(`**${e.label}:** ${ub(e.value)}`);break;case"code":a.push(`**${e.label}**`,"","```"+(e.lang??""),e.content,"```");break;case"table":{a.push(`**${e.label}**`,""),a.push(`| ${e.columns.map(aw).join(" | ")} |`),a.push(`| ${e.columns.map(()=>"---").join(" | ")} |`);for(let o of e.rows)a.push(`| ${o.map(aw).join(" | ")} |`);break}case"link":a.push(`[${e.label}](${e.url})`);break;case"section":a.push(`### ${e.title}`,"",e.markdown);break;case"mermaid":e.title&&a.push(`**${e.title}**`,""),a.push("```mermaid",e.code,"```");break;case"screenshot":a.push(``);break;case"video":a.push(`Video: ${e.path}${e.caption?` \\u2014 ${e.caption}`:""}`);break;case"html":{let o=e.title??"Embedded HTML";e.content?a.push(`**${o}**`,"","```html",e.content,"```"):e.url?a.push(`[${o}](${e.url})`):a.push(`Embedded HTML: ${e.path??"(inline)"}`);break}case"custom":a.push(`**${e.type}**`,"","```json",ub(e.data),"```");break;case"state":{let o=e.label??"";if(a.push(`**${e.label??"State"}**`),t?.has(o)){let n=Od(Ad(t.get(o),e.value));n.length>0&&a.push("",...n.map(r=>`- ${r}`))}t?.set(o,e.value),a.push("","<details>","<summary>snapshot</summary>","","```json",ub(e.value??null),"```","","</details>");break}}for(let o of e.children??[])a.push("",...cb(o,t));return a}function v2(e,t,a,o){let n=e.status==="passed"?"":` \\u2014 **${e.status}**`,r=[`${t}. **${e.keyword}** ${e.text}${n}`];if(!a)return r;e.errorMessage&&r.push(...e.errorMessage.split(`\n`).map(l=>` > ${l}`));for(let l of e.docEntries)r.push("",...cb(l,o).map(s=>s===""?s:` ${s}`));return r}function ow(e,t={}){let{variant:a="full",meta:o=[]}=t,n=a==="full",r=n?[`# ${e.title}`,""]:[`## ${e.title} _(${e.status})_`,""];n&&o.length>0&&r.push(...o);let l=new Map;if(e.steps.length>0&&(n&&r.push("","## Steps",""),e.steps.forEach((s,i)=>r.push(...v2(s,i+1,n,l)))),e.errorMessage&&(n?r.push("","## Failure",""):r.push(""),r.push("```",e.errorMessage.trim(),"```")),n&&e.docEntries.length>0){r.push("","## Docs","");for(let s of e.docEntries)r.push(...cb(s,l),"")}return r.join(`\n`).replaceAll(/\\n{3,}/g,`\n\n`).trimEnd()+(n?`\n`:"")}var nw=(0,Nd.createContext)(null),rw=nw.Provider;function lw(){return(0,Nd.useContext)(nw)}function sw(e){return ow(e,{variant:"compact"})}function iw(e){let t=[`A test scenario is ${e.status}. Investigate the likely cause and propose a fix.`,"",`Scenario: ${e.title}`,"Steps:"];for(let a of e.steps){let o=a.status==="failed"?" \\u27F5 failed here":"";t.push(` ${a.keyword} ${a.text}${o}`)}return e.errorMessage&&t.push("","Error:",e.errorMessage.trim()),e.errorStack&&t.push("","Stack:",e.errorStack.trim()),t.join(`\n`)}function uw(e){return typeof location>"u"?`#${e.id}`:`${location.href.split("#")[0]}#${e.id}`}var p3=C(k(),1);var Bd=C(F(),1);function cw({className:e,...t}){return(0,Bd.jsx)("div",{"data-slot":"card",className:oe("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-xs",e),...t})}function fw({className:e,...t}){return(0,Bd.jsx)("div",{"data-slot":"card-header",className:oe("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})}function dw({className:e,...t}){return(0,Bd.jsx)("div",{"data-slot":"card-content",className:oe("px-6",e),...t})}var sW=C(k(),1);var Hn={};Bo(Hn,{Arrow:()=>mw,Backdrop:()=>hw,CheckboxItem:()=>Dw,CheckboxItemIndicator:()=>Fw,Group:()=>Uw,GroupLabel:()=>qw,Handle:()=>pc,Item:()=>Gw,LinkItem:()=>Yw,Popup:()=>GT,Portal:()=>jT,Positioner:()=>ck,RadioGroup:()=>dk,RadioItem:()=>gk,RadioItemIndicator:()=>hk,Root:()=>sm,Separator:()=>Uk,SubmenuRoot:()=>Ck,SubmenuTrigger:()=>qk,Trigger:()=>Tk,Viewport:()=>_k,createHandle:()=>Vk});var pw=C(k(),1);var Fd=C(k(),1),fb=Fd.createContext(void 0);function Jt(e){let t=Fd.useContext(fb);if(t===void 0&&!e)throw new Error(Re(33));return t}var _d=C(k(),1),db=_d.createContext(void 0);function Qe(e){let t=_d.useContext(db);if(t===void 0&&!e)throw new Error(Re(36));return t}var Il=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({}),L2={[Il.startingStyle]:""},I2={[Il.endingStyle]:""},po={transitionStatus(e){return e==="starting"?L2:e==="ending"?I2:null}};var Ga=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=Il.startingStyle]="startingStyle",e[e.endingStyle=Il.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e})({}),pb=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({}),w2={[pb.popupOpen]:""},E2={[pb.popupOpen]:"",[pb.pressed]:""},T2={[Ga.open]:""},k2={[Ga.closed]:""},M2={[Ga.anchorHidden]:""},zd={open(e){return e?w2:null}},mb={open(e){return e?E2:null}},Ea={open(e){return e?T2:k2},anchorHidden(e){return e?M2:null}};var mw=pw.forwardRef(function(t,a){let{render:o,className:n,style:r,...l}=t,{store:s}=Qe(),{arrowRef:i,side:u,align:c,arrowUncentered:f,arrowStyles:d}=Jt(),h={open:s.useState("open"),side:u,align:c,uncentered:f};return se("div",t,{ref:[i,a],stateAttributesMapping:Ea,state:h,props:{style:d,"aria-hidden":!0,...l}})});var gw=C(k(),1);var Ud=C(k(),1),A2=Ud.createContext(void 0);function Wo(e=!0){let t=Ud.useContext(A2);if(t===void 0&&!e)throw new Error(Re(25));return t}var j={};Bo(j,{cancelOpen:()=>rB,chipRemovePress:()=>H2,clearPress:()=>U2,closePress:()=>_2,closeWatcher:()=>$2,decrementPress:()=>G2,disabled:()=>sB,drag:()=>aB,escapeKey:()=>Q2,focusOut:()=>Z2,imperativeAction:()=>cB,incrementPress:()=>V2,initial:()=>uB,inputBlur:()=>j2,inputChange:()=>Y2,inputClear:()=>X2,inputPaste:()=>K2,inputPress:()=>W2,itemPress:()=>F2,keyboard:()=>eB,linkPress:()=>z2,listNavigation:()=>J2,missing:()=>iB,none:()=>O2,outsidePress:()=>B2,pointer:()=>tB,scrub:()=>nB,siblingOpen:()=>lB,swipe:()=>fB,trackPress:()=>q2,triggerFocus:()=>N2,triggerHover:()=>P2,triggerPress:()=>D2,wheel:()=>oB,windowResize:()=>dB});var O2="none",D2="trigger-press",P2="trigger-hover",N2="trigger-focus",B2="outside-press",F2="item-press",_2="close-press",z2="link-press",U2="clear-press",H2="chip-remove-press",q2="track-press",V2="increment-press",G2="decrement-press",Y2="input-change",X2="input-clear",j2="input-blur",K2="input-paste",W2="input-press",Z2="focus-out",Q2="escape-key",$2="close-watcher",J2="list-navigation",eB="keyboard",tB="pointer",aB="drag",oB="wheel",nB="scrub",rB="cancel-open",lB="sibling-open",sB="disabled",iB="missing",uB="initial",cB="imperative-action",fB="swipe",dB="window-resize";var pB={...Ea,...po},hw=gw.forwardRef(function(t,a){let{render:o,className:n,style:r,...l}=t,{store:s}=Qe(),i=s.useState("open"),u=s.useState("mounted"),c=s.useState("transitionStatus"),f=s.useState("lastOpenChangeReason"),d=Wo(),m={open:i,transitionStatus:c};return se("div",t,{ref:d?.backdropRef?[a,d.backdropRef]:a,state:m,stateAttributesMapping:pB,props:[{role:"presentation",hidden:!u,style:{pointerEvents:f===j.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},l]})});var Qd=C(k(),1);var wl=C(k(),1);function Zo({controlled:e,default:t,name:a,state:o="value"}){let{current:n}=wl.useRef(e!==void 0),[r,l]=wl.useState(t),s=n?e:r,i=wl.useCallback(u=>{n||l(u)},[]);return[s,i]}var Hd=C(k(),1),gb=Hd.createContext(void 0);function xw(){let e=Hd.useContext(gb);if(e===void 0)throw new Error(Re(30));return e}var Xs=C(k(),1);var Ys=C(k(),1);function qd(){return typeof window<"u"}function vt(e){return Vd(e)?(e.nodeName||"").toLowerCase():"#document"}function Xe(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ko(e){var t;return(t=(Vd(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Vd(e){return qd()?e instanceof Node||e instanceof Xe(e).Node:!1}function Se(e){return qd()?e instanceof Element||e instanceof Xe(e).Element:!1}function De(e){return qd()?e instanceof HTMLElement||e instanceof Xe(e).HTMLElement:!1}function Qo(e){return!qd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Xe(e).ShadowRoot}function $o(e){let{overflow:t,overflowX:a,overflowY:o,display:n}=Mt(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+a)&&n!=="inline"&&n!=="contents"}function bw(e){return/^(table|td|th)$/.test(vt(e))}function Au(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var mB=/transform|translate|scale|rotate|perspective|filter/,gB=/paint|layout|strict|content/,El=e=>!!e&&e!=="none",hb;function Gd(e){let t=Se(e)?Mt(e):e;return El(t.transform)||El(t.translate)||El(t.scale)||El(t.rotate)||El(t.perspective)||!Yd()&&(El(t.backdropFilter)||El(t.filter))||mB.test(t.willChange||"")||gB.test(t.contain||"")}function yw(e){let t=Ya(e);for(;De(t)&&!Xa(t);){if(Gd(t))return t;if(Au(t))return null;t=Ya(t)}return null}function Yd(){return hb==null&&(hb=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),hb}function Xa(e){return/^(html|body|#document)$/.test(vt(e))}function Mt(e){return Xe(e).getComputedStyle(e)}function Ou(e){return Se(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ya(e){if(vt(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Qo(e)&&e.host||ko(e);return Qo(t)?t.host:t}function Sw(e){let t=Ya(e);return Xa(t)?e.ownerDocument?e.ownerDocument.body:e.body:De(t)&&$o(t)?t:Sw(t)}function Ir(e,t,a){var o;t===void 0&&(t=[]),a===void 0&&(a=!0);let n=Sw(e),r=n===((o=e.ownerDocument)==null?void 0:o.body),l=Xe(n);if(r){let s=Xd(l);return t.concat(l,l.visualViewport||[],$o(n)?n:[],s&&a?Ir(s):[])}else return t.concat(n,Ir(n,[],a))}function Xd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var hB=C(k(),1),Du={...hB};var xb=Du.useInsertionEffect,xB=xb&&xb!==Du.useLayoutEffect?xb:e=>e();function W(e){let t=ut(bB).current;return t.next=e,xB(t.effect),t.trampoline}function bB(){let e={next:void 0,callback:yB,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function yB(){}var Cw=C(k(),1),SB=()=>{},q=typeof document<"u"?Cw.useLayoutEffect:SB;var jd=C(k(),1),bb=jd.createContext(void 0);function Gs(e=!1){let t=jd.useContext(bb);if(t===void 0&&!e)throw new Error(Re(16));return t}var Rw=C(k(),1);function vw(e){let{focusableWhenDisabled:t,disabled:a,composite:o=!1,tabIndex:n=0,isNativeButton:r}=e,l=o&&t!==!1,s=o&&t===!1;return{props:Rw.useMemo(()=>{let u={onKeyDown(c){a&&t&&c.key!=="Tab"&&c.preventDefault()}};return o||(u.tabIndex=n,!r&&a&&(u.tabIndex=t?n:-1)),(r&&(t||l)||!r&&a)&&(u["aria-disabled"]=a),r&&(!t||s)&&(u.disabled=a),u},[o,a,t,l,s,r,n])}}function da(e={}){let{disabled:t=!1,focusableWhenDisabled:a,tabIndex:o=0,native:n=!0,composite:r}=e,l=Ys.useRef(null),s=Gs(!0),i=r??s!==void 0,{props:u}=vw({focusableWhenDisabled:a,disabled:t,composite:i,tabIndex:o,isNativeButton:n}),c=Ys.useCallback(()=>{let m=l.current;yb(m)&&i&&t&&u.disabled===void 0&&m.disabled&&(m.disabled=!1)},[t,u.disabled,i]);q(c,[c]);let f=Ys.useCallback((m={})=>{let{onClick:h,onMouseDown:y,onKeyUp:S,onKeyDown:g,onPointerDown:p,...x}=m;return jt({onClick(b){if(t){b.preventDefault();return}h?.(b)},onMouseDown(b){t||y?.(b)},onKeyDown(b){if(t||(Ru(b),g?.(b),b.baseUIHandlerPrevented))return;let L=b.target===b.currentTarget,R=b.currentTarget,I=yb(R),v=!n&&CB(R),E=L&&(n?I:!v),w=b.key==="Enter",P=b.key===" ",O=R.getAttribute("role"),B=O?.startsWith("menuitem")||O==="option"||O==="gridcell";if(L&&i&&P){if(b.defaultPrevented&&B)return;b.preventDefault(),v||n&&I?(R.click(),b.preventBaseUIHandler()):E&&(h?.(b),b.preventBaseUIHandler());return}E&&(!n&&(P||w)&&b.preventDefault(),!n&&w&&h?.(b))},onKeyUp(b){if(!t){if(Ru(b),S?.(b),b.target===b.currentTarget&&n&&i&&yb(b.currentTarget)&&b.key===" "){b.preventDefault();return}b.baseUIHandlerPrevented||b.target===b.currentTarget&&!n&&!i&&b.key===" "&&h?.(b)}},onPointerDown(b){if(t){b.preventDefault();return}p?.(b)}},n?{type:"button"}:{role:"button"},u,x)},[t,u,i,n]),d=W(m=>{l.current=m,c()});return{getButtonProps:f,buttonRef:d}}function yb(e){return De(e)&&e.tagName==="BUTTON"}function CB(e){return!!(e?.tagName==="A"&&e?.href)}var Tw=C(k(),1);var at={};Bo(at,{engine:()=>Lb,env:()=>wb,os:()=>Rb,screenReader:()=>Ib});var Rb={};Bo(Rb,{android:()=>ww,apple:()=>Cb,ios:()=>Sb,linux:()=>wB,mac:()=>Ew,windows:()=>IB});function RB(){return typeof navigator>"u"?{userAgent:"",platform:"",maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:vB,platform:LB,maxTouchPoints:Lw}=RB(),Tl=vB.toLowerCase(),kl=LB.toLowerCase();var Sb=/^i(os$|p)/.test(kl)||kl==="macintel"&&Lw>1,Iw="android",ww=kl===Iw||Tl.includes(Iw),Ew=!Sb&&kl.startsWith("mac"),IB=kl.startsWith("win"),wB=!ww&&/^(linux|chrome os)/.test(kl),Cb=Ew||Sb;var Lb={};Bo(Lb,{blink:()=>TB,gecko:()=>EB,webkit:()=>vb});var vb=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none"),EB=!vb&&Tl.includes("firefox"),TB=!vb&&Tl.includes("chrom");var Ib={};Bo(Ib,{voiceOver:()=>kB});var kB=Cb;var wb={};Bo(wb,{jsdom:()=>MB});var MB=/jsdom|happydom/.test(Tl);function Kd(e){let{closeOnClick:t,highlighted:a,id:o,nodeId:n,store:r,typingRef:l,itemRef:s,itemMetadata:i}=e,{events:u}=r.useState("floatingTreeRoot"),c=r.useState("open"),f=Wo(!0),d=f!==void 0;return Tw.useMemo(()=>({id:o,role:"menuitem",tabIndex:c&&a?0:-1,onKeyDown(m){m.key===" "&&l?.current&&m.preventDefault()},onMouseMove(m){n&&u.emit("itemhover",{nodeId:n,target:m.currentTarget})},onClick(m){t&&u.emit("close",{domEvent:m,reason:j.itemPress})},onMouseUp(m){if(f){let h=f.initialCursorPointRef.current;if(f.initialCursorPointRef.current=null,d&&h&&Math.abs(m.clientX-h.x)<=1&&Math.abs(m.clientY-h.y)<=1||d&&!at.os.mac&&m.button===2)return}s.current&&r.context.allowMouseUpTriggerRef.current&&(!d||m.button===2)&&(!i||i.type==="regular-item")&&s.current.click()}}),[t,a,o,u,n,c,r,l,s,f,d,i])}var js={type:"regular-item"};function wr(e){let{closeOnClick:t,disabled:a=!1,highlighted:o,id:n,store:r,typingRef:l=r.context.typingRef,nativeButton:s,itemMetadata:i,nodeId:u}=e,c=r.useState("disabled"),f=a||c,d=Xs.useRef(null),{getButtonProps:m,buttonRef:h}=da({disabled:f,focusableWhenDisabled:!0,native:s,composite:!0}),y=Kd({closeOnClick:t,highlighted:o,id:n,nodeId:u,store:r,typingRef:l,itemRef:d,itemMetadata:i}),S=Xs.useCallback(p=>jt(y,{onMouseEnter(){i.type==="submenu-trigger"&&i.setActive()}},p,m),[y,m,i]),g=La(d,h);return Xs.useMemo(()=>({getItemProps:S,itemRef:g}),[S,g])}var Ml=C(k(),1);var Wd=C(k(),1),Eb=Wd.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function kw(){return Wd.useContext(Eb)}var AB=(function(e){return e[e.None=0]="None",e[e.GuessFromOrder=1]="GuessFromOrder",e})({});function mo(e={}){let{label:t,metadata:a,textRef:o,indexGuessBehavior:n,index:r}=e,{register:l,unregister:s,subscribeMapChange:i,elementsRef:u,labelsRef:c,nextIndexRef:f}=kw(),d=Ml.useRef(-1),[m,h]=Ml.useState(r??(n===AB.GuessFromOrder?()=>{if(d.current===-1){let g=f.current;f.current+=1,d.current=g}return d.current}:-1)),y=Ml.useRef(null),S=Ml.useCallback(g=>{if(y.current=g,m!==-1&&g!==null&&(u.current[m]=g,c)){let p=t!==void 0;c.current[m]=p?t:o?.current?.textContent??g.textContent}},[m,u,c,t,o]);return q(()=>{if(r!=null)return;let g=y.current;if(g)return l(g,a),()=>{s(g)}},[r,l,s,a]),q(()=>{if(r==null)return i(g=>{let p=y.current?g.get(y.current)?.index:null;p!=null&&h(p)})},[r,i,h]),{ref:S,index:m}}var Zd=C(k(),1);var Mw=0;function OB(e,t="mui"){let[a,o]=Zd.useState(e),n=e||a;return Zd.useEffect(()=>{a==null&&(Mw+=1,o(`${t}-${Mw}`))},[a,t]),n}var Aw=Du.useId;function ja(e,t){if(Aw!==void 0){let a=Aw();return e??(t?`${t}-${a}`:a)}return OB(e,t)}function ot(e){return ja(e,"base-ui")}var Tb=(function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.highlighted="data-highlighted",e})({});var Er={checked(e){return e?{[Tb.checked]:""}:{[Tb.unchecked]:""}},...po};function ue(e,t,a,o){let n=!1,r=!1,l=o??ve;return{reason:e,event:t??new Event("base-ui"),cancel(){n=!0},allowPropagation(){r=!0},get isCanceled(){return n},get isPropagationAllowed(){return r},trigger:a,...l}}var Ow=C(F(),1),Dw=Qd.forwardRef(function(t,a){let{render:o,className:n,id:r,label:l,nativeButton:s=!1,disabled:i=!1,closeOnClick:u=!1,checked:c,defaultChecked:f,onCheckedChange:d,style:m,...h}=t,y=mo({label:l}),S=Jt(!0),g=ot(r),{store:p}=Qe(),x=p.useState("isActive",y.index),b=p.useState("itemProps"),[L,R]=Zo({controlled:c,default:f??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:I,itemRef:v}=wr({closeOnClick:u,disabled:i,highlighted:x,id:g,store:p,nativeButton:s,nodeId:S?.context.nodeId,itemMetadata:js}),E=Qd.useMemo(()=>({disabled:i,highlighted:x,checked:L}),[i,x,L]);function w(O){let B=ue(j.itemPress,O.nativeEvent,void 0,{preventUnmountOnClose(){}});d?.(!L,B),!B.isCanceled&&R(D=>!D)}let P=se("div",t,{state:E,stateAttributesMapping:Er,props:[b,{role:"menuitemcheckbox","aria-checked":L,onClick:w},h,I],ref:[v,a,y.ref]});return(0,Ow.jsx)(gb.Provider,{value:E,children:P})});var ep=C(k(),1);var Mb=C(k(),1);var Pw=C(k(),1),DB=[];function Ks(e){Pw.useEffect(e,DB)}var $d=null,Wq=globalThis.requestAnimationFrame,kb=class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;let a=this.callbacks,o=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,o>0)for(let n=0;n<a.length;n+=1)a[n]?.(t)};request(t){let a=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),a}cancel(t){let a=t-this.startId;a<0||a>=this.callbacks.length||(this.callbacks[a]=null,this.callbacksCount-=1)}},Jd=new kb,go=class e{static create(){return new e}static request(t){return Jd.request(t)}static cancel(t){return Jd.cancel(t)}currentId=$d;request(t){this.cancel(),this.currentId=Jd.request(()=>{this.currentId=$d,t()})}cancel=()=>{this.currentId!==$d&&(Jd.cancel(this.currentId),this.currentId=$d)};disposeEffect=()=>this.cancel};function Ka(){let e=ut(go.create).current;return Ks(e.disposeEffect),e}function Ws(e,t=!1,a=!1){let[o,n]=Mb.useState(e&&t?"idle":void 0),[r,l]=Mb.useState(e);return e&&!r&&(l(!0),n("starting")),!e&&r&&o!=="ending"&&!a&&n("ending"),!e&&!r&&o==="ending"&&n(void 0),q(()=>{if(!e&&r&&o!=="ending"&&a){let s=go.request(()=>{n("ending")});return()=>{go.cancel(s)}}},[e,r,o,a]),q(()=>{if(!e||t)return;let s=go.request(()=>{n(void 0)});return()=>{go.cancel(s)}},[t,e]),q(()=>{if(!e||!t)return;e&&r&&o!=="idle"&&n("starting");let s=go.request(()=>{n("idle")});return()=>{go.cancel(s)}},[t,e,r,o]),{mounted:r,setMounted:l,transitionStatus:o}}var Bw=C(k(),1);var Nw=C(fn(),1);function Mo(e){return e==null?e:"current"in e?e.current:e}function Tr(e,t=!1,a=!0){let o=Ka();return W((n,r=null)=>{o.cancel();let l=Mo(e);if(l==null)return;let s=l,i=()=>{Nw.flushSync(n)};if(typeof s.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){n();return}function u(){Promise.all(s.getAnimations().map(c=>c.finished)).then(()=>{r?.aborted||i()}).catch(()=>{if(a){r?.aborted||i();return}let c=s.getAnimations();!r?.aborted&&c.length>0&&c.some(f=>f.pending||f.playState!=="finished")&&u()})}if(t){let c=Il.startingStyle;if(!s.hasAttribute(c)){o.request(u);return}let f=new MutationObserver(()=>{s.hasAttribute(c)||(f.disconnect(),u())});f.observe(s,{attributes:!0,attributeFilter:[c]}),r?.addEventListener("abort",()=>f.disconnect(),{once:!0});return}o.request(u)})}function Jo(e){let{enabled:t=!0,open:a,ref:o,onComplete:n}=e,r=W(n),l=Tr(o,a,!1);Bw.useEffect(()=>{if(!t)return;let s=new AbortController;return l(r,s.signal),()=>{s.abort()}},[t,a,r,l])}var Fw=ep.forwardRef(function(t,a){let{render:o,className:n,style:r,keepMounted:l=!1,...s}=t,i=xw(),u=ep.useRef(null),{transitionStatus:c,setMounted:f}=Ws(i.checked);Jo({open:i.checked,ref:u,onComplete(){i.checked||f(!1)}});let d={checked:i.checked,disabled:i.disabled,highlighted:i.highlighted,transitionStatus:c};return se("span",t,{state:d,ref:[a,u],stateAttributesMapping:Er,props:{"aria-hidden":!0,...s},enabled:l||i.checked})});var ap=C(k(),1);var tp=C(k(),1),Pu=tp.createContext(void 0);function _w(){let e=tp.useContext(Pu);if(e===void 0)throw new Error(Re(31));return e}var zw=C(F(),1),Uw=ap.forwardRef(function(t,a){let{render:o,className:n,style:r,...l}=t,[s,i]=ap.useState(void 0),u=se("div",t,{ref:a,props:{role:"group","aria-labelledby":s,...l}});return(0,zw.jsx)(Pu.Provider,{value:i,children:u})});var Hw=C(k(),1);var qw=Hw.forwardRef(function(t,a){let{render:o,className:n,style:r,id:l,...s}=t,i=ot(l),u=_w();return q(()=>(u(i),()=>{u(void 0)}),[u,i]),se("div",t,{ref:a,props:{id:i,role:"presentation",...s}})});var Vw=C(k(),1);var Gw=Vw.forwardRef(function(t,a){let{render:o,className:n,id:r,label:l,nativeButton:s=!1,disabled:i=!1,closeOnClick:u=!0,style:c,...f}=t,d=mo({label:l}),m=Jt(!0),h=ot(r),{store:y}=Qe(),S=y.useState("isActive",d.index),g=y.useState("itemProps"),{getItemProps:p,itemRef:x}=wr({closeOnClick:u,disabled:i,highlighted:S,id:h,store:y,nativeButton:s,nodeId:m?.context.nodeId,itemMetadata:js});return se("div",t,{state:{disabled:i,highlighted:S},props:[g,f,p],ref:[x,a,d.ref]})});var op=C(k(),1);var Yw=op.forwardRef(function(t,a){let{render:o,className:n,id:r,label:l,closeOnClick:s=!1,style:i,...u}=t,c=op.useRef(null),f=mo({label:l}),m=Jt(!0)?.context.nodeId,h=ot(r),{store:y}=Qe(),S=y.useState("isActive",f.index),g=y.useState("itemProps"),p=y.context.typingRef,{getButtonProps:x,buttonRef:b}=da({native:!1,composite:!0}),L=Kd({closeOnClick:s,highlighted:S,id:h,nodeId:m,store:y,typingRef:p,itemRef:c});function R(v){return jt(L,v,x)}return se("a",t,{state:{highlighted:S},props:[g,u,R],ref:[c,b,a,f.ref]})});var si=C(k(),1);var Nu=0,Ta=class e{static create(){return new e}currentId=Nu;start(t,a){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Nu,a()},t)}isStarted(){return this.currentId!==Nu}clear=()=>{this.currentId!==Nu&&(clearTimeout(this.currentId),this.currentId=Nu)};disposeEffect=()=>this.clear};function St(){let e=ut(Ta.create).current;return Ks(e.disposeEffect),e}function ka(e){e.preventDefault(),e.stopPropagation()}function Xw(e){return"nativeEvent"in e}function np(e){return e.pointerType===""&&e.isTrusted?!0:at.os.android&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function rp(e){return at.env.jsdom?!1:!at.os.android&&e.width===0&&e.height===0||at.os.android&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function kr(e,t){let a=["mouse","pen"];return t||a.push("",void 0),a.includes(e)}function jw(e){let t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var Bu="data-base-ui-focusable";var Ab="input:not([type=\'hidden\']):not([disabled]),[contenteditable]:not([contenteditable=\'false\']),textarea:not([disabled])",Fu="ArrowLeft",_u="ArrowRight",Ob="ArrowUp",lp="ArrowDown";function Bt(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function ie(e,t){if(!e||!t)return!1;let a=t.getRootNode?.();if(e.contains(t))return!0;if(a&&Qo(a)){let o=t;for(;o;){if(e===o)return!0;o=o.parentNode||o.host}}return!1}function st(e){return"composedPath"in e?e.composedPath()[0]:e.target}function Mr(e,t){if(!Se(e))return!1;let a=e;if(t.hasElement(a))return!a.hasAttribute("data-trigger-disabled");for(let[,o]of t.entries())if(ie(o,a))return!o.hasAttribute("data-trigger-disabled");return!1}function sp(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let a=e;return a.target!=null&&t.contains(a.target)}function Kw(e){return e.matches("html,body")}function Al(e){return De(e)&&e.matches(Ab)}function Db(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${Ab}`)!=null}function zu(e){return e?e.getAttribute("role")==="combobox"&&Al(e):!1}function Ww(e){if(!e||at.env.jsdom)return!0;try{return e.matches(":focus-visible")}catch{return!0}}function Uu(e){return e?e.hasAttribute(Bu)?e:e.querySelector(`[${Bu}]`)||e:null}function PB(e,t){return t!=null&&!kr(t)?0:typeof e=="function"?e():e}function Hu(e,t,a){let o=PB(e,a);return typeof o=="number"?o:o?.[t]}function Pb(e){return typeof e=="function"?e():e}function ip(e,t){return t||e==="click"||e==="mousedown"}function Zw(e){return e?.includes("mouse")&&e!=="mousedown"}var aa=C(k(),1);function we(e,t,a,o){return e.addEventListener(t,a,o),()=>{e.removeEventListener(t,a,o)}}function ea(...e){return()=>{for(let t=0;t<e.length;t+=1){let a=e[t];a&&a()}}}function ht(e){let t=ut(NB,e).current;return t.next=e,q(t.effect),t}function NB(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function xe(e){return e?.ownerDocument||document}var cp=C(k(),1);var Qw={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},up={...Qw,position:"fixed",top:0,left:0},$w={...Qw,position:"absolute"};var Jw=C(F(),1),Fn=cp.forwardRef(function(t,a){let[o,n]=cp.useState();return q(()=>{at.screenReader.voiceOver&&at.engine.webkit&&n("button")},[]),(0,Jw.jsx)("span",{...t,ref:a,style:up,"aria-hidden":o?void 0:!0,...{tabIndex:0,role:o},"data-base-ui-focus-guard":""})});var aE=["top","right","bottom","left"];var Ar=Math.min,pa=Math.max,Or=Math.round,Vu=Math.floor,Ao=e=>({x:e,y:e}),BB={left:"right",right:"left",bottom:"top",top:"bottom"};function Gu(e,t,a){return pa(e,Ar(t,a))}function Oo(e,t){return typeof e=="function"?e(t):e}function Kt(e){return e.split("-")[0]}function Do(e){return e.split("-")[1]}function dp(e){return e==="x"?"y":"x"}function Yu(e){return e==="y"?"height":"width"}function Ma(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function Xu(e){return dp(Ma(e))}function oE(e,t,a){a===void 0&&(a=!1);let o=Do(e),n=Xu(e),r=Yu(n),l=n==="x"?o===(a?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(l=qu(l)),[l,qu(l)]}function nE(e){let t=qu(e);return[fp(e),t,fp(t)]}function fp(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var eE=["left","right"],tE=["right","left"],FB=["top","bottom"],_B=["bottom","top"];function zB(e,t,a){switch(e){case"top":case"bottom":return a?t?tE:eE:t?eE:tE;case"left":case"right":return t?FB:_B;default:return[]}}function rE(e,t,a,o){let n=Do(e),r=zB(Kt(e),a==="start",o);return n&&(r=r.map(l=>l+"-"+n),t&&(r=r.concat(r.map(fp)))),r}function qu(e){let t=Kt(e);return BB[t]+e.slice(t.length)}function UB(e){return{top:0,right:0,bottom:0,left:0,...e}}function pp(e){return typeof e!="number"?UB(e):{top:e,right:e,bottom:e,left:e}}function Ol(e){let{x:t,y:a,width:o,height:n}=e;return{width:o,height:n,top:a,left:t,right:t+o,bottom:a+n,x:t,y:a}}function Dr(e,t){return t<0||t>=e.length}function Dl(e,t){return ho(e.current,{disabledIndices:t})}function Zs(e,t){return ho(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function ho(e,{startingIndex:t=-1,decrement:a=!1,disabledIndices:o,amount:n=1}={}){let r=t;do r+=a?-n:n;while(r>=0&&r<=e.length-1&&Pl(e,r,o));return r}function Pl(e,t,a){if(typeof a=="function"?a(t):a?.includes(t)??!1)return!0;let n=e[t];return n?Nl(n)?!a&&(n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true"):!0:!1}function HB(e){return e.visibility==="hidden"||e.visibility==="collapse"}function Nl(e,t=e?Mt(e):null){return!e||!e.isConnected||!t||HB(t)?!1:typeof e.checkVisibility=="function"?e.checkVisibility():t.display!=="none"&&t.display!=="contents"}var qB=\'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]\';function VB(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let a=e.getRootNode();return Qo(a)?a.host:null}function Bb(e){for(let t of Array.from(e.children))if(vt(t)==="summary")return t;return null}function GB(e,t){let a=Bb(t);return!!a&&(e===a||ie(a,e))}function lE(e){let t=e?vt(e):"";return e!=null&&e.matches(qB)&&(t!=="summary"||e.parentElement!=null&&vt(e.parentElement)==="details"&&Bb(e.parentElement)===e)&&(t!=="details"||Bb(e)==null)&&(t!=="input"||e.type!=="hidden")}function sE(e){if(!lE(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=VB(t)){let a=t!==e,o=vt(t)==="slot";if(t.hasAttribute("inert")||a&&vt(t)==="details"&&!t.open&&!GB(e,t)||t.hasAttribute("hidden")||!o&&!YB(t,a))return!1}return!0}function YB(e,t){let a=Mt(e);return t?a.display!=="none":Nl(e,a)}function iE(e){let t=e.tabIndex;if(t<0){let a=vt(e);if(a==="details"||a==="audio"||a==="video"||De(e)&&e.isContentEditable)return 0}return t}function Nb(e){if(vt(e)!=="input")return null;let t=e;return t.type==="radio"&&t.name!==""?t:null}function XB(e,t){let a=Nb(e);if(!a)return!0;let o=t.find(n=>{let r=Nb(n);return r?.name===a.name&&r.form===a.form&&r.checked});return o?o===a:t.find(n=>{let r=Nb(n);return r?.name===a.name&&r.form===a.form})===a}function uE(e){if(De(e)&&vt(e)==="slot"){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return De(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function cE(e,t){uE(e).forEach(a=>{lE(a)&&t.push(a),cE(a,t)})}function fE(e,t,a){uE(e).forEach(o=>{De(o)&&o.matches(t)&&a.push(o),fE(o,t,a)})}function mp(e){return sE(e)&&iE(e)>=0}function Fb(e){let t=[];return cE(e,t),t.filter(sE)}function Qs(e){let t=Fb(e);return t.filter(a=>iE(a)>=0&&XB(a,t))}function dE(e,t){let a=Qs(e),o=a.length;if(o===0)return;let n=Bt(xe(e)),r=a.indexOf(n),l=r===-1?t===1?0:o-1:r+t;return a[l]}function $s(e){return dE(xe(e).body,1)||e}function gp(e){return dE(xe(e).body,-1)||e}function pE(e,t){if(!e)return null;let a=Qs(xe(e).body),o=a.length;if(o===0)return null;let n=a.indexOf(e);if(n===-1)return null;let r=(n+t+o)%o;return a[r]}function mE(e){return pE(e,1)}function gE(e){return pE(e,-1)}function _n(e,t){let a=t||e.currentTarget,o=e.relatedTarget;return!o||!ie(a,o)}function hE(e){Qs(e).forEach(a=>{a.dataset.tabindex=a.getAttribute("tabindex")||"",a.setAttribute("tabindex","-1")})}function _b(e){let t=[];fE(e,"[data-tabindex]",t),t.forEach(a=>{let o=a.dataset.tabindex;delete a.dataset.tabindex,o?a.setAttribute("tabindex",o):a.removeAttribute("tabindex")})}function xo(e,t,a=!0){return e.filter(n=>n.parentId===t).flatMap(n=>[...!a||n.context?.open?[n]:[],...xo(e,n.id,a)])}function zb(e,t){let a=[],o=e.find(n=>n.id===t)?.parentId;for(;o;){let n=e.find(r=>r.id===o);o=n?.parentId,n&&(a=a.concat(n))}return a}function zn(e){return`data-base-ui-${e}`}var hp=0;function Js(e,t={}){let{preventScroll:a=!1,sync:o=!1,shouldFocus:n}=t;cancelAnimationFrame(hp);function r(){n&&!n()||e?.focus({preventScroll:a})}if(o)return r(),Ve;let l=requestAnimationFrame(r);return hp=l,()=>{hp===l&&(cancelAnimationFrame(l),hp=0)}}var Ub={inert:new WeakMap,"aria-hidden":new WeakMap},xE="data-base-ui-inert",qb={inert:new WeakSet,"aria-hidden":new WeakSet},ju=new WeakMap,Hb=0;function jB(e){return qb[e]}function CE(e){return e?Qo(e)?e.host:CE(e.parentNode):null}var bE=(e,t)=>t.map(a=>{if(e.contains(a))return a;let o=CE(a);return e.contains(o)?o:null}).filter(a=>a!=null),yE=e=>{let t=new Set;return e.forEach(a=>{let o=a;for(;o&&!t.has(o);)t.add(o),o=o.parentNode}),t},SE=(e,t,a)=>{let o=[],n=r=>{!r||a.has(r)||Array.from(r.children).forEach(l=>{vt(l)!=="script"&&(t.has(l)?n(l):o.push(l))})};return n(e),o};function KB(e,t,a,o,{mark:n=!0}){let r=null;o?r="inert":a&&(r="aria-hidden");let l=null,s=null,i=bE(t,e),u=n?SE(t,yE(i),new Set(i)):[],c=[],f=[];if(r){let d=Ub[r],m=jB(r);s=m,l=d;let h=bE(t,Array.from(t.querySelectorAll("[aria-live]"))),y=i.concat(h);SE(t,yE(y),new Set(y)).forEach(g=>{let p=g.getAttribute(r),x=p!==null&&p!=="false",b=(d.get(g)||0)+1;d.set(g,b),c.push(g),b===1&&x&&m.add(g),x||g.setAttribute(r,r==="inert"?"":"true")})}return n&&u.forEach(d=>{let m=(ju.get(d)||0)+1;ju.set(d,m),f.push(d),m===1&&d.setAttribute(xE,"")}),Hb+=1,()=>{l&&c.forEach(d=>{let h=(l.get(d)||0)-1;l.set(d,h),h||(!s?.has(d)&&r&&d.removeAttribute(r),s?.delete(d))}),n&&f.forEach(d=>{let m=(ju.get(d)||0)-1;ju.set(d,m),m||d.removeAttribute(xE)}),Hb-=1,Hb||(Ub.inert=new WeakMap,Ub["aria-hidden"]=new WeakMap,qb.inert=new WeakSet,qb["aria-hidden"]=new WeakSet,ju=new WeakMap)}}function Vb(e,t={}){let{ariaHidden:a=!1,inert:o=!1,mark:n=!0}=t,r=xe(e[0]).body;return KB(e,r,a,o,{mark:n})}var xt=C(k(),1),Gb=C(fn(),1);var RE={style:{transition:"none"}},xp="data-base-ui-click-trigger",WB="data-base-ui-swipe-ignore",ZB="data-swipe-ignore",M4=`[${WB}]`,A4=`[${ZB}]`,vE={fallbackAxisSide:"none"},LE={fallbackAxisSide:"end"},IE={clipPath:"inset(50%)",position:"fixed",top:0,left:0};var Bl=C(F(),1),wE=xt.createContext(null),Yb=()=>xt.useContext(wE),QB=zn("portal");function EE(e={}){let{ref:t,container:a,componentProps:o=ve,elementProps:n}=e,r=ja(),s=Yb()?.portalNode,[i,u]=xt.useState(null),[c,f]=xt.useState(null),d=W(S=>{S!==null&&f(S)}),m=xt.useRef(null);q(()=>{if(a===null){m.current&&(m.current=null,f(null),u(null));return}if(r==null)return;let S=(a&&(Vd(a)?a:a.current))??s??document.body;if(S==null){m.current&&(m.current=null,f(null),u(null));return}m.current!==S&&(m.current=S,f(null),u(S))},[a,s,r]);let h=se("div",o,{ref:[t,d],props:[{id:r,[QB]:""},n]});return{portalNode:c,portalSubtree:i&&h?Gb.createPortal(h,i):null}}var Ku=xt.forwardRef(function(t,a){let{render:o,className:n,style:r,children:l,container:s,renderGuards:i,...u}=t,{portalNode:c,portalSubtree:f}=EE({container:s,ref:a,componentProps:t,elementProps:u}),d=xt.useRef(null),m=xt.useRef(null),h=xt.useRef(null),y=xt.useRef(null),[S,g]=xt.useState(null),p=xt.useRef(!1),x=S?.modal,b=S?.open,L=typeof i=="boolean"?i:!!S&&!S.modal&&S.open&&!!c;xt.useEffect(()=>{if(!c||x)return;function I(v){c&&v.relatedTarget&&_n(v)&&(v.type==="focusin"?p.current&&(_b(c),p.current=!1):(hE(c),p.current=!0))}return ea(we(c,"focusin",I,!0),we(c,"focusout",I,!0))},[c,x]),q(()=>{!c||b!==!0||!p.current||(_b(c),p.current=!1)},[b,c]);let R=xt.useMemo(()=>({beforeOutsideRef:d,afterOutsideRef:m,beforeInsideRef:h,afterInsideRef:y,portalNode:c,setFocusManagerState:g}),[c]);return(0,Bl.jsxs)(xt.Fragment,{children:[f,(0,Bl.jsxs)(wE.Provider,{value:R,children:[L&&c&&(0,Bl.jsx)(Fn,{"data-type":"outside",ref:d,onFocus:I=>{if(_n(I,c))h.current?.focus();else{let v=S?S.domReference:null;gp(v)?.focus()}}}),L&&c&&(0,Bl.jsx)("span",{"aria-owns":c.id,style:IE}),c&&Gb.createPortal(l,c),L&&c&&(0,Bl.jsx)(Fn,{"data-type":"outside",ref:m,onFocus:I=>{if(_n(I,c))y.current?.focus();else{let v=S?S.domReference:null;$s(v)?.focus(),S?.closeOnFocusOut&&S?.onOpenChange(!1,ue(j.focusOut,I.nativeEvent))}}})]})]})});var Nr=C(k(),1);function bp(){let e=new Map;return{emit(t,a){e.get(t)?.forEach(o=>o(a))},on(t,a){e.has(t)||e.set(t,new Set),e.get(t).add(a)},off(t,a){e.get(t)?.delete(a)}}}var Pr=class{nodesRef={current:[]};events=bp();addNode(t){this.nodesRef.current.push(t)}removeNode(t){let a=this.nodesRef.current.findIndex(o=>o===t);a!==-1&&this.nodesRef.current.splice(a,1)}};var Xb=C(F(),1),TE=Nr.createContext(null),kE=Nr.createContext(null),ma=()=>Nr.useContext(TE)?.id||null,ta=e=>{let t=Nr.useContext(kE);return e??t};function Wu(e){let t=ja(),a=ta(e),o=ma();return q(()=>{if(!t)return;let n={id:t,parentId:o};return a?.addNode(n),()=>{a?.removeNode(n)}},[a,t,o]),t}function jb(e){let{children:t,id:a}=e,o=ma();return(0,Xb.jsx)(TE.Provider,{value:Nr.useMemo(()=>({id:a,parentId:o}),[a,o]),children:t})}function Kb(e){let{children:t,externalTree:a}=e,o=ut(()=>a??new Pr).current;return(0,Xb.jsx)(kE.Provider,{value:o,children:t})}var Zu=C(F(),1);function $B(e,t){let a=Xe(st(e));return e instanceof a.KeyboardEvent?"keyboard":e instanceof a.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof a.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}var ME=20,Br=[];function Wb(){Br=Br.filter(e=>e.deref()?.isConnected)}function AE(e){Wb(),e&&vt(e)!=="body"&&(Br.push(new WeakRef(e)),Br.length>ME&&(Br=Br.slice(-ME)))}function OE(){return Wb(),Br[Br.length-1]?.deref()}function JB(e){return e?mp(e)?e:Qs(e)[0]||e:null}function DE(e){if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!e.getAttribute("role")?.includes("dialog"))return;let a=Fb(e).filter(n=>{let r=n.getAttribute("data-tabindex")||"";return mp(n)||n.hasAttribute("data-tabindex")&&!r.startsWith("-")}),o=e.getAttribute("tabindex");a.length===0?o!=="0"&&(e.setAttribute("tabindex","0"),e.setAttribute("data-tabindex","0")):(o!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function Qu(e){let{context:t,children:a,disabled:o=!1,initialFocus:n=!0,returnFocus:r=!0,restoreFocus:l=!1,modal:s=!0,closeOnFocusOut:i=!0,openInteractionType:u="",nextFocusableElement:c,previousFocusableElement:f,beforeContentFocusGuardRef:d,externalTree:m,getInsideElements:h}=e,y="rootStore"in t?t.rootStore:t,S=y.useState("open"),g=y.useState("domReferenceElement"),p=y.useState("floatingElement"),{events:x,dataRef:b}=y.context,L=W(()=>b.current.floatingContext?.nodeId),R=n===!1,I=zu(g)&&R,v=ht(n),E=ht(r),w=ht(u),P=ht(S),O=ta(m),B=Yb(),D=aa.useRef(!1),M=aa.useRef(!1),z=aa.useRef(!1),H=aa.useRef(null),T=aa.useRef(""),N=aa.useRef(""),A=aa.useRef(null),K=aa.useRef(null),J=La(A,d,B?.beforeInsideRef),fe=La(K,B?.afterInsideRef),re=St(),X=St(),Z=Ka(),me=B!=null,Q=Uu(p),ee=W((te=Q)=>te?Qs(te):[]),Ie=W(()=>h?.().filter(te=>te!=null)??[]);aa.useEffect(()=>{if(o||!s)return;function te(ce){ce.key==="Tab"&&ie(Q,Bt(xe(Q)))&&ee().length===0&&!I&&ka(ce)}let he=xe(Q);return we(he,"keydown",te)},[o,Q,s,I,ee]),aa.useEffect(()=>{if(o||!S)return;let te=xe(Q);function he(){z.current=!1}function ce(Be){let de=st(Be),G=Ie(),Y=ie(p,de)||ie(g,de)||ie(B?.portalNode,de)||G.some(ge=>ge===de||ie(ge,de));z.current=!Y,N.current=Be.pointerType||"keyboard",de?.closest(`[${xp}]`)&&(M.current=!0,X.start(0,()=>{M.current=!1}))}function ke(){N.current="keyboard"}return ea(we(te,"pointerdown",ce,!0),we(te,"pointerup",he,!0),we(te,"pointercancel",he,!0),we(te,"keydown",ke,!0),he)},[o,p,g,Q,S,B,X,Ie]),aa.useEffect(()=>{if(o||!i)return;let te=xe(Q);function he(){M.current=!0,X.start(0,()=>{M.current=!1})}function ce(G){let Y=st(G);mp(Y)&&(H.current=Y)}function ke(G){let Y=G.relatedTarget,ge=G.currentTarget,be=st(G);s&&Y==null&&be!=null&&ie(p,be)&&AE(be),queueMicrotask(()=>{let Ce=L(),Zt=y.context.triggerElements,U=Ie(),V=Y?.hasAttribute(zn("focus-guard"))&&[A.current,K.current,B?.beforeInsideRef.current,B?.afterInsideRef.current,B?.beforeOutsideRef.current,B?.afterOutsideRef.current,Mo(f),Mo(c)].includes(Y),Me=!(ie(g,Y)||ie(p,Y)||ie(Y,p)||ie(B?.portalNode,Y)||U.some($=>$===Y||ie($,Y))||Y!=null&&Zt.hasElement(Y)||Zt.hasMatchingElement($=>ie($,Y))||V||O&&(xo(O.nodesRef.current,Ce).find($=>ie($.context?.elements.floating,Y)||ie($.context?.elements.domReference,Y))||zb(O.nodesRef.current,Ce).find($=>[$.context?.elements.floating,Uu($.context?.elements.floating)].includes(Y)||$.context?.elements.domReference===Y)));if(ge===g&&Q&&DE(Q),l&&ge!==g&&!Nl(be)&&Bt(te)===te.body){if(De(Q)&&(Q.focus(),l==="popup")){Z.request(()=>{Q.focus()});return}let $=ee(),ae=H.current,$e=(ae&&$.includes(ae)?ae:null)||$[$.length-1]||Q;De($e)&&$e.focus()}if(b.current.insideReactTree){b.current.insideReactTree=!1;return}(I||!s)&&Y&&Me&&!M.current&&(I||Y!==OE())&&(D.current=!0,y.setOpen(!1,ue(j.focusOut,G)))})}function Be(){z.current||(b.current.insideReactTree=!0,re.start(0,()=>{b.current.insideReactTree=!1}))}let de=De(g)?g:null;if(!(!p&&!de))return ea(de&&we(de,"focusout",ke),de&&we(de,"pointerdown",he),p&&we(p,"focusin",ce),p&&we(p,"focusout",ke),p&&B&&we(p,"focusout",Be,!0))},[o,g,p,Q,s,O,B,y,i,l,ee,I,L,b,re,X,Z,c,f,Ie]),aa.useEffect(()=>{if(o||!p||!S)return;let te=Array.from(B?.portalNode?.querySelectorAll(`[${zn("portal")}]`)||[]),ce=(O?zb(O.nodesRef.current,L()):[]).find(ge=>zu(ge.context?.elements.domReference||null))?.context?.elements.domReference,Be=[...[p,...te,A.current,K.current,B?.beforeOutsideRef.current,B?.afterOutsideRef.current,...Ie()],ce,Mo(f),Mo(c),I?g:null].filter(ge=>ge!=null),de=Vb(Be,{ariaHidden:s||I,mark:!1}),G=[p,...te].filter(ge=>ge!=null),Y=Vb(G);return()=>{Y(),de()}},[S,o,g,p,s,B,I,O,L,c,f,Ie]),q(()=>{if(!S||o||!De(Q))return;let te=xe(Q),he=Bt(te);queueMicrotask(()=>{let ce=v.current,ke=typeof ce=="function"?ce(w.current||""):ce;if(ke===void 0||ke===!1||ie(Q,he))return;let de=null,G=()=>(de==null&&(de=ee(Q)),de[0]||Q),Y;ke===!0||ke===null?Y=G():Y=Mo(ke),Y=Y||G();let ge=ie(Q,Bt(te));Js(Y,{preventScroll:Y===Q,shouldFocus(){if(!P.current)return!1;if(ge)return!0;let be=Bt(te);return!(be!==Y&&ie(Q,be))}})})},[o,S,Q,ee,v,w,P]),q(()=>{if(o||!Q)return;let te=xe(Q),he=Bt(te),ce=w.current==null;AE(he);function ke(de){if(de.open||(T.current=$B(de.nativeEvent,N.current)),de.reason===j.triggerHover&&de.nativeEvent.type==="mouseleave"&&(D.current=!0),de.reason===j.outsidePress)if(de.nested)D.current=!1;else if(np(de.nativeEvent)||rp(de.nativeEvent))D.current=!1;else{let G=!1;xe(Q).createElement("div").focus({get preventScroll(){return G=!0,!1}}),G?D.current=!1:D.current=!0}}x.on("openchange",ke);function Be(){let de=E.current,G=typeof de=="function"?de(T.current):de;if(G===void 0||G===!1)return null;G===null&&(G=!0);let Y=g?.isConnected?g:null,ge=he?.isConnected&&vt(he)!=="body"?he:null,be=ce?ge||Y:Y||ge;return be||(be=OE()||null),typeof G=="boolean"?be:Mo(G)||be||null}return()=>{x.off("openchange",ke);let de=Bt(te),G=Ie(),Y=ie(p,de)||G.some(Ce=>Ce===de||ie(Ce,de))||O&&xo(O.nodesRef.current,L(),!1).some(Ce=>ie(Ce.context?.elements.floating,de)),ge=E.current,be=Be();queueMicrotask(()=>{let Ce=JB(be),Zt=typeof ge!="boolean";ge&&!D.current&&De(Ce)&&(!(!Zt&&Ce!==de&&de!==te.body)||Y)&&Ce.focus({preventScroll:!0}),D.current=!1})}},[o,p,Q,E,w,x,O,g,L,Ie]),q(()=>{if(!at.engine.webkit||S||!p)return;let te=Bt(xe(p));!De(te)||!Al(te)||ie(p,te)&&te.blur()},[S,p]),q(()=>{if(!(o||!B))return B.setFocusManagerState({modal:s,closeOnFocusOut:i,open:S,onOpenChange:y.setOpen,domReference:g}),()=>{B.setFocusManagerState(null)}},[o,B,s,S,y,i,g]),q(()=>{if(!(o||!Q))return DE(Q),()=>{queueMicrotask(Wb)}},[o,Q]);let Te=!o&&(s?!I:!0)&&(me||s);return(0,Zu.jsxs)(aa.Fragment,{children:[Te&&(0,Zu.jsx)(Fn,{"data-type":"inside",ref:J,onFocus:te=>{if(s){let he=ee();Js(he[he.length-1])}else B?.portalNode&&(D.current=!1,_n(te,B.portalNode)?$s(g)?.focus():Mo(f??B.beforeOutsideRef)?.focus())}}),a,Te&&(0,Zu.jsx)(Fn,{"data-type":"inside",ref:fe,onFocus:te=>{s?Js(ee()[0]):B?.portalNode&&(i&&(D.current=!0),_n(te,B.portalNode)?gp(g)?.focus():Mo(c??B.afterOutsideRef)?.focus())}})]})}var $u=C(k(),1);function Fl(e,t={}){let{enabled:a=!0,event:o="click",toggle:n=!0,ignoreMouse:r=!1,stickIfOpen:l=!0,touchOpenDelay:s=0,reason:i=j.triggerPress}=t,u="rootStore"in e?e.rootStore:e,c=u.context.dataRef,f=$u.useRef(void 0),d=Ka(),m=St(),h=$u.useMemo(()=>{function y(g,p,x,b){let L=ue(i,p,x);g&&b==="touch"&&s>0?m.start(s,()=>{u.setOpen(!0,L)}):u.setOpen(g,L)}function S(g,p,x){let b=c.current.openEvent,L=u.select("domReferenceElement")!==p;return g&&L||!g||!n?!0:b&&l?!x(b.type):!1}return{onPointerDown(g){f.current=g.pointerType},onMouseDown(g){let p=f.current,x=g.nativeEvent,b=u.select("open");if(g.button!==0||o==="click"||kr(p,!0)&&r)return;let L=S(b,g.currentTarget,v=>v==="click"||v==="mousedown"),R=st(x);if(Al(R)){y(L,x,R,p);return}let I=g.currentTarget;d.request(()=>{y(L,x,I,p)})},onClick(g){if(o==="mousedown-only")return;let p=f.current;if(o==="mousedown"&&p){f.current=void 0;return}if(kr(p,!0)&&r)return;let x=u.select("open"),b=S(x,g.currentTarget,L=>L==="click"||L==="mousedown"||L==="keydown"||L==="keyup");y(b,g.nativeEvent,g.currentTarget,p)},onKeyDown(){f.current=void 0}}},[c,o,r,i,u,l,n,d,m,s]);return $u.useMemo(()=>a?{reference:h}:ve,[a,h])}var Aa=C(k(),1);function eF(){return!1}function tF(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Ju(e,t={}){let{enabled:a=!0,escapeKey:o=!0,outsidePress:n=!0,outsidePressEvent:r="sloppy",referencePress:l=eF,bubbles:s,externalTree:i}=t,u="rootStore"in e?e.rootStore:e,c=u.useState("open"),f=u.useState("floatingElement"),{dataRef:d}=u.context,m=ta(i),h=W(typeof n=="function"?n:()=>!1),y=typeof n=="function"?h:n,S=y!==!1,g=W(()=>r),{escapeKey:p,outsidePress:x}=tF(s),b=Aa.useRef(!1),L=Aa.useRef(!1),R=Aa.useRef(!1),I=Aa.useRef(!1),v=Aa.useRef(""),E=Aa.useRef(null),w=St(),P=St(),O=W(()=>{P.clear(),d.current.insideReactTree=!1}),B=W(J=>{let fe=d.current.floatingContext?.nodeId;return(m?xo(m.nodesRef.current,fe):[]).some(X=>X.context?.open&&!X.context.dataRef.current[J])}),D=W(J=>sp(J,u.select("floatingElement"))||sp(J,u.select("domReferenceElement"))),M=W(J=>{l()&&u.setOpen(!1,ue(j.triggerPress,J.nativeEvent))}),z=W(J=>{if(!c||!a||!o||J.key!=="Escape"||I.current||!p&&B("__escapeKeyBubbles"))return;let fe=Xw(J)?J.nativeEvent:J,re=ue(j.escapeKey,fe);u.setOpen(!1,re),re.isCanceled||J.preventDefault(),!p&&!re.isPropagationAllowed&&J.stopPropagation()}),H=W(()=>{d.current.insideReactTree=!0,P.start(0,O)}),T=W(J=>{if(!c||!a||J.button!==0)return;let fe=st(J.nativeEvent);ie(u.select("floatingElement"),fe)&&(b.current||(b.current=!0,L.current=!1))}),N=W(J=>{!c||!a||(J.defaultPrevented||J.nativeEvent.defaultPrevented)&&b.current&&(L.current=!0)});Aa.useEffect(()=>{if(!c||!a)return;d.current.__escapeKeyBubbles=p,d.current.__outsidePressBubbles=x;let J=new Ta,fe=new Ta;function re(){J.clear(),I.current=!0}function X(){J.start(at.engine.webkit?5:0,()=>{I.current=!1})}function Z(){R.current=!0,fe.start(0,()=>{R.current=!1})}function me(){b.current=!1,L.current=!1}function Q(){let U=v.current,V=U==="pen"||!U?"mouse":U,Me=g(),$=typeof Me=="function"?Me():Me;return typeof $=="string"?$:$[V]}function ee(U){let V=Q();return V==="intentional"&&U.type!=="click"||V==="sloppy"&&U.type==="click"}function Ie(U){let V=d.current.floatingContext?.nodeId,Me=m&&xo(m.nodesRef.current,V).some($=>sp(U,$.context?.elements.floating));return D(U)||Me}function Te(U){if(ee(U)){U.type!=="click"&&!D(U)&&(fe.clear(),R.current=!1),O();return}if(d.current.insideReactTree){O();return}let V=st(U),Me=`[${zn("inert")}]`,$=Se(V)?V.getRootNode():null,ae=Array.from((Qo($)?$:xe(u.select("floatingElement"))).querySelectorAll(Me)),$e=u.context.triggerElements;if(V&&($e.hasElement(V)||$e.hasMatchingElement(Ft=>ie(Ft,V))))return;let rt=Se(V)?V:null;for(;rt&&!Xa(rt);){let Ft=Ya(rt);if(Xa(Ft)||!Se(Ft))break;rt=Ft}if(!(ae.length&&Se(V)&&!Kw(V)&&!ie(V,u.select("floatingElement"))&&ae.every(Ft=>!ie(rt,Ft)))){if(De(V)&&!("touches"in U)){let Ft=Xa(V),sa=Mt(V),Oa=/auto|scroll/,Xl=Ft||Oa.test(sa.overflowX),Kr=Ft||Oa.test(sa.overflowY),Dc=Xl&&V.clientWidth>0&&V.scrollWidth>V.clientWidth,Pc=Kr&&V.clientHeight>0&&V.scrollHeight>V.clientHeight,Nc=sa.direction==="rtl",Je=Pc&&(Nc?U.offsetX<=V.offsetWidth-V.clientWidth:U.offsetX>V.clientWidth),ia=Dc&&U.offsetY>V.clientHeight;if(Je||ia)return}if(!Ie(U)){if(Q()==="intentional"&&R.current){fe.clear(),R.current=!1;return}typeof y=="function"&&!y(U)||B("__outsidePressBubbles")||(u.setOpen(!1,ue(j.outsidePress,U)),O())}}}function te(U){Q()!=="sloppy"||U.pointerType==="touch"||!u.select("open")||!a||D(U)||Te(U)}function he(U){if(Q()!=="sloppy"||!u.select("open")||!a||D(U))return;let V=U.touches[0];V&&(E.current={startTime:Date.now(),startX:V.clientX,startY:V.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},w.start(1e3,()=>{E.current&&(E.current.dismissOnTouchEnd=!1,E.current.dismissOnMouseDown=!1)}))}function ce(U,V){let Me=st(U);if(!Me)return;let $=we(Me,U.type,()=>{V(U),$()})}function ke(U){v.current="touch",ce(U,he)}function Be(U){w.clear(),U.type==="pointerdown"&&(v.current=U.pointerType),!(U.type==="mousedown"&&E.current&&!E.current.dismissOnMouseDown)&&ce(U,V=>{V.type==="pointerdown"?te(V):Te(V)})}function de(U){if(!b.current)return;let V=L.current;if(me(),Q()==="intentional"){if(U.type==="pointercancel"){V&&Z();return}if(!Ie(U)){if(V){Z();return}typeof y=="function"&&!y(U)||(fe.clear(),R.current=!0,O())}}}function G(U){if(Q()!=="sloppy"||!E.current||D(U))return;let V=U.touches[0];if(!V)return;let Me=Math.abs(V.clientX-E.current.startX),$=Math.abs(V.clientY-E.current.startY),ae=Math.sqrt(Me*Me+$*$);ae>5&&(E.current.dismissOnTouchEnd=!0),ae>10&&(Te(U),w.clear(),E.current=null)}function Y(U){ce(U,G)}function ge(U){Q()!=="sloppy"||!E.current||D(U)||(E.current.dismissOnTouchEnd&&Te(U),w.clear(),E.current=null)}function be(U){ce(U,ge)}let Ce=xe(f),Zt=ea(o&&ea(we(Ce,"keydown",z),we(Ce,"compositionstart",re),we(Ce,"compositionend",X)),S&&ea(we(Ce,"click",Be,!0),we(Ce,"pointerdown",Be,!0),we(Ce,"pointerup",de,!0),we(Ce,"pointercancel",de,!0),we(Ce,"mousedown",Be,!0),we(Ce,"mouseup",de,!0),we(Ce,"touchstart",ke,!0),we(Ce,"touchmove",Y,!0),we(Ce,"touchend",be,!0)));return()=>{Zt(),J.clear(),fe.clear(),me(),R.current=!1}},[d,f,o,S,y,c,a,p,x,z,O,g,B,D,m,u,w]),Aa.useEffect(O,[y,O]);let A=Aa.useMemo(()=>({onKeyDown:z,onPointerDown:M,onClick:M}),[z,M]),K=Aa.useMemo(()=>({onKeyDown:z,onPointerDown:N,onMouseDown:N,onClickCapture:H,onMouseDownCapture(J){H(),T(J)},onPointerDownCapture(J){H(),T(J)},onMouseUpCapture:H,onTouchEndCapture:H,onTouchMoveCapture:H}),[z,H,T,N]);return Aa.useMemo(()=>a?{reference:A,floating:K,trigger:A}:{},[a,A,K])}var oa=C(k(),1);function PE(e,t,a){let{reference:o,floating:n}=e,r=Ma(t),l=Xu(t),s=Yu(l),i=Kt(t),u=r==="y",c=o.x+o.width/2-n.width/2,f=o.y+o.height/2-n.height/2,d=o[s]/2-n[s]/2,m;switch(i){case"top":m={x:c,y:o.y-n.height};break;case"bottom":m={x:c,y:o.y+o.height};break;case"right":m={x:o.x+o.width,y:f};break;case"left":m={x:o.x-n.width,y:f};break;default:m={x:o.x,y:o.y}}switch(Do(t)){case"start":m[l]-=d*(a&&u?-1:1);break;case"end":m[l]+=d*(a&&u?-1:1);break}return m}async function FE(e,t){var a;t===void 0&&(t={});let{x:o,y:n,platform:r,rects:l,elements:s,strategy:i}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:d=!1,padding:m=0}=Oo(t,e),h=pp(m),S=s[d?f==="floating"?"reference":"floating":f],g=Ol(await r.getClippingRect({element:(a=await(r.isElement==null?void 0:r.isElement(S)))==null||a?S:S.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(s.floating)),boundary:u,rootBoundary:c,strategy:i})),p=f==="floating"?{x:o,y:n,width:l.floating.width,height:l.floating.height}:l.reference,x=await(r.getOffsetParent==null?void 0:r.getOffsetParent(s.floating)),b=await(r.isElement==null?void 0:r.isElement(x))?await(r.getScale==null?void 0:r.getScale(x))||{x:1,y:1}:{x:1,y:1},L=Ol(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:p,offsetParent:x,strategy:i}):p);return{top:(g.top-L.top+h.top)/b.y,bottom:(L.bottom-g.bottom+h.bottom)/b.y,left:(g.left-L.left+h.left)/b.x,right:(L.right-g.right+h.right)/b.x}}var aF=50,_E=async(e,t,a)=>{let{placement:o="bottom",strategy:n="absolute",middleware:r=[],platform:l}=a,s=l.detectOverflow?l:{...l,detectOverflow:FE},i=await(l.isRTL==null?void 0:l.isRTL(t)),u=await l.getElementRects({reference:e,floating:t,strategy:n}),{x:c,y:f}=PE(u,o,i),d=o,m=0,h={};for(let y=0;y<r.length;y++){let S=r[y];if(!S)continue;let{name:g,fn:p}=S,{x,y:b,data:L,reset:R}=await p({x:c,y:f,initialPlacement:o,placement:d,strategy:n,middlewareData:h,rects:u,platform:s,elements:{reference:e,floating:t}});c=x??c,f=b??f,h[g]={...h[g],...L},R&&m<aF&&(m++,typeof R=="object"&&(R.placement&&(d=R.placement),R.rects&&(u=R.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:n}):R.rects),{x:c,y:f}=PE(u,d,i)),y=-1)}return{x:c,y:f,placement:d,strategy:n,middlewareData:h}};var zE=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var a,o;let{placement:n,middlewareData:r,rects:l,initialPlacement:s,platform:i,elements:u}=t,{mainAxis:c=!0,crossAxis:f=!0,fallbackPlacements:d,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:y=!0,...S}=Oo(e,t);if((a=r.arrow)!=null&&a.alignmentOffset)return{};let g=Kt(n),p=Ma(s),x=Kt(s)===s,b=await(i.isRTL==null?void 0:i.isRTL(u.floating)),L=d||(x||!y?[qu(s)]:nE(s)),R=h!=="none";!d&&R&&L.push(...rE(s,y,h,b));let I=[s,...L],v=await i.detectOverflow(t,S),E=[],w=((o=r.flip)==null?void 0:o.overflows)||[];if(c&&E.push(v[g]),f){let D=oE(n,l,b);E.push(v[D[0]],v[D[1]])}if(w=[...w,{placement:n,overflows:E}],!E.every(D=>D<=0)){var P,O;let D=(((P=r.flip)==null?void 0:P.index)||0)+1,M=I[D];if(M&&(!(f==="alignment"?p!==Ma(M):!1)||w.every(T=>Ma(T.placement)===p?T.overflows[0]>0:!0)))return{data:{index:D,overflows:w},reset:{placement:M}};let z=(O=w.filter(H=>H.overflows[0]<=0).sort((H,T)=>H.overflows[1]-T.overflows[1])[0])==null?void 0:O.placement;if(!z)switch(m){case"bestFit":{var B;let H=(B=w.filter(T=>{if(R){let N=Ma(T.placement);return N===p||N==="y"}return!0}).map(T=>[T.placement,T.overflows.filter(N=>N>0).reduce((N,A)=>N+A,0)]).sort((T,N)=>T[1]-N[1])[0])==null?void 0:B[0];H&&(z=H);break}case"initialPlacement":z=s;break}if(n!==z)return{reset:{placement:z}}}return{}}}};function NE(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function BE(e){return aE.some(t=>e[t]>=0)}var UE=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:a,platform:o}=t,{strategy:n="referenceHidden",...r}=Oo(e,t);switch(n){case"referenceHidden":{let l=await o.detectOverflow(t,{...r,elementContext:"reference"}),s=NE(l,a.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:BE(s)}}}case"escaped":{let l=await o.detectOverflow(t,{...r,altBoundary:!0}),s=NE(l,a.floating);return{data:{escapedOffsets:s,escaped:BE(s)}}}default:return{}}}}};var HE=new Set(["left","top"]);async function oF(e,t){let{placement:a,platform:o,elements:n}=e,r=await(o.isRTL==null?void 0:o.isRTL(n.floating)),l=Kt(a),s=Do(a),i=Ma(a)==="y",u=HE.has(l)?-1:1,c=r&&i?-1:1,f=Oo(t,e),{mainAxis:d,crossAxis:m,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return s&&typeof h=="number"&&(m=s==="end"?h*-1:h),i?{x:m*c,y:d*u}:{x:d*u,y:m*c}}var qE=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var a,o;let{x:n,y:r,placement:l,middlewareData:s}=t,i=await oF(t,e);return l===((a=s.offset)==null?void 0:a.placement)&&(o=s.arrow)!=null&&o.alignmentOffset?{}:{x:n+i.x,y:r+i.y,data:{...i,placement:l}}}}},VE=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:a,y:o,placement:n,platform:r}=t,{mainAxis:l=!0,crossAxis:s=!1,limiter:i={fn:g=>{let{x:p,y:x}=g;return{x:p,y:x}}},...u}=Oo(e,t),c={x:a,y:o},f=await r.detectOverflow(t,u),d=Ma(Kt(n)),m=dp(d),h=c[m],y=c[d];if(l){let g=m==="y"?"top":"left",p=m==="y"?"bottom":"right",x=h+f[g],b=h-f[p];h=Gu(x,h,b)}if(s){let g=d==="y"?"top":"left",p=d==="y"?"bottom":"right",x=y+f[g],b=y-f[p];y=Gu(x,y,b)}let S=i.fn({...t,[m]:h,[d]:y});return{...S,data:{x:S.x-a,y:S.y-o,enabled:{[m]:l,[d]:s}}}}}},GE=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:a,y:o,placement:n,rects:r,middlewareData:l}=t,{offset:s=0,mainAxis:i=!0,crossAxis:u=!0}=Oo(e,t),c={x:a,y:o},f=Ma(n),d=dp(f),m=c[d],h=c[f],y=Oo(s,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(i){let x=d==="y"?"height":"width",b=r.reference[d]-r.floating[x]+S.mainAxis,L=r.reference[d]+r.reference[x]-S.mainAxis;m<b?m=b:m>L&&(m=L)}if(u){var g,p;let x=d==="y"?"width":"height",b=HE.has(Kt(n)),L=r.reference[f]-r.floating[x]+(b&&((g=l.offset)==null?void 0:g[f])||0)+(b?0:S.crossAxis),R=r.reference[f]+r.reference[x]+(b?0:((p=l.offset)==null?void 0:p[f])||0)-(b?S.crossAxis:0);h<L?h=L:h>R&&(h=R)}return{[d]:m,[f]:h}}}},YE=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var a,o;let{placement:n,rects:r,platform:l,elements:s}=t,{apply:i=()=>{},...u}=Oo(e,t),c=await l.detectOverflow(t,u),f=Kt(n),d=Do(n),m=Ma(n)==="y",{width:h,height:y}=r.floating,S,g;f==="top"||f==="bottom"?(S=f,g=d===(await(l.isRTL==null?void 0:l.isRTL(s.floating))?"start":"end")?"left":"right"):(g=f,S=d==="end"?"top":"bottom");let p=y-c.top-c.bottom,x=h-c.left-c.right,b=Ar(y-c[S],p),L=Ar(h-c[g],x),R=!t.middlewareData.shift,I=b,v=L;if((a=t.middlewareData.shift)!=null&&a.enabled.x&&(v=x),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(I=p),R&&!d){let w=pa(c.left,0),P=pa(c.right,0),O=pa(c.top,0),B=pa(c.bottom,0);m?v=h-2*(w!==0||P!==0?w+P:pa(c.left,c.right)):I=y-2*(O!==0||B!==0?O+B:pa(c.top,c.bottom))}await i({...t,availableWidth:v,availableHeight:I});let E=await l.getDimensions(s.floating);return h!==E.width||y!==E.height?{reset:{rects:!0}}:{}}}};function WE(e){let t=Mt(e),a=parseFloat(t.width)||0,o=parseFloat(t.height)||0,n=De(e),r=n?e.offsetWidth:a,l=n?e.offsetHeight:o,s=Or(a)!==r||Or(o)!==l;return s&&(a=r,o=l),{width:a,height:o,$:s}}function Qb(e){return Se(e)?e:e.contextElement}function ei(e){let t=Qb(e);if(!De(t))return Ao(1);let a=t.getBoundingClientRect(),{width:o,height:n,$:r}=WE(t),l=(r?Or(a.width):a.width)/o,s=(r?Or(a.height):a.height)/n;return(!l||!Number.isFinite(l))&&(l=1),(!s||!Number.isFinite(s))&&(s=1),{x:l,y:s}}var nF=Ao(0);function ZE(e){let t=Xe(e);return!Yd()||!t.visualViewport?nF:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function rF(e,t,a){return t===void 0&&(t=!1),!a||t&&a!==Xe(e)?!1:t}function _l(e,t,a,o){t===void 0&&(t=!1),a===void 0&&(a=!1);let n=e.getBoundingClientRect(),r=Qb(e),l=Ao(1);t&&(o?Se(o)&&(l=ei(o)):l=ei(e));let s=rF(r,a,o)?ZE(r):Ao(0),i=(n.left+s.x)/l.x,u=(n.top+s.y)/l.y,c=n.width/l.x,f=n.height/l.y;if(r){let d=Xe(r),m=o&&Se(o)?Xe(o):o,h=d,y=Xd(h);for(;y&&o&&m!==h;){let S=ei(y),g=y.getBoundingClientRect(),p=Mt(y),x=g.left+(y.clientLeft+parseFloat(p.paddingLeft))*S.x,b=g.top+(y.clientTop+parseFloat(p.paddingTop))*S.y;i*=S.x,u*=S.y,c*=S.x,f*=S.y,i+=x,u+=b,h=Xe(y),y=Xd(h)}}return Ol({width:c,height:f,x:i,y:u})}function yp(e,t){let a=Ou(e).scrollLeft;return t?t.left+a:_l(ko(e)).left+a}function QE(e,t){let a=e.getBoundingClientRect(),o=a.left+t.scrollLeft-yp(e,a),n=a.top+t.scrollTop;return{x:o,y:n}}function lF(e){let{elements:t,rect:a,offsetParent:o,strategy:n}=e,r=n==="fixed",l=ko(o),s=t?Au(t.floating):!1;if(o===l||s&&r)return a;let i={scrollLeft:0,scrollTop:0},u=Ao(1),c=Ao(0),f=De(o);if((f||!f&&!r)&&((vt(o)!=="body"||$o(l))&&(i=Ou(o)),f)){let m=_l(o);u=ei(o),c.x=m.x+o.clientLeft,c.y=m.y+o.clientTop}let d=l&&!f&&!r?QE(l,i):Ao(0);return{width:a.width*u.x,height:a.height*u.y,x:a.x*u.x-i.scrollLeft*u.x+c.x+d.x,y:a.y*u.y-i.scrollTop*u.y+c.y+d.y}}function sF(e){return Array.from(e.getClientRects())}function iF(e){let t=ko(e),a=Ou(e),o=e.ownerDocument.body,n=pa(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=pa(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight),l=-a.scrollLeft+yp(e),s=-a.scrollTop;return Mt(o).direction==="rtl"&&(l+=pa(t.clientWidth,o.clientWidth)-n),{width:n,height:r,x:l,y:s}}var XE=25;function uF(e,t){let a=Xe(e),o=ko(e),n=a.visualViewport,r=o.clientWidth,l=o.clientHeight,s=0,i=0;if(n){r=n.width,l=n.height;let c=Yd();(!c||c&&t==="fixed")&&(s=n.offsetLeft,i=n.offsetTop)}let u=yp(o);if(u<=0){let c=o.ownerDocument,f=c.body,d=getComputedStyle(f),m=c.compatMode==="CSS1Compat"&&parseFloat(d.marginLeft)+parseFloat(d.marginRight)||0,h=Math.abs(o.clientWidth-f.clientWidth-m);h<=XE&&(r-=h)}else u<=XE&&(r+=u);return{width:r,height:l,x:s,y:i}}function cF(e,t){let a=_l(e,!0,t==="fixed"),o=a.top+e.clientTop,n=a.left+e.clientLeft,r=De(e)?ei(e):Ao(1),l=e.clientWidth*r.x,s=e.clientHeight*r.y,i=n*r.x,u=o*r.y;return{width:l,height:s,x:i,y:u}}function jE(e,t,a){let o;if(t==="viewport")o=uF(e,a);else if(t==="document")o=iF(ko(e));else if(Se(t))o=cF(t,a);else{let n=ZE(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ol(o)}function $E(e,t){let a=Ya(e);return a===t||!Se(a)||Xa(a)?!1:Mt(a).position==="fixed"||$E(a,t)}function fF(e,t){let a=t.get(e);if(a)return a;let o=Ir(e,[],!1).filter(s=>Se(s)&&vt(s)!=="body"),n=null,r=Mt(e).position==="fixed",l=r?Ya(e):e;for(;Se(l)&&!Xa(l);){let s=Mt(l),i=Gd(l);!i&&s.position==="fixed"&&(n=null),(r?!i&&!n:!i&&s.position==="static"&&!!n&&(n.position==="absolute"||n.position==="fixed")||$o(l)&&!i&&$E(e,l))?o=o.filter(c=>c!==l):n=s,l=Ya(l)}return t.set(e,o),o}function dF(e){let{element:t,boundary:a,rootBoundary:o,strategy:n}=e,l=[...a==="clippingAncestors"?Au(t)?[]:fF(t,this._c):[].concat(a),o],s=jE(t,l[0],n),i=s.top,u=s.right,c=s.bottom,f=s.left;for(let d=1;d<l.length;d++){let m=jE(t,l[d],n);i=pa(m.top,i),u=Ar(m.right,u),c=Ar(m.bottom,c),f=pa(m.left,f)}return{width:u-f,height:c-i,x:f,y:i}}function pF(e){let{width:t,height:a}=WE(e);return{width:t,height:a}}function mF(e,t,a){let o=De(t),n=ko(t),r=a==="fixed",l=_l(e,!0,r,t),s={scrollLeft:0,scrollTop:0},i=Ao(0);function u(){i.x=yp(n)}if(o||!o&&!r)if((vt(t)!=="body"||$o(n))&&(s=Ou(t)),o){let m=_l(t,!0,r,t);i.x=m.x+t.clientLeft,i.y=m.y+t.clientTop}else n&&u();r&&!o&&n&&u();let c=n&&!o&&!r?QE(n,s):Ao(0),f=l.left+s.scrollLeft-i.x-c.x,d=l.top+s.scrollTop-i.y-c.y;return{x:f,y:d,width:l.width,height:l.height}}function Zb(e){return Mt(e).position==="static"}function KE(e,t){if(!De(e)||Mt(e).position==="fixed")return null;if(t)return t(e);let a=e.offsetParent;return ko(e)===a&&(a=a.ownerDocument.body),a}function JE(e,t){let a=Xe(e);if(Au(e))return a;if(!De(e)){let n=Ya(e);for(;n&&!Xa(n);){if(Se(n)&&!Zb(n))return n;n=Ya(n)}return a}let o=KE(e,t);for(;o&&bw(o)&&Zb(o);)o=KE(o,t);return o&&Xa(o)&&Zb(o)&&!Gd(o)?a:o||yw(e)||a}var gF=async function(e){let t=this.getOffsetParent||JE,a=this.getDimensions,o=await a(e.floating);return{reference:mF(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function hF(e){return Mt(e).direction==="rtl"}var $b={convertOffsetParentRelativeRectToViewportRelativeRect:lF,getDocumentElement:ko,getClippingRect:dF,getOffsetParent:JE,getElementRects:gF,getClientRects:sF,getDimensions:pF,getScale:ei,isElement:Se,isRTL:hF};function eT(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xF(e,t){let a=null,o,n=ko(e);function r(){var s;clearTimeout(o),(s=a)==null||s.disconnect(),a=null}function l(s,i){s===void 0&&(s=!1),i===void 0&&(i=1),r();let u=e.getBoundingClientRect(),{left:c,top:f,width:d,height:m}=u;if(s||t(),!d||!m)return;let h=Vu(f),y=Vu(n.clientWidth-(c+d)),S=Vu(n.clientHeight-(f+m)),g=Vu(c),x={rootMargin:-h+"px "+-y+"px "+-S+"px "+-g+"px",threshold:pa(0,Ar(1,i))||1},b=!0;function L(R){let I=R[0].intersectionRatio;if(I!==i){if(!b)return l();I?l(!1,I):o=setTimeout(()=>{l(!1,1e-7)},1e3)}I===1&&!eT(u,e.getBoundingClientRect())&&l(),b=!1}try{a=new IntersectionObserver(L,{...x,root:n.ownerDocument})}catch{a=new IntersectionObserver(L,x)}a.observe(e)}return l(!0),r}function ec(e,t,a,o){o===void 0&&(o={});let{ancestorScroll:n=!0,ancestorResize:r=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:i=!1}=o,u=Qb(e),c=n||r?[...u?Ir(u):[],...t?Ir(t):[]]:[];c.forEach(g=>{n&&g.addEventListener("scroll",a,{passive:!0}),r&&g.addEventListener("resize",a)});let f=u&&s?xF(u,a):null,d=-1,m=null;l&&(m=new ResizeObserver(g=>{let[p]=g;p&&p.target===u&&m&&t&&(m.unobserve(t),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var x;(x=m)==null||x.observe(t)})),a()}),u&&!i&&m.observe(u),t&&m.observe(t));let h,y=i?_l(e):null;i&&S();function S(){let g=_l(e);y&&!eT(y,g)&&a(),y=g,h=requestAnimationFrame(S)}return a(),()=>{var g;c.forEach(p=>{n&&p.removeEventListener("scroll",a),r&&p.removeEventListener("resize",a)}),f?.(),(g=m)==null||g.disconnect(),m=null,i&&cancelAnimationFrame(h)}}var tT=qE;var aT=VE,oT=zE,nT=YE,rT=UE;var lT=GE,Sp=(e,t,a)=>{let o=new Map,n={platform:$b,...a},r={...n.platform,_c:o};return _E(e,t,{...n,platform:r})};var At=C(k(),1),iT=C(k(),1),uT=C(fn(),1),yF=typeof document<"u",SF=function(){},Cp=yF?iT.useLayoutEffect:SF;function Rp(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let a,o,n;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(a=e.length,a!==t.length)return!1;for(o=a;o--!==0;)if(!Rp(e[o],t[o]))return!1;return!0}if(n=Object.keys(e),a=n.length,a!==Object.keys(t).length)return!1;for(o=a;o--!==0;)if(!{}.hasOwnProperty.call(t,n[o]))return!1;for(o=a;o--!==0;){let r=n[o];if(!(r==="_owner"&&e.$$typeof)&&!Rp(e[r],t[r]))return!1}return!0}return e!==e&&t!==t}function cT(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function sT(e,t){let a=cT(e);return Math.round(t*a)/a}function Jb(e){let t=At.useRef(e);return Cp(()=>{t.current=e}),t}function fT(e){e===void 0&&(e={});let{placement:t="bottom",strategy:a="absolute",middleware:o=[],platform:n,elements:{reference:r,floating:l}={},transform:s=!0,whileElementsMounted:i,open:u}=e,[c,f]=At.useState({x:0,y:0,strategy:a,placement:t,middlewareData:{},isPositioned:!1}),[d,m]=At.useState(o);Rp(d,o)||m(o);let[h,y]=At.useState(null),[S,g]=At.useState(null),p=At.useCallback(T=>{T!==R.current&&(R.current=T,y(T))},[]),x=At.useCallback(T=>{T!==I.current&&(I.current=T,g(T))},[]),b=r||h,L=l||S,R=At.useRef(null),I=At.useRef(null),v=At.useRef(c),E=i!=null,w=Jb(i),P=Jb(n),O=Jb(u),B=At.useCallback(()=>{if(!R.current||!I.current)return;let T={placement:t,strategy:a,middleware:d};P.current&&(T.platform=P.current),Sp(R.current,I.current,T).then(N=>{let A={...N,isPositioned:O.current!==!1};D.current&&!Rp(v.current,A)&&(v.current=A,uT.flushSync(()=>{f(A)}))})},[d,t,a,P,O]);Cp(()=>{u===!1&&v.current.isPositioned&&(v.current.isPositioned=!1,f(T=>({...T,isPositioned:!1})))},[u]);let D=At.useRef(!1);Cp(()=>(D.current=!0,()=>{D.current=!1}),[]),Cp(()=>{if(b&&(R.current=b),L&&(I.current=L),b&&L){if(w.current)return w.current(b,L,B);B()}},[b,L,B,w,E]);let M=At.useMemo(()=>({reference:R,floating:I,setReference:p,setFloating:x}),[p,x]),z=At.useMemo(()=>({reference:b,floating:L}),[b,L]),H=At.useMemo(()=>{let T={position:a,left:0,top:0};if(!z.floating)return T;let N=sT(z.floating,c.x),A=sT(z.floating,c.y);return s?{...T,transform:"translate("+N+"px, "+A+"px)",...cT(z.floating)>=1.5&&{willChange:"transform"}}:{position:a,left:N,top:A}},[a,s,z.floating,c.x,c.y]);return At.useMemo(()=>({...c,update:B,refs:M,elements:z,floatingStyles:H}),[c,B,M,z,H])}var ey=(e,t)=>{let a=tT(e);return{name:a.name,fn:a.fn,options:[e,t]}},ty=(e,t)=>{let a=aT(e);return{name:a.name,fn:a.fn,options:[e,t]}},ay=(e,t)=>({fn:lT(e).fn,options:[e,t]}),oy=(e,t)=>{let a=oT(e);return{name:a.name,fn:a.fn,options:[e,t]}},ny=(e,t)=>{let a=nT(e);return{name:a.name,fn:a.fn,options:[e,t]}};var ry=(e,t)=>{let a=rT(e);return{name:a.name,fn:a.fn,options:[e,t]}};var ai=C(k(),1),YF=C(fn(),1);var dT=C(k(),1);function vp(e){let t=dT.useRef(!0);t.current&&(t.current=!1,e())}var wT=C(k(),1);var pe=(e,t,a,o,n,r,...l)=>{if(l.length>0)throw new Error(Re(1));let s;if(e&&t&&a&&o&&n&&r)s=(i,u,c,f)=>{let d=e(i,u,c,f),m=t(i,u,c,f),h=a(i,u,c,f),y=o(i,u,c,f),S=n(i,u,c,f);return r(d,m,h,y,S,u,c,f)};else if(e&&t&&a&&o&&n)s=(i,u,c,f)=>{let d=e(i,u,c,f),m=t(i,u,c,f),h=a(i,u,c,f),y=o(i,u,c,f);return n(d,m,h,y,u,c,f)};else if(e&&t&&a&&o)s=(i,u,c,f)=>{let d=e(i,u,c,f),m=t(i,u,c,f),h=a(i,u,c,f);return o(d,m,h,u,c,f)};else if(e&&t&&a)s=(i,u,c,f)=>{let d=e(i,u,c,f),m=t(i,u,c,f);return a(d,m,u,c,f)};else if(e&&t)s=(i,u,c,f)=>{let d=e(i,u,c,f);return t(d,u,c,f)};else if(e)s=e;else throw new Error("Missing arguments");return s};var LT=C(k(),1),fy=C(sy(),1),IT=C(yT(),1);var ST=C(k(),1);var iy=[],uy;function CT(){return uy}function RT(e){iy.push(e)}function cy(e){let t=(a,o)=>{let n=ut(_F).current,r;try{uy=n;for(let l of iy)l.before(n);r=e(a,o);for(let l of iy)l.after(n);n.didInitialize=!0}finally{uy=void 0}return r};return t.displayName=e.displayName||e.name,t}function vT(e){return ST.forwardRef(cy(e))}function _F(){return{didInitialize:!1}}var zF=Us(19),UF=zF?qF:VF;function Ip(e,t,a,o,n){return UF(e,t,a,o,n)}function HF(e,t,a,o,n){let r=LT.useCallback(()=>t(e.getSnapshot(),a,o,n),[e,t,a,o,n]);return(0,fy.useSyncExternalStore)(e.subscribe,r,r)}RT({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let a=0;a<e.syncHooks.length;a+=1){let o=e.syncHooks[a],n=o.selector(o.store.state,o.a1,o.a2,o.a3);Object.is(o.value,n)||(t=!0,o.value=n)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let a=new Set;for(let n of e.syncHooks)a.add(n.store);let o=[];for(let n of a)o.push(n.subscribe(t));return()=>{for(let n of o)n()}}),(0,fy.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function qF(e,t,a,o,n){let r=CT();if(!r)return HF(e,t,a,o,n);let l=r.syncIndex;r.syncIndex+=1;let s;return r.didInitialize?(s=r.syncHooks[l],(s.store!==e||s.selector!==t||!Object.is(s.a1,a)||!Object.is(s.a2,o)||!Object.is(s.a3,n))&&(s.store!==e&&(r.didChangeStore=!0),s.store=e,s.selector=t,s.a1=a,s.a2=o,s.a3=n,s.value=t(e.getSnapshot(),a,o,n))):(s={store:e,selector:t,a1:a,a2:o,a3:n,value:t(e.getSnapshot(),a,o,n)},r.syncHooks.push(s)),s.value}function VF(e,t,a,o,n){return(0,IT.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,r=>t(r,a,o,n))}var wp=class{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;let a=this.updateTick;for(let o of this.listeners){if(a!==this.updateTick)return;o(t)}}update(t){for(let a in t)if(!Object.is(this.state[a],t[a])){this.setState({...this.state,...t});return}}set(t,a){Object.is(this.state[t],a)||this.setState({...this.state,[t]:a})}notifyAll(){let t={...this.state};this.setState(t)}use(t,a,o,n){return Ip(this,t,a,o,n)}};var zl=C(k(),1);var Fr=class extends wp{constructor(t,a={},o){super(t),this.context=a,this.selectors=o}useSyncedValue(t,a){zl.useDebugValue(t);let o=this;q(()=>{o.state[t]!==a&&o.set(t,a)},[o,t,a])}useSyncedValueWithCleanup(t,a){let o=this;q(()=>(o.state[t]!==a&&o.set(t,a),()=>{o.set(t,void 0)}),[o,t,a])}useSyncedValues(t){let a=this,o=Object.values(t);q(()=>{a.update(t)},[a,...o])}useControlledProp(t,a){zl.useDebugValue(t);let o=this,n=a!==void 0;q(()=>{n&&!Object.is(o.state[t],a)&&o.setState({...o.state,[t]:a})},[o,t,a,n])}select(t,a,o,n){let r=this.selectors[t];return r(this.state,a,o,n)}useState(t,a,o,n){return zl.useDebugValue(t),Ip(this,this.selectors[t],a,o,n)}useContextCallback(t,a){zl.useDebugValue(t);let o=W(a??Ve);this.context[t]=o}useStateSetter(t){let a=zl.useRef(void 0);return a.current===void 0&&(a.current=o=>{this.set(t,o)}),a.current}observe(t,a){let o;typeof t=="function"?o=t:o=this.selectors[t];let n=o(this.state);return a(n,n,this),this.subscribe(r=>{let l=o(r);if(!Object.is(n,l)){let s=n;n=l,a(l,s,this)}})}};var GF={open:pe(e=>e.open),transitionStatus:pe(e=>e.transitionStatus),domReferenceElement:pe(e=>e.domReferenceElement),referenceElement:pe(e=>e.positionReference??e.referenceElement),floatingElement:pe(e=>e.floatingElement),floatingId:pe(e=>e.floatingId)},en=class extends Fr{constructor(t){let{syncOnly:a,nested:o,onOpenChange:n,triggerElements:r,...l}=t;super({...l,positionReference:l.referenceElement,domReferenceElement:l.referenceElement},{onOpenChange:n,dataRef:{current:{}},events:bp(),nested:o,triggerElements:r},GF),this.syncOnly=a}syncOpenEvent=(t,a)=>{(!t||!this.state.open||a!=null&&jw(a))&&(this.context.dataRef.current.openEvent=t?a:void 0)};dispatchOpenChange=(t,a)=>{this.syncOpenEvent(t,a.event);let o={open:t,reason:a.reason,nativeEvent:a.event,nested:this.context.nested,triggerElement:a.trigger};this.context.events.emit("openchange",o)};setOpen=(t,a)=>{if(this.syncOnly){this.context.onOpenChange?.(t,a);return}this.dispatchOpenChange(t,a),this.context.onOpenChange?.(t,a)}};function tc(e){let{popupStore:t,treatPopupAsFloatingElement:a=!1,floatingRootContext:o,floatingId:n,nested:r,onOpenChange:l}=e,s=t.useState("open"),i=t.useState("activeTriggerElement"),u=t.useState(a?"popupElement":"positionerElement"),c=t.context.triggerElements,f=l,d=wT.useRef(null);o===void 0&&d.current===null&&(d.current=new en({open:s,transitionStatus:void 0,referenceElement:i,floatingElement:u,triggerElements:c,onOpenChange:f,floatingId:n,syncOnly:!0,nested:r}));let m=o??d.current;return t.useSyncedValue("floatingId",n),q(()=>{let h={open:s,floatingId:n,referenceElement:i,floatingElement:u};Se(i)&&(h.domReferenceElement=i),m.state.positionReference===m.state.referenceElement&&(h.positionReference=i),m.update(h)},[s,n,i,u,m]),m.context.onOpenChange=f,m.context.nested=r,m}var Ep={tabIndex:-1,[Bu]:""};function ET(e){return t=>t==="touch"?e.current:!0}function TT(e,t,a=!1){let o=ja(),n=ma()!=null,r=ai.useRef(null);e===void 0&&r.current===null&&(r.current=t(o,n));let l=e??r.current;return tc({popupStore:l,treatPopupAsFloatingElement:a,floatingRootContext:l.state.floatingRootContext,floatingId:o,nested:n,onOpenChange:l.setOpen}),{store:l,internalStore:r.current}}function dy(e,t){let a=ai.useRef(null),o=ai.useRef(null);return ai.useCallback(n=>{if(e===void 0)return;let r=!1;if(a.current!==null){let l=a.current,s=o.current,i=t.context.triggerElements.getById(l);s&&i===s&&(t.context.triggerElements.delete(l),r=!0),a.current=null,o.current=null}if(n!==null&&(a.current=e,o.current=n,t.context.triggerElements.add(e,n),r=!0),r){let l=t.context.triggerElements.size;t.select("open")&&t.state.triggerCount!==l&&t.set("triggerCount",l)}},[t,e])}function Tp(e,t,a,o=!1){t?e.preventUnmountingOnClose=!1:o&&(e.preventUnmountingOnClose=!0);let n=a?.id??null;(n||t)&&(e.activeTriggerId=n,e.activeTriggerElement=a??null)}function kT(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function MT(e,t,a,o){vp(()=>{t===void 0&&e.state.open===!1&&a&&(e.state={...e.state,open:!0,activeTriggerId:o,preventUnmountingOnClose:!1})})}function kp(e,t,a,o){let n=a.useState("isMountedByTrigger",e),r=dy(e,a),l=W(s=>{if(r(s),!s)return;let i=a.select("open"),u=a.select("activeTriggerId");if(u===e){a.update({activeTriggerElement:s,...i?o:null});return}u==null&&i&&a.update({activeTriggerId:e,activeTriggerElement:s,...o})});return q(()=>{n&&a.update({activeTriggerElement:t.current,...o})},[n,a,t,...Object.values(o)]),{registerTrigger:l,isMountedByThisTrigger:n}}function Mp(e,t={}){let{closeOnActiveTriggerUnmount:a=!1}=t,o=e.useState("open"),n=e.useState("triggerCount");q(()=>{if(!o){e.state.triggerCount!==0&&e.set("triggerCount",0);return}let r=e.context.triggerElements.size,l={};e.state.triggerCount!==r&&(l.triggerCount=r);let s=e.select("activeTriggerId"),i=null;if(s){let u=e.context.triggerElements.getById(s);u?u!==e.state.activeTriggerElement&&(l.activeTriggerElement=u):i=s}if(!i&&!s&&r===1){let u=e.context.triggerElements.entries().next();if(!u.done){let[c,f]=u.value;l.activeTriggerId=c,l.activeTriggerElement=f}}(l.triggerCount!==void 0||l.activeTriggerId!==void 0||l.activeTriggerElement!==void 0)&&e.update(l),i&&a&&queueMicrotask(()=>{if(e.select("open")&&e.select("activeTriggerId")===i&&!e.context.triggerElements.getById(i)){let u=ue(j.none);e.setOpen(!1,u),u.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[o,e,n,a])}function Ap(e,t,a){let{mounted:o,setMounted:n,transitionStatus:r}=Ws(e),l=t.useState("preventUnmountingOnClose"),s=e?!1:l;t.useSyncedValues({mounted:o,transitionStatus:r,preventUnmountingOnClose:s});let i=W(()=>{n(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),a?.(),t.context.onOpenChangeComplete?.(!1)});return Jo({enabled:o&&!e&&!s,open:e,ref:t.context.popupRef,onComplete(){e||i()}}),{forceUnmount:i,transitionStatus:r}}function Op(e,t){e.useSyncedValues(t),q(()=>()=>{e.update({activeTriggerProps:ve,inactiveTriggerProps:ve,popupProps:ve})},[e])}function AT(e,t){q(()=>{!t&&e.state.openMethod!==null&&e.set("openMethod",null)},[t,e]),q(()=>()=>{e.state.openMethod!==null&&e.set("openMethod",null)},[e])}var tn=class{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(t,a){let o=this.idMap.get(t);o!==a&&(o!==void 0&&this.elementsSet.delete(o),this.elementsSet.add(a),this.idMap.set(t,a))}delete(t){let a=this.idMap.get(t);a&&(this.elementsSet.delete(a),this.idMap.delete(t))}hasElement(t){return this.elementsSet.has(t)}hasMatchingElement(t){for(let a of this.elementsSet)if(t(a))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function OT(){return new en({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new tn,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function Dp(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:OT(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:ve,inactiveTriggerProps:ve,popupProps:ve}}function PT(e,t,a=!1){return new en({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:a,onOpenChange:void 0})}var ac=pe(e=>e.triggerIdProp??e.activeTriggerId),py=pe(e=>e.openProp??e.open),DT=pe(e=>(e.popupElement?.id??e.floatingId)||void 0);function NT(e,t){return t!==void 0&&py(e)&&ac(e)===t}function XF(e,t){return NT(e,t)?!0:t!==void 0&&py(e)&&ac(e)==null&&e.triggerCount===1}var Pp={open:py,mounted:pe(e=>e.mounted),transitionStatus:pe(e=>e.transitionStatus),floatingRootContext:pe(e=>e.floatingRootContext),triggerCount:pe(e=>e.triggerCount),preventUnmountingOnClose:pe(e=>e.preventUnmountingOnClose),payload:pe(e=>e.payload),activeTriggerId:ac,activeTriggerElement:pe(e=>e.mounted?e.activeTriggerElement:null),popupId:DT,isTriggerActive:pe((e,t)=>t!==void 0&&ac(e)===t),isOpenedByTrigger:pe((e,t)=>NT(e,t)),isMountedByTrigger:pe((e,t)=>t!==void 0&&ac(e)===t&&e.mounted),triggerProps:pe((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:pe((e,t)=>XF(e,t)?DT(e):void 0),popupProps:pe(e=>e.popupProps),popupElement:pe(e=>e.popupElement),positionerElement:pe(e=>e.positionerElement)};function BT(e){let{open:t=!1,onOpenChange:a,elements:o={}}=e,n=ja(),r=ma()!=null,l=ut(()=>new en({open:t,transitionStatus:void 0,onOpenChange:a,referenceElement:o.reference??null,floatingElement:o.floating??null,triggerElements:new tn,floatingId:n,syncOnly:!1,nested:r})).current;return q(()=>{let s={open:t,floatingId:n};o.reference!==void 0&&(s.referenceElement=o.reference,s.domReferenceElement=Se(o.reference)?o.reference:null),o.floating!==void 0&&(s.floatingElement=o.floating),l.update(s)},[t,n,o.reference,o.floating,l]),l.context.onOpenChange=a,l.context.nested=r,l}function my(e={}){let{nodeId:t,externalTree:a}=e,o=BT(e),n=e.rootContext||o,r=n.useState("referenceElement"),l=n.useState("floatingElement"),s=n.useState("domReferenceElement"),i=n.useState("open"),u=n.useState("floatingId"),[c,f]=oa.useState(null),[d,m]=oa.useState(void 0),[h,y]=oa.useState(void 0),S=oa.useRef(null),g=ta(a),p=oa.useMemo(()=>({reference:r,floating:l,domReference:s}),[r,l,s]),x=fT({...e,elements:{...p,...c&&{reference:c}}}),b=Se(d)?d:null,L=h===void 0?n.state.floatingElement:h;n.useSyncedValue("referenceElement",d??null),n.useSyncedValue("domReferenceElement",d===void 0?s:b),n.useSyncedValue("floatingElement",L);let R=oa.useCallback(O=>{let B=Se(O)?{getBoundingClientRect:()=>O.getBoundingClientRect(),getClientRects:()=>O.getClientRects(),contextElement:O}:O;f(B),x.refs.setReference(B)},[x.refs]),I=oa.useCallback(O=>{(Se(O)||O===null)&&(S.current=O,m(O)),(Se(x.refs.reference.current)||x.refs.reference.current===null||O!==null&&!Se(O))&&x.refs.setReference(O)},[x.refs,m]),v=oa.useCallback(O=>{y(O),x.refs.setFloating(O)},[x.refs]),E=oa.useMemo(()=>({...x.refs,setReference:I,setFloating:v,setPositionReference:R,domReference:S}),[x.refs,I,v,R]),w=oa.useMemo(()=>({...x.elements,domReference:s}),[x.elements,s]),P=oa.useMemo(()=>({...x,dataRef:n.context.dataRef,open:i,onOpenChange:n.setOpen,events:n.context.events,floatingId:u,refs:E,elements:w,nodeId:t,rootStore:n}),[x,E,w,t,n,i,u]);return q(()=>{s&&(S.current=s)},[s]),q(()=>{n.context.dataRef.current.floatingContext=P;let O=g?.nodesRef.current.find(B=>B.id===t);O&&(O.context=P)}),oa.useMemo(()=>({...x,context:P,refs:E,elements:w,rootStore:n}),[x,E,w,P,n])}var an=C(k(),1);var gy=at.os.mac&&at.engine.webkit;function hy(e,t={}){let{enabled:a=!0,delay:o}=t,n="rootStore"in e?e.rootStore:e,{events:r,dataRef:l}=n.context,s=an.useRef(!1),i=an.useRef(null),u=an.useRef(!0),c=St();an.useEffect(()=>{let d=n.select("domReferenceElement");if(!a)return;let m=Xe(d);function h(){let g=n.select("domReferenceElement");!n.select("open")&&De(g)&&g===Bt(xe(g))&&(s.current=!0)}function y(){u.current=!0}function S(){u.current=!1}return ea(we(m,"blur",h),gy&&we(m,"keydown",y,!0),gy&&we(m,"pointerdown",S,!0))},[n,a]),an.useEffect(()=>{if(!a)return;function d(m){if(m.reason===j.triggerPress||m.reason===j.escapeKey){let h=n.select("domReferenceElement");Se(h)&&(i.current=h,s.current=!0)}}return r.on("openchange",d),()=>{r.off("openchange",d)}},[r,a,n]);let f=an.useMemo(()=>{function d(){s.current=!1,i.current=null}return{onMouseLeave(){d()},onFocus(m){let h=m.currentTarget;if(s.current){if(i.current===h)return;d()}let y=st(m.nativeEvent);if(Se(y)){if(gy&&!m.relatedTarget){if(!u.current&&!Al(y))return}else if(!Ww(y))return}let S=Mr(m.relatedTarget,n.context.triggerElements),{nativeEvent:g,currentTarget:p}=m,x=typeof o=="function"?o():o;if(n.select("open")&&S||x===0||x===void 0){n.setOpen(!0,ue(j.triggerFocus,g,p));return}c.start(x,()=>{s.current||n.setOpen(!0,ue(j.triggerFocus,g,p))})},onBlur(m){d();let h=m.relatedTarget,y=m.nativeEvent,S=Se(h)&&h.hasAttribute(zn("focus-guard"))&&h.getAttribute("data-type")==="outside";c.start(0,()=>{let g=n.select("domReferenceElement"),p=Bt(xe(g));!h&&p===g||ie(l.current.floatingContext?.refs.floating.current,p)||ie(g,p)||S||Mr(h??p,n.context.triggerElements)||n.setOpen(!1,ue(j.triggerFocus,y))})}}},[l,o,n,c]);return an.useMemo(()=>a?{reference:f,trigger:f}:{},[a,f])}var by=C(k(),1);var xy=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Ta,this.restTimeout=new Ta,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},Np=new WeakMap;function oi(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&Np.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),Np.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function Bp(e,t){let{scopeElement:a,referenceElement:o,floatingElement:n}=t,r=Np.get(a);r&&r!==e&&oi(r),oi(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=a,e.pointerEventsReferenceElement=o,e.pointerEventsFloatingElement=n,Np.set(a,e),a.style.pointerEvents="none",o.style.pointerEvents="auto",n.style.pointerEvents="auto"}function Fp(e){let t=e.context.dataRef.current,a=ut(()=>t.hoverInteractionState??xy.create()).current;return t.hoverInteractionState||(t.hoverInteractionState=a),Ks(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function yy(e,t={}){let{enabled:a=!0,closeDelay:o=0,nodeId:n}=t,r="rootStore"in e?e.rootStore:e,l=r.useState("open"),s=r.useState("floatingElement"),i=r.useState("domReferenceElement"),{dataRef:u}=r.context,c=ta(),f=ma(),d=Fp(r),m=St(),h=W(()=>ip(u.current.openEvent?.type,d.interactedInside)),y=W(()=>Zw(u.current.openEvent?.type)),S=W(()=>{oi(d)});q(()=>{l||(d.pointerType=void 0,d.restTimeoutPending=!1,d.interactedInside=!1,S())},[l,d,S]),by.useEffect(()=>S,[S]),q(()=>{if(a&&l&&d.handleCloseOptions?.blockPointerEvents&&y()&&Se(i)&&s){let g=i,p=s,x=xe(s),b=c?.nodesRef.current.find(v=>v.id===f)?.context?.elements.floating;b&&(b.style.pointerEvents="");let L=d.pointerEventsScopeElement!==p?d.pointerEventsScopeElement:null,R=b!==p?b:null,I=d.handleCloseOptions?.getScope?.()??L??R??g.closest("[data-rootownerid]")??x.body;return Bp(d,{scopeElement:I,referenceElement:g,floatingElement:p}),()=>{S()}}},[a,l,i,s,d,y,c,f,S]),by.useEffect(()=>{if(!a)return;function g(){return!!(c&&f&&xo(c.nodesRef.current,f).length>0)}function p(v){let E=Hu(o,"close",d.pointerType),w=()=>{r.setOpen(!1,ue(j.triggerHover,v)),c?.events.emit("floating.closed",v)};E?d.openChangeTimeout.start(E,w):(d.openChangeTimeout.clear(),w())}function x(v){let E=st(v);if(!Db(E)){d.interactedInside=!1;return}d.interactedInside=E?.closest("[aria-haspopup]")!=null}function b(){d.openChangeTimeout.clear(),m.clear(),c?.events.off("floating.closed",R),S()}function L(v){if(g()&&c){c.events.on("floating.closed",R);return}if(Mr(v.relatedTarget,r.context.triggerElements))return;let E=u.current.floatingContext?.nodeId??n,w=v.relatedTarget;if(!(c&&E&&Se(w)&&xo(c.nodesRef.current,E,!1).some(O=>ie(O.context?.elements.floating,w)))){if(d.handler){d.handler(v);return}S(),y()&&!h()&&p(v)}}function R(v){!c||!f||g()||m.start(0,()=>{c.events.off("floating.closed",R),r.setOpen(!1,ue(j.triggerHover,v)),c.events.emit("floating.closed",v)})}let I=s;return ea(I&&we(I,"mouseenter",b),I&&we(I,"mouseleave",L),I&&we(I,"pointerdown",x,!0),()=>{c?.events.off("floating.closed",R)})},[a,s,r,u,o,n,y,h,S,d,c,f,m])}var _r=C(k(),1),FT=C(fn(),1);var jF={current:null};function oc(e,t={}){let{enabled:a=!0,delay:o=0,handleClose:n=null,mouseOnly:r=!1,restMs:l=0,move:s=!0,triggerElementRef:i=jF,externalTree:u,isActiveTrigger:c=!0,getHandleCloseContext:f,isClosing:d,shouldOpen:m}=t,h="rootStore"in e?e.rootStore:e,{dataRef:y,events:S}=h.context,g=ta(u),p=Fp(h),x=_r.useRef(!1),b=ht(n),L=ht(o),R=ht(l),I=ht(a),v=ht(m),E=ht(d),w=W(()=>ip(y.current.openEvent?.type,p.interactedInside)),P=W(()=>v.current?.()!==!1),O=W((M,z,H)=>{let T=h.context.triggerElements;if(T.hasElement(z))return!M||!ie(M,z);if(!Se(H))return!1;let N=H;return T.hasMatchingElement(A=>ie(A,N))&&(!M||!ie(M,N))}),B=W(()=>{if(!p.handler)return;xe(h.select("domReferenceElement")).removeEventListener("mousemove",p.handler),p.handler=void 0}),D=W(()=>{oi(p)});return c&&(p.handleCloseOptions=b.current?.__options),_r.useEffect(()=>B,[B]),_r.useEffect(()=>{if(!a)return;function M(z){z.open?x.current=!1:(x.current=z.reason===j.triggerHover,B(),p.openChangeTimeout.clear(),p.restTimeout.clear(),p.blockMouseMove=!0,p.restTimeoutPending=!1)}return S.on("openchange",M),()=>{S.off("openchange",M)}},[a,S,p,B]),_r.useEffect(()=>{if(!a)return;function M(N,A=!0){let K=Hu(L.current,"close",p.pointerType);K?p.openChangeTimeout.start(K,()=>{h.setOpen(!1,ue(j.triggerHover,N)),g?.events.emit("floating.closed",N)}):A&&(p.openChangeTimeout.clear(),h.setOpen(!1,ue(j.triggerHover,N)),g?.events.emit("floating.closed",N))}let z=i.current??(c?h.select("domReferenceElement"):null);if(!Se(z))return;function H(N){if(p.openChangeTimeout.clear(),p.blockMouseMove=!1,r&&!kr(p.pointerType))return;let A=Pb(R.current),K=Hu(L.current,"open",p.pointerType),J=st(N),fe=N.currentTarget??null,re=h.select("domReferenceElement"),X=fe;if(Se(J)&&!h.context.triggerElements.hasElement(J)){for(let ce of h.context.triggerElements.elements())if(ie(ce,J)){X=ce;break}}Se(fe)&&Se(re)&&!h.context.triggerElements.hasElement(fe)&&ie(fe,re)&&(X=re);let Z=X==null?!1:O(re,X,J),me=h.select("open"),Q=E.current?.()??h.select("transitionStatus")==="ending",ee=!me&&Q&&x.current,Ie=!Z&&Se(X)&&Se(re)&&ie(re,X)&&ee,Te=A>0&&!K,te=Z&&(me||ee)||Ie,he=!me||Z;if(te){P()&&h.setOpen(!0,ue(j.triggerHover,N,X));return}Te||(K?p.openChangeTimeout.start(K,()=>{he&&P()&&h.setOpen(!0,ue(j.triggerHover,N,X))}):he&&P()&&h.setOpen(!0,ue(j.triggerHover,N,X)))}function T(N){if(w()){D();return}B();let A=h.select("domReferenceElement"),K=xe(A);p.restTimeout.clear(),p.restTimeoutPending=!1;let J=y.current.floatingContext??f?.();if(Mr(N.relatedTarget,h.context.triggerElements))return;if(b.current&&J){h.select("open")||p.openChangeTimeout.clear();let re=i.current;p.handler=b.current({...J,tree:g,x:N.clientX,y:N.clientY,onClose(){D(),B(),I.current&&!w()&&re===h.select("domReferenceElement")&&M(N,!0)}}),K.addEventListener("mousemove",p.handler),p.handler(N);return}(p.pointerType!=="touch"||!ie(h.select("floatingElement"),N.relatedTarget))&&M(N)}return s?ea(we(z,"mousemove",H,{once:!0}),we(z,"mouseenter",H),we(z,"mouseleave",T)):ea(we(z,"mouseenter",H),we(z,"mouseleave",T))},[B,D,y,L,h,a,b,p,c,O,w,r,s,R,i,g,I,f,E,P]),_r.useMemo(()=>{if(!a)return;function M(z){p.pointerType=z.pointerType}return{onPointerDown:M,onPointerEnter:M,onMouseMove(z){let{nativeEvent:H}=z,T=z.currentTarget,N=h.select("domReferenceElement"),A=h.select("open"),K=O(N,T,z.target);if(r&&!kr(p.pointerType))return;if(A&&K&&p.handleCloseOptions?.blockPointerEvents){let re=h.select("floatingElement");if(re){let X=p.handleCloseOptions?.getScope?.()??T.ownerDocument.body;Bp(p,{scopeElement:X,referenceElement:T,floatingElement:re})}}let J=Pb(R.current);if(A&&!K||J===0||!K&&p.restTimeoutPending&&z.movementX**2+z.movementY**2<2)return;p.restTimeout.clear();function fe(){if(p.restTimeoutPending=!1,w())return;let re=h.select("open");!p.blockMouseMove&&(!re||K)&&P()&&h.setOpen(!0,ue(j.triggerHover,H,T))}p.pointerType==="touch"?FT.flushSync(()=>{fe()}):K&&A?fe():(p.restTimeoutPending=!0,p.restTimeout.start(J,fe))}}},[a,p,w,O,r,h,R,P])}var Wt=C(k(),1);var KF="Escape";function zp(e,t,a){switch(e){case"vertical":return t;case"horizontal":return a;default:return t||a}}function _p(e,t){return zp(t,e===Ob||e===lp,e===Fu||e===_u)}function Sy(e,t,a){return zp(t,e===lp,a?e===Fu:e===_u)||e==="Enter"||e===" "||e===""}function WF(e,t,a){return zp(t,a?e===Fu:e===_u,e===lp)}function ZF(e,t,a,o){let n=a?e===_u:e===Fu,r=e===Ob;return t==="both"||t==="horizontal"&&o?e===KF:zp(t,n,r)}function Cy(e,t){let{listRef:a,activeIndex:o,onNavigate:n=()=>{},enabled:r=!0,selectedIndex:l=null,allowEscape:s=!1,loopFocus:i=!1,nested:u=!1,rtl:c=!1,virtual:f=!1,focusItemOnOpen:d="auto",focusItemOnHover:m=!0,openOnArrowKeyDown:h=!0,disabledIndices:y=void 0,orientation:S="vertical",parentOrientation:g,id:p,resetOnPointerLeave:x=!0,externalTree:b,grid:L}=t,R=L!=null,I="rootStore"in e?e.rootStore:e,v=I.useState("open"),E=I.useState("floatingElement"),w=I.useState("domReferenceElement"),P=I.context.dataRef,O=Uu(E),B=zu(w),D=ht(O),M=ma(),z=ta(b),H=Wt.useRef(d),T=Wt.useRef(l??-1),N=Wt.useRef(null),A=Wt.useRef(!0),K=W(U=>{n(T.current===-1?null:T.current,U)}),J=Wt.useRef(!!E),fe=Wt.useRef(v),re=Wt.useRef(!1),X=Wt.useRef(!1),Z=Wt.useRef(null),me=ht(y),Q=ht(v),ee=ht(l),Ie=ht(x),Te=Ka(),te=Ka(),he=W(()=>{function U(ae){f?z?.events.emit("virtualfocus",ae):Z.current=Js(ae,{sync:re.current,preventScroll:!0})}let V=a.current[T.current],Me=X.current;V&&U(V),(re.current?ae=>ae():ae=>Te.request(ae))(()=>{let ae=a.current[T.current]||V;if(!ae)return;V||U(ae),Y&&(Me||!A.current)&&ae.scrollIntoView?.({block:"nearest",inline:"nearest"})})});q(()=>{P.current.orientation=S},[P,S]),q(()=>{r&&(v&&E?(T.current=l??-1,H.current&&l!=null&&(X.current=!0,K())):J.current&&(T.current=-1,K()))},[r,v,E,l,K]),q(()=>{if(r){if(!v){re.current=!1;return}if(E)if(o==null){if(re.current=!1,ee.current!=null)return;if(J.current&&(T.current=-1,he()),(!fe.current||!J.current)&&H.current&&(N.current!=null||H.current===!0&&N.current==null)){let U=0,V=()=>{a.current[0]==null?(U<2&&(U?$=>te.request($):queueMicrotask)(V),U+=1):(T.current=N.current==null||Sy(N.current,S,c)||u?Dl(a):Zs(a),N.current=null,K())};V()}}else Dr(a.current,o)||(T.current=o,he(),X.current=!1)}},[r,v,E,o,ee,u,a,S,c,K,he,te]),q(()=>{if(!r||E||!z||f||!J.current)return;let U=z.nodesRef.current,V=U.find(ae=>ae.id===M)?.context?.elements.floating,Me=Bt(xe(w??V??null)),$=U.some(ae=>ae.context&&ie(ae.context.elements.floating,Me));V&&!$&&A.current&&V.focus({preventScroll:!0})},[r,E,w,z,M,f]),q(()=>{fe.current=v,J.current=!!E}),q(()=>{v||(N.current=null,H.current=d)},[v,d]);let ce=o!=null,ke=W(U=>{if(!Q.current)return;let V=a.current.indexOf(U.currentTarget);V!==-1&&(T.current!==V||o!==V)&&(T.current=V,K(U))}),Be=W(()=>g??z?.nodesRef.current.find(U=>U.id===M)?.context?.dataRef?.current.orientation),de=W(()=>Dl(a,me.current)),G=W(U=>{if(A.current=!1,re.current=!0,U.which===229||!Q.current&&U.currentTarget===D.current)return;if(u&&ZF(U.key,S,c,R)){_p(U.key,Be())||ka(U),I.setOpen(!1,ue(j.listNavigation,U.nativeEvent)),De(w)&&(f?z?.events.emit("virtualfocus",w):w.focus());return}let V=T.current,Me=Dl(a,y),$=Zs(a,y);if(B||(U.key==="Home"&&(ka(U),T.current=Me,K(U)),U.key==="End"&&(ka(U),T.current=$,K(U))),L!=null){let ae=L(U,T.current,a,S,i,c,y,Me,$);if(ae!=null&&(T.current=ae,K(U)),S==="both")return}if(_p(U.key,S)){if(ka(U),v&&!f&&Bt(U.currentTarget.ownerDocument)===U.currentTarget){T.current=Sy(U.key,S,c)?Me:$,K(U);return}Sy(U.key,S,c)?i?V>=$?s&&V!==a.current.length?T.current=-1:(re.current=!1,T.current=Me):T.current=ho(a.current,{startingIndex:V,disabledIndices:y}):T.current=Math.min($,ho(a.current,{startingIndex:V,disabledIndices:y})):i?V<=Me?s&&V!==-1?T.current=a.current.length:(re.current=!1,T.current=$):T.current=ho(a.current,{startingIndex:V,decrement:!0,disabledIndices:y}):T.current=Math.max(Me,ho(a.current,{startingIndex:V,decrement:!0,disabledIndices:y})),Dr(a.current,T.current)&&(T.current=-1),K(U)}}),Y=Wt.useMemo(()=>({onFocus(V){re.current=!0,ke(V)},onClick:({currentTarget:V})=>V.focus({preventScroll:!0}),onMouseMove(V){re.current=!0,X.current=!1,m&&ke(V)},onPointerLeave(V){if(!Q.current||!A.current||V.pointerType==="touch")return;re.current=!0;let Me=V.relatedTarget;if(!(!m||a.current.includes(Me))&&Ie.current&&(Z.current?.(),Z.current=null,T.current=-1,K(V),!f)){let $=D.current,ae=Bt(xe($));$&&ie($,ae)&&$.focus({preventScroll:!0})}}}),[ke,Q,D,m,a,K,Ie,f]),ge=Wt.useMemo(()=>f&&v&&ce&&{"aria-activedescendant":`${p}-${o}`},[f,v,ce,p,o]),be=Wt.useMemo(()=>({"aria-orientation":S==="both"?void 0:S,...B?{}:ge,onKeyDown(U){if(U.key==="Tab"&&U.shiftKey&&v&&!f){let V=st(U.nativeEvent);if(V&&!ie(D.current,V))return;ka(U),I.setOpen(!1,ue(j.focusOut,U.nativeEvent)),De(w)&&w.focus();return}G(U)},onPointerMove(){A.current=!0}}),[ge,G,D,S,B,I,v,f,w]),Ce=Wt.useMemo(()=>{function U($){I.setOpen(!0,ue(j.listNavigation,$.nativeEvent,$.currentTarget))}function V($){d==="auto"&&np($.nativeEvent)&&(H.current=!f)}function Me($){H.current=d,d==="auto"&&rp($.nativeEvent)&&(H.current=!0)}return{onKeyDown($){let ae=I.select("open");A.current=!1;let $e=$.key.startsWith("Arrow"),rt=WF($.key,Be(),c),Ft=_p($.key,S),sa=(u?rt:Ft)||$.key==="Enter"||$.key.trim()==="";if(f&&ae)return G($);if(!(!ae&&!h&&$e)){if(sa){let Oa=_p($.key,Be());N.current=u&&Oa?null:$.key}if(u){rt&&(ka($),ae?(T.current=de(),K($)):U($));return}Ft&&(ee.current!=null&&(T.current=ee.current),ka($),!ae&&h?U($):G($),ae&&K($))}},onFocus($){I.select("open")&&!f&&(T.current=-1,K($))},onPointerDown:Me,onPointerEnter:Me,onMouseDown:V,onClick:V}},[G,d,de,u,K,I,h,S,Be,c,ee,f]),Zt=Wt.useMemo(()=>({...ge,...Ce}),[ge,Ce]);return Wt.useMemo(()=>r?{reference:Zt,floating:be,item:Y,trigger:Ce}:{},[r,Zt,be,Ce,Y])}var Ul=C(k(),1);function Ry(e,t){let{listRef:a,elementsRef:o,activeIndex:n,onMatch:r,disabledIndices:l,onTyping:s,enabled:i=!0,resetMs:u=750,selectedIndex:c=null}=t,f="rootStore"in e?e.rootStore:e,d=f.useState("open"),m=St(),h=Ul.useRef(""),y=Ul.useRef(c??n??-1),S=Ul.useRef(null),g=W(b=>{function L(D){let M=o?.current[D];return!M||Nl(M)}function R(D){return L(D)?l==null||!Pl(co,D,l):!1}function I(D,M,z=0){if(D.length===0)return-1;let H=(z%D.length+D.length)%D.length,T=M.toLowerCase();for(let N=0;N<D.length;N+=1){let A=(H+N)%D.length;if(!(!D[A]?.toLowerCase().startsWith(T)||!R(A)))return A}return-1}let v=a.current;if(h.current.length>0&&b.key===" "&&(ka(b),s?.(!0)),h.current.length>0&&h.current[0]!==" "&&I(v,h.current)===-1&&b.key!==" "&&s?.(!1),v==null||b.key.length!==1||b.ctrlKey||b.metaKey||b.altKey)return;d&&b.key!==" "&&(ka(b),s?.(!0));let E=h.current==="";E&&(y.current=c??n??-1),v.every((D,M)=>D&&R(M)?D[0]?.toLowerCase()!==D[1]?.toLowerCase():!0)&&h.current===b.key&&(h.current="",y.current=S.current),h.current+=b.key,m.start(u,()=>{h.current="",y.current=S.current,s?.(!1)});let O=((E?c??n??-1:y.current)??0)+1,B=I(v,h.current,O);B!==-1?(r?.(B),S.current=B):b.key!==" "&&(h.current="",s?.(!1))}),p=W(b=>{let L=b.relatedTarget,R=f.select("domReferenceElement"),I=f.select("floatingElement");ie(R,L)||ie(I,L)||(m.clear(),h.current="",y.current=S.current,s?.(!1))});q(()=>{!d&&c!==null||(m.clear(),S.current=null,h.current!==""&&(h.current=""))},[d,c,m]),q(()=>{d&&h.current===""&&(y.current=c??n??-1)},[d,c,n]);let x=Ul.useMemo(()=>({onKeyDown:g,onBlur:p}),[g,p]);return Ul.useMemo(()=>i?{reference:x,floating:x}:{},[i,x])}var _T=.1,QF=_T*_T,nt=.5;function Up(e,t,a,o,n,r){return o>=t!=r>=t&&e<=(n-a)*(t-o)/(r-o)+a}function Hp(e,t,a,o,n,r,l,s,i,u){let c=!1;return Up(e,t,a,o,n,r)&&(c=!c),Up(e,t,n,r,l,s)&&(c=!c),Up(e,t,l,s,i,u)&&(c=!c),Up(e,t,i,u,a,o)&&(c=!c),c}function $F(e,t,a){return e>=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height}function qp(e,t,a,o,n,r){let l=Math.min(a,n),s=Math.max(a,n),i=Math.min(o,r),u=Math.max(o,r);return e>=l&&e<=s&&t>=i&&t<=u}function nc(e={}){let{blockPointerEvents:t=!1}=e,a=new Ta,o=({x:n,y:r,placement:l,elements:s,onClose:i,nodeId:u,tree:c})=>{let f=l?.split("-")[0],d=!1,m=null,h=null,y=typeof performance<"u"?performance.now():0;function S(p,x){let b=performance.now(),L=b-y;if(m===null||h===null||L===0)return m=p,h=x,y=b,!1;let R=p-m,I=x-h,v=R*R+I*I,E=L*L*QF;return m=p,h=x,y=b,v<E}function g(){a.clear(),i()}return function(x){a.clear();let b=s.domReference,L=s.floating;if(!b||!L||f==null||n==null||r==null)return;let{clientX:R,clientY:I}=x,v=st(x),E=x.type==="mouseleave",w=ie(L,v),P=ie(b,v);if(w&&(d=!0,!E))return;if(P&&(d=!1,!E)){d=!0;return}if(E&&Se(x.relatedTarget)&&ie(L,x.relatedTarget))return;function O(){return!!(c&&xo(c.nodesRef.current,u).length>0)}function B(){O()||g()}if(O())return;let D=b.getBoundingClientRect(),M=L.getBoundingClientRect(),z=n>M.right-M.width/2,H=r>M.bottom-M.height/2,T=M.width>D.width,N=M.height>D.height,A=(T?D:M).left,K=(T?D:M).right,J=(N?D:M).top,fe=(N?D:M).bottom;if(f==="top"&&r>=D.bottom-1||f==="bottom"&&r<=D.top+1||f==="left"&&n>=D.right-1||f==="right"&&n<=D.left+1){B();return}let re=!1;switch(f){case"top":re=qp(R,I,A,D.top+1,K,M.bottom-1);break;case"bottom":re=qp(R,I,A,M.top+1,K,D.bottom-1);break;case"left":re=qp(R,I,M.right-1,fe,D.left+1,J);break;case"right":re=qp(R,I,D.right-1,fe,M.left+1,J);break;default:}if(re)return;if(d&&!$F(R,I,D)){B();return}if(!E&&S(R,I)){B();return}let X=!1;switch(f){case"top":{let Z=T?nt/2:nt*4,me=T||z?n+Z:n-Z,Q=T?n-Z:z?n+Z:n-Z,ee=r+nt+1,Ie=z||T?M.bottom-nt:M.top,Te=z?T?M.bottom-nt:M.top:M.bottom-nt;X=Hp(R,I,me,ee,Q,ee,M.left,Ie,M.right,Te);break}case"bottom":{let Z=T?nt/2:nt*4,me=T||z?n+Z:n-Z,Q=T?n-Z:z?n+Z:n-Z,ee=r-nt,Ie=z||T?M.top+nt:M.bottom,Te=z?T?M.top+nt:M.bottom:M.top+nt;X=Hp(R,I,me,ee,Q,ee,M.left,Ie,M.right,Te);break}case"left":{let Z=N?nt/2:nt*4,me=N||H?r+Z:r-Z,Q=N?r-Z:H?r+Z:r-Z,ee=n+nt+1,Ie=H||N?M.right-nt:M.left,Te=H?N?M.right-nt:M.left:M.right-nt;X=Hp(R,I,Ie,M.top,Te,M.bottom,ee,me,ee,Q);break}case"right":{let Z=N?nt/2:nt*4,me=N||H?r+Z:r-Z,Q=N?r-Z:H?r+Z:r-Z,ee=n-nt,Ie=H||N?M.left+nt:M.right,Te=H?N?M.left+nt:M.right:M.left+nt;X=Hp(R,I,ee,me,ee,Q,Ie,M.top,Te,M.bottom);break}default:}X?d||a.start(40,B):B()}};return o.__options={...e,blockPointerEvents:t},o}var Vp=C(k(),1),JF=Vp.createContext(void 0);function Gp(e){let t=Vp.useContext(JF);if(t===void 0&&!e)throw new Error(Re(69));return t}var ni="ArrowUp",ri="ArrowDown",rc="ArrowLeft",lc="ArrowRight",sc="Home",ic="End";var vy=new Set([rc,lc]),UT=new Set([rc,lc,sc,ic]),Ly=new Set([ni,ri]),HT=new Set([ni,ri,sc,ic]),Iy=new Set([...vy,...Ly]),li=new Set([...Iy,sc,ic]),e_="Shift",t_="Control",a_="Alt",o_="Meta",qT=new Set([e_,t_,a_,o_]);function n_(e){return De(e)&&e.tagName==="INPUT"}function wy(e){return!!(n_(e)&&e.selectionStart!=null||De(e)&&e.tagName==="TEXTAREA")}function Ey(e,t,a,o){if(!e||!t||!t.scrollTo)return;let n=e.scrollLeft,r=e.scrollTop,l=e.clientWidth<e.scrollWidth,s=e.clientHeight<e.scrollHeight;if(l&&o!=="vertical"){let i=zT(e,t,"left"),u=Yp(e),c=Yp(t);a==="ltr"&&(i+t.offsetWidth+c.scrollMarginRight>e.scrollLeft+e.clientWidth-u.scrollPaddingRight?n=i+t.offsetWidth+c.scrollMarginRight-e.clientWidth+u.scrollPaddingRight:i-c.scrollMarginLeft<e.scrollLeft+u.scrollPaddingLeft&&(n=i-c.scrollMarginLeft-u.scrollPaddingLeft)),a==="rtl"&&(i-c.scrollMarginRight<e.scrollLeft+u.scrollPaddingLeft?n=i-c.scrollMarginLeft-u.scrollPaddingLeft:i+t.offsetWidth+c.scrollMarginRight>e.scrollLeft+e.clientWidth-u.scrollPaddingRight&&(n=i+t.offsetWidth+c.scrollMarginRight-e.clientWidth+u.scrollPaddingRight))}if(s&&o!=="horizontal"){let i=zT(e,t,"top"),u=Yp(e),c=Yp(t);i-c.scrollMarginTop<e.scrollTop+u.scrollPaddingTop?r=i-c.scrollMarginTop-u.scrollPaddingTop:i+t.offsetHeight+c.scrollMarginBottom>e.scrollTop+e.clientHeight-u.scrollPaddingBottom&&(r=i+t.offsetHeight+c.scrollMarginBottom-e.clientHeight+u.scrollPaddingBottom)}e.scrollTo({left:n,top:r,behavior:"auto"})}function zT(e,t,a){let o=a==="left"?"offsetLeft":"offsetTop",n=0;for(;t.offsetParent&&(n+=t[o],t.offsetParent!==e);)t=t.offsetParent;return n}function Yp(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}function Xp(e){return e==="starting"?RE:ve}var VT=C(F(),1),r_={...Ea,...po},GT=si.forwardRef(function(t,a){let{render:o,className:n,style:r,finalFocus:l,...s}=t,{store:i}=Qe(),{side:u,align:c}=Jt(),f=Gp(!0)!=null,d=i.useState("open"),m=i.useState("transitionStatus"),h=i.useState("popupProps"),y=i.useState("mounted"),S=i.useState("instantType"),g=i.useState("activeTriggerElement"),p=i.useState("parent"),x=i.useState("lastOpenChangeReason"),b=i.useState("rootId"),L=i.useState("floatingRootContext"),R=i.useState("floatingTreeRoot"),I=i.useState("closeDelay"),v=i.useState("activeTriggerElement"),E=i.useState("hoverEnabled"),w=i.useState("disabled"),P=i.useState("openMethod"),O=p.type==="context-menu";Jo({open:d,ref:i.context.popupRef,onComplete(){d&&i.context.onOpenChangeComplete?.(!0)}}),si.useEffect(()=>{function H(T){i.setOpen(!1,ue(T.reason,T.domEvent))}return R.events.on("close",H),()=>{R.events.off("close",H)}},[R.events,i]),yy(L,{enabled:E&&!w&&!O&&p.type!=="menubar",closeDelay:I});let B=si.useCallback(H=>{i.set("popupElement",H)},[i]),D={transitionStatus:m,side:u,align:c,open:d,nested:p.type==="menu",instant:S},M=se("div",t,{state:D,ref:[a,i.context.popupRef,B],stateAttributesMapping:r_,props:[h,{onKeyDown(H){f&&li.has(H.key)&&H.stopPropagation()}},Xp(m),s,{"data-rootownerid":b}]}),z=p.type===void 0||O;return(g||p.type==="menubar"&&x!==j.outsidePress)&&(z=!0),(0,VT.jsx)(Qu,{context:L,openInteractionType:P,modal:O,disabled:!y,returnFocus:l===void 0?z:l,initialFocus:p.type!=="menu",restoreFocus:!0,externalTree:p.type!=="menubar"?R:void 0,previousFocusableElement:v,nextFocusableElement:p.type===void 0?i.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:p.type===void 0?i.context.beforeContentFocusGuardRef:void 0,children:M})});var XT=C(k(),1);var jp=C(k(),1),Ty=jp.createContext(void 0);function YT(){let e=jp.useContext(Ty);if(e===void 0)throw new Error(Re(32));return e}var ky=C(F(),1),jT=XT.forwardRef(function(t,a){let{keepMounted:o=!1,...n}=t,{store:r}=Qe();return r.useState("mounted")||o?(0,ky.jsx)(Ty.Provider,{value:o,children:(0,ky.jsx)(Ku,{ref:a,...n})}):null});var nn=C(k(),1);function ii(e){return Us(19)?e:e?"true":void 0}var Wa=C(k(),1);var Kp=C(k(),1),l_=Kp.createContext(void 0);function on(){return Kp.useContext(l_)?.direction??"ltr"}var s_=e=>({name:"arrow",options:e,async fn(t){let{x:a,y:o,placement:n,rects:r,platform:l,elements:s,middlewareData:i}=t,{element:u,padding:c=0,offsetParent:f="real"}=Oo(e,t)||{};if(u==null)return{};let d=pp(c),m={x:a,y:o},h=Xu(n),y=Yu(h),S=await l.getDimensions(u),g=h==="y",p=g?"top":"left",x=g?"bottom":"right",b=g?"clientHeight":"clientWidth",L=r.reference[y]+r.reference[h]-m[h]-r.floating[y],R=m[h]-r.reference[h],I=f==="real"?await l.getOffsetParent?.(u):s.floating,v=s.floating[b]||r.floating[y];(!v||!await l.isElement?.(I))&&(v=s.floating[b]||r.floating[y]);let E=L/2-R/2,w=v/2-S[y]/2-1,P=Math.min(d[p],w),O=Math.min(d[x],w),B=P,D=v-S[y]-O,M=v/2-S[y]/2+E,z=Gu(B,M,D),H=!i.arrow&&Do(n)!=null&&M!==z&&r.reference[y]/2-(M<B?P:O)-S[y]/2<0,T=H?M<B?M-B:M-D:0;return{[h]:m[h]+T,data:{[h]:z,centerOffset:M-z-T,...H&&{alignmentOffset:T}},reset:H}}}),KT=(e,t)=>({...s_(e),options:[e,t]});var i_=ry().fn,WT={name:"hide",async fn(e){let{width:t,height:a,x:o,y:n}=e.rects.reference,r=t===0&&a===0&&o===0&&n===0;return{data:{referenceHidden:(await i_(e)).data?.referenceHidden||r}}}};var uc={sideX:"left",sideY:"top"},ZT={name:"adaptiveOrigin",async fn(e){let{x:t,y:a,rects:{floating:o},elements:{floating:n},platform:r,strategy:l,placement:s}=e,i=Xe(n),u=i.getComputedStyle(n);if(!(u.transitionDuration!=="0s"&&u.transitionDuration!==""))return{x:t,y:a,data:uc};let f=await r.getOffsetParent?.(n),d={width:0,height:0};if(l==="fixed"&&i?.visualViewport)d={width:i.visualViewport.width,height:i.visualViewport.height};else if(f===i){let p=xe(n);d={width:p.documentElement.clientWidth,height:p.documentElement.clientHeight}}else await r.isElement?.(f)&&(d=await r.getDimensions(f));let m=Kt(s),h=t,y=a;m==="left"&&(h=d.width-(t+o.width)),m==="top"&&(y=d.height-(a+o.height));let S=m==="left"?"right":uc.sideX,g=m==="top"?"bottom":uc.sideY;return{x:h,y,data:{sideX:S,sideY:g}}}};function JT(e,t,a){let o=e==="inline-start"||e==="inline-end";return{top:"top",right:o?a?"inline-start":"inline-end":"right",bottom:"bottom",left:o?a?"inline-end":"inline-start":"left"}[t]}function QT(e,t,a){let{rects:o,placement:n}=e;return{side:JT(t,Kt(n),a),align:Do(n)||"center",anchor:{width:o.reference.width,height:o.reference.height},positioner:{width:o.floating.width,height:o.floating.height}}}function ek(e){let{anchor:t,positionMethod:a="absolute",side:o="bottom",sideOffset:n=0,align:r="center",alignOffset:l=0,collisionBoundary:s,collisionPadding:i=5,sticky:u=!1,arrowPadding:c=5,disableAnchorTracking:f=!1,inline:d,keepMounted:m=!1,floatingRootContext:h,mounted:y,collisionAvoidance:S,shiftCrossAxis:g=!1,nodeId:p,adaptiveOrigin:x,lazyFlip:b=!1,externalTree:L}=e,[R,I]=Wa.useState(null);!y&&R!==null&&I(null);let v=S.side||"flip",E=S.align||"flip",w=S.fallbackAxisSide||"end",P=typeof t=="function"?t:void 0,O=W(P),B=P?O:t,D=ht(t),M=ht(y),H=on()==="rtl",T=R||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":H?"left":"right","inline-start":H?"right":"left"}[o],N=r==="center"?T:`${T}-${r}`,A=i,K=1,J=o==="bottom"?K:0,fe=o==="top"?K:0,re=o==="right"?K:0,X=o==="left"?K:0;typeof A=="number"?A={top:A+J,right:A+X,bottom:A+fe,left:A+re}:A&&(A={top:(A.top||0)+J,right:(A.right||0)+X,bottom:(A.bottom||0)+fe,left:(A.left||0)+re});let Z={boundary:s==="clipping-ancestors"?"clippingAncestors":s,padding:A},me=Wa.useRef(null),Q=ht(n),ee=ht(l),Ie=typeof n!="function"?n:0,Te=typeof l!="function"?l:0,te=[];d&&te.push(d),te.push(ey(Je=>{let ia=QT(Je,o,H),No=typeof Q.current=="function"?Q.current(ia):Q.current,$a=typeof ee.current=="function"?ee.current(ia):ee.current;return{mainAxis:No,crossAxis:$a,alignmentAxis:$a}},[Ie,Te,H,o]));let he=E==="none"&&v!=="shift",ce=!he&&(u||g||v==="shift"),ke=v==="none"?null:oy({...Z,padding:{top:A.top+K,right:A.right+K,bottom:A.bottom+K,left:A.left+K},mainAxis:!g&&v==="flip",crossAxis:E==="flip"?"alignment":!1,fallbackAxisSideDirection:w}),Be=he?null:ty(Je=>{let ia=xe(Je.elements.floating).documentElement;return{...Z,rootBoundary:g?{x:0,y:0,width:ia.clientWidth,height:ia.clientHeight}:void 0,mainAxis:E!=="none",crossAxis:ce,limiter:u||g?void 0:ay(No=>{if(!me.current)return{};let{width:$a,height:un}=me.current.getBoundingClientRect(),So=Ma(Kt(No.placement)),Wr=So==="y"?$a:un,jl=So==="y"?A.left+A.right:A.top+A.bottom;return{offset:Wr/2+jl/2}})}},[Z,u,g,A,E]);v==="shift"||E==="shift"||r==="center"?te.push(Be,ke):te.push(ke,Be),te.push(ny({...Z,apply({elements:{floating:Je},availableWidth:ia,availableHeight:No,rects:$a}){if(!M.current)return;let un=Je.style;un.setProperty("--available-width",`${ia}px`),un.setProperty("--available-height",`${No}px`);let So=Xe(Je).devicePixelRatio||1,{x:Wr,y:jl,width:Bc,height:Gm}=$a.reference,Ym=(Math.round((Wr+Bc)*So)-Math.round(Wr*So))/So,Xm=(Math.round((jl+Gm)*So)-Math.round(jl*So))/So;un.setProperty("--anchor-width",`${Ym}px`),un.setProperty("--anchor-height",`${Xm}px`)}}),KT(Je=>({element:me.current||xe(Je.elements.floating).createElement("div"),padding:c,offsetParent:"floating"}),[c]),{name:"transformOrigin",fn(Je){let{elements:ia,middlewareData:No,placement:$a,rects:un,y:So}=Je,Wr=Kt($a),jl=Ma(Wr),Bc=me.current,Gm=No.arrow?.x||0,Ym=No.arrow?.y||0,Xm=Bc?.clientWidth||0,qA=Bc?.clientHeight||0,jm=Gm+Xm/2,uS=Ym+qA/2,VA=Math.abs(No.shift?.y||0),GA=un.reference.height/2,bi=typeof n=="function"?n(QT(Je,o,H)):n,YA=VA>bi,XA={top:`${jm}px calc(100% + ${bi}px)`,bottom:`${jm}px ${-bi}px`,left:`calc(100% + ${bi}px) ${uS}px`,right:`${-bi}px ${uS}px`}[Wr],jA=`${jm}px ${un.reference.y+GA-So}px`;return ia.floating.style.setProperty("--transform-origin",ce&&jl==="y"&&YA?jA:XA),{}}},WT,x),q(()=>{!y&&h&&h.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[y,h]);let de=Wa.useMemo(()=>({elementResize:!f&&typeof ResizeObserver<"u",layoutShift:!f&&typeof IntersectionObserver<"u"}),[f]),{refs:G,elements:Y,x:ge,y:be,middlewareData:Ce,update:Zt,placement:U,context:V,isPositioned:Me,floatingStyles:$}=my({rootContext:h,open:m?y:void 0,placement:N,middleware:te,strategy:a,whileElementsMounted:m?void 0:(...Je)=>ec(...Je,de),nodeId:p,externalTree:L}),{sideX:ae,sideY:$e}=Ce.adaptiveOrigin||uc,rt=Me?a:"fixed",Ft=Wa.useMemo(()=>{let Je=x?{position:rt,[ae]:ge,[$e]:be}:{position:rt,...$};return Me||(Je.opacity=0),Je},[x,rt,ae,ge,$e,be,$,Me]),sa=Wa.useRef(null);q(()=>{if(!y)return;let Je=D.current,ia=typeof Je=="function"?Je():Je,$a=($T(ia)?ia.current:ia)||null||null;$a!==sa.current&&(G.setPositionReference($a),sa.current=$a)},[y,G,B,D]),Wa.useEffect(()=>{if(!y)return;let Je=D.current;typeof Je!="function"&&$T(Je)&&Je.current!==sa.current&&(G.setPositionReference(Je.current),sa.current=Je.current)},[y,G,B,D]),Wa.useEffect(()=>{if(m&&y&&Y.reference&&Y.floating)return ec(Y.reference,Y.floating,Zt,de)},[m,y,Y,Zt,de]);let Oa=Kt(U),Xl=JT(o,Oa,H),Kr=Do(U)||"center",Dc=!!Ce.hide?.referenceHidden;q(()=>{b&&y&&Me&&I(Oa)},[b,y,Me,Oa]);let Pc=Wa.useMemo(()=>({position:"absolute",top:Ce.arrow?.y,left:Ce.arrow?.x}),[Ce.arrow]),Nc=Ce.arrow?.centerOffset!==0;return Wa.useMemo(()=>({positionerStyles:Ft,arrowStyles:Pc,arrowRef:me,arrowUncentered:Nc,side:Xl,align:Kr,physicalSide:Oa,anchorHidden:Dc,refs:G,context:V,isPositioned:Me,update:Zt}),[Ft,Pc,me,Nc,Xl,Kr,Oa,Dc,G,V,Me,Zt])}function $T(e){return e!=null&&"current"in e}var zr=C(k(),1);var tk=C(F(),1);function Wp(e){let{children:t,elementsRef:a,labelsRef:o,onMapChange:n}=e,r=W(n),l=zr.useRef(0),s=ut(c_).current,i=ut(u_).current,[u,c]=zr.useState(0),f=zr.useRef(u),d=W((g,p)=>{i.set(g,p??null),f.current+=1,c(f.current)}),m=W(g=>{i.delete(g),f.current+=1,c(f.current)}),h=zr.useMemo(()=>{let g=new Map;return Array.from(i.keys()).filter(x=>x.isConnected).sort(f_).forEach((x,b)=>{let L=i.get(x)??{};g.set(x,{...L,index:b})}),g},[i,u]);q(()=>{if(typeof MutationObserver!="function"||h.size===0)return;let g=new MutationObserver(p=>{let x=new Set,b=L=>x.has(L)?x.delete(L):x.add(L);p.forEach(L=>{L.removedNodes.forEach(b),L.addedNodes.forEach(b)}),x.size===0&&(f.current+=1,c(f.current))});return h.forEach((p,x)=>{x.parentElement&&g.observe(x.parentElement,{childList:!0})}),()=>{g.disconnect()}},[h]),q(()=>{f.current===u&&(a.current.length!==h.size&&(a.current.length=h.size),o&&o.current.length!==h.size&&(o.current.length=h.size),l.current=h.size),r(h)},[r,h,a,o,u]),q(()=>()=>{a.current=[]},[a]),q(()=>()=>{o&&(o.current=[])},[o]);let y=W(g=>(s.add(g),()=>{s.delete(g)}));q(()=>{s.forEach(g=>g(h))},[s,h]);let S=zr.useMemo(()=>({register:d,unregister:m,subscribeMapChange:y,elementsRef:a,labelsRef:o,nextIndexRef:l}),[d,m,y,a,o,l]);return(0,tk.jsx)(Eb.Provider,{value:S,children:t})}function u_(){return new Map}function c_(){return new Set}function f_(e,t){let a=e.compareDocumentPosition(t);return a&Node.DOCUMENT_POSITION_FOLLOWING||a&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:a&Node.DOCUMENT_POSITION_PRECEDING||a&Node.DOCUMENT_POSITION_CONTAINS?1:0}var ak=C(k(),1),ok=C(F(),1),Zp=ak.forwardRef(function(t,a){let{cutout:o,...n}=t,r;if(o){let l=o.getBoundingClientRect();r=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${l.left}px ${l.top}px,${l.left}px ${l.bottom}px,${l.right}px ${l.bottom}px,${l.right}px ${l.top}px,${l.left}px ${l.top}px)`}return(0,ok.jsx)("div",{ref:a,role:"presentation","data-base-ui-inert":"",...n,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:r}})});function nk(e,t,{styles:a,transitionStatus:o,props:n,refs:r,hidden:l,inert:s=!1}){let i={...a};return s&&(i.pointerEvents="none"),se("div",e,{state:t,ref:r,props:[{role:"presentation",hidden:l,style:i},Xp(o),n],stateAttributesMapping:Ea})}var ik=C(k(),1);var rk={},lk={},sk="";function d_(e){if(typeof document>"u")return!1;let t=xe(e);return Xe(t).innerWidth-t.documentElement.clientWidth>0}function p_(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;let a=xe(e),o=a.documentElement,n=a.body,r=$o(o)?o:n,l=r.style.overflowY,s=o.style.scrollbarGutter;o.style.scrollbarGutter="stable",r.style.overflowY="scroll";let i=r.offsetWidth;r.style.overflowY="hidden";let u=r.offsetWidth;return r.style.overflowY=l,o.style.scrollbarGutter=s,i===u}function m_(e){let t=xe(e),a=t.documentElement,o=t.body,n=$o(a)?a:o,r={overflowY:n.style.overflowY,overflowX:n.style.overflowX};return Object.assign(n.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(n.style,r)}}function g_(e){let t=xe(e),a=t.documentElement,o=t.body,n=Xe(a),r=0,l=0,s=!1,i=go.create();if(at.engine.webkit&&(n.visualViewport?.scale??1)!==1)return()=>{};function u(){let m=n.getComputedStyle(a),h=n.getComputedStyle(o),g=(m.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";r=a.scrollTop,l=a.scrollLeft,rk={scrollbarGutter:a.style.scrollbarGutter,overflowY:a.style.overflowY,overflowX:a.style.overflowX},sk=a.style.scrollBehavior,lk={position:o.style.position,height:o.style.height,width:o.style.width,boxSizing:o.style.boxSizing,overflowY:o.style.overflowY,overflowX:o.style.overflowX,scrollBehavior:o.style.scrollBehavior};let p=a.scrollHeight>a.clientHeight,x=a.scrollWidth>a.clientWidth,b=m.overflowY==="scroll"||h.overflowY==="scroll",L=m.overflowX==="scroll"||h.overflowX==="scroll",R=Math.max(0,n.innerWidth-o.clientWidth),I=Math.max(0,n.innerHeight-o.clientHeight),v=parseFloat(h.marginTop)+parseFloat(h.marginBottom),E=parseFloat(h.marginLeft)+parseFloat(h.marginRight),w=$o(a)?a:o;if(s=p_(e),s){a.style.scrollbarGutter=g,w.style.overflowY="hidden",w.style.overflowX="hidden";return}Object.assign(a.style,{scrollbarGutter:g,overflowY:"hidden",overflowX:"hidden"}),(p||b)&&(a.style.overflowY="scroll"),(x||L)&&(a.style.overflowX="scroll"),Object.assign(o.style,{position:"relative",height:v||I?`calc(100dvh - ${v+I}px)`:"100dvh",width:E||R?`calc(100vw - ${E+R}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),o.scrollTop=r,o.scrollLeft=l,a.setAttribute("data-base-ui-scroll-locked",""),a.style.scrollBehavior="unset"}function c(){Object.assign(a.style,rk),Object.assign(o.style,lk),s||(a.scrollTop=r,a.scrollLeft=l,a.removeAttribute("data-base-ui-scroll-locked"),a.style.scrollBehavior=sk)}function f(){c(),i.request(u)}u();let d=we(n,"resize",f);return()=>{i.cancel(),c(),typeof n.removeEventListener=="function"&&d()}}var My=class{lockCount=0;restore=null;timeoutLock=Ta.create();timeoutUnlock=Ta.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;let o=xe(t).documentElement,n=Xe(o).getComputedStyle(o).overflowY;if(n==="hidden"||n==="clip"){this.restore=Ve;return}let r=at.os.ios||!d_(t);this.restore=r?m_(t):g_(t)}},h_=new My;function Qp(e=!0,t=null){q(()=>{if(e)return h_.acquire(t)},[e,t])}var x_=20;function uk(e,t,a,o){let[n,r]=ik.useState(!1);q(()=>{if(!e||!t||a==null){r(!1);return}let l=xe(a).documentElement.clientWidth,s=a.offsetWidth;r(l>0&&s>0&&s>=l-x_)},[e,t,a]),Qp(e&&(!t||n),o)}var ui=C(F(),1),ck=nn.forwardRef(function(t,a){let{anchor:o,positionMethod:n="absolute",className:r,render:l,side:s,align:i,sideOffset:u=0,alignOffset:c=0,collisionBoundary:f="clipping-ancestors",collisionPadding:d=5,arrowPadding:m=5,sticky:h=!1,disableAnchorTracking:y=!1,collisionAvoidance:S=vE,style:g,...p}=t,{store:x}=Qe(),b=YT(),L=Wo(!0),R=x.useState("parent"),I=x.useState("floatingRootContext"),v=x.useState("floatingTreeRoot"),E=x.useState("mounted"),w=x.useState("open"),P=x.useState("modal"),O=x.useState("openMethod"),B=x.useState("activeTriggerElement"),D=x.useState("transitionStatus"),M=x.useState("positionerElement"),z=x.useState("instantType"),H=x.useState("hasViewport"),T=x.useState("lastOpenChangeReason"),N=x.useState("floatingNodeId"),A=x.useState("floatingParentNodeId"),K=I.useState("domReferenceElement"),J=nn.useRef(null),fe=Tr(M,!1,!1),re=o,X=u,Z=c,me=i,Q=S;R.type==="context-menu"&&(re=o??R.context?.anchor,me=me??"start",!s&&me!=="center"&&(Z=t.alignOffset??2,X=t.sideOffset??-5));let ee=s,Ie=me;R.type==="menu"?(ee=ee??"inline-end",Ie=Ie??"start",Q=t.collisionAvoidance??LE):R.type==="menubar"&&(ee=ee??(R.context.orientation==="vertical"?"inline-end":"bottom"),Ie=Ie??"start");let Te=R.type==="context-menu",te=ek({anchor:re,floatingRootContext:I,positionMethod:L?"fixed":n,mounted:E,side:ee,sideOffset:X,align:Ie,alignOffset:Z,arrowPadding:Te?0:m,collisionBoundary:f,collisionPadding:d,sticky:h,nodeId:N,keepMounted:b,disableAnchorTracking:y,collisionAvoidance:Q,shiftCrossAxis:Te&&!("side"in Q&&Q.side==="flip"),externalTree:v,adaptiveOrigin:H?ZT:void 0});nn.useEffect(()=>{function ge(be){be.open&&(be.parentNodeId===N&&x.set("hoverEnabled",!1),be.nodeId!==N&&be.parentNodeId===x.select("floatingParentNodeId")&&x.setOpen(!1,ue(j.siblingOpen)))}return v.events.on("menuopenchange",ge),()=>{v.events.off("menuopenchange",ge)}},[x,v.events,N]),nn.useEffect(()=>{if(x.select("floatingParentNodeId")==null)return;function ge(be){if(be.open||be.nodeId!==x.select("floatingParentNodeId"))return;let Ce=be.reason??j.siblingOpen;x.setOpen(!1,ue(Ce))}return v.events.on("menuopenchange",ge),()=>{v.events.off("menuopenchange",ge)}},[v.events,x]);let he=St();nn.useEffect(()=>{w||he.clear()},[w,he]),nn.useEffect(()=>{function ge(be){if(!(!w||be.nodeId!==x.select("floatingParentNodeId")))if(be.target&&B&&B!==be.target){let Ce=x.select("closeDelay");Ce>0?he.isStarted()||he.start(Ce,()=>{x.setOpen(!1,ue(j.siblingOpen))}):x.setOpen(!1,ue(j.siblingOpen))}else he.clear()}return v.events.on("itemhover",ge),()=>{v.events.off("itemhover",ge)}},[v.events,w,B,x,he]),nn.useEffect(()=>{let ge={open:w,nodeId:N,parentNodeId:A,reason:x.select("lastOpenChangeReason")};v.events.emit("menuopenchange",ge)},[v.events,w,x,N,A]),q(()=>{let ge=K,be=J.current;if(ge&&(J.current=ge),be&&ge&&ge!==be){x.set("instantType",void 0);let Ce=new AbortController;return fe(()=>{x.set("instantType","trigger-change")},Ce.signal),()=>{Ce.abort()}}},[K,fe,x]);let ce={open:w,side:te.side,align:te.align,anchorHidden:te.anchorHidden,nested:R.type==="menu",instant:z},ke=R.type==="menubar"&&R.context.modal,Be=P&&T!==j.triggerHover;uk(w&&(ke||Be),O==="touch",M,B);let de=nk(t,ce,{styles:te.positionerStyles,transitionStatus:D,props:p,refs:[a,x.useStateSetter("positionerElement")],hidden:!E,inert:!w}),G=E&&R.type!=="menu"&&(R.type!=="menubar"&&P&&T!==j.triggerHover||R.type==="menubar"&&R.context.modal),Y=null;return R.type==="menubar"?Y=R.context.contentElement:R.type===void 0&&(Y=B),(0,ui.jsxs)(fb.Provider,{value:te,children:[G&&(0,ui.jsx)(Zp,{ref:R.type==="context-menu"||R.type==="nested-context-menu"?R.context.internalBackdropRef:null,inert:ii(!w),cutout:Y}),(0,ui.jsx)(jb,{id:N,children:(0,ui.jsx)(Wp,{elementsRef:x.context.itemDomElements,labelsRef:x.context.itemLabels,children:de})})]})});var Ur=C(k(),1);var $p=C(k(),1),Ay=$p.createContext(void 0);function fk(){let e=$p.useContext(Ay);if(e===void 0)throw new Error(Re(34));return e}var Oy=C(F(),1),dk=Ur.memo(Ur.forwardRef(function(t,a){let{render:o,className:n,value:r,defaultValue:l,onValueChange:s,disabled:i=!1,style:u,"aria-labelledby":c,...f}=t,[d,m]=Ur.useState(void 0),[h,y]=Zo({controlled:r,default:l,name:"MenuRadioGroup"}),S=W((b,L)=>{s?.(b,L),!L.isCanceled&&y(b)}),p=se("div",t,{state:{disabled:i},ref:a,props:{role:"group","aria-labelledby":c??d,"aria-disabled":i||void 0,...f}}),x=Ur.useMemo(()=>({value:h,setValue:S,disabled:i}),[h,S,i]);return(0,Oy.jsx)(Pu.Provider,{value:m,children:(0,Oy.jsx)(Ay.Provider,{value:x,children:p})})}));var em=C(k(),1);var Jp=C(k(),1),Dy=Jp.createContext(void 0);function pk(){let e=Jp.useContext(Dy);if(e===void 0)throw new Error(Re(35));return e}var mk=C(F(),1),gk=em.forwardRef(function(t,a){let{render:o,className:n,id:r,label:l,nativeButton:s=!1,disabled:i=!1,closeOnClick:u=!1,value:c,style:f,...d}=t,m=mo({label:l}),h=Jt(!0),y=ot(r),{store:S}=Qe(),g=S.useState("isActive",m.index),p=S.useState("itemProps"),{value:x,setValue:b,disabled:L}=fk(),R=L||i,I=x===c,{getItemProps:v,itemRef:E}=wr({closeOnClick:u,disabled:R,highlighted:g,id:y,store:S,nativeButton:s,nodeId:h?.context.nodeId,itemMetadata:js}),w=em.useMemo(()=>({disabled:R,highlighted:g,checked:I}),[R,g,I]);function P(B){let D=ue(j.itemPress,B.nativeEvent,void 0,{preventUnmountOnClose(){}});b(c,D)}let O=se("div",t,{state:w,stateAttributesMapping:Er,props:[p,{role:"menuitemradio","aria-checked":I,onClick:P},d,v],ref:[E,a,m.ref]});return(0,mk.jsx)(Dy.Provider,{value:w,children:O})});var tm=C(k(),1);var hk=tm.forwardRef(function(t,a){let{render:o,className:n,style:r,keepMounted:l=!1,...s}=t,i=pk(),u=tm.useRef(null),{transitionStatus:c,setMounted:f}=Ws(i.checked);Jo({open:i.checked,ref:u,onComplete(){i.checked||f(!1)}});let d={checked:i.checked,disabled:i.disabled,highlighted:i.highlighted,transitionStatus:c};return se("span",t,{state:d,stateAttributesMapping:Er,ref:[a,u],props:{"aria-hidden":!0,...s},enabled:l||i.checked})});var Lt=C(k(),1);var am=C(k(),1),b_=am.createContext(null);function om(e){let t=am.useContext(b_);if(t===null&&!e)throw new Error(Re(5));return t}var fc=C(k(),1);var cc=C(k(),1);function xk(e){let t=cc.useRef(""),a=cc.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:cc.useCallback(n=>{if(n.detail===0){e(n,"keyboard");return}"pointerType"in n?e(n,n.pointerType):e(n,t.current),t.current=""},[e]),onPointerDown:a}}var bk=C(k(),1);function nm(e,t){let a=bk.useRef(e),o=W(t);q(()=>{a.current!==e&&o(a.current)},[e,o]),q(()=>{a.current=e},[e])}function Py(e,t){let a=W((r,l)=>{(typeof e=="function"?e():e)||t(l||(at.os.ios?"touch":""))}),{onClick:o,onPointerDown:n}=xk(a);return fc.useMemo(()=>({onClick:o,onPointerDown:n}),[o,n])}function yk(e){let[t,a]=fc.useState(null),o=Py(e,a);return nm(e,n=>{n&&!e&&a(null)}),fc.useMemo(()=>({openMethod:t,triggerProps:o}),[t,o])}var dc=C(k(),1);var y_={...Pp,disabled:pe(e=>e.parent.type==="menubar"&&e.parent.context.disabled||e.disabled),modal:pe(e=>(e.parent.type===void 0||e.parent.type==="context-menu")&&(e.modal??!0)),openMethod:pe(e=>e.openMethod),allowMouseEnter:pe(e=>e.allowMouseEnter),highlightItemOnHover:pe(e=>e.highlightItemOnHover),stickIfOpen:pe(e=>e.stickIfOpen),parent:pe(e=>e.parent),rootId:pe(e=>e.parent.type==="menu"?e.parent.store.select("rootId"):e.parent.type!==void 0?e.parent.context.rootId:e.rootId),activeIndex:pe(e=>e.activeIndex),isActive:pe((e,t)=>e.activeIndex===t),hoverEnabled:pe(e=>e.hoverEnabled),instantType:pe(e=>e.instantType),lastOpenChangeReason:pe(e=>e.openChangeReason),floatingTreeRoot:pe(e=>e.parent.type==="menu"?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:pe(e=>e.floatingNodeId),floatingParentNodeId:pe(e=>e.floatingParentNodeId),itemProps:pe(e=>e.itemProps),closeDelay:pe(e=>e.closeDelay),hasViewport:pe(e=>e.hasViewport),keyboardEventRelay:pe(e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type==="menu")return e.parent.store.select("keyboardEventRelay")})},ci=class e extends Fr{constructor(t){super({...S_(),...t},{positionerRef:dc.createRef(),popupRef:dc.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:dc.createRef(),beforeContentFocusGuardRef:dc.createRef(),onOpenChangeComplete:void 0,triggerElements:new tn},y_),this.unsubscribeParentListener=this.observe("parent",a=>{if(this.unsubscribeParentListener?.(),a.type==="menu"){let o=a.store.select("rootId"),n=a.store.select("floatingTreeRoot"),r=a.store.select("keyboardEventRelay");this.unsubscribeParentListener=a.store.subscribe(()=>{let l=a.store.select("rootId"),s=a.store.select("floatingTreeRoot"),i=a.store.select("keyboardEventRelay");o===l&&n===s&&r===i||(o=l,n=s,r=i,this.notifyAll())}),this.context.allowMouseUpTriggerRef=a.store.context.allowMouseUpTriggerRef;return}a.type!==void 0&&(this.context.allowMouseUpTriggerRef=a.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(t,a){this.state.floatingRootContext.context.events.emit("setOpen",{open:t,eventDetails:a})}static useStore(t,a){let o=ut(()=>new e(a)).current;return t??o}unsubscribeParentListener=null};function S_(){return{...Dp(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new Pr,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:ve,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}var rm=C(k(),1),Ny=rm.createContext(void 0);function lm(){return rm.useContext(Ny)}var By=C(F(),1),sm=cy(function(t){let{children:a,open:o,onOpenChange:n,onOpenChangeComplete:r,defaultOpen:l=!1,disabled:s=!1,modal:i,loopFocus:u=!0,orientation:c="vertical",actionsRef:f,closeParentOnEsc:d=!1,handle:m,triggerId:h,defaultTriggerId:y=null,highlightItemOnHover:S=!0}=t,g=Wo(!0),p=Qe(!0),x=om(!0),b=lm(),L=Lt.useMemo(()=>b&&p?{type:"menu",store:p.store}:x?{type:"menubar",context:x}:g&&!p?{type:"context-menu",context:g}:{type:void 0},[g,p,x,b]),R=ci.useStore(m?.store,{open:l,openProp:o,activeTriggerId:y,triggerIdProp:h,parent:L});MT(R,o,l,y),R.useControlledProp("openProp",o),R.useControlledProp("triggerIdProp",h),R.useContextCallback("onOpenChangeComplete",r);let I=ja(),v=ja(),E=R.useState("floatingTreeRoot"),w=Wu(E),P=ma(),O=R.useState("open"),B=R.useState("activeTriggerElement"),D=R.useState("positionerElement"),M=R.useState("hoverEnabled"),z=R.useState("disabled"),H=R.useState("lastOpenChangeReason"),T=R.useState("parent"),N=R.useState("activeIndex"),A=R.useState("payload"),K=R.useState("floatingParentNodeId"),J=Lt.useRef(null),fe=Lt.useRef(T.type!=="context-menu"),re=St(),X=Lt.useRef(!0),Z=St(),me=K!=null,{openMethod:Q,triggerProps:ee}=yk(O);R.useSyncedValues({disabled:s,highlightItemOnHover:S,modal:T.type===void 0?i:void 0,openMethod:Q,rootId:I}),Mp(R);let{forceUnmount:Ie}=Ap(O,R,()=>{R.update({allowMouseEnter:!1,stickIfOpen:!0})});q(()=>{g&&!p?R.update({parent:{type:"context-menu",context:g},floatingNodeId:w,floatingParentNodeId:P}):p&&R.update({floatingNodeId:w,floatingParentNodeId:P})},[g,p,w,P,R]),Lt.useEffect(()=>{if(O||(J.current=null),T.type==="context-menu"){if(!O){re.clear(),fe.current=!1;return}re.start(500,()=>{fe.current=!0})}},[re,O,T.type]),q(()=>{!O&&!M&&R.set("hoverEnabled",!0)},[O,M,R]);let Te=W((ae,$e)=>{let rt=$e.reason;if(O===ae&&$e.trigger===B&&H===rt)return;let Ft=kT($e);if(!ae&&$e.trigger==null&&($e.trigger=B??void 0),n?.(ae,$e),$e.isCanceled)return;R.state.floatingRootContext.dispatchOpenChange(ae,$e);let sa=$e.event;if(ae===!1&&sa?.type==="click"&&sa.pointerType==="touch"&&!X.current)return;ae&&rt===j.triggerFocus?(X.current=!1,Z.start(300,()=>{X.current=!0})):(X.current=!0,Z.clear());let Oa=(rt===j.triggerPress||rt===j.itemPress)&&sa.detail===0&&sa?.isTrusted,Xl=!ae&&(rt===j.escapeKey||rt==null),Kr={open:ae,openChangeReason:rt};J.current=$e.event??null,Tp(Kr,ae,$e.trigger,Ft()),R.update(Kr),T.type==="menubar"&&(rt===j.triggerFocus||rt===j.focusOut||rt===j.triggerHover||rt===j.listNavigation||rt===j.siblingOpen)?R.set("instantType","group"):Oa||Xl?R.set("instantType",Oa?"click":"dismiss"):R.set("instantType",void 0)}),te=tc({popupStore:R,floatingId:v,nested:P!=null,onOpenChange:Te}),he=te.context.events;Lt.useEffect(()=>{let ae=({open:$e,eventDetails:rt})=>Te($e,rt);return he.on("setOpen",ae),()=>{he?.off("setOpen",ae)}},[he,Te]);let ce=Lt.useCallback(()=>{R.setOpen(!1,ue(j.imperativeAction))},[R]);Lt.useImperativeHandle(f,()=>({unmount:Ie,close:ce}),[Ie,ce]);let ke;T.type==="context-menu"&&(ke=T.context),Lt.useImperativeHandle(ke?.positionerRef,()=>D,[D]),Lt.useImperativeHandle(ke?.actionsRef,()=>({setOpen:Te}),[Te]);let Be=Ju(te,{enabled:!z,bubbles:{escapeKey:d&&T.type==="menu"},outsidePress(){return T.type!=="context-menu"||J.current?.type==="contextmenu"?!0:fe.current},externalTree:me?E:void 0}),de=on(),G=Lt.useCallback(ae=>{R.select("activeIndex")!==ae&&R.set("activeIndex",ae)},[R]),Y=Cy(te,{enabled:!z,listRef:R.context.itemDomElements,activeIndex:N,nested:T.type!==void 0,loopFocus:u,orientation:c,parentOrientation:T.type==="menubar"?T.context.orientation:void 0,rtl:de==="rtl",disabledIndices:co,onNavigate:G,openOnArrowKeyDown:T.type!=="context-menu",externalTree:me?E:void 0,focusItemOnHover:S}),ge=Lt.useCallback(ae=>{R.context.typingRef.current=ae},[R]),be=Ry(te,{enabled:!z,listRef:R.context.itemLabels,elementsRef:R.context.itemDomElements,activeIndex:N,resetMs:500,onMatch:ae=>{O&&ae!==N&&R.set("activeIndex",ae)},onTyping:ge}),Ce=Lt.useMemo(()=>{let ae=jt(be.reference,Y.reference,Be.reference,{onMouseMove(){R.set("allowMouseEnter",!0)}},ee);return ae["aria-haspopup"]="menu",ae["aria-expanded"]=O,ae},[R,be.reference,Y.reference,Be.reference,ee,O]),Zt=Lt.useMemo(()=>{let ae=jt(Y.trigger,Be.trigger,ee);return ae["aria-haspopup"]="menu",ae["aria-expanded"]=!1,ae},[Y.trigger,Be.trigger,ee]),U=Lt.useMemo(()=>jt(Ep,{id:v,role:"menu","aria-labelledby":B?.id,onMouseMove(){R.set("allowMouseEnter",!0),T.type==="menu"&&R.set("hoverEnabled",!1)},onClick(){R.select("hoverEnabled")&&R.set("hoverEnabled",!1)},onKeyDown(ae){let $e=R.select("keyboardEventRelay");$e&&!ae.isPropagationStopped()&&$e(ae)}},be.floating,Y.floating,Be.floating),[B,v,T.type,R,be.floating,Y.floating,Be.floating]),V=Y.item??ve;Op(R,{floatingRootContext:te,activeTriggerProps:Ce,inactiveTriggerProps:Zt,popupProps:U,itemProps:V});let Me=Lt.useMemo(()=>({store:R,parent:L}),[R,L]),$=(0,By.jsx)(db.Provider,{value:Me,children:typeof a=="function"?a({payload:A}):a});return T.type===void 0||T.type==="context-menu"?(0,By.jsx)(Kb,{externalTree:E,children:$}):$});var Sk=C(k(),1);var Fy=C(F(),1);function Ck(e){let t=Qe().store,a=Sk.useMemo(()=>({parentMenu:t}),[t]);return(0,Fy.jsx)(Ny.Provider,{value:a,children:(0,Fy.jsx)(sm,{...e})})}var na=C(k(),1);function Rk(e){let t=e.getBoundingClientRect(),a=Xe(e);if(at.env.jsdom)return t;let o=a.getComputedStyle(e,"::before"),n=a.getComputedStyle(e,"::after");if(!(o.content!=="none"||n.content!=="none"))return t;let l=parseFloat(o.width)||0,s=parseFloat(o.height)||0,i=parseFloat(n.width)||0,u=parseFloat(n.height)||0,c=Math.max(t.width,l,i),f=Math.max(t.height,s,u),d=c-t.width,m=f-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-m/2,bottom:t.bottom+m/2}}var vk=C(k(),1);function Lk(e={}){let{highlightItemOnHover:t,highlightedIndex:a,onHighlightedIndexChange:o}=Gs(),{ref:n,index:r}=mo(e),l=a===r,s=vk.useRef(null),i=La(n,s);return{compositeProps:{tabIndex:l?0:-1,onFocus(){o(r)},onMouseMove(){let c=s.current;if(!t||!c)return;let f=c.hasAttribute("disabled")||c.ariaDisabled==="true";!l&&!f&&c.focus()}},compositeRef:i,index:r}}function im(e){let{render:t,className:a,style:o,state:n=ve,props:r=co,refs:l=co,metadata:s,stateAttributesMapping:i,tag:u="div",...c}=e,{compositeProps:f,compositeRef:d}=Lk({metadata:s});return se(u,e,{state:n,ref:[...l,d],props:[f,...r,c],stateAttributesMapping:i})}function _y(e){if(De(e)&&e.hasAttribute("data-rootownerid"))return e.getAttribute("data-rootownerid")??void 0;if(!Xa(e))return _y(Ya(e))}var Ik=C(k(),1),zy=C(fn(),1);function wk(e,t){let a=Ik.useRef(null);function o(r){zy.flushSync(()=>{e.setOpen(!1,ue(j.focusOut,r.nativeEvent,r.currentTarget))}),gE(a.current)?.focus()}function n(r){let l=e.select("positionerElement");if(l&&_n(r,l))e.context.beforeContentFocusGuardRef.current?.focus();else{zy.flushSync(()=>{e.setOpen(!1,ue(j.focusOut,r.nativeEvent,r.currentTarget))});let s=mE(e.context.triggerFocusTargetRef.current||t.current);for(;s!==null&&ie(l,s);){let i=s;if(s=$s(s),s===i)break}s?.focus()}}return{preFocusGuardRef:a,handlePreFocusGuardFocus:o,handleFocusTargetFocus:n}}var um=C(k(),1);function Ek(e){let{enabled:t=!0,mouseDownAction:a,open:o}=e,n=um.useRef(!1);return um.useMemo(()=>t?{onMouseDown:r=>{(a==="open"&&!o||a==="close"&&o)&&(n.current=!0,xe(r.currentTarget).addEventListener("click",()=>{n.current=!1},{once:!0}))},onClick:r=>{n.current&&(n.current=!1,r.preventBaseUIHandler())}}:ve,[t,a,o])}var Hr=C(F(),1),cm=2,Tk=vT(function(t,a){let{render:o,className:n,style:r,disabled:l=!1,nativeButton:s=!0,id:i,openOnHover:u,delay:c=100,closeDelay:f=0,handle:d,payload:m,...h}=t,y=Qe(!0),S=d?.store??y?.store;if(!S)throw new Error(Re(85));let g=ot(i),p=S.useState("isTriggerActive",g),x=S.useState("floatingRootContext"),b=S.useState("isOpenedByTrigger",g),L=S.useState("triggerPopupId",g),R=na.useRef(null),I=R_(),v=Gs(!0),E=ta(),w=na.useMemo(()=>E??new Pr,[E]),P=Wu(w),O=ma(),{registerTrigger:B,isMountedByThisTrigger:D}=kp(g,R,S,{payload:m,closeDelay:f,parent:I,floatingTreeRoot:w,floatingNodeId:P,floatingParentNodeId:O,keyboardEventRelay:v?.relayKeyboardEvent}),M=I.type==="menubar",z=S.useState("disabled"),H=l||z||M&&I.context.disabled,{getButtonProps:T,buttonRef:N}=da({disabled:H,native:s});na.useEffect(()=>{!b&&I.type===void 0&&(S.context.allowMouseUpTriggerRef.current=!1)},[S,b,I.type]);let A=na.useRef(null),K=St(),J=W(Y=>{if(!A.current)return;K.clear(),S.context.allowMouseUpTriggerRef.current=!1;let ge=Y.target;if(ie(A.current,ge)||ie(S.select("positionerElement"),ge)||ge===A.current||ge!=null&&_y(ge)===S.select("rootId"))return;let be=Rk(A.current);Y.clientX>=be.left-cm&&Y.clientX<=be.right+cm&&Y.clientY>=be.top-cm&&Y.clientY<=be.bottom+cm||w.events.emit("close",{domEvent:Y,reason:j.cancelOpen})});na.useEffect(()=>{b&&S.select("lastOpenChangeReason")===j.triggerHover&&xe(A.current).addEventListener("mouseup",J,{once:!0})},[b,J,S]);let fe=M&&I.context.hasSubmenuOpen,X=oc(x,{enabled:(u??fe)&&!H&&I.type!=="context-menu"&&(!M||fe&&!D),handleClose:nc({blockPointerEvents:!M}),mouseOnly:!0,move:!1,restMs:I.type===void 0?c:void 0,delay:{close:f},triggerElementRef:R,externalTree:w,isActiveTrigger:p,isClosing:()=>S.select("transitionStatus")==="ending"}),Z=C_(b,S.select("lastOpenChangeReason")),me=Fl(x,{enabled:!H&&I.type!=="context-menu",event:b&&M?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:I.type===void 0?Z:!1}),Q=hy(x,{enabled:!H&&fe}),ee=Ek({open:b,enabled:M,mouseDownAction:"open"}),Ie=na.useMemo(()=>jt(Q.reference,me.reference),[Q.reference,me.reference]),Te=S.useState("triggerProps",D),{preFocusGuardRef:te,handlePreFocusGuardFocus:he,handleFocusTargetFocus:ce}=wk(S,R),ke={disabled:H,open:b},Be=[A,a,N,B,R],de=[Ie,X??ve,Te,{"aria-haspopup":"menu","aria-controls":L,id:g,onMouseDown:Y=>{if(S.select("open"))return;K.start(200,()=>{S.context.allowMouseUpTriggerRef.current=!0}),xe(Y.currentTarget).addEventListener("mouseup",J,{once:!0})}},M?{role:"menuitem"}:{},ee,h,T],G=se("button",t,{enabled:!M,stateAttributesMapping:mb,state:ke,ref:Be,props:de});return M?(0,Hr.jsx)(im,{tag:"button",render:o,className:n,style:r,state:ke,refs:Be,props:de,stateAttributesMapping:mb}):b?(0,Hr.jsxs)(na.Fragment,{children:[(0,Hr.jsx)(Fn,{ref:te,onFocus:he},`${g}-pre-focus-guard`),(0,Hr.jsx)(na.Fragment,{children:G},g),(0,Hr.jsx)(Fn,{ref:S.context.triggerFocusTargetRef,onFocus:ce},`${g}-post-focus-guard`)]}):(0,Hr.jsx)(na.Fragment,{children:G},g)});function C_(e,t){let a=St(),[o,n]=na.useState(!1);return q(()=>{e&&t==="trigger-hover"?(n(!0),a.start(500,()=>{n(!1)})):e||(a.clear(),n(!1))},[e,t,a]),o}function R_(){let e=Wo(!0),t=Qe(!0),a=om(!0);return na.useMemo(()=>a?{type:"menubar",context:a}:e&&!t?{type:"context-menu",context:e}:{type:void 0},[e,t,a])}var Fk=C(k(),1);var ra=C(k(),1),Pk=C(fn(),1);var kk=C(k(),1);function Mk(e){let[t,a]=kk.useState({current:e,previous:null});return e!==t.current&&a({current:e,previous:t.current}),t.previous}var fi=C(k(),1);function Uy(e){let t=Mt(e),a=parseFloat(t.width)||0,o=parseFloat(t.height)||0,n=De(e),r=n?e.offsetWidth:a,l=n?e.offsetHeight:o;return(Or(a)!==r||Or(o)!==l)&&(a=r,o=l),{width:a,height:o}}function Ok(e){let{popupElement:t,positionerElement:a,content:o,mounted:n,onMeasureLayout:r,onMeasureLayoutComplete:l,side:s,direction:i}=e,u=Tr(t,!0,!1),c=Ka(),f=fi.useRef(null),d=fi.useRef(!0),m=fi.useRef(Ve),h=W(r),y=W(l),S=fi.useMemo(()=>{let g=s==="top",p=s==="left";return i==="rtl"?(g=g||s==="inline-end",p=p||s==="inline-end"):(g=g||s==="inline-start",p=p||s==="inline-start"),g?{position:"absolute",[s==="top"?"bottom":"top"]:"0",[p?"right":"left"]:"0"}:ve},[s,i]);q(()=>{if(!n){m.current=Ve,d.current=!0,f.current=null;return}if(!t||!a)return;m.current=Ak(t,S),Hy(t,"auto");let g=dm(t,"position","static"),p=dm(t,"transform","none"),x=dm(t,"scale","1"),b=Ak(a,{"--available-width":"max-content","--available-height":"max-content"});function L(){g(),p(),b()}function R(){L(),x()}if(h?.(),d.current||f.current===null){fm(a,"max-content");let w=Uy(t);return f.current=w,fm(a,w),R(),y?.(null,w),d.current=!1,()=>{m.current(),m.current=Ve}}fm(a,"max-content");let I=f.current,v=Uy(t);f.current=v,Hy(t,I),R(),y?.(I,v),fm(a,v);let E=new AbortController;return c.request(()=>{Hy(t,v),u(()=>{t.style.setProperty("--popup-width","auto"),t.style.setProperty("--popup-height","auto")},E.signal)}),()=>{E.abort(),c.cancel(),m.current(),m.current=Ve}},[o,t,a,u,c,n,h,y,S])}function dm(e,t,a){let o=e.style.getPropertyValue(t);return e.style.setProperty(t,a),()=>{e.style.setProperty(t,o)}}function Ak(e,t){let a=[];for(let[o,n]of Object.entries(t))a.push(dm(e,o,n));return a.length?()=>{a.forEach(o=>o())}:Ve}function Hy(e,t){let a=t==="auto"?"auto":`${t.width}px`,o=t==="auto"?"auto":`${t.height}px`;e.style.setProperty("--popup-width",a),e.style.setProperty("--popup-height",o)}function fm(e,t){let a=t==="max-content"?"max-content":`${t.width}px`,o=t==="max-content"?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",a),e.style.setProperty("--positioner-height",o)}var di=C(F(),1);function Nk(e){let{store:t,side:a,cssVars:o,children:n}=e,r=on(),l=t.useState("activeTriggerElement"),s=t.useState("activeTriggerId"),i=t.useState("open"),u=t.useState("payload"),c=t.useState("mounted"),f=t.useState("popupElement"),d=t.useState("positionerElement"),m=Mk(i?l:null),h=I_(s,u),y=ra.useRef(null),[S,g]=ra.useState(null),[p,x]=ra.useState(null),b=ra.useRef(null),L=ra.useRef(null),R=Tr(b,!0,!1),I=Ka(),[v,E]=ra.useState(null),[w,P]=ra.useState(!1);q(()=>(t.set("hasViewport",!0),()=>{t.set("hasViewport",!1)}),[t]);let O=W(()=>{b.current?.style.setProperty("animation","none"),b.current?.style.setProperty("transition","none"),L.current?.style.setProperty("display","none")}),B=W(T=>{b.current?.style.removeProperty("animation"),b.current?.style.removeProperty("transition"),L.current?.style.removeProperty("display"),T&&E(T)}),D=ra.useRef(null);q(()=>{(!i||!c)&&(D.current=null)},[i,c]),q(()=>{if(l&&m&&l!==m&&D.current!==l&&y.current){g(y.current),P(!0);let T=L_(m,l);x(T),I.request(()=>{Pk.flushSync(()=>{P(!1)}),R(()=>{g(null),E(null),y.current=null})}),D.current=l}},[l,m,S,R,I]),q(()=>{let T=b.current;if(!T)return;let N=xe(T).createElement("div");for(let A of Array.from(T.childNodes))N.appendChild(A.cloneNode(!0));y.current=N});let M=S!=null,z;M?z=(0,di.jsxs)(ra.Fragment,{children:[(0,di.jsx)("div",{"data-previous":!0,inert:ii(!0),ref:L,style:{...v?{[o.popupWidth]:`${v.width}px`,[o.popupHeight]:`${v.height}px`}:null,position:"absolute"},"data-ending-style":w?void 0:""},"previous"),(0,di.jsx)("div",{"data-current":!0,ref:b,"data-starting-style":w?"":void 0,children:n},h)]}):z=(0,di.jsx)("div",{"data-current":!0,ref:b,children:n},h),q(()=>{let T=L.current;!T||!S||T.replaceChildren(...Array.from(S.childNodes))},[S]),Ok({popupElement:f,positionerElement:d,mounted:c,content:u,onMeasureLayout:O,onMeasureLayoutComplete:B,side:a,direction:r});let H={activationDirection:v_(p),transitioning:M};return{children:z,state:H}}function v_(e){if(e)return`${Dk(e.horizontal,5,"right","left")} ${Dk(e.vertical,5,"down","up")}`}function Dk(e,t,a,o){return e>t?a:e<-t?o:""}function L_(e,t){let a=e.getBoundingClientRect(),o=t.getBoundingClientRect(),n={x:a.left+a.width/2,y:a.top+a.height/2},r={x:o.left+o.width/2,y:o.top+o.height/2};return{horizontal:r.x-n.x,vertical:r.y-n.y}}function I_(e,t){let[a,o]=ra.useState(0),n=ra.useRef(e),r=ra.useRef(t),l=ra.useRef(!1);return q(()=>{let s=n.current,i=r.current,u=e!==s,c=t!==i;u?(o(f=>f+1),l.current=!c):l.current&&c&&(o(f=>f+1),l.current=!1),n.current=e,r.current=t},[e,t]),`${e??"current"}-${a}`}var Bk=(function(e){return e.popupWidth="--popup-width",e.popupHeight="--popup-height",e})({});var w_={activationDirection:e=>e?{"data-activation-direction":e}:null},_k=Fk.forwardRef(function(t,a){let{render:o,className:n,style:r,children:l,...s}=t,{store:i}=Qe(),{side:u}=Jt(),c=i.useState("instantType"),{children:f,state:d}=Nk({store:i,side:u,cssVars:Bk,children:l}),m={activationDirection:d.activationDirection,transitioning:d.transitioning,instant:c};return se("div",t,{state:m,ref:a,props:[s,{children:f}],stateAttributesMapping:w_})});var zk=C(k(),1);var Uk=zk.forwardRef(function(t,a){let{className:o,render:n,orientation:r="horizontal",style:l,...s}=t;return se("div",t,{state:{orientation:r},ref:a,props:[{role:"separator","aria-orientation":r},s]})});var Un=C(k(),1);function Hk(e){return e==null||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true"}var qk=Un.forwardRef(function(t,a){let{render:o,className:n,style:r,label:l,id:s,nativeButton:i=!1,openOnHover:u=!0,delay:c=100,closeDelay:f=0,disabled:d=!1,...m}=t,h=mo({label:l}),y=Jt(),{store:S}=Qe(),g=ot(s),p=S.useState("open"),x=S.useState("floatingRootContext"),b=S.useState("floatingTreeRoot"),L=S.useState("triggerPopupId",g),R=dy(g,S),I=Un.useCallback(me=>{let Q=R(me);return me!==null&&S.select("open")&&S.select("activeTriggerId")==null&&S.update({activeTriggerId:g,activeTriggerElement:me,closeDelay:f}),Q},[R,f,S,g]),v=Un.useRef(null),E=Un.useCallback(me=>{v.current=me,S.set("activeTriggerElement",me)},[S]),w=lm();if(!w?.parentMenu)throw new Error(Re(37));S.useSyncedValue("closeDelay",f);let P=w.parentMenu,O=S.useState("disabled"),B=P.useState("disabled"),D=d||O||B,M=P.useState("itemProps"),z=P.useState("isActive",h.index),H=Un.useMemo(()=>({type:"submenu-trigger",setActive(){P.select("highlightItemOnHover")&&P.set("activeIndex",h.index)}}),[P,h.index]),{getItemProps:T,itemRef:N}=wr({closeOnClick:!1,disabled:D,highlighted:z,id:g,store:S,typingRef:P.context.typingRef,nativeButton:i,itemMetadata:H,nodeId:y?.context.nodeId}),A=S.useState("hoverEnabled"),K=oc(x,{enabled:A&&u&&!D,handleClose:nc({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:c,delay:{open:c,close:f},shouldOpen:c>0?()=>P.select("allowMouseEnter"):void 0,triggerElementRef:v,externalTree:b,isClosing:()=>S.select("transitionStatus")==="ending"}),fe=Fl(x,{enabled:!D,event:"mousedown",toggle:!u,ignoreMouse:u,stickIfOpen:!1}).reference??ve,re=S.useState("triggerProps",!0);return delete re.id,se("div",t,{state:{disabled:D,highlighted:z,open:p},stateAttributesMapping:zd,props:[fe,K,re,M,{"aria-controls":L,tabIndex:p||z?0:-1,onBlur(){z&&P.set("activeIndex",null)}},m,T],ref:[a,h.ref,N,I,E]})});var pc=class{constructor(){this.store=new ci}open(t){let a=t?this.store.context.triggerElements.getById(t):void 0;if(t&&!a)throw new Error(Re(83,t));this.store.setOpen(!0,ue("imperative-action",void 0,a))}close(){this.store.setOpen(!1,ue("imperative-action",void 0,void 0))}get isOpen(){return this.store.select("open")}};function Vk(){return new pc}var mm=C(k());var Gk=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),pm=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var mc=C(k());var Yk={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Xk=(0,mc.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:n="",children:r,iconNode:l,...s},i)=>(0,mc.createElement)("svg",{ref:i,...Yk,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:pm("lucide",n),...s},[...l.map(([u,c])=>(0,mc.createElement)(u,c)),...Array.isArray(r)?r:[r]]));var Ot=(e,t)=>{let a=(0,mm.forwardRef)(({className:o,...n},r)=>(0,mm.createElement)(Xk,{ref:r,iconNode:t,className:pm(`lucide-${Gk(e)}`,o),...n}));return a.displayName=`${e}`,a};var qr=Ot("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var gc=Ot("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var hc=Ot("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var xc=Ot("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var bc=Ot("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var yc=Ot("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);var Sc=Ot("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var Vr=Ot("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);var Cc=Ot("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var Rc=Ot("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var Gr=C(F(),1),E_="relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg:not([class*=\'text-\'])]:text-muted-foreground";function jk(e){return(0,Gr.jsx)(Hn.Root,{"data-slot":"dropdown-menu",...e})}function Kk(e){return(0,Gr.jsx)(Hn.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function Wk({className:e,align:t="end",sideOffset:a=4,...o}){return(0,Gr.jsx)(Hn.Portal,{children:(0,Gr.jsx)(Hn.Positioner,{"data-slot":"dropdown-menu-positioner",className:"z-50",align:t,sideOffset:a,children:(0,Gr.jsx)(Hn.Popup,{"data-slot":"dropdown-menu-content",className:oe("z-50 min-w-[11rem] origin-[var(--transform-origin)] overflow-hidden rounded-md border border-border bg-popover p-1 font-sans text-sm text-popover-foreground shadow-md transition-[opacity,transform] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0",e),...o})})})}function gm({className:e,...t}){return(0,Gr.jsx)(Hn.Item,{"data-slot":"dropdown-menu-item",className:oe(E_,e),...t})}var Pe=C(F(),1),T_={passed:{label:"Passed",glyph:"\\u2713",glyphColor:"text-pass",badgeVariant:"passed",showPill:!1},failed:{label:"Failed",glyph:"\\u2717",glyphColor:"text-fail",badgeVariant:"failed",showPill:!0},skipped:{label:"Skipped",glyph:"\\u25CB",glyphColor:"text-skip",badgeVariant:"skipped",showPill:!0},pending:{label:"Pending",glyph:"\\u25CB",glyphColor:"text-pend",badgeVariant:"pending",showPill:!0}};function Zk({scenario:e,hideTitle:t=!1}){let a=`${e.id}-title`,o=`${e.id}-body`,n=T_[e.status],r=e.planned?"Planned":n.label,l=Pd(),s=l!==null&&!t,i=s?l.isCollapsed(e.id):!1,u=lw();return(0,Pe.jsxs)(cw,{id:e.id,"data-status":e.status,...t?{"aria-label":`${e.title}, ${r}`}:{"aria-labelledby":a},className:"gap-0 py-0",children:[(0,Pe.jsxs)(fw,{className:"px-4 py-3",children:[(0,Pe.jsxs)("div",{className:oe("flex items-start gap-4",t?"justify-end":"justify-between"),children:[t?null:(0,Pe.jsxs)("h3",{id:a,className:"flex items-center gap-2 text-sm font-medium text-foreground",children:[s?(0,Pe.jsx)("button",{type:"button",onClick:()=>l.toggle(e.id),"aria-expanded":!i,"aria-controls":o,"aria-label":`Toggle ${e.title}`,className:"shrink-0 cursor-pointer text-muted-foreground hover:text-foreground",children:(0,Pe.jsx)("span",{"aria-hidden":!0,className:oe("inline-block text-xs transition-transform",!i&&"rotate-90"),children:"\\u25B8"})}):null,(0,Pe.jsx)("span",{"aria-hidden":!0,className:oe("text-sm leading-none",n.glyphColor),children:n.glyph}),(0,Pe.jsx)("span",{children:e.title})]}),(0,Pe.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,Pe.jsx)(Q0,{scenarioId:e.id}),e.durationMs>0?(0,Pe.jsx)("span",{className:"whitespace-nowrap font-mono text-[0.6875rem] text-muted-foreground",children:On(e.durationMs)}):null,n.showPill?(0,Pe.jsx)(Ia,{variant:n.badgeVariant,"aria-label":`Status: ${r}`,children:r}):(0,Pe.jsx)("span",{className:"sr-only",children:`Status: ${r}`}),u?(0,Pe.jsxs)(jk,{children:[(0,Pe.jsx)(Kk,{"aria-label":`Actions for ${e.title}`,className:"cursor-pointer rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground [&_svg]:size-4",children:(0,Pe.jsx)(qr,{"aria-hidden":!0})}),(0,Pe.jsxs)(Wk,{align:"end",children:[(0,Pe.jsxs)(gm,{onClick:()=>u.copyLink(e),children:[(0,Pe.jsx)(hc,{})," Copy link"]}),(0,Pe.jsxs)(gm,{onClick:()=>u.copyMarkdown(e),children:[(0,Pe.jsx)(gc,{})," Copy as Markdown"]}),(0,Pe.jsxs)(gm,{onClick:()=>u.copyPrompt(e),children:[(0,Pe.jsx)(Vr,{})," Explain with AI"]})]})]}):null]})]}),e.tags.length>0||(e.tickets?.length??0)>0?(0,Pe.jsxs)("ul",{"aria-label":"Tags and tickets",className:"flex flex-wrap gap-1.5",children:[e.tags.map(c=>(0,Pe.jsx)("li",{children:(0,Pe.jsx)(Ia,{variant:"tag",children:c})},`tag-${c}`)),(e.tickets??[]).map(c=>(0,Pe.jsx)("li",{children:c.url?(0,Pe.jsx)("a",{href:c.url,target:"_blank",rel:"noreferrer noopener",children:(0,Pe.jsx)(Ia,{variant:"outline",children:c.id})}):(0,Pe.jsx)(Ia,{variant:"outline",children:c.id})},`ticket-${c.id}`))]}):null]}),(0,Pe.jsxs)(dw,{id:o,hidden:i,className:"px-4 pt-0 pb-4",children:[e.errorMessage?(0,Pe.jsx)("pre",{role:"alert",className:"mb-1 overflow-x-auto rounded-md border border-fail-border bg-fail-bg px-4 py-3.5 font-mono text-xs leading-relaxed whitespace-pre-wrap text-fail",children:e.errorMessage}):null,(0,Pe.jsx)(H0,{scenario:e}),(0,Pe.jsx)(B0,{scenario:e}),e.docEntries.length>0?(0,Pe.jsx)("div",{"data-es-docs":!0,className:"mt-3",children:(0,Pe.jsx)(kd,{entries:e.docEntries})}):null,(0,Pe.jsx)(q0,{attachments:e.attachments}),(0,Pe.jsx)(Y0,{spans:e.otelSpans})]})]})}var vc=C(F(),1);function Qk({feature:e}){return(0,vc.jsx)(vc.Fragment,{children:e.scenarios.map(t=>(0,vc.jsx)(Zk,{scenario:t},t.id))})}var It=C(F(),1);function $k({feature:e}){let t=`${e.id}-title`,a=`${e.id}-body`,o=e.summary,n=o.skipped+o.pending,r=Pd(),l=r?.isCollapsed(e.id)??!1;return(0,It.jsxs)("section",{id:e.id,"data-slot":"feature","aria-labelledby":t,className:"flex flex-col gap-3",children:[(0,It.jsxs)("div",{className:"flex items-end justify-between gap-4 border-b border-border pb-2",children:[(0,It.jsxs)("div",{className:"min-w-0",children:[(0,It.jsx)("h2",{id:t,className:"text-base font-semibold tracking-tight text-foreground",children:r?(0,It.jsxs)("button",{type:"button",onClick:()=>r.toggle(e.id),"aria-expanded":!l,"aria-controls":a,className:"flex w-full cursor-pointer items-center gap-2 text-left hover:text-foreground/80",children:[(0,It.jsx)("span",{"aria-hidden":!0,className:oe("shrink-0 text-xs text-muted-foreground transition-transform",!l&&"rotate-90"),children:"\\u25B8"}),(0,It.jsx)("span",{className:"truncate",children:e.title})]}):e.title}),(0,It.jsx)("p",{className:oe("mt-0.5 truncate font-mono text-xs text-muted-foreground",r&&"pl-5"),children:e.sourceFile})]}),(0,It.jsxs)("p",{className:"flex shrink-0 items-center gap-1.5 text-xs text-muted-foreground","aria-label":`${o.passed} passed, ${o.failed} failed, ${n} skipped`,children:[(0,It.jsxs)("span",{children:[o.passed," passed"]}),(0,It.jsx)("span",{"aria-hidden":!0,children:"\\xB7"}),(0,It.jsxs)("span",{className:oe(o.failed>0&&"font-medium text-fail"),children:[o.failed," failed"]}),n>0?(0,It.jsxs)(It.Fragment,{children:[(0,It.jsx)("span",{"aria-hidden":!0,children:"\\xB7"}),(0,It.jsxs)("span",{children:[n," skipped"]})]}):null]})]}),(0,It.jsx)("div",{id:a,hidden:l,className:"flex flex-col gap-3",children:(0,It.jsx)(Qk,{feature:e})})]})}var qy=C(F(),1);function Vy(){let e=Lo();return(0,qy.jsx)("div",{className:"flex flex-col gap-8",children:e.features.map(t=>(0,qy.jsx)($k,{feature:t},t.id))})}var hm=C(F(),1);function Jk({className:e,...t}){return(0,hm.jsx)("div",{"data-slot":"empty",className:oe("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12",e),...t})}function eM({className:e,...t}){return(0,hm.jsx)("div",{"data-slot":"empty-header",className:oe("flex max-w-sm flex-col items-center gap-2 text-center",e),...t})}var FW=br("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*=\'size-\'])]:size-6"}},defaultVariants:{variant:"default"}});function tM({className:e,...t}){return(0,hm.jsx)("div",{"data-slot":"empty-title",className:oe("text-lg font-medium tracking-tight",e),...t})}var xm=C(F(),1);function aM({message:e}){return(0,xm.jsx)(Jk,{"aria-live":"polite",className:"border",children:(0,xm.jsx)(eM,{children:(0,xm.jsx)(tM,{children:e??"No scenarios in this report."})})})}var Yr=C(F(),1);function oM({className:e}){let t=Lo();return(0,Yr.jsx)(M_,{summary:t.summary,...e!==void 0&&{className:e},ariaLabel:"Run summary"})}var k_={total:{num:"text-foreground",dot:"bg-muted-foreground/50"},passed:{num:"text-pass",dot:"bg-pass"},failed:{num:"text-fail",dot:"bg-fail"},skipped:{num:"text-skip",dot:"bg-skip"},pending:{num:"text-pend",dot:"bg-pend"}};function M_({summary:e,className:t,ariaLabel:a}){let o=[{status:"total",label:"Total",value:e.total},{status:"passed",label:"Passed",value:e.passed},{status:"failed",label:"Failed",value:e.failed},{status:"skipped",label:"Skipped",value:e.skipped}];return e.pending>0&&o.push({status:"pending",label:"Pending",value:e.pending}),(0,Yr.jsx)("dl",{className:oe("grid grid-cols-2 gap-3",o.length===5?"sm:grid-cols-5":"sm:grid-cols-4",t),"aria-label":a,children:o.map(n=>{let r=k_[n.status];return(0,Yr.jsxs)("div",{"data-status":n.status,className:"rounded-lg border bg-card px-4 py-3",children:[(0,Yr.jsxs)("dt",{className:"flex items-center gap-1.5 font-mono text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:[(0,Yr.jsx)("span",{className:oe("size-1.5 shrink-0 rounded-full",r.dot),"aria-hidden":"true"}),n.label]}),(0,Yr.jsx)("dd",{className:oe("mt-2 text-3xl font-semibold leading-none tracking-tight tabular-nums",r.num),children:n.value})]},n.status)})})}function nM(e){if(e.finishedAtMs&&e.finishedAtMs>0)return e.finishedAtMs;if(e.startedAtMs&&e.startedAtMs>0)return e.startedAtMs}function rM(e,t){let a=Math.max(0,t-e),o=Math.floor(a/6e4);if(o<1)return"just now";if(o<60)return`${o} minute${o===1?"":"s"} ago`;let n=Math.floor(o/60);if(n<24)return`${n} hour${n===1?"":"s"} ago`;let r=Math.floor(n/24);return`${r} day${r===1?"":"s"} ago`}function lM(e,t,a){return e===void 0||t<=0?!1:a-e>=t*864e5}var A_={github:"GitHub Actions",gitlab:"GitLab CI",circleci:"CircleCI",jenkins:"Jenkins",azure:"Azure DevOps",buildkite:"Buildkite",travis:"Travis CI",ci:"CI"};function Gy(e){return A_[e]??e}function sM(e,t){let a=e?.commitSha??t;if(!e?.url||!a)return;let o=e.url.match(/^(https?:\\/\\/[^/]+\\/[^/]+\\/[^/]+)\\/actions\\/runs\\//);if(o)return`${o[1]}/commit/${a}`;let n=e.url.match(/^(https?:\\/\\/.+)\\/-\\/pipelines\\//);if(n)return`${n[1]}/-/commit/${a}`}function iM(e){if(!e?.url||!e.prNumber)return;let t=e.url.match(/^(https?:\\/\\/[^/]+\\/[^/]+\\/[^/]+)\\/actions\\/runs\\//);if(t)return`${t[1]}/pull/${e.prNumber}`}var bo=C(F(),1);function uM(){let e=Lo(),t=[],a="text-primary underline underline-offset-2";e.startedAtMs&&t.push({label:"Started",value:new Date(e.startedAtMs).toLocaleString()}),e.durationMs&&t.push({label:"Duration",value:On(e.durationMs)}),e.packageVersion&&t.push({label:"Version",value:e.packageVersion}),e.ci?.branch&&t.push({label:"Branch",value:e.ci.branch});let o=e.ci?.commitSha??e.gitSha;if(o){let n=sM(e.ci,e.gitSha),r=o.slice(0,8);t.push({label:"Commit",value:n?(0,bo.jsx)("a",{href:n,target:"_blank",rel:"noreferrer noopener",className:a,children:r}):r})}if(e.ci&&t.push({label:"CI",value:e.ci.url?(0,bo.jsxs)("a",{href:e.ci.url,target:"_blank",rel:"noreferrer noopener",className:a,children:[Gy(e.ci.name),e.ci.buildNumber?` #${e.ci.buildNumber}`:""]}):`${Gy(e.ci.name)}${e.ci.buildNumber?` #${e.ci.buildNumber}`:""}`}),e.ci?.prNumber){let n=iM(e.ci),r=`#${e.ci.prNumber}`;t.push({label:"PR",value:n?(0,bo.jsx)("a",{href:n,target:"_blank",rel:"noreferrer noopener",className:a,children:r}):r})}return t.length===0?null:(0,bo.jsxs)("details",{"data-es-meta-card":!0,className:"es-run-details group rounded-lg border border-border bg-card text-xs",children:[(0,bo.jsxs)("summary",{className:"flex cursor-pointer list-none select-none items-center gap-1.5 px-4 py-2 font-medium text-muted-foreground [&::-webkit-details-marker]:hidden",children:[(0,bo.jsx)("span",{"aria-hidden":!0,className:"text-xs transition-transform group-open:rotate-90",children:"\\u25B8"}),"Run details"]}),(0,bo.jsx)("dl",{className:"flex flex-wrap gap-x-5 gap-y-2 border-t border-border px-4 py-3 text-muted-foreground","aria-label":"Run metadata",children:t.map(n=>(0,bo.jsxs)("div",{className:"flex items-baseline gap-1.5",children:[(0,bo.jsx)("dt",{className:"font-medium",children:n.label}),(0,bo.jsx)("dd",{className:"font-mono text-foreground",children:n.value})]},n.label))})]})}var Po=C(F(),1);function cM({error:e}){return(0,Po.jsxs)("section",{className:"es-schema-error",role:"alert","aria-live":"assertive",children:[(0,Po.jsx)("p",{children:(0,Po.jsx)("strong",{children:"Report could not be displayed."})}),(0,Po.jsx)("p",{children:e.message}),e.code==="SCHEMA_VERSION_MISMATCH"?(0,Po.jsxs)("p",{children:["The report bundle is newer than this version of ",(0,Po.jsx)("code",{children:"executable-stories-react"}),". Upgrade the package, or regenerate the report with an older formatters CLI."]}):null,e.issues&&e.issues.length>0?(0,Po.jsxs)("details",{children:[(0,Po.jsxs)("summary",{children:[e.issues.length," validation issue",e.issues.length===1?"":"s"]}),(0,Po.jsx)("pre",{children:e.issues.slice(0,20).map(t=>`${t.path}: ${t.message}`).join(`\n`)})]}):null]})}var Lc=C(F(),1);function fM({error:e,className:t,title:a,dataTheme:o}){return(0,Lc.jsx)("main",{className:oe("es-report",t),"aria-label":a??"Test report","data-theme":o,children:(0,Lc.jsx)(cM,{error:e})})}var iQ=C(k(),1);var Ec={};Bo(Ec,{Root:()=>RM,Thumb:()=>LM});var Hl=C(k(),1);var bm=C(k(),1),Yy=bm.createContext(void 0);function dM(){let e=bm.useContext(Yy);if(e===void 0)throw new Error(Re(63));return e}var Xy=(function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e})({});var pM={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},pi={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},mM={disabled:!1,...pi},gM={valid(e){return e===null?null:e?{[Xy.valid]:""}:{[Xy.invalid]:""}}};var jy=(function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e})({});var ym={...gM,checked(e){return e?{[jy.checked]:""}:{[jy.unchecked]:""}}};var Sm=C(k(),1);var O_={invalid:void 0,name:void 0,validityData:{state:pM,errors:[],error:"",value:"",initialValue:null},setValidityData:Ve,disabled:void 0,touched:pi.touched,setTouched:Ve,dirty:pi.dirty,setDirty:Ve,filled:pi.filled,setFilled:Ve,focused:pi.focused,setFocused:Ve,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:mM,markedDirtyRef:{current:!1},registerFieldControl:Ve,validation:{getValidationProps:(e,t=ve)=>t,inputRef:{current:null},registerInput:Ve,commit:async()=>{},change:Ve}},D_=Sm.createContext(O_);function Cm(e=!0){let t=Sm.useContext(D_);if(t.setValidityData===Ve&&!e)throw new Error(Re(28));return t}var hM=C(k(),1);function xM(e,t,a,o,n=!0,r){let{registerFieldControl:l}=Cm(),s=hM.useRef(null);s.current||(s.current=Symbol()),q(()=>{let i=s.current;return!i||!n?void 0:(l(i,{controlRef:e,getValue:o,id:t,name:r,value:a}),()=>{l(i,void 0)})},[e,n,o,t,r,l,a])}var Rm=C(k(),1);var P_=Rm.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:Ve,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function bM(){return Rm.useContext(P_)}var vm=C(k(),1);var N_=vm.createContext({controlId:void 0,registerControlId:Ve,labelId:void 0,setLabelId:Ve,messageIds:[],setMessageIds:Ve,getDescriptionProps:e=>e});function Lm(){return vm.useContext(N_)}var yM=C(k(),1);function SM(e,t,a,o=!0,n){let[r,l]=yM.useState(),s=ot(n?`${n}-label`:void 0),i=e??t??r;return q(()=>{let u=e||t||!o?void 0:B_(a.current,s);r!==u&&l(u)}),i}function B_(e,t){let a=F_(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}function F_(e){if(!e)return;let t=e.parentElement;if(t&&t.tagName==="LABEL")return t;let a=e.id;if(a){let n=e.nextElementSibling;if(n&&n.htmlFor===a)return n}let o=e.labels;return o&&o[0]}var Ic=C(k(),1);function CM(e={}){let{id:t,implicit:a=!1,controlRef:o}=e,{controlId:n,registerControlId:r}=Lm(),l=ot(t),s=a?n:void 0,i=ut(()=>Symbol("labelable-control")),u=Ic.useRef(!1),c=Ic.useRef(t!=null),f=W(()=>{!u.current||r===Ve||(u.current=!1,r(i.current,void 0))});return q(()=>{if(r===Ve)return;let d;if(a){let m=o?.current;Se(m)&&m.closest("label")!=null?d=t??null:d=s??l}else if(t!=null)c.current=!0,d=t;else if(c.current)d=l;else{f();return}if(d===void 0){f();return}u.current=!0,r(i.current,d)},[t,o,s,r,a,l,i,f]),Ic.useEffect(()=>f,[f]),n??l}var wc=C(F(),1),RM=Hl.forwardRef(function(t,a){let{checked:o,className:n,defaultChecked:r,"aria-labelledby":l,form:s,id:i,inputRef:u,name:c,nativeButton:f=!1,onCheckedChange:d,readOnly:m=!1,required:h=!1,disabled:y=!1,render:S,uncheckedValue:g,value:p,style:x,...b}=t,{clearErrors:L}=bM(),{state:R,setTouched:I,setDirty:v,validityData:E,setFilled:w,setFocused:P,validationMode:O,disabled:B,name:D,validation:M}=Cm(),{labelId:z}=Lm(),H=B||y,T=D??c,N=Hl.useRef(null),A=La(N,u,M.inputRef),K=Hl.useRef(null),J=ot(),fe=CM({id:i,implicit:!1,controlRef:K}),re=f?void 0:fe,[X,Z]=Zo({controlled:o,default:!!r,name:"Switch",state:"checked"});xM(K,J,X,void 0,!H,c),q(()=>{N.current&&w(N.current.checked)},[N,w]),nm(X,()=>{L(T),v(X!==E.initialValue),w(X),M.change(X)});let{getButtonProps:me,buttonRef:Q}=da({disabled:H,native:f}),ee=SM(l,z,N,!f,re),Ie={id:f?fe:J,role:"switch","aria-checked":X,"aria-readonly":m||void 0,"aria-required":h||void 0,"aria-labelledby":ee,onFocus(){H||P(!0)},onBlur(){let ce=N.current;!ce||H||(I(!0),P(!1),O==="onBlur"&&M.commit(ce.checked))},onClick(ce){if(m||H)return;ce.preventDefault();let ke=N.current;ke&&ke.dispatchEvent(new(Xe(ke)).PointerEvent("click",{bubbles:!0,shiftKey:ce.shiftKey,ctrlKey:ce.ctrlKey,altKey:ce.altKey,metaKey:ce.metaKey}))}},Te=jt({checked:X,disabled:H,form:s,id:re,name:T,required:h,style:T?$w:up,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:A,onChange(ce){if(ce.nativeEvent.defaultPrevented)return;if(m){ce.preventDefault();return}let ke=ce.currentTarget.checked,Be=ue(j.none,ce.nativeEvent);d?.(ke,Be),!Be.isCanceled&&Z(ke)},onFocus(){K.current?.focus()}},ce=>M.getValidationProps(H,ce),p!==void 0?{value:p}:ve),te=Hl.useMemo(()=>({...R,checked:X,disabled:H,readOnly:m,required:h}),[R,X,H,m,h]),he=se("span",t,{state:te,ref:[a,K,Q],props:[Ie,b,me,ce=>M.getValidationProps(H,ce)],stateAttributesMapping:ym});return(0,wc.jsxs)(Yy.Provider,{value:te,children:[he,!X&&T&&g!==void 0&&(0,wc.jsx)("input",{type:"hidden",form:s,name:T,value:g,disabled:H}),(0,wc.jsx)("input",{...Te,suppressHydrationWarning:!0})]})});var vM=C(k(),1);var LM=vM.forwardRef(function(t,a){let{render:o,className:n,style:r,...l}=t,s=dM();return se("span",t,{state:s,ref:a,stateAttributesMapping:ym,props:l})});var Ky=C(F(),1);function Wy({className:e,...t}){return(0,Ky.jsx)(Ec.Root,{"data-slot":"switch",className:oe("peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary data-[unchecked]:bg-input",e),...t,children:(0,Ky.jsx)(Ec.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform data-[checked]:translate-x-[calc(100%-2px)] data-[unchecked]:translate-x-0"})})}var km=C(k(),1);var Tc=C(k(),1);var EM=C(k(),1);var mi=C(k(),1);var IM="data-composite-item-active";var __=[];function wM(e){let{loopFocus:t=!0,orientation:a="both",grid:o,onLoop:n,direction:r,highlightedIndex:l,onHighlightedIndexChange:s,rootRef:i,enableHomeAndEndKeys:u=!1,stopEventPropagation:c=!1,disabledIndices:f,modifierKeys:d=__}=e,[m,h]=mi.useState(0),y=o!=null,S=mi.useRef(null),g=La(S,i),p=mi.useRef([]),x=mi.useRef(!1),b=l??m,L=W((w,P=!1)=>{if((s??h)(w),P){let O=p.current[w];Ey(S.current,O,r,a)}}),R=W(w=>{if(w.size===0||x.current)return;x.current=!0;let P=Array.from(w.keys()),O=P.find(D=>D?.hasAttribute(IM))??null,B=O?P.indexOf(O):-1;if(B!==-1)L(B);else if(Pl(P,b,f)){let D=ho(P,{disabledIndices:f});Dr(P,D)||L(D)}Ey(S.current,O,r,a)});q(()=>{if(f==null||l!=null||!x.current)return;let w=p.current;if(Pl(w,b,f)){let P=ho(w,{disabledIndices:f});Dr(w,P)||L(P)}},[f,l,b,p,L]);let I=W((w,P,O)=>n?n(w,P,O,p):O),v=W(w=>{let P=u?li:Iy;if(!P.has(w.key)||z_(w,d)||!S.current)return;let B=r==="rtl",D=B?rc:lc,M={horizontal:D,vertical:ri,both:D}[a],z=B?lc:rc,H={horizontal:z,vertical:ni,both:z}[a],T=st(w.nativeEvent);if(T!=null&&wy(T)&&!Hk(T)){let X=T.selectionStart,Z=T.selectionEnd,me=T.value??"";if(X==null||w.shiftKey||X!==Z||w.key!==H&&X<me.length||w.key!==M&&X>0)return}let N=b,A=Dl(p,f),K=Zs(p,f);o!=null&&(N=o({disabledIndices:f,elementsRef:p,event:w,highlightedIndex:b,loopFocus:t,maxIndex:K,minIndex:A,onLoop:I,orientation:a,rtl:B}));let J={horizontal:[D],vertical:[ri],both:[D,ri]}[a],fe={horizontal:[z],vertical:[ni],both:[z,ni]}[a],re=y?P:{horizontal:u?UT:vy,vertical:u?HT:Ly,both:P}[a];u&&(w.key===sc?N=A:w.key===ic&&(N=K)),N===b&&(J.includes(w.key)||fe.includes(w.key))&&(t&&N===K&&J.includes(w.key)?(N=A,n&&(N=n(w,b,N,p))):t&&N===A&&fe.includes(w.key)?(N=K,n&&(N=n(w,b,N,p))):N=ho(p.current,{startingIndex:N,decrement:fe.includes(w.key),disabledIndices:f})),N!==b&&!Dr(p.current,N)&&(c&&w.stopPropagation(),re.has(w.key)&&w.preventDefault(),L(N,!0),queueMicrotask(()=>{p.current[N]?.focus()}))});return{props:{ref:g,onFocus(w){let P=S.current,O=st(w.nativeEvent);!P||O==null||!wy(O)||O.setSelectionRange(0,O.value.length??0)},onKeyDown:v},highlightedIndex:b,onHighlightedIndexChange:L,elementsRef:p,disabledIndices:f,onMapChange:R,relayKeyboardEvent:v}}function z_(e,t){for(let a of qT.values())if(!t.includes(a)&&e.getModifierState(a))return!0;return!1}var Zy=C(F(),1);function TM(e){let{render:t,className:a,style:o,refs:n=co,props:r=co,state:l=ve,stateAttributesMapping:s,highlightedIndex:i,onHighlightedIndexChange:u,orientation:c,grid:f,loopFocus:d,onLoop:m,enableHomeAndEndKeys:h,onMapChange:y,stopEventPropagation:S=!0,rootRef:g,disabledIndices:p,modifierKeys:x,highlightItemOnHover:b=!1,tag:L="div",...R}=e,I=on(),{props:v,highlightedIndex:E,onHighlightedIndexChange:w,elementsRef:P,onMapChange:O,relayKeyboardEvent:B}=wM({grid:f,loopFocus:d,onLoop:m,orientation:c,highlightedIndex:i,onHighlightedIndexChange:u,rootRef:g,stopEventPropagation:S,enableHomeAndEndKeys:h,direction:I,disabledIndices:p,modifierKeys:x}),D=se(L,e,{state:l,ref:n,props:[v,...r,R],stateAttributesMapping:s}),M=EM.useMemo(()=>({highlightedIndex:E,onHighlightedIndexChange:w,highlightItemOnHover:b,relayKeyboardEvent:B}),[E,w,b,B]);return(0,Zy.jsx)(bb.Provider,{value:M,children:(0,Zy.jsx)(Wp,{elementsRef:P,onMapChange:z=>{y?.(z),O(z)},children:D})})}var Im=C(k(),1),U_=Im.createContext(void 0);function kM(e){let t=Im.useContext(U_);if(t===void 0&&!e)throw new Error(Re(68));return t}var wm=C(k(),1),Qy=wm.createContext(void 0);function MM(e=!0){let t=wm.useContext(Qy);if(t===void 0&&!e)throw new Error(Re(7));return t}var AM=(function(e){return e.disabled="data-disabled",e.orientation="data-orientation",e.multiple="data-multiple",e})({});var $y=C(F(),1),OM={multiple(e){return e?{[AM.multiple]:""}:null}},Jy=Tc.forwardRef(function(t,a){let{defaultValue:o,disabled:n=!1,loopFocus:r=!0,onValueChange:l,orientation:s="horizontal",multiple:i=!1,value:u,className:c,render:f,style:d,...m}=t,h=Gp(!0),y=kM(!0),S=Tc.useMemo(()=>u!==void 0||o!==void 0,[u,o]),g=(h?.disabled??!1)||(y?.disabled??!1)||n,[p,x]=Zo({controlled:u,default:u===void 0?o??co:void 0,name:"ToggleGroup",state:"value"}),b=W((E,w,P)=>{let O;i?(O=p.slice(),w?O.push(E):O.splice(p.indexOf(E),1)):O=w?[E]:[],l?.(O,P),!P.isCanceled&&x(O)}),L={disabled:g,multiple:i,orientation:s},R=Tc.useMemo(()=>({disabled:g,orientation:s,setGroupValue:b,value:p,isValueInitialized:S}),[g,s,b,p,S]),I={role:"group"},v=se("div",t,{enabled:!!h,state:L,ref:a,props:[I,m],stateAttributesMapping:OM});return(0,$y.jsx)(Qy.Provider,{value:R,children:h?v:(0,$y.jsx)(TM,{render:f,className:c,style:d,state:L,refs:[a],props:[I,m],stateAttributesMapping:OM,loopFocus:r,enableHomeAndEndKeys:!0,orientation:s})})});var Em=C(k(),1);var DM=C(F(),1),eS=Em.forwardRef(function(t,a){let{className:o,defaultPressed:n=!1,disabled:r=!1,form:l,onPressedChange:s,pressed:i,render:u,type:c,value:f,nativeButton:d=!0,style:m,...h}=t,y=ot(f||void 0),S=MM(),g=S?.value??[],p=S?void 0:n,x=(r||S?.disabled)??!1,[b,L]=Zo({controlled:S?y!==void 0&&g.indexOf(y)>-1:i,default:p,name:"Toggle",state:"pressed"}),{getButtonProps:R,buttonRef:I}=da({disabled:x,native:d}),v={disabled:x,pressed:b},E=[I,a],w=[{"aria-pressed":b,onClick(B){let D=!b,M=ue(j.none,B.nativeEvent);s?.(D,M),!M.isCanceled&&(y&&S?.setGroupValue?.(y,D,M),!M.isCanceled&&L(D))}},h,R],P=se("button",t,{enabled:!S,state:v,ref:E,props:w}),O=Em.useMemo(()=>({disabled:x,focusableWhenDisabled:!1}),[x]);return S?(0,DM.jsx)(im,{tag:"button",render:u,className:o,style:m,metadata:O,state:v,refs:E,props:w}):P});var Tm=C(F(),1),H_=br("inline-flex items-center justify-center gap-1.5 rounded-md font-medium whitespace-nowrap text-muted-foreground transition-[color,background-color,box-shadow] outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[pressed]:bg-background data-[pressed]:text-foreground data-[pressed]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4",{variants:{size:{default:"h-9 px-3 text-sm",sm:"h-8 px-2.5 text-[0.82rem]"}},defaultVariants:{size:"default"}}),PM=km.createContext({size:"default"});function NM({className:e,size:t,children:a,...o}){return(0,Tm.jsx)(Jy,{"data-slot":"toggle-group",className:oe("flex w-fit items-center gap-0.5 rounded-lg bg-muted p-0.5",e),...o,children:(0,Tm.jsx)(PM.Provider,{value:{size:t},children:a})})}function BM({className:e,children:t,size:a,...o}){let n=km.useContext(PM);return(0,Tm.jsx)(eS,{"data-slot":"toggle-group-item",className:oe(H_({size:n.size??a}),"flex-1 shrink-0",e),...o,children:t})}var Mm=C(k(),1);var s$=C(k(),1);var _M=C(F(),1);function FM({className:e,type:t,...a}){return(0,_M.jsx)("input",{type:t,"data-slot":"input",className:oe("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...a})}var Xr=C(F(),1),zM=(0,Mm.forwardRef)(function(t,a){let{value:o,onChange:n,matchedCount:r,totalCount:l,placeholder:s="Search scenarios or tags\\u2026",className:i}=t,u=(0,Mm.useId)(),c=o.trim().length>0&&typeof r=="number"&&typeof l=="number";function f(m){n(m.target.value)}function d(m){m.key==="Escape"&&o!==""&&(n(""),m.preventDefault())}return(0,Xr.jsxs)("div",{className:oe("es-search flex flex-col gap-1",i),children:[(0,Xr.jsx)("label",{htmlFor:u,className:"sr-only",children:"Search"}),(0,Xr.jsxs)("div",{className:"relative w-full sm:w-72",children:[(0,Xr.jsx)(Sc,{"aria-hidden":!0,className:"pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground"}),(0,Xr.jsx)(FM,{ref:a,id:u,type:"search",value:o,onChange:f,onKeyDown:d,placeholder:s,autoComplete:"off",spellCheck:!1,"aria-keyshortcuts":"/",className:"pl-8"})]}),c?(0,Xr.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground","aria-live":"polite",children:[r," of ",l," scenarios"]}):null]})});var qM=C(k(),1);var Am={query:"",status:"all",tags:[],detail:"full"},q_=["all","passed","failed","skipped","pending"];function ql(e){let t=e.replace(/^#/,""),a=t.indexOf("?");return a===-1?{anchor:t,params:new URLSearchParams}:{anchor:t.slice(0,a),params:new URLSearchParams(t.slice(a+1))}}function UM(e){let t=e.get("status"),a=e.get("tags");return{query:e.get("q")??Am.query,status:q_.includes(t)?t:Am.status,tags:a?a.split(",").filter(Boolean):[],detail:e.get("docs")==="0"?"minimal":"full"}}function HM(e){let t=new URLSearchParams;return e.query&&t.set("q",e.query),e.status!=="all"&&t.set("status",e.status),e.tags.length>0&&t.set("tags",e.tags.join(",")),e.detail==="minimal"&&t.set("docs","0"),t.toString()}function V_(e,t){return t?`#${e}?${t}`:e?`#${e}`:""}function Om(e,t){if(typeof window>"u")return;let a=V_(e,t);if(a===window.location.hash)return;let o=a||window.location.href.split("#")[0];try{window.history.replaceState(window.history.state,"",o)}catch{window.location.hash=a.slice(1)}}function G_(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function jr(e,t={}){if(typeof document>"u")return;let a=document.getElementById(e);a&&(a.scrollIntoView({behavior:G_()?"auto":"smooth",block:"start"}),t.updateHash!==!1&&Om(e,ql(window.location.hash).params.toString()))}var gi=C(F(),1);function VM({failures:e}){let t=e[0],a=(0,qM.useCallback)(()=>{t&&jr(t.scenarioId)},[t]);return e.length===0?null:(0,gi.jsxs)("div",{className:"es-failure-banner",role:"status","aria-live":"polite","aria-label":"Failure summary",children:[(0,gi.jsxs)("span",{className:"es-failure-banner-text",children:[(0,gi.jsx)("strong",{children:e.length})," ","failure",e.length===1?"":"s"]}),(0,gi.jsx)("button",{type:"button",className:"es-failure-banner-jump",onClick:a,"aria-label":"View first failure",children:"View first failure \\u2193"})]})}var Dm=C(k(),1);var rn=C(F(),1);function GM({lastRunMs:e,ciUrl:t,staleAfterDays:a,nowMs:o}){let[n,r]=(0,Dm.useState)(o);if((0,Dm.useEffect)(()=>{o===void 0&&r(Date.now())},[o]),e===void 0||n===void 0)return null;let l=rM(e,n),s=t?(0,rn.jsx)("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:"underline underline-offset-2",children:"View CI run"}):null;return lM(e,a,n)?(0,rn.jsxs)("div",{className:"es-stale-banner",role:"status","aria-label":"Report freshness",children:[(0,rn.jsxs)("span",{children:[(0,rn.jsxs)("strong",{children:["Last verified ",l,"."]})," This report may no longer match the current behavior. Look for a newer run."]}),s]}):(0,rn.jsxs)("p",{className:"es-freshness","aria-label":"Report freshness",children:["Verified ",l,s?(0,rn.jsxs)(rn.Fragment,{children:[" \\xB7 ",s]}):null]})}var la=C(F(),1),tS=5;function YM({scenarios:e,tone:t}){return(0,la.jsxs)(la.Fragment,{children:[e.slice(0,tS).map((a,o)=>(0,la.jsxs)("span",{children:[o>0?", ":"",(0,la.jsx)("a",{href:`#${a.id}`,className:oe("underline underline-offset-2 hover:no-underline",t),children:a.title})]},a.id)),e.length>tS?(0,la.jsxs)("span",{children:[" and ",e.length-tS," more"]}):null]})}function XM({history:e,report:t}){if(!e)return null;let a=t.features.flatMap(s=>s.scenarios.map(i=>({id:i.id,title:i.title}))),o=Z0(e,a);if(!o)return null;let{newlyFailing:n,newlyPassing:r,added:l}=o;return n.length===0&&r.length===0&&l.length===0?(0,la.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"es-last-run-delta",children:"Since last run: no behavior changes."}):(0,la.jsxs)("p",{className:"text-xs text-muted-foreground","data-testid":"es-last-run-delta",children:[(0,la.jsx)("span",{className:"font-medium text-foreground",children:"Since last run:"}),n.length>0?(0,la.jsxs)("span",{className:"ml-2 text-fail",children:[n.length," newly failing (",(0,la.jsx)(YM,{scenarios:n,tone:"text-fail"}),")"]}):null,r.length>0?(0,la.jsxs)("span",{className:"ml-2 text-pass",children:[r.length," fixed (",(0,la.jsx)(YM,{scenarios:r,tone:"text-pass"}),")"]}):null,l.length>0?(0,la.jsxs)("span",{className:"ml-2",children:[l.length," new"]}):null]})}var Pm=C(k(),1);var L$=C(k(),1);var Y_=br("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,background-color,border-color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*=\'size-\'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*=\'size-\'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function jM({className:e,variant:t="default",size:a="default",render:o,...n}){return xd({defaultTagName:"button",render:o,props:{"data-slot":"button","data-variant":t,"data-size":a,className:oe(Y_({variant:t,size:a,className:e})),...n}})}var ga=C(F(),1),X_=[{keys:"/",description:"Focus search"},{keys:"f",description:"Jump to next failure"},{keys:"Shift F",description:"Jump to previous failure"},{keys:"e",description:"Expand all"},{keys:"c",description:"Collapse all"},{keys:"?",description:"Toggle this help"},{keys:"Esc",description:"Clear search / close"}];function j_({keys:e}){let t=e.split(" ");return(0,ga.jsx)("span",{className:"inline-flex items-center gap-1",children:t.map((a,o)=>(0,ga.jsxs)("span",{className:"inline-flex items-center gap-1",children:[o>0?(0,ga.jsx)("span",{className:"text-xs text-muted-foreground",children:"+"}):null,(0,ga.jsx)("kbd",{className:"inline-flex h-6 min-w-6 items-center justify-center rounded border border-border bg-muted px-1.5 font-mono text-xs font-medium text-muted-foreground",children:a})]},a))})}function KM({open:e,onClose:t}){let a=(0,Pm.useRef)(null);return(0,Pm.useEffect)(()=>{let o=a.current;o&&(e&&!o.open?o.showModal():!e&&o.open&&o.close())},[e]),(0,ga.jsxs)("dialog",{ref:a,className:"es-shortcuts-help m-auto w-[min(90vw,28rem)] rounded-lg border border-border bg-card p-6 text-card-foreground shadow-lg [overscroll-behavior:contain] backdrop:bg-black/40","aria-label":"Keyboard shortcuts",onClose:t,children:[(0,ga.jsx)("h2",{className:"text-base font-semibold",children:"Keyboard shortcuts"}),(0,ga.jsx)("dl",{className:"mt-4 grid grid-cols-[auto_1fr] items-center gap-x-4 gap-y-2.5",children:X_.map(o=>(0,ga.jsxs)("div",{className:"col-span-2 grid grid-cols-subgrid items-center",children:[(0,ga.jsx)("dt",{className:"justify-self-start",children:(0,ga.jsx)(j_,{keys:o.keys})}),(0,ga.jsx)("dd",{className:"text-sm text-muted-foreground",children:o.description})]},o.keys))}),(0,ga.jsx)("form",{method:"dialog",className:"mt-6",children:(0,ga.jsx)(jM,{type:"submit",variant:"outline",size:"sm",children:"Close"})})]})}var Nm=C(k(),1);function K_(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function WM(e){let t=(0,Nm.useRef)(e);t.current=e,(0,Nm.useEffect)(()=>{function a(o){let n=t.current;if(o.key==="Escape"){n.onEscape?.();return}if(!K_(o.target)&&!(o.metaKey||o.ctrlKey||o.altKey))switch(o.key){case"/":n.onFocusSearch?.(),o.preventDefault();return;case"?":n.onToggleHelp?.(),o.preventDefault();return;case"f":n.onNextFailure?.(),o.preventDefault();return;case"F":n.onPrevFailure?.(),o.preventDefault();return;case"e":n.onExpandAll?.(),o.preventDefault();return;case"c":n.onCollapseAll?.(),o.preventDefault();return;default:return}}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[])}var Bm=C(k(),1);function ZM(){let e=(0,Bm.useRef)(null);(0,Bm.useEffect)(()=>{function t(){let{anchor:a}=ql(window.location.hash);!a||a===e.current||(e.current=a,requestAnimationFrame(()=>{jr(a,{updateHash:!1})}))}return t(),window.addEventListener("hashchange",t),()=>window.removeEventListener("hashchange",t)},[])}function W_(e){return e.trim().toLowerCase()}function QM(e){let t=new Set;for(let a of e.features)for(let o of a.scenarios)for(let n of o.tags)t.add(n);return[...t]}function Z_(e,t){if(t===""||e.title.toLowerCase().includes(t))return!0;for(let a of e.tags)if(a.toLowerCase().includes(t))return!0;for(let a of e.steps)if(a.text.toLowerCase().includes(t))return!0;return!1}function Q_(e,t,a,o){return a!=="all"&&e.status!==a||o.length>0&&!o.some(n=>e.tags.includes(n))?!1:Z_(e,t)}function $_(e){let t=0,a=0,o=0,n=0,r=0,l=0;for(let s of e)t+=1,l+=s.durationMs,s.status==="passed"?a+=1:s.status==="failed"?o+=1:s.status==="skipped"?n+=1:r+=1;return{total:t,passed:a,failed:o,skipped:n,pending:r,durationMs:l}}function $M(e,t){let a=typeof t=="string"?{query:t}:t,o=W_(a.query??""),n=a.status??"all",r=a.tags??[];if(o===""&&n==="all"&&r.length===0)return e;let l=[],s=0,i=0,u=0,c=0,f=0,d=0;for(let m of e.features){let h=m.scenarios.filter(S=>Q_(S,o,n,r));if(h.length===0)continue;let y=$_(h);l.push({...m,summary:y,scenarios:h}),s+=y.total,i+=y.passed,u+=y.failed,c+=y.skipped,f+=y.pending,d+=y.durationMs}return{...e,summary:{total:s,passed:i,failed:u,skipped:c,pending:f,durationMs:d},features:l}}function JM(e){let t=[];for(let a of e.features)for(let o of a.scenarios)if(o.status==="failed"){let n={featureId:a.id,scenarioId:o.id,scenarioTitle:o.title};o.errorMessage!==void 0&&(n.errorMessage=o.errorMessage),t.push(n)}return t}function aS(e){return e==="failed"}function eA(e){let t=new Set;if(e.summary.failed===0)return t;for(let a of e.features){a.scenarios.some(n=>aS(n.status))||t.add(a.id);for(let n of a.scenarios)aS(n.status)||t.add(n.id)}return t}function tA(e){if(e.summary.failed===0)return e;let t=[],a=[];for(let o of e.features)(o.scenarios.some(n=>aS(n.status))?t:a).push(o);return t.length===0?e:{...e,features:[...t,...a]}}var aA=C(k(),1);var yo=C(F(),1),Fm=12;function oA({statuses:e,status:t,onStatus:a,tags:o,activeTags:n,onToggleTag:r}){let[l,s]=(0,aA.useState)(!1);if(e.length===0&&o.length===0)return null;let i=o.length>Fm&&!l,u=i?o.slice(0,Fm):o;return(0,yo.jsxs)("div",{className:"flex flex-col gap-2",children:[e.length>0?(0,yo.jsx)("div",{role:"group","aria-label":"Filter by status",className:"flex flex-wrap gap-1",children:e.map(c=>{let f=t===c.key;return(0,yo.jsxs)("button",{type:"button","aria-pressed":f,onClick:()=>a(f&&c.key!=="all"?"all":c.key),className:oe("cursor-pointer rounded-md border px-2 py-1 text-xs transition-colors",f?"border-primary bg-primary text-primary-foreground":"border-border text-muted-foreground hover:bg-muted hover:text-foreground"),children:[c.label,(0,yo.jsx)("span",{className:"ml-1 font-mono opacity-70",children:c.count})]},c.key)})}):null,o.length>0?(0,yo.jsxs)("ul",{"aria-label":"Filter by tag",className:"flex flex-wrap items-center gap-1.5",children:[u.map(c=>{let f=n.includes(c);return(0,yo.jsx)("li",{children:(0,yo.jsx)("button",{type:"button","aria-pressed":f,onClick:()=>r(c),className:"cursor-pointer",children:(0,yo.jsx)(Ia,{variant:"tag",className:oe(f&&"border-primary bg-primary text-primary-foreground"),children:c})})},c)}),o.length>Fm?(0,yo.jsx)("li",{children:(0,yo.jsx)("button",{type:"button","aria-expanded":l,onClick:()=>s(c=>!c),className:"cursor-pointer rounded-full px-2 py-0.5 text-xs font-medium text-muted-foreground hover:text-foreground",children:i?`+${o.length-Fm} more`:"Show fewer"})}):null]}):null]})}var hi=C(k(),1);var Za=C(F(),1),J_={passed:"bg-pass",failed:"bg-fail",skipped:"bg-skip",pending:"bg-pend"};function oS({onNavigate:e}){let t=Lo(),[a,o]=(0,hi.useState)(null),n=(0,hi.useMemo)(()=>t.features.flatMap(r=>r.scenarios.map(l=>l.id)),[t]);return(0,hi.useEffect)(()=>{if(typeof IntersectionObserver>"u")return;let r=n.map(s=>document.getElementById(s)).filter(s=>s!==null);if(r.length===0)return;let l=new IntersectionObserver(s=>{let i=s.filter(u=>u.isIntersecting).sort((u,c)=>u.boundingClientRect.top-c.boundingClientRect.top);i[0]&&o(i[0].target.id)},{rootMargin:"-8% 0px -80% 0px"});return r.forEach(s=>l.observe(s)),()=>l.disconnect()},[n]),t.features.length===0?null:(0,Za.jsx)("ul",{className:"flex list-none flex-col gap-4 pl-0",children:t.features.map(r=>(0,Za.jsxs)("li",{children:[(0,Za.jsx)("p",{className:"mb-1.5 font-semibold leading-snug text-foreground",children:r.title}),(0,Za.jsx)("ul",{className:"flex list-none flex-col gap-0.5 pl-0",children:r.scenarios.map(l=>{let s=a===l.id;return(0,Za.jsx)("li",{children:(0,Za.jsxs)("a",{href:`#${l.id}`,onClick:i=>{i.preventDefault(),jr(l.id,{updateHash:!0}),e?.()},"aria-current":s?"true":void 0,className:oe("flex items-start gap-2 border-l-2 py-1 pl-2.5 leading-snug hover:text-foreground",s?"border-primary font-medium text-foreground":"border-border text-muted-foreground"),children:[(0,Za.jsx)("span",{"aria-hidden":!0,className:oe("mt-1 size-1.5 shrink-0 rounded-full",J_[l.status])}),(0,Za.jsx)("span",{className:"break-words",children:l.title})]})},l.id)})})]},r.id))})}function nA(){return Lo().features.length===0?null:(0,Za.jsxs)("nav",{"aria-label":"Table of contents",className:"sticky top-4 hidden h-fit w-64 shrink-0 self-start text-xs lg:block",children:[(0,Za.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Contents"}),(0,Za.jsx)(oS,{})]})}var MA=C(k(),1);var ln={};Bo(ln,{Backdrop:()=>lA,Close:()=>iA,Description:()=>cA,Handle:()=>Oc,Popup:()=>gA,Portal:()=>xA,Root:()=>vA,Title:()=>EA,Trigger:()=>TA,Viewport:()=>IA,createHandle:()=>kA});var rA=C(k(),1);var kc=C(k(),1),_m=kc.createContext(!1),nS=kc.createContext(void 0);function Ht(e){let t=kc.useContext(nS);if(e===!1&&t===void 0)throw new Error(Re(27));return t}var ez={...Ea,...po},lA=rA.forwardRef(function(t,a){let{render:o,className:n,style:r,forceRender:l=!1,...s}=t,{store:i}=Ht(),u=i.useState("open"),c=i.useState("nested"),f=i.useState("mounted"),d=i.useState("transitionStatus");return se("div",t,{state:{open:u,transitionStatus:d},ref:[i.context.backdropRef,a],stateAttributesMapping:ez,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},s],enabled:l||!c})});var sA=C(k(),1);var iA=sA.forwardRef(function(t,a){let{render:o,className:n,style:r,disabled:l=!1,nativeButton:s=!0,...i}=t,{store:u}=Ht(),c=u.useState("open"),{getButtonProps:f,buttonRef:d}=da({disabled:l,native:s}),m={disabled:l};function h(y){c&&u.setOpen(!1,ue(j.closePress,y.nativeEvent))}return se("button",t,{state:m,ref:[a,d],props:[{onClick:h},i,f]})});var uA=C(k(),1);var cA=uA.forwardRef(function(t,a){let{render:o,className:n,style:r,id:l,...s}=t,{store:i}=Ht(),u=ot(l);return i.useSyncedValueWithCleanup("descriptionElementId",u),se("p",t,{ref:a,props:[{id:u},s]})});var pA=C(k(),1);var fA=(function(e){return e.nestedDialogs="--nested-dialogs",e})({});var dA=(function(e){return e[e.open=Ga.open]="open",e[e.closed=Ga.closed]="closed",e[e.startingStyle=Ga.startingStyle]="startingStyle",e[e.endingStyle=Ga.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});var zm=C(k(),1),rS=zm.createContext(void 0);function Um(){let e=zm.useContext(rS);if(e===void 0)throw new Error(Re(26));return e}var mA=C(F(),1),tz={...Ea,...po,nestedDialogOpen(e){return e?{[dA.nestedDialogOpen]:""}:null}},gA=pA.forwardRef(function(t,a){let{render:o,className:n,style:r,finalFocus:l,initialFocus:s,...i}=t,{store:u}=Ht(),c=u.useState("descriptionElementId"),f=u.useState("disablePointerDismissal"),d=u.useState("floatingRootContext"),m=u.useState("popupProps"),h=u.useState("modal"),y=u.useState("mounted"),S=u.useState("nested"),g=u.useState("nestedOpenDialogCount"),p=u.useState("open"),x=u.useState("openMethod"),b=u.useState("titleElementId"),L=u.useState("transitionStatus"),R=u.useState("role"),I=d.useState("floatingId"),v=i.id??I;Um(),Jo({open:p,ref:u.context.popupRef,onComplete(){p&&u.context.onOpenChangeComplete?.(!0)}});let E=s===void 0?ET(u.context.popupRef):s,w=g>0,P=u.useStateSetter("popupElement"),B=se("div",t,{state:{open:p,nested:S,transitionStatus:L,nestedDialogOpen:w},props:[m,{id:v,"aria-labelledby":b??void 0,"aria-describedby":c??void 0,role:R,...Ep,hidden:!y,onKeyDown(D){li.has(D.key)&&D.stopPropagation()},style:{[fA.nestedDialogs]:g}},i],ref:[a,u.context.popupRef,P],stateAttributesMapping:tz});return(0,mA.jsx)(Qu,{context:d,openInteractionType:x,disabled:!y,closeOnFocusOut:!f,initialFocus:E,returnFocus:l,modal:h!==!1,restoreFocus:"popup",children:B})});var hA=C(k(),1);var Mc=C(F(),1),xA=hA.forwardRef(function(t,a){let{keepMounted:o=!1,...n}=t,{store:r}=Ht(),l=r.useState("mounted"),s=r.useState("modal"),i=r.useState("open");return l||o?(0,Mc.jsx)(rS.Provider,{value:o,children:(0,Mc.jsxs)(Ku,{ref:a,...n,children:[l&&s===!0&&(0,Mc.jsx)(Zp,{ref:r.context.internalBackdropRef,inert:ii(!i)}),t.children]})}):null});var RA=C(k(),1);var SA=C(k(),1);var qn=C(k(),1);function bA(e){let{store:t,actionsRef:a}=e,o=t.useState("open");AT(t,o),Mp(t);let{forceUnmount:n}=Ap(o,t),r=qn.useCallback(()=>{t.setOpen(!1,ue(j.imperativeAction))},[t]);qn.useImperativeHandle(a,()=>({unmount:n,close:r}),[n,r])}function yA({store:e,parentContext:t,isDrawer:a}){let o=e.useState("open"),n=e.useState("disablePointerDismissal"),r=e.useState("modal"),l=e.useState("popupElement"),s=e.useState("floatingRootContext"),[i,u]=qn.useState(0),[c,f]=qn.useState(0),d=i===0,m=Ju(s,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?"intentional":{mouse:r==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(g){if(!e.context.outsidePressEnabledRef.current||"button"in g&&g.button!==0||"touches"in g&&g.touches.length!==1)return!1;let p=st(g);return d&&!n?r&&(e.context.internalBackdropRef.current||e.context.backdropRef.current)?e.context.internalBackdropRef.current===p||e.context.backdropRef.current===p||ie(p,l)&&!p?.hasAttribute("data-base-ui-portal"):!0:!1},escapeKey:d});Qp(o&&r===!0,l),e.useContextCallback("onNestedDialogOpen",(g,p)=>{u(g),f(p)}),e.useContextCallback("onNestedDialogClose",()=>{u(0),f(0)}),qn.useEffect(()=>(t?.onNestedDialogOpen&&o&&t.onNestedDialogOpen(i+1,c+(a?1:0)),t?.onNestedDialogClose&&!o&&t.onNestedDialogClose(),()=>{t?.onNestedDialogClose&&o&&t.onNestedDialogClose()}),[a,o,i,c,t]);let h=m.reference??ve,y=m.trigger??ve,S=m.floating??ve;return Op(e,{activeTriggerProps:h,inactiveTriggerProps:y,popupProps:S,nestedOpenDialogCount:i,nestedOpenDrawerCount:c}),null}var Hm=C(k(),1);var az={...Pp,modal:pe(e=>e.modal),nested:pe(e=>e.nested),nestedOpenDialogCount:pe(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:pe(e=>e.nestedOpenDrawerCount),disablePointerDismissal:pe(e=>e.disablePointerDismissal),openMethod:pe(e=>e.openMethod),descriptionElementId:pe(e=>e.descriptionElementId),titleElementId:pe(e=>e.titleElementId),viewportElement:pe(e=>e.viewportElement),role:pe(e=>e.role)},xi=class e extends Fr{constructor(t,a,o=!1){let n=new tn,r=oz(t);r.floatingRootContext=PT(n,a,o),super(r,{popupRef:Hm.createRef(),backdropRef:Hm.createRef(),internalBackdropRef:Hm.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:n,onOpenChange:void 0,onOpenChangeComplete:void 0},az)}setOpen=(t,a)=>{if(a.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!t&&a.trigger==null&&this.state.activeTriggerId!=null&&(a.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(t,a),a.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(t,a);let o={open:t};Tp(o,t,a.trigger),this.update(o)};static useStore(t,a){return TT(t,(n,r)=>new e(a,n,r),!0).store}};function oz(e={}){return{...Dp(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}var Ac=C(F(),1);function CA(e,t="dialog"){let{children:a,open:o,defaultOpen:n=!1,onOpenChange:r,onOpenChangeComplete:l,disablePointerDismissal:s=!1,modal:i=!0,actionsRef:u,handle:c,triggerId:f,defaultTriggerId:d=null}=e,m=t==="drawer",h=t==="alert-dialog",y=h?!0:i,S=h||s,g=h?"alertdialog":"dialog",p=Ht(!0),b={modal:y,disablePointerDismissal:S,nested:!!p,role:g},L=xi.useStore(c?.store,{open:n,openProp:o,activeTriggerId:d,triggerIdProp:f,...b});vp(()=>{let P=o===void 0&&L.state.open===!1&&n===!0?{open:!0,activeTriggerId:d}:null;h?L.update(P?{...b,...P}:b):P&&L.update(P)}),L.useControlledProp("openProp",o),L.useControlledProp("triggerIdProp",f),L.useSyncedValues(b),L.useContextCallback("onOpenChange",r),L.useContextCallback("onOpenChangeComplete",l);let R=L.useState("open"),I=L.useState("mounted"),v=L.useState("payload");bA({store:L,actionsRef:u});let E=R||I,w=SA.useMemo(()=>({store:L}),[L]);return(0,Ac.jsx)(_m.Provider,{value:!1,children:(0,Ac.jsxs)(nS.Provider,{value:w,children:[E&&(0,Ac.jsx)(yA,{store:L,parentContext:p?.store.context,isDrawer:m}),typeof a=="function"?a({payload:v}):a]})})}function vA(e){let t=RA.useContext(_m)?"drawer":"dialog";return CA(e,t)}var LA=C(k(),1);var lS=(function(e){return e[e.open=Ga.open]="open",e[e.closed=Ga.closed]="closed",e[e.startingStyle=Ga.startingStyle]="startingStyle",e[e.endingStyle=Ga.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});var nz={...Ea,...po,nested(e){return e?{[lS.nested]:""}:null},nestedDialogOpen(e){return e?{[lS.nestedDialogOpen]:""}:null}},IA=LA.forwardRef(function(t,a){let{render:o,className:n,style:r,children:l,...s}=t,i=Um(),{store:u}=Ht(),c=u.useState("open"),f=u.useState("nested"),d=u.useState("transitionStatus"),m=u.useState("nestedOpenDialogCount"),h=u.useState("mounted"),y=u.useStateSetter("viewportElement"),S=m>0;return se("div",t,{enabled:i||h,state:{open:c,nested:f,transitionStatus:d,nestedDialogOpen:S},ref:[a,y],stateAttributesMapping:nz,props:[{role:"presentation",hidden:!h,style:{pointerEvents:c?void 0:"none"},children:l},s]})});var wA=C(k(),1);var EA=wA.forwardRef(function(t,a){let{render:o,className:n,style:r,id:l,...s}=t,{store:i}=Ht(),u=ot(l);return i.useSyncedValueWithCleanup("titleElementId",u),se("h2",t,{ref:a,props:[{id:u},s]})});var qm=C(k(),1);var TA=qm.forwardRef(function(t,a){let{render:o,className:n,style:r,disabled:l=!1,nativeButton:s=!0,id:i,payload:u,handle:c,...f}=t,d=Ht(!0),m=c?.store??d?.store;if(!m)throw new Error(Re(79));let h=ot(i),y=m.useState("floatingRootContext"),S=m.useState("isOpenedByTrigger",h),g=m.useState("triggerPopupId",h),p=qm.useRef(null),{registerTrigger:x,isMountedByThisTrigger:b}=kp(h,p,m,{payload:u}),{getButtonProps:L,buttonRef:R}=da({disabled:l,native:s}),I=Fl(y,{enabled:y!=null}),v=Py(()=>m.select("open"),P=>{m.set("openMethod",P)}),E={disabled:l,open:S},w=m.useState("triggerProps",b);return se("button",t,{state:E,ref:[R,a,x,p],props:[I.reference,w,v,{[xp]:"",id:h,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":g},f,L],stateAttributesMapping:zd})});var Oc=class{constructor(t){this.store=t??new xi}open(t){let a=t?this.store.context.triggerElements.getById(t):void 0;this.store.setOpen(!0,ue(j.imperativeAction,void 0,a))}openWithPayload(t){this.store.set("payload",t),this.store.setOpen(!0,ue(j.imperativeAction,void 0,void 0))}close(){this.store.setOpen(!1,ue(j.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function kA(){return new Oc}var Qa=C(F(),1);function AA(){let e=Lo(),[t,a]=(0,MA.useState)(!1);return e.features.length===0?null:(0,Qa.jsxs)(ln.Root,{open:t,onOpenChange:a,children:[(0,Qa.jsxs)(ln.Trigger,{className:"flex cursor-pointer items-center gap-1 rounded-md border border-border px-2 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground lg:hidden [&_svg]:size-3.5",children:[(0,Qa.jsx)(xc,{"aria-hidden":!0})," Contents"]}),(0,Qa.jsxs)(ln.Portal,{children:[(0,Qa.jsx)(ln.Backdrop,{className:"fixed inset-0 z-50 bg-black/50 transition-opacity duration-200 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0"}),(0,Qa.jsxs)(ln.Popup,{className:"fixed inset-y-0 left-0 z-50 flex w-72 max-w-[80vw] flex-col gap-3 overflow-y-auto border-r border-border bg-background p-4 font-sans text-xs shadow-lg outline-none transition-transform duration-200 data-[ending-style]:-translate-x-full data-[starting-style]:-translate-x-full",children:[(0,Qa.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Qa.jsx)(ln.Title,{className:"text-xs font-semibold tracking-wide text-muted-foreground uppercase",children:"Contents"}),(0,Qa.jsx)(ln.Close,{"aria-label":"Close contents",className:"cursor-pointer rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground [&_svg]:size-4",children:(0,Qa.jsx)(Rc,{"aria-hidden":!0})})]}),(0,Qa.jsx)(oS,{onNavigate:()=>a(!1)})]})]})]})}var Vl=C(k(),1),OA="es-theme";function rz(){return typeof matchMedia<"u"&&matchMedia("(prefers-color-scheme: dark)").matches}function lz(e){return e==="system"?rz()?"dark":"light":e}function sS(e){typeof document<"u"&&document.documentElement.setAttribute("data-theme",lz(e))}function sz(){if(typeof localStorage<"u"){let e=localStorage.getItem(OA);if(e==="light"||e==="dark"||e==="system")return e}return"system"}function DA(){let[e,t]=(0,Vl.useState)("system");(0,Vl.useEffect)(()=>{let o=sz();t(o),sS(o)},[]),(0,Vl.useEffect)(()=>{if(typeof matchMedia>"u")return;let o=matchMedia("(prefers-color-scheme: dark)"),n=()=>{e==="system"&&sS("system")};return o.addEventListener("change",n),()=>o.removeEventListener("change",n)},[e]);let a=(0,Vl.useCallback)(o=>{t(o),sS(o);try{localStorage.setItem(OA,o)}catch{}},[]);return{pref:e,setPref:a}}var Vn=C(k(),1);var iz=250;function PA(){let[e,t]=(0,Vn.useState)(Am),a=(0,Vn.useRef)(!1);(0,Vn.useEffect)(()=>{let n=()=>t(UM(ql(window.location.hash).params));return n(),a.current=!0,window.addEventListener("hashchange",n),()=>window.removeEventListener("hashchange",n)},[]),(0,Vn.useEffect)(()=>{if(!a.current)return;let n=setTimeout(()=>Om(ql(window.location.hash).anchor,HM(e)),iz);return()=>clearTimeout(n)},[e]);let o=(0,Vn.useCallback)(n=>t(r=>({...r,...n})),[]);return[e,o]}var Le=C(F(),1);function NA(e){let{report:t,className:a,title:o,dataTheme:n}=e,r=eI(t);return r.ok?(0,Le.jsx)(fz,{...e,report:r.data}):(0,Le.jsx)(fM,{error:r.error,className:a,title:o,dataTheme:n})}var uz=[{value:"light",label:"Light",Icon:Cc},{value:"system",label:"System",Icon:bc},{value:"dark",label:"Dark",Icon:yc}];function cz({pref:e,onPref:t}){return(0,Le.jsx)(NM,{size:"sm",value:[e],onValueChange:a=>{let o=a[0];o&&t(o)},"aria-label":"Color theme",children:uz.map(({value:a,label:o,Icon:n})=>(0,Le.jsx)(BM,{value:a,"aria-label":o,title:o,className:"px-2",children:(0,Le.jsx)(n,{})},a))})}function fz({report:e,customRenderers:t,renderers:a,className:o,title:n,dataTheme:r,hideHeader:l=!1,hideToc:s=!1,staleAfterDays:i=7,scenarioHistory:u}){let[c,f]=PA(),{query:d,status:m,tags:h,detail:y}=c,S=(0,qe.useCallback)(G=>f({query:G}),[f]),g=(0,qe.useCallback)(G=>f({status:G}),[f]),p=(0,qe.useCallback)(G=>f({detail:G}),[f]),[x,b]=(0,qe.useState)(!1),{pref:L,setPref:R}=DA(),I=(0,qe.useRef)(null),v=(0,qe.useId)(),E=(0,qe.useId)(),w=(0,qe.useDeferredValue)(d),P=(0,qe.useMemo)(()=>JM(e),[e]),O=(0,qe.useMemo)(()=>tA($M(e,{query:w,status:m,tags:h})),[e,w,m,h]),B=d!==w,D=(0,qe.useMemo)(()=>{let G=e.summary,Y=[{key:"all",label:"All",count:G.total}];return G.passed&&Y.push({key:"passed",label:"Passed",count:G.passed}),G.failed&&Y.push({key:"failed",label:"Failed",count:G.failed}),G.skipped&&Y.push({key:"skipped",label:"Skipped",count:G.skipped}),G.pending&&Y.push({key:"pending",label:"Pending",count:G.pending}),Y},[e]),M=(0,qe.useMemo)(()=>QM(e),[e]),z=(0,qe.useCallback)(G=>f({tags:h.includes(G)?h.filter(Y=>Y!==G):[...h,G]}),[h,f]),[H,T]=(0,qe.useState)(null),N=(0,qe.useRef)(null),A=(0,qe.useCallback)(G=>{T(G),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>T(null),1800)},[]),K=(0,qe.useCallback)((G,Y)=>{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText(G).then(()=>A(Y),()=>A("Copy failed"))},[A]),J=(0,qe.useMemo)(()=>({copyLink:G=>K(uw(G),"Link copied"),copyMarkdown:G=>K(sw(G),"Markdown copied"),copyPrompt:G=>K(iw(G),"Prompt copied")}),[K]),fe=(0,qe.useRef)(0),re=(0,qe.useMemo)(()=>e.features.flatMap(G=>[G.id,...G.scenarios.map(Y=>Y.id)]),[e]),X=tw((0,qe.useCallback)(()=>eA(e),[e])),Z=(0,qe.useCallback)(()=>X.collapseAll(re),[X,re]),[me,Q]=(0,qe.useState)(()=>e.summary.failed===0),ee=(0,qe.useCallback)(G=>{G?X.expandAll():Z(),Q(G)},[X,Z]),Ie=(0,qe.useCallback)(()=>{I.current?.focus()},[]),Te=(0,qe.useCallback)(G=>{if(P.length===0)return;fe.current=(fe.current+G+P.length)%P.length;let Y=P[fe.current];Y&&jr(Y.scenarioId)},[P]),te=(0,qe.useCallback)(()=>{b(G=>!G)},[]),he=(0,qe.useCallback)(()=>{x?b(!1):d!==""&&S("")},[x,d]);WM({onFocusSearch:Ie,onNextFailure:()=>Te(1),onPrevFailure:()=>Te(-1),onToggleHelp:te,onEscape:he,onExpandAll:()=>ee(!0),onCollapseAll:()=>ee(!1)}),ZM();let ce=O.features.length>0,ke=e.summary.total,Be=O.summary.total,de=!s&&ke>3;return(0,Le.jsx)(J0,{value:X.api,children:(0,Le.jsx)(rw,{value:J,children:(0,Le.jsx)(j0,{value:u??null,children:(0,Le.jsx)(ZI,{report:O,customRenderers:t,renderers:a,children:(0,Le.jsxs)("main",{className:oe("es-report","es-report-interactive",o),"aria-label":n??"Test report","aria-busy":B,"data-theme":r,"data-detail-level":y,children:[(0,Le.jsxs)("header",{className:"es-report-header",children:[(0,Le.jsxs)("div",{"data-es-navbar":!0,className:oe("flex flex-wrap items-center gap-4",l?"justify-end":"justify-between"),children:[l?null:(0,Le.jsx)("h1",{className:"min-w-0",children:n??"Story Report"}),(0,Le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Le.jsx)(zM,{ref:I,value:d,onChange:S,matchedCount:Be,totalCount:ke}),(0,Le.jsx)(cz,{pref:L,onPref:R})]})]}),l?null:(0,Le.jsxs)(Le.Fragment,{children:[(0,Le.jsx)(oM,{}),(0,Le.jsx)(uM,{})]}),(0,Le.jsx)(GM,{lastRunMs:nM(e),ciUrl:e.ci?.url,staleAfterDays:i}),(0,Le.jsx)(XM,{history:u,report:e}),(0,Le.jsx)(oA,{statuses:D,status:m,onStatus:g,tags:M,activeTags:h,onToggleTag:z}),(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-border/60 pt-3",children:[de?(0,Le.jsx)(AA,{}):null,(0,Le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Le.jsx)(Wy,{id:v,checked:me,onCheckedChange:ee}),(0,Le.jsx)("label",{htmlFor:v,className:"cursor-pointer text-sm text-muted-foreground select-none",children:"Expand all"})]}),(0,Le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Le.jsx)(Wy,{id:E,checked:y==="full",onCheckedChange:G=>p(G?"full":"minimal")}),(0,Le.jsx)("label",{htmlFor:E,className:"cursor-pointer text-sm text-muted-foreground select-none",children:"Show documentation"})]})]})]}),(0,Le.jsx)(VM,{failures:P}),ce?de?(0,Le.jsxs)("div",{className:"flex gap-6",children:[(0,Le.jsx)(nA,{}),(0,Le.jsx)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:(0,Le.jsx)(Vy,{})})]}):(0,Le.jsx)("div",{className:"flex flex-col gap-4",children:(0,Le.jsx)(Vy,{})}):(0,Le.jsx)(aM,{message:d?"No scenarios match the search.":void 0}),(0,Le.jsx)("button",{type:"button",className:"es-shortcuts-trigger fixed right-4 bottom-4 z-40 flex size-9 items-center justify-center rounded-full border border-border bg-card text-muted-foreground shadow-sm transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/50","aria-label":"Keyboard shortcuts","aria-keyshortcuts":"?",onClick:te,children:"?"}),(0,Le.jsx)(KM,{open:x,onClose:()=>b(!1)}),H?(0,Le.jsx)("div",{role:"status","aria-live":"polite",className:"fixed bottom-4 left-1/2 -translate-x-1/2 rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background shadow-lg",children:H}):null]})})})})})}var Yl=C(k(),1);var Gl=C(k(),1);var sn=C(F(),1);function dz(e){let t=e?.closest("[data-theme]");return t?.dataset.theme==="dark"?!0:t?.dataset.theme==="light"?!1:typeof window<"u"&&!!window.matchMedia?.("(prefers-color-scheme: dark)").matches}function BA({entry:e,load:t}){let a=(0,Gl.useRef)(null),[o,n]=(0,Gl.useState)(null),[r,l]=(0,Gl.useState)(null);return(0,Gl.useEffect)(()=>{let s=!1,i=async()=>{let f;try{f=await t()}catch{s||(n(null),l(null));return}try{f.initialize({startOnLoad:!1,securityLevel:"strict",theme:dz(a.current)?"dark":"default"}),await f.parse(e.code);let d=`es-mermaid-${Math.random().toString(36).slice(2)}`,{svg:m}=await f.render(d,e.code);s||(n(m),l(null))}catch(d){s||(n(null),l(d instanceof Error?d.message:String(d)))}};i();let u=a.current?.closest("[data-theme]"),c=u?new MutationObserver(()=>{i()}):void 0;return c?.observe(u,{attributes:!0,attributeFilter:["data-theme"]}),()=>{s=!0,c?.disconnect()}},[e.code,t]),o?(0,sn.jsxs)("figure",{ref:a,className:"my-3",children:[e.title?(0,sn.jsx)("figcaption",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:e.title}):null,(0,sn.jsx)("div",{role:"img","aria-label":e.title??"Mermaid diagram",className:"overflow-x-auto rounded-md border border-border bg-card p-3 [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:o}})]}):(0,sn.jsxs)(sn.Fragment,{children:[r?(0,sn.jsxs)("p",{role:"alert","data-es-mermaid-error":!0,className:"mt-3 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:["Diagram failed to render: ",r]}):null,(0,sn.jsx)(ab,{entry:e,ref:a})]})}var Vm=C(F(),1),pz="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/es/highlight.min.js",mz="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";function FA(e){let t;return()=>(t??=import(e).then(a=>a.default??a),t)}var gz=FA(mz),hz=FA(pz);function xz({entry:e}){let[t,a]=(0,Yl.useState)(null);return(0,Yl.useEffect)(()=>{let o=!1;return(async()=>{try{let n=await hz(),r=e.lang&&n.getLanguage(e.lang)?e.lang:void 0,l=r?n.highlight(e.content,{language:r,ignoreIllegals:!0}):n.highlightAuto(e.content);o||a(l.value)}catch{o||a(null)}})(),()=>{o=!0}},[e.content,e.lang]),(0,Vm.jsx)(Iu,{label:e.label,children:t!==null?(0,Vm.jsx)("code",{className:oe("hljs font-mono text-xs",e.lang&&`language-${e.lang}`),dangerouslySetInnerHTML:{__html:t}}):(0,Vm.jsx)("code",{className:oe("font-mono text-xs",e.lang&&`language-${e.lang}`),children:e.content})})}function _A(e){let t={};return e.mermaid&&(t.mermaid=a=>(0,Yl.createElement)(BA,{entry:a,load:gz})),e.syntaxHighlighting&&(t.code=a=>(0,Yl.createElement)(xz,{entry:a})),t}function zA(e){if(e===null||typeof e!="object")return Px({message:"Expected a StoryReport object.",code:"INVALID_INPUT"});let t=e.schemaVersion;if(typeof t=="string"){let a=t.split(".")[0];if(a!==String(1))return Px({message:`Schema major ${a} is not supported by this version of executable-stories-react (expected ${1}.x). Upgrade the package.`,code:"SCHEMA_VERSION_MISMATCH"})}return Dx(e)}var yz="es-report-root",Sz="es-report-data",Cz="es-report-history";function Rz(){let e=document.getElementById(Cz);if(e?.textContent)try{let t=JSON.parse(e.textContent);return typeof t!="object"||t===null||Array.isArray(t)?void 0:t}catch{return}}function iS(){let e=document.getElementById(yz),t=document.getElementById(Sz);if(!e||!t?.textContent)return;let a;try{a=JSON.parse(t.textContent)}catch{return}let o=zA(a),n=e.getAttribute("data-title")??void 0,r=_A({syntaxHighlighting:e.getAttribute("data-es-syntax")!=="false",mermaid:e.getAttribute("data-es-mermaid")!=="false"}),l=e.getAttribute("data-es-stale-days"),s=l===null?Number.NaN:Number(l),i=Number.isFinite(s)&&s>=0?s:7;(0,HA.createRoot)(e).render((0,UA.createElement)(NA,{report:o,title:n,renderers:r,staleAfterDays:i,scenarioHistory:Rz()}))}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",iS):iS());return JA(vz);})();\n/*! Bundled license information:\n\nreact/cjs/react.production.js:\n (**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.js:\n (**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.js:\n (**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom-client.production.js:\n (**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.js:\n (**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nuse-sync-external-store/cjs/use-sync-external-store-shim.production.js:\n (**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nuse-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js:\n (**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/ellipsis.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/link.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/monitor.js:\nlucide-react/dist/esm/icons/moon.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/sparkles.js:\nlucide-react/dist/esm/icons/sun.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';
|
|
1786
973
|
|
|
1787
|
-
//
|
|
1788
|
-
|
|
1789
|
-
return scenarioLine2 + 1 + stepIndex;
|
|
1790
|
-
}
|
|
1791
|
-
function createLineContext() {
|
|
1792
|
-
return { currentLine: 1 };
|
|
1793
|
-
}
|
|
1794
|
-
function advancePastFeature(_ctx) {
|
|
1795
|
-
return { currentLine: 3 };
|
|
1796
|
-
}
|
|
1797
|
-
function advancePastScenario(ctx, stepsCount) {
|
|
1798
|
-
const scenarioLine2 = ctx.currentLine;
|
|
1799
|
-
const newLine = scenarioLine2 + 1 + stepsCount + 1;
|
|
1800
|
-
return [scenarioLine2, { currentLine: newLine }];
|
|
1801
|
-
}
|
|
974
|
+
// src/index.ts
|
|
975
|
+
import { canonicalizeRun as canonicalizeRun2 } from "executable-stories-core/converters/acl/index";
|
|
1802
976
|
|
|
1803
977
|
// src/formatters/cucumber-json.ts
|
|
978
|
+
import { generateFeatureId, generateScenarioId } from "executable-stories-core/converters/acl/ids";
|
|
979
|
+
import { createLineContext, advancePastFeature, advancePastScenario, generateStepLine } from "executable-stories-core/converters/acl/lines";
|
|
1804
980
|
var CucumberJsonFormatter = class {
|
|
1805
981
|
options;
|
|
1806
982
|
constructor(options = {}) {
|
|
@@ -2188,6 +1364,7 @@ ${doc.markdown}`,
|
|
|
2188
1364
|
};
|
|
2189
1365
|
|
|
2190
1366
|
// src/formatters/story-report-json.ts
|
|
1367
|
+
import { toStoryReport } from "executable-stories-core/converters/story-report";
|
|
2191
1368
|
var StoryReportJsonFormatter = class {
|
|
2192
1369
|
options;
|
|
2193
1370
|
constructor(options = {}) {
|
|
@@ -2204,85 +1381,9 @@ var StoryReportJsonFormatter = class {
|
|
|
2204
1381
|
}
|
|
2205
1382
|
};
|
|
2206
1383
|
|
|
2207
|
-
// ../executable-stories-core/dist/explainer.js
|
|
2208
|
-
import { createHash as createHash2 } from "crypto";
|
|
2209
|
-
var SCENARIO_HASH_PATTERN = /^[0-9a-f]{16}$/;
|
|
2210
|
-
function scenarioContentHash(scenario) {
|
|
2211
|
-
const canonical = JSON.stringify({
|
|
2212
|
-
title: scenario.title,
|
|
2213
|
-
steps: scenario.steps.map((step) => ({ keyword: step.keyword, text: step.text }))
|
|
2214
|
-
});
|
|
2215
|
-
return createHash2("sha256").update(canonical).digest("hex").slice(0, 16);
|
|
2216
|
-
}
|
|
2217
|
-
function explainerRefFromFrontmatter(value) {
|
|
2218
|
-
if (typeof value !== "object" || value === null) return void 0;
|
|
2219
|
-
const obj = value;
|
|
2220
|
-
if (obj.version !== 1 || !Array.isArray(obj.scenarios)) return void 0;
|
|
2221
|
-
const scenarios = [];
|
|
2222
|
-
for (const entry of obj.scenarios) {
|
|
2223
|
-
if (typeof entry !== "object" || entry === null) return void 0;
|
|
2224
|
-
const s = entry;
|
|
2225
|
-
if (typeof s.id !== "string" || s.id.length === 0) return void 0;
|
|
2226
|
-
if (typeof s.hash !== "string" || !SCENARIO_HASH_PATTERN.test(s.hash)) return void 0;
|
|
2227
|
-
scenarios.push({
|
|
2228
|
-
id: s.id,
|
|
2229
|
-
title: typeof s.title === "string" ? s.title : void 0,
|
|
2230
|
-
hash: s.hash
|
|
2231
|
-
});
|
|
2232
|
-
}
|
|
2233
|
-
if (scenarios.length === 0) return void 0;
|
|
2234
|
-
return {
|
|
2235
|
-
version: 1,
|
|
2236
|
-
generated: typeof obj.generated === "string" ? obj.generated : void 0,
|
|
2237
|
-
runId: typeof obj.runId === "string" ? obj.runId : void 0,
|
|
2238
|
-
commit: typeof obj.commit === "string" ? obj.commit : void 0,
|
|
2239
|
-
branch: typeof obj.branch === "string" ? obj.branch : void 0,
|
|
2240
|
-
scenarios
|
|
2241
|
-
};
|
|
2242
|
-
}
|
|
2243
|
-
function checkExplainerRef(ref, currentScenarios) {
|
|
2244
|
-
const byId = /* @__PURE__ */ new Map();
|
|
2245
|
-
const byTitle = /* @__PURE__ */ new Map();
|
|
2246
|
-
for (const scenario of currentScenarios) {
|
|
2247
|
-
byId.set(scenario.id, scenario);
|
|
2248
|
-
const list = byTitle.get(scenario.title) ?? [];
|
|
2249
|
-
list.push(scenario);
|
|
2250
|
-
byTitle.set(scenario.title, list);
|
|
2251
|
-
}
|
|
2252
|
-
const scenarios = ref.scenarios.map(
|
|
2253
|
-
(scenarioRef) => checkOne(scenarioRef, byId, byTitle)
|
|
2254
|
-
);
|
|
2255
|
-
const status = scenarios.every((s) => s.status === "ok") ? "fresh" : "stale";
|
|
2256
|
-
return { status, scenarios };
|
|
2257
|
-
}
|
|
2258
|
-
function checkOne(ref, byId, byTitle) {
|
|
2259
|
-
const idMatch = byId.get(ref.id);
|
|
2260
|
-
if (idMatch) {
|
|
2261
|
-
const currentHash = scenarioContentHash(idMatch);
|
|
2262
|
-
return {
|
|
2263
|
-
ref,
|
|
2264
|
-
status: ref.hash === currentHash ? "ok" : "changed",
|
|
2265
|
-
matchedId: idMatch.id,
|
|
2266
|
-
matchedTitle: idMatch.title,
|
|
2267
|
-
currentHash
|
|
2268
|
-
};
|
|
2269
|
-
}
|
|
2270
|
-
const titleMatches = ref.title ? byTitle.get(ref.title) ?? [] : [];
|
|
2271
|
-
const candidate = titleMatches[0];
|
|
2272
|
-
if (candidate) {
|
|
2273
|
-
const currentHash = scenarioContentHash(candidate);
|
|
2274
|
-
return {
|
|
2275
|
-
ref,
|
|
2276
|
-
status: ref.hash === currentHash ? "renamed" : "changed",
|
|
2277
|
-
matchedId: candidate.id,
|
|
2278
|
-
matchedTitle: candidate.title,
|
|
2279
|
-
currentHash
|
|
2280
|
-
};
|
|
2281
|
-
}
|
|
2282
|
-
return { ref, status: "missing" };
|
|
2283
|
-
}
|
|
2284
|
-
|
|
2285
1384
|
// src/formatters/scenario-index-json.ts
|
|
1385
|
+
import { toStoryReport as toStoryReport2 } from "executable-stories-core/converters/story-report";
|
|
1386
|
+
import { scenarioContentHash } from "executable-stories-core/explainer";
|
|
2286
1387
|
var ScenarioIndexJsonFormatter = class {
|
|
2287
1388
|
options;
|
|
2288
1389
|
constructor(options = {}) {
|
|
@@ -2292,7 +1393,7 @@ var ScenarioIndexJsonFormatter = class {
|
|
|
2292
1393
|
};
|
|
2293
1394
|
}
|
|
2294
1395
|
toIndex(run) {
|
|
2295
|
-
return toScenarioIndex(
|
|
1396
|
+
return toScenarioIndex(toStoryReport2(run), this.options.filters);
|
|
2296
1397
|
}
|
|
2297
1398
|
format(run) {
|
|
2298
1399
|
const index = this.toIndex(run);
|
|
@@ -2362,13 +1463,14 @@ function summarize(scenarios) {
|
|
|
2362
1463
|
}
|
|
2363
1464
|
|
|
2364
1465
|
// src/formatters/behavior-manifest-json.ts
|
|
1466
|
+
import { toStoryReport as toStoryReport3 } from "executable-stories-core/converters/story-report";
|
|
2365
1467
|
var BehaviorManifestJsonFormatter = class {
|
|
2366
1468
|
pretty;
|
|
2367
1469
|
constructor(options = {}) {
|
|
2368
1470
|
this.pretty = options.pretty ?? true;
|
|
2369
1471
|
}
|
|
2370
1472
|
toManifest(run) {
|
|
2371
|
-
return toBehaviorManifest(
|
|
1473
|
+
return toBehaviorManifest(toStoryReport3(run));
|
|
2372
1474
|
}
|
|
2373
1475
|
format(run) {
|
|
2374
1476
|
const manifest = this.toManifest(run);
|
|
@@ -2459,6 +1561,7 @@ function scenarioHasDocs(scenario) {
|
|
|
2459
1561
|
}
|
|
2460
1562
|
|
|
2461
1563
|
// src/formatters/agent-text.ts
|
|
1564
|
+
import { toStoryReport as toStoryReport4 } from "executable-stories-core/converters/story-report";
|
|
2462
1565
|
var STATUS_WORD = {
|
|
2463
1566
|
passed: "PASS",
|
|
2464
1567
|
failed: "FAIL",
|
|
@@ -2467,7 +1570,7 @@ var STATUS_WORD = {
|
|
|
2467
1570
|
};
|
|
2468
1571
|
var AgentTextFormatter = class {
|
|
2469
1572
|
format(run) {
|
|
2470
|
-
return toAgentText(
|
|
1573
|
+
return toAgentText(toStoryReport4(run));
|
|
2471
1574
|
}
|
|
2472
1575
|
};
|
|
2473
1576
|
function toAgentText(report) {
|
|
@@ -2775,570 +1878,9 @@ function groupBy(items, keyFn) {
|
|
|
2775
1878
|
return map;
|
|
2776
1879
|
}
|
|
2777
1880
|
|
|
2778
|
-
// ../executable-stories-core/dist/types/ci.js
|
|
2779
|
-
var DISPLAY_NAMES = {
|
|
2780
|
-
github: "GitHub Actions",
|
|
2781
|
-
gitlab: "GitLab CI",
|
|
2782
|
-
circleci: "CircleCI",
|
|
2783
|
-
jenkins: "Jenkins",
|
|
2784
|
-
azure: "Azure DevOps",
|
|
2785
|
-
buildkite: "Buildkite",
|
|
2786
|
-
travis: "Travis CI",
|
|
2787
|
-
unknown: "CI"
|
|
2788
|
-
};
|
|
2789
|
-
var NAME_TO_PROVIDER = {
|
|
2790
|
-
github: "github",
|
|
2791
|
-
gitlab: "gitlab",
|
|
2792
|
-
circleci: "circleci",
|
|
2793
|
-
jenkins: "jenkins",
|
|
2794
|
-
azure: "azure",
|
|
2795
|
-
buildkite: "buildkite",
|
|
2796
|
-
travis: "travis",
|
|
2797
|
-
ci: "unknown"
|
|
2798
|
-
};
|
|
2799
|
-
function toCIInfo(raw) {
|
|
2800
|
-
if (!raw) return void 0;
|
|
2801
|
-
const provider = raw.provider ?? NAME_TO_PROVIDER[raw.name] ?? "unknown";
|
|
2802
|
-
return {
|
|
2803
|
-
provider,
|
|
2804
|
-
displayName: DISPLAY_NAMES[provider],
|
|
2805
|
-
url: raw.url,
|
|
2806
|
-
buildNumber: raw.buildNumber,
|
|
2807
|
-
branch: raw.branch,
|
|
2808
|
-
commitSha: raw.commitSha,
|
|
2809
|
-
prNumber: raw.prNumber
|
|
2810
|
-
};
|
|
2811
|
-
}
|
|
2812
|
-
|
|
2813
|
-
// ../executable-stories-core/dist/converters/ndjson-parser.js
|
|
2814
|
-
function parseNdjson(ndjson) {
|
|
2815
|
-
const lines = ndjson.trim().split("\n").filter(Boolean);
|
|
2816
|
-
const envelopes = lines.map((line) => JSON.parse(line));
|
|
2817
|
-
return parseEnvelopes(envelopes);
|
|
2818
|
-
}
|
|
2819
|
-
function parseEnvelopes(envelopes) {
|
|
2820
|
-
const sources = /* @__PURE__ */ new Map();
|
|
2821
|
-
const gherkinDocs = /* @__PURE__ */ new Map();
|
|
2822
|
-
const pickles = /* @__PURE__ */ new Map();
|
|
2823
|
-
const testCases = /* @__PURE__ */ new Map();
|
|
2824
|
-
const testCaseStarteds = /* @__PURE__ */ new Map();
|
|
2825
|
-
const testCaseFinisheds = /* @__PURE__ */ new Map();
|
|
2826
|
-
const testCaseIdToStartedIds = /* @__PURE__ */ new Map();
|
|
2827
|
-
const stepResults = /* @__PURE__ */ new Map();
|
|
2828
|
-
const attachments = /* @__PURE__ */ new Map();
|
|
2829
|
-
let startedAtMs = 0;
|
|
2830
|
-
let finishedAtMs = 0;
|
|
2831
|
-
let toolVersion = "0.0.0";
|
|
2832
|
-
for (const envelope of envelopes) {
|
|
2833
|
-
if ("meta" in envelope) {
|
|
2834
|
-
toolVersion = envelope.meta.implementation.version;
|
|
2835
|
-
}
|
|
2836
|
-
if ("source" in envelope) {
|
|
2837
|
-
sources.set(envelope.source.uri, envelope.source);
|
|
2838
|
-
}
|
|
2839
|
-
if ("gherkinDocument" in envelope) {
|
|
2840
|
-
const doc = envelope.gherkinDocument;
|
|
2841
|
-
gherkinDocs.set(doc.uri, doc);
|
|
2842
|
-
}
|
|
2843
|
-
if ("pickle" in envelope) {
|
|
2844
|
-
const p = envelope.pickle;
|
|
2845
|
-
pickles.set(p.id, { pickle: p, uri: p.uri });
|
|
2846
|
-
}
|
|
2847
|
-
if ("testCase" in envelope) {
|
|
2848
|
-
const tc = envelope.testCase;
|
|
2849
|
-
testCases.set(tc.id, { testCase: tc, pickleId: tc.pickleId });
|
|
2850
|
-
}
|
|
2851
|
-
if ("testCaseStarted" in envelope) {
|
|
2852
|
-
const tcs = envelope.testCaseStarted;
|
|
2853
|
-
testCaseStarteds.set(tcs.id, {
|
|
2854
|
-
testCaseStarted: tcs,
|
|
2855
|
-
testCaseId: tcs.testCaseId
|
|
2856
|
-
});
|
|
2857
|
-
stepResults.set(tcs.id, []);
|
|
2858
|
-
attachments.set(tcs.id, []);
|
|
2859
|
-
const existing = testCaseIdToStartedIds.get(tcs.testCaseId) ?? [];
|
|
2860
|
-
existing.push(tcs.id);
|
|
2861
|
-
testCaseIdToStartedIds.set(tcs.testCaseId, existing);
|
|
2862
|
-
}
|
|
2863
|
-
if ("testCaseFinished" in envelope) {
|
|
2864
|
-
const tcf = envelope.testCaseFinished;
|
|
2865
|
-
testCaseFinisheds.set(tcf.testCaseStartedId, {
|
|
2866
|
-
testCaseStartedId: tcf.testCaseStartedId,
|
|
2867
|
-
willBeRetried: tcf.willBeRetried
|
|
2868
|
-
});
|
|
2869
|
-
}
|
|
2870
|
-
if ("testStepFinished" in envelope) {
|
|
2871
|
-
const tsf = envelope.testStepFinished;
|
|
2872
|
-
const results = stepResults.get(tsf.testCaseStartedId);
|
|
2873
|
-
if (results) {
|
|
2874
|
-
results.push({
|
|
2875
|
-
testStepId: tsf.testStepId,
|
|
2876
|
-
status: cucumberStatusToTestStatus(tsf.testStepResult.status),
|
|
2877
|
-
durationMs: durationToMs(tsf.testStepResult.duration),
|
|
2878
|
-
errorMessage: tsf.testStepResult.message
|
|
2879
|
-
});
|
|
2880
|
-
}
|
|
2881
|
-
}
|
|
2882
|
-
if ("attachment" in envelope) {
|
|
2883
|
-
const att = envelope.attachment;
|
|
2884
|
-
const list = attachments.get(att.testCaseStartedId);
|
|
2885
|
-
if (list) {
|
|
2886
|
-
list.push(att);
|
|
2887
|
-
}
|
|
2888
|
-
}
|
|
2889
|
-
if ("testRunStarted" in envelope) {
|
|
2890
|
-
startedAtMs = timestampToMs(envelope.testRunStarted.timestamp);
|
|
2891
|
-
}
|
|
2892
|
-
if ("testRunFinished" in envelope) {
|
|
2893
|
-
finishedAtMs = timestampToMs(envelope.testRunFinished.timestamp);
|
|
2894
|
-
}
|
|
2895
|
-
}
|
|
2896
|
-
const testCaseResults = [];
|
|
2897
|
-
for (const [testCaseId, tcIndex] of testCases) {
|
|
2898
|
-
const pickleIndex = pickles.get(tcIndex.pickleId);
|
|
2899
|
-
if (!pickleIndex) continue;
|
|
2900
|
-
const pickle = pickleIndex.pickle;
|
|
2901
|
-
const uri = pickleIndex.uri;
|
|
2902
|
-
const startedIds = testCaseIdToStartedIds.get(testCaseId) ?? [];
|
|
2903
|
-
if (startedIds.length === 0) continue;
|
|
2904
|
-
const sortedStarteds = startedIds.map((id) => testCaseStarteds.get(id)).filter(Boolean).sort((a, b) => a.testCaseStarted.attempt - b.testCaseStarted.attempt);
|
|
2905
|
-
const finalStarted = sortedStarteds[sortedStarteds.length - 1];
|
|
2906
|
-
const finalStartedId = finalStarted.testCaseStarted.id;
|
|
2907
|
-
const testStepIdToIndex = /* @__PURE__ */ new Map();
|
|
2908
|
-
for (let i = 0; i < tcIndex.testCase.testSteps.length; i++) {
|
|
2909
|
-
testStepIdToIndex.set(tcIndex.testCase.testSteps[i].id, i);
|
|
2910
|
-
}
|
|
2911
|
-
const storySteps = reconstructStorySteps(pickle, uri, gherkinDocs);
|
|
2912
|
-
const tcStepResults = stepResults.get(finalStartedId) ?? [];
|
|
2913
|
-
const tcAttachments = attachments.get(finalStartedId) ?? [];
|
|
2914
|
-
const orderedStepResults = storySteps.map((_, i) => ({
|
|
2915
|
-
index: i,
|
|
2916
|
-
status: "passed",
|
|
2917
|
-
durationMs: 0
|
|
2918
|
-
}));
|
|
2919
|
-
for (const sr of tcStepResults) {
|
|
2920
|
-
const stepIndex = testStepIdToIndex.get(sr.testStepId);
|
|
2921
|
-
if (stepIndex !== void 0 && stepIndex < orderedStepResults.length) {
|
|
2922
|
-
orderedStepResults[stepIndex] = {
|
|
2923
|
-
index: stepIndex,
|
|
2924
|
-
status: sr.status,
|
|
2925
|
-
durationMs: sr.durationMs,
|
|
2926
|
-
errorMessage: sr.errorMessage
|
|
2927
|
-
};
|
|
2928
|
-
}
|
|
2929
|
-
}
|
|
2930
|
-
const overallStatus = deriveOverallStatus(orderedStepResults);
|
|
2931
|
-
const totalDurationMs = orderedStepResults.reduce(
|
|
2932
|
-
(sum, sr) => sum + sr.durationMs,
|
|
2933
|
-
0
|
|
2934
|
-
);
|
|
2935
|
-
const tags = pickle.tags.map((t) => t.name.replace(/^@/, ""));
|
|
2936
|
-
const resolvedAttachments = tcAttachments.map((att) => ({
|
|
2937
|
-
name: att.mediaType,
|
|
2938
|
-
mediaType: att.mediaType,
|
|
2939
|
-
body: att.body,
|
|
2940
|
-
contentEncoding: att.contentEncoding
|
|
2941
|
-
}));
|
|
2942
|
-
const featureName = extractFeatureName(uri, gherkinDocs);
|
|
2943
|
-
const titlePath = featureName ? [featureName, pickle.name] : [pickle.name];
|
|
2944
|
-
const story = {
|
|
2945
|
-
scenario: pickle.name,
|
|
2946
|
-
steps: storySteps,
|
|
2947
|
-
tags: tags.length > 0 ? tags : void 0
|
|
2948
|
-
};
|
|
2949
|
-
const failedStep = orderedStepResults.find((sr) => sr.status === "failed");
|
|
2950
|
-
let attempts;
|
|
2951
|
-
if (sortedStarteds.length > 1) {
|
|
2952
|
-
attempts = sortedStarteds.map((started) => {
|
|
2953
|
-
const sId = started.testCaseStarted.id;
|
|
2954
|
-
const sStepResults = stepResults.get(sId) ?? [];
|
|
2955
|
-
const attemptStatus = deriveOverallStatus(
|
|
2956
|
-
buildOrderedStepResults(sStepResults, testStepIdToIndex, storySteps.length)
|
|
2957
|
-
);
|
|
2958
|
-
const attemptDurationMs = sStepResults.reduce(
|
|
2959
|
-
(sum, sr) => sum + sr.durationMs,
|
|
2960
|
-
0
|
|
2961
|
-
);
|
|
2962
|
-
const attemptFailedStep = sStepResults.find((sr) => sr.status === "failed");
|
|
2963
|
-
return {
|
|
2964
|
-
attempt: started.testCaseStarted.attempt,
|
|
2965
|
-
status: attemptStatus,
|
|
2966
|
-
durationMs: attemptDurationMs,
|
|
2967
|
-
errorMessage: attemptFailedStep?.errorMessage
|
|
2968
|
-
};
|
|
2969
|
-
});
|
|
2970
|
-
}
|
|
2971
|
-
const testCaseResult = {
|
|
2972
|
-
id: tcIndex.testCase.id,
|
|
2973
|
-
story,
|
|
2974
|
-
sourceFile: uri,
|
|
2975
|
-
sourceLine: 1,
|
|
2976
|
-
status: overallStatus,
|
|
2977
|
-
durationMs: totalDurationMs,
|
|
2978
|
-
errorMessage: failedStep?.errorMessage,
|
|
2979
|
-
attachments: resolvedAttachments,
|
|
2980
|
-
stepResults: orderedStepResults,
|
|
2981
|
-
titlePath,
|
|
2982
|
-
retry: finalStarted.testCaseStarted.attempt,
|
|
2983
|
-
retries: sortedStarteds.length > 1 ? sortedStarteds.length - 1 : 0,
|
|
2984
|
-
tags,
|
|
2985
|
-
attempts
|
|
2986
|
-
};
|
|
2987
|
-
testCaseResults.push(testCaseResult);
|
|
2988
|
-
}
|
|
2989
|
-
const durationMs = finishedAtMs > 0 && startedAtMs > 0 ? finishedAtMs - startedAtMs : testCaseResults.reduce((sum, tc) => sum + tc.durationMs, 0);
|
|
2990
|
-
return {
|
|
2991
|
-
testCases: testCaseResults,
|
|
2992
|
-
startedAtMs,
|
|
2993
|
-
finishedAtMs,
|
|
2994
|
-
durationMs,
|
|
2995
|
-
projectRoot: "",
|
|
2996
|
-
runId: "",
|
|
2997
|
-
packageVersion: toolVersion !== "0.0.0" ? toolVersion : void 0
|
|
2998
|
-
};
|
|
2999
|
-
}
|
|
3000
|
-
function cucumberStatusToTestStatus(status) {
|
|
3001
|
-
switch (status) {
|
|
3002
|
-
case "PASSED":
|
|
3003
|
-
return "passed";
|
|
3004
|
-
case "FAILED":
|
|
3005
|
-
return "failed";
|
|
3006
|
-
case "SKIPPED":
|
|
3007
|
-
return "skipped";
|
|
3008
|
-
case "PENDING":
|
|
3009
|
-
case "UNDEFINED":
|
|
3010
|
-
return "pending";
|
|
3011
|
-
default:
|
|
3012
|
-
return "skipped";
|
|
3013
|
-
}
|
|
3014
|
-
}
|
|
3015
|
-
function timestampToMs(ts) {
|
|
3016
|
-
return ts.seconds * 1e3 + Math.round(ts.nanos / 1e6);
|
|
3017
|
-
}
|
|
3018
|
-
function durationToMs(d) {
|
|
3019
|
-
return d.seconds * 1e3 + Math.round(d.nanos / 1e6);
|
|
3020
|
-
}
|
|
3021
|
-
function reconstructStorySteps(pickle, uri, gherkinDocs) {
|
|
3022
|
-
const doc = gherkinDocs.get(uri);
|
|
3023
|
-
const astStepKeywords = /* @__PURE__ */ new Map();
|
|
3024
|
-
if (doc) {
|
|
3025
|
-
for (const child of doc.feature.children) {
|
|
3026
|
-
const scenario = child.scenario ?? child.background;
|
|
3027
|
-
if (scenario) {
|
|
3028
|
-
for (const step of scenario.steps) {
|
|
3029
|
-
astStepKeywords.set(step.id, step.keyword.trim());
|
|
3030
|
-
}
|
|
3031
|
-
}
|
|
3032
|
-
}
|
|
3033
|
-
}
|
|
3034
|
-
return pickle.steps.map((ps) => {
|
|
3035
|
-
let keyword = "Given";
|
|
3036
|
-
if (ps.astNodeIds.length > 0) {
|
|
3037
|
-
const astKeyword = astStepKeywords.get(ps.astNodeIds[0]);
|
|
3038
|
-
if (astKeyword && isStepKeyword(astKeyword)) {
|
|
3039
|
-
keyword = astKeyword;
|
|
3040
|
-
}
|
|
3041
|
-
}
|
|
3042
|
-
if (!ps.astNodeIds.length || !astStepKeywords.has(ps.astNodeIds[0])) {
|
|
3043
|
-
keyword = pickleStepTypeToKeyword(ps.type);
|
|
3044
|
-
}
|
|
3045
|
-
const step = {
|
|
3046
|
-
keyword,
|
|
3047
|
-
text: ps.text
|
|
3048
|
-
};
|
|
3049
|
-
const docs = pickleStepArgumentToDocs(ps);
|
|
3050
|
-
if (docs.length > 0) {
|
|
3051
|
-
step.docs = docs;
|
|
3052
|
-
}
|
|
3053
|
-
return step;
|
|
3054
|
-
});
|
|
3055
|
-
}
|
|
3056
|
-
function isStepKeyword(s) {
|
|
3057
|
-
return ["Given", "When", "Then", "And", "But"].includes(s);
|
|
3058
|
-
}
|
|
3059
|
-
function pickleStepTypeToKeyword(type) {
|
|
3060
|
-
switch (type) {
|
|
3061
|
-
case "Context":
|
|
3062
|
-
return "Given";
|
|
3063
|
-
case "Action":
|
|
3064
|
-
return "When";
|
|
3065
|
-
case "Outcome":
|
|
3066
|
-
return "Then";
|
|
3067
|
-
default:
|
|
3068
|
-
return "Given";
|
|
3069
|
-
}
|
|
3070
|
-
}
|
|
3071
|
-
function extractFeatureName(uri, gherkinDocs) {
|
|
3072
|
-
const doc = gherkinDocs.get(uri);
|
|
3073
|
-
if (doc) {
|
|
3074
|
-
return doc.feature.name;
|
|
3075
|
-
}
|
|
3076
|
-
return void 0;
|
|
3077
|
-
}
|
|
3078
|
-
function deriveOverallStatus(stepResults) {
|
|
3079
|
-
if (stepResults.some((sr) => sr.status === "failed")) return "failed";
|
|
3080
|
-
if (stepResults.every((sr) => sr.status === "skipped")) return "skipped";
|
|
3081
|
-
if (stepResults.some((sr) => sr.status === "pending")) return "pending";
|
|
3082
|
-
if (stepResults.every((sr) => sr.status === "passed")) return "passed";
|
|
3083
|
-
return "passed";
|
|
3084
|
-
}
|
|
3085
|
-
function buildOrderedStepResults(accumulators, testStepIdToIndex, stepCount) {
|
|
3086
|
-
const results = Array.from({ length: stepCount }, (_, i) => ({
|
|
3087
|
-
index: i,
|
|
3088
|
-
status: "passed",
|
|
3089
|
-
durationMs: 0
|
|
3090
|
-
}));
|
|
3091
|
-
for (const sr of accumulators) {
|
|
3092
|
-
const stepIndex = testStepIdToIndex.get(sr.testStepId);
|
|
3093
|
-
if (stepIndex !== void 0 && stepIndex < results.length) {
|
|
3094
|
-
results[stepIndex] = {
|
|
3095
|
-
index: stepIndex,
|
|
3096
|
-
status: sr.status,
|
|
3097
|
-
durationMs: sr.durationMs,
|
|
3098
|
-
errorMessage: sr.errorMessage
|
|
3099
|
-
};
|
|
3100
|
-
}
|
|
3101
|
-
}
|
|
3102
|
-
return results;
|
|
3103
|
-
}
|
|
3104
|
-
function pickleStepArgumentToDocs(ps) {
|
|
3105
|
-
if (!ps.argument) return [];
|
|
3106
|
-
const docs = [];
|
|
3107
|
-
const phase = "static";
|
|
3108
|
-
if (ps.argument.dataTable) {
|
|
3109
|
-
const table2 = ps.argument.dataTable;
|
|
3110
|
-
if (table2.rows.length > 0) {
|
|
3111
|
-
const columns = table2.rows[0].cells.map((c) => c.value);
|
|
3112
|
-
const rows = table2.rows.slice(1).map((r) => r.cells.map((c) => c.value));
|
|
3113
|
-
docs.push({
|
|
3114
|
-
kind: "table",
|
|
3115
|
-
label: "",
|
|
3116
|
-
columns,
|
|
3117
|
-
rows,
|
|
3118
|
-
phase
|
|
3119
|
-
});
|
|
3120
|
-
}
|
|
3121
|
-
}
|
|
3122
|
-
if (ps.argument.docString) {
|
|
3123
|
-
const ds = ps.argument.docString;
|
|
3124
|
-
const mediaType = ds.mediaType ?? "text/plain";
|
|
3125
|
-
if (mediaType === "text/plain") {
|
|
3126
|
-
docs.push({
|
|
3127
|
-
kind: "note",
|
|
3128
|
-
text: ds.content,
|
|
3129
|
-
phase
|
|
3130
|
-
});
|
|
3131
|
-
} else if (mediaType === "text/markdown") {
|
|
3132
|
-
docs.push({
|
|
3133
|
-
kind: "section",
|
|
3134
|
-
title: "",
|
|
3135
|
-
markdown: ds.content,
|
|
3136
|
-
phase
|
|
3137
|
-
});
|
|
3138
|
-
} else if (mediaType === "text/x-mermaid") {
|
|
3139
|
-
docs.push({
|
|
3140
|
-
kind: "mermaid",
|
|
3141
|
-
code: ds.content,
|
|
3142
|
-
phase
|
|
3143
|
-
});
|
|
3144
|
-
} else if (mediaType === "application/json") {
|
|
3145
|
-
try {
|
|
3146
|
-
docs.push({
|
|
3147
|
-
kind: "custom",
|
|
3148
|
-
type: "json",
|
|
3149
|
-
data: JSON.parse(ds.content),
|
|
3150
|
-
phase
|
|
3151
|
-
});
|
|
3152
|
-
} catch {
|
|
3153
|
-
docs.push({
|
|
3154
|
-
kind: "code",
|
|
3155
|
-
label: "",
|
|
3156
|
-
content: ds.content,
|
|
3157
|
-
lang: "json",
|
|
3158
|
-
phase
|
|
3159
|
-
});
|
|
3160
|
-
}
|
|
3161
|
-
} else {
|
|
3162
|
-
docs.push({
|
|
3163
|
-
kind: "code",
|
|
3164
|
-
label: "",
|
|
3165
|
-
content: ds.content,
|
|
3166
|
-
lang: mediaType,
|
|
3167
|
-
phase
|
|
3168
|
-
});
|
|
3169
|
-
}
|
|
3170
|
-
}
|
|
3171
|
-
return docs;
|
|
3172
|
-
}
|
|
3173
|
-
|
|
3174
|
-
// ../executable-stories-core/dist/theme/tokens.js
|
|
3175
|
-
var ES_THEME_TOKENS_CSS = `
|
|
3176
|
-
:root,
|
|
3177
|
-
[data-theme="light"] {
|
|
3178
|
-
--es-color-bg: #ffffff;
|
|
3179
|
-
--es-color-fg: #111827;
|
|
3180
|
-
--es-color-muted: #6b7280;
|
|
3181
|
-
--es-color-border: #e5e7eb;
|
|
3182
|
-
--es-color-surface: #f9fafb;
|
|
3183
|
-
--es-color-link: #2563eb;
|
|
3184
|
-
--es-color-passed: #16a34a;
|
|
3185
|
-
--es-color-failed: #dc2626;
|
|
3186
|
-
--es-color-skipped: #9ca3af;
|
|
3187
|
-
--es-color-pending: #d97706;
|
|
3188
|
-
--es-color-passed-bg: #f0fdf4;
|
|
3189
|
-
--es-color-failed-bg: #fef2f2;
|
|
3190
|
-
--es-color-skipped-bg: #f3f4f6;
|
|
3191
|
-
--es-color-pending-bg: #fffbeb;
|
|
3192
|
-
--es-warn-fg: #92400e;
|
|
3193
|
-
--es-font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
3194
|
-
--es-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
|
|
3195
|
-
--es-size-base: 1rem;
|
|
3196
|
-
--es-size-sm: 0.875rem;
|
|
3197
|
-
--es-size-xs: 0.75rem;
|
|
3198
|
-
--es-size-h1: 1.875rem;
|
|
3199
|
-
--es-size-h2: 1.5rem;
|
|
3200
|
-
--es-size-h3: 1.25rem;
|
|
3201
|
-
--es-space-1: 0.25rem;
|
|
3202
|
-
--es-space-2: 0.5rem;
|
|
3203
|
-
--es-space-3: 0.75rem;
|
|
3204
|
-
--es-space-4: 1rem;
|
|
3205
|
-
--es-space-6: 1.5rem;
|
|
3206
|
-
--es-space-8: 2rem;
|
|
3207
|
-
--es-radius: 0.625rem;
|
|
3208
|
-
--es-line: 1.6;
|
|
3209
|
-
--es-measure: 72ch;
|
|
3210
|
-
}
|
|
3211
|
-
|
|
3212
|
-
@media (prefers-color-scheme: dark) {
|
|
3213
|
-
:root {
|
|
3214
|
-
--es-color-bg: #0b0f17;
|
|
3215
|
-
--es-color-fg: #e5e7eb;
|
|
3216
|
-
--es-color-muted: #9ca3af;
|
|
3217
|
-
--es-color-border: #1f2937;
|
|
3218
|
-
--es-color-surface: #111827;
|
|
3219
|
-
--es-color-link: #60a5fa;
|
|
3220
|
-
--es-color-passed: #4ade80;
|
|
3221
|
-
--es-color-failed: #f87171;
|
|
3222
|
-
--es-color-skipped: #6b7280;
|
|
3223
|
-
--es-color-pending: #fbbf24;
|
|
3224
|
-
--es-color-passed-bg: rgba(74, 222, 128, 0.08);
|
|
3225
|
-
--es-color-failed-bg: rgba(248, 113, 113, 0.08);
|
|
3226
|
-
--es-color-skipped-bg: rgba(107, 114, 128, 0.08);
|
|
3227
|
-
--es-color-pending-bg: rgba(251, 191, 36, 0.08);
|
|
3228
|
-
--es-warn-fg: #fbbf24;
|
|
3229
|
-
}
|
|
3230
|
-
}
|
|
3231
|
-
|
|
3232
|
-
[data-theme="dark"] {
|
|
3233
|
-
--es-color-bg: #0b0f17;
|
|
3234
|
-
--es-color-fg: #e5e7eb;
|
|
3235
|
-
--es-color-muted: #9ca3af;
|
|
3236
|
-
--es-color-border: #1f2937;
|
|
3237
|
-
--es-color-surface: #111827;
|
|
3238
|
-
--es-color-link: #60a5fa;
|
|
3239
|
-
--es-color-passed: #4ade80;
|
|
3240
|
-
--es-color-failed: #f87171;
|
|
3241
|
-
--es-color-skipped: #6b7280;
|
|
3242
|
-
--es-color-pending: #fbbf24;
|
|
3243
|
-
--es-color-passed-bg: rgba(74, 222, 128, 0.08);
|
|
3244
|
-
--es-color-failed-bg: rgba(248, 113, 113, 0.08);
|
|
3245
|
-
--es-color-skipped-bg: rgba(107, 114, 128, 0.08);
|
|
3246
|
-
--es-color-pending-bg: rgba(251, 191, 36, 0.08);
|
|
3247
|
-
--es-warn-fg: #fbbf24;
|
|
3248
|
-
}
|
|
3249
|
-
`.trim();
|
|
3250
|
-
|
|
3251
|
-
// ../executable-stories-core/dist/state-diff.js
|
|
3252
|
-
var isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
3253
|
-
function deepEqual(a, b) {
|
|
3254
|
-
if (Object.is(a, b)) return true;
|
|
3255
|
-
if (Array.isArray(a) && Array.isArray(b)) {
|
|
3256
|
-
return a.length === b.length && a.every((v, i) => deepEqual(v, b[i]));
|
|
3257
|
-
}
|
|
3258
|
-
if (isPlainObject(a) && isPlainObject(b)) {
|
|
3259
|
-
const ak = Object.keys(a);
|
|
3260
|
-
const bk = Object.keys(b);
|
|
3261
|
-
return ak.length === bk.length && ak.every((k) => k in b && deepEqual(a[k], b[k]));
|
|
3262
|
-
}
|
|
3263
|
-
return false;
|
|
3264
|
-
}
|
|
3265
|
-
var joinKey = (path20, key) => path20 === "" ? key : `${path20}.${key}`;
|
|
3266
|
-
function walk(path20, before, after, out) {
|
|
3267
|
-
if (Object.is(before, after)) return;
|
|
3268
|
-
if (Array.isArray(before) && Array.isArray(after)) {
|
|
3269
|
-
const shared = Math.min(before.length, after.length);
|
|
3270
|
-
for (let i = 0; i < shared; i++) walk(`${path20}[${i}]`, before[i], after[i], out);
|
|
3271
|
-
for (let i = shared; i < after.length; i++) out.push({ path: `${path20}[${i}]`, kind: "added", after: after[i] });
|
|
3272
|
-
for (let i = shared; i < before.length; i++) out.push({ path: `${path20}[${i}]`, kind: "removed", before: before[i] });
|
|
3273
|
-
return;
|
|
3274
|
-
}
|
|
3275
|
-
if (isPlainObject(before) && isPlainObject(after)) {
|
|
3276
|
-
for (const key of Object.keys(after)) {
|
|
3277
|
-
const p = joinKey(path20, key);
|
|
3278
|
-
if (key in before) walk(p, before[key], after[key], out);
|
|
3279
|
-
else out.push({ path: p, kind: "added", after: after[key] });
|
|
3280
|
-
}
|
|
3281
|
-
for (const key of Object.keys(before)) {
|
|
3282
|
-
if (!(key in after)) out.push({ path: joinKey(path20, key), kind: "removed", before: before[key] });
|
|
3283
|
-
}
|
|
3284
|
-
return;
|
|
3285
|
-
}
|
|
3286
|
-
if (!deepEqual(before, after)) out.push({ path: path20, kind: "changed", before, after });
|
|
3287
|
-
}
|
|
3288
|
-
function diffStateValues(before, after) {
|
|
3289
|
-
const out = [];
|
|
3290
|
-
walk("", before, after, out);
|
|
3291
|
-
return out;
|
|
3292
|
-
}
|
|
3293
|
-
function formatStateValue(value, maxLen = 60) {
|
|
3294
|
-
const s = value === void 0 ? "undefined" : JSON.stringify(value);
|
|
3295
|
-
return s.length > maxLen ? `${s.slice(0, maxLen - 1)}\u2026` : s;
|
|
3296
|
-
}
|
|
3297
|
-
function summarizeStateChanges(changes) {
|
|
3298
|
-
return changes.map((c) => {
|
|
3299
|
-
const at = c.path === "" ? "(root)" : c.path;
|
|
3300
|
-
switch (c.kind) {
|
|
3301
|
-
case "added":
|
|
3302
|
-
return `+ ${at}: ${formatStateValue(c.after)}`;
|
|
3303
|
-
case "removed":
|
|
3304
|
-
return `\u2212 ${at}`;
|
|
3305
|
-
case "changed":
|
|
3306
|
-
return `${at}: ${formatStateValue(c.before)} \u2192 ${formatStateValue(c.after)}`;
|
|
3307
|
-
}
|
|
3308
|
-
});
|
|
3309
|
-
}
|
|
3310
|
-
|
|
3311
|
-
// ../executable-stories-core/dist/utils/source-file.js
|
|
3312
|
-
function cleanTestStem(fileName) {
|
|
3313
|
-
const base = fileName.split(/[\\/]/).pop() ?? fileName;
|
|
3314
|
-
const stripped = base.replace(/\.(story\.)?(test|spec|cy)\.[cm]?[jt]sx?$/i, "");
|
|
3315
|
-
if (stripped !== base) return stripped;
|
|
3316
|
-
return base.replace(/\.[^.]+$/, "");
|
|
3317
|
-
}
|
|
3318
|
-
function humanizeSourceFile(fileName) {
|
|
3319
|
-
return cleanTestStem(fileName).split(/[-_.\s]+/).filter(Boolean).map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
3320
|
-
}
|
|
3321
|
-
|
|
3322
|
-
// ../executable-stories-core/dist/utils/url.js
|
|
3323
|
-
function safeUrl(value) {
|
|
3324
|
-
if (!value) return void 0;
|
|
3325
|
-
const trimmed = value.trim();
|
|
3326
|
-
const scheme = /^([a-z][a-z0-9+.-]*):/i.exec(trimmed);
|
|
3327
|
-
if (scheme && !/^https?$/i.test(scheme[1] ?? "")) return void 0;
|
|
3328
|
-
return trimmed;
|
|
3329
|
-
}
|
|
3330
|
-
function safeImageUrl(value) {
|
|
3331
|
-
if (!value) return void 0;
|
|
3332
|
-
const trimmed = value.trim();
|
|
3333
|
-
if (/^data:image\//i.test(trimmed)) return trimmed;
|
|
3334
|
-
return safeUrl(trimmed);
|
|
3335
|
-
}
|
|
3336
|
-
function isLocalFsPath(value) {
|
|
3337
|
-
return /^(?:[/\\]|[A-Za-z]:[/\\])/.test(value);
|
|
3338
|
-
}
|
|
3339
|
-
|
|
3340
1881
|
// src/formatters/markdown.ts
|
|
3341
|
-
|
|
1882
|
+
import { diffStateValues, summarizeStateChanges } from "executable-stories-core";
|
|
1883
|
+
function isLocalFsPath(value) {
|
|
3342
1884
|
return /^(?:[/\\]|[A-Za-z]:[/\\])/.test(value);
|
|
3343
1885
|
}
|
|
3344
1886
|
var MarkdownFormatter = class {
|
|
@@ -3769,14 +2311,14 @@ var MarkdownFormatter = class {
|
|
|
3769
2311
|
lines.push(`${indent2}\`\`\``);
|
|
3770
2312
|
break;
|
|
3771
2313
|
case "screenshot":
|
|
3772
|
-
if (
|
|
2314
|
+
if (isLocalFsPath(entry.path)) {
|
|
3773
2315
|
lines.push(`${indent2}*Screenshot unavailable${entry.alt ? ` \u2014 ${entry.alt}` : ""} (\`${entry.path}\` was not readable when the report was generated)*`);
|
|
3774
2316
|
} else {
|
|
3775
2317
|
lines.push(`${indent2}`);
|
|
3776
2318
|
}
|
|
3777
2319
|
break;
|
|
3778
2320
|
case "video": {
|
|
3779
|
-
if (
|
|
2321
|
+
if (isLocalFsPath(entry.path)) {
|
|
3780
2322
|
lines.push(`${indent2}*Video unavailable${entry.caption ? ` \u2014 ${entry.caption}` : ""} (\`${entry.path}\` was not readable when the report was generated)*`);
|
|
3781
2323
|
break;
|
|
3782
2324
|
}
|
|
@@ -3926,7 +2468,7 @@ function groupBy2(items, keyFn) {
|
|
|
3926
2468
|
}
|
|
3927
2469
|
|
|
3928
2470
|
// src/formatters/release-manifest.ts
|
|
3929
|
-
import { createHash
|
|
2471
|
+
import { createHash } from "crypto";
|
|
3930
2472
|
var ReleaseManifestFormatter = class {
|
|
3931
2473
|
format(run) {
|
|
3932
2474
|
const manifest = toReleaseManifest(run);
|
|
@@ -3979,7 +2521,7 @@ function toReleaseManifest(run) {
|
|
|
3979
2521
|
skipped: count(run.testCases, "skipped"),
|
|
3980
2522
|
pending: count(run.testCases, "pending")
|
|
3981
2523
|
},
|
|
3982
|
-
testedTogetherHash:
|
|
2524
|
+
testedTogetherHash: createHash("sha256").update(fingerprint).digest("hex"),
|
|
3983
2525
|
scenarios
|
|
3984
2526
|
};
|
|
3985
2527
|
}
|
|
@@ -4008,15 +2550,15 @@ function escapePipe(value) {
|
|
|
4008
2550
|
}
|
|
4009
2551
|
|
|
4010
2552
|
// src/review/diff-anchor.ts
|
|
4011
|
-
import { createHash as
|
|
2553
|
+
import { createHash as createHash2 } from "crypto";
|
|
4012
2554
|
var CONTEXT_WINDOW = 3;
|
|
4013
2555
|
var MAX_FUZZ = 2;
|
|
4014
2556
|
var normalize = (line) => line.trim();
|
|
4015
2557
|
var HUNK_HEADER = /^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@ ?(.*)$/;
|
|
4016
2558
|
function stripPathPrefix(raw) {
|
|
4017
|
-
const
|
|
4018
|
-
if (
|
|
4019
|
-
return
|
|
2559
|
+
const path18 = raw.split(" ")[0].trim();
|
|
2560
|
+
if (path18 === "/dev/null") return void 0;
|
|
2561
|
+
return path18.replace(/^[ab]\//, "");
|
|
4020
2562
|
}
|
|
4021
2563
|
function parseUnifiedDiff(patch) {
|
|
4022
2564
|
const files = [];
|
|
@@ -4080,7 +2622,7 @@ function createAnchor(args) {
|
|
|
4080
2622
|
}
|
|
4081
2623
|
const contextBefore = lines.slice(Math.max(0, lineIndex - CONTEXT_WINDOW), lineIndex).map((l) => l.text);
|
|
4082
2624
|
const contextAfter = lines.slice(end, end + CONTEXT_WINDOW).map((l) => l.text);
|
|
4083
|
-
const hash =
|
|
2625
|
+
const hash = createHash2("sha256").update(
|
|
4084
2626
|
JSON.stringify({
|
|
4085
2627
|
changed: changed.map((l) => `${l.kind}:${normalize(l.text)}`),
|
|
4086
2628
|
before: contextBefore.map(normalize),
|
|
@@ -4096,7 +2638,7 @@ function createAnchor(args) {
|
|
|
4096
2638
|
};
|
|
4097
2639
|
}
|
|
4098
2640
|
function changedRunCandidates(anchor, file, fileIndex) {
|
|
4099
|
-
const
|
|
2641
|
+
const path18 = file.newPath ?? file.oldPath ?? "";
|
|
4100
2642
|
const out = [];
|
|
4101
2643
|
file.hunks.forEach((hunk, hunkIndex) => {
|
|
4102
2644
|
outer: for (let i = 0; i + anchor.changed.length <= hunk.lines.length; i++) {
|
|
@@ -4107,7 +2649,7 @@ function changedRunCandidates(anchor, file, fileIndex) {
|
|
|
4107
2649
|
continue outer;
|
|
4108
2650
|
}
|
|
4109
2651
|
}
|
|
4110
|
-
out.push({ fileIndex, file:
|
|
2652
|
+
out.push({ fileIndex, file: path18, hunkIndex, lineIndex: i, lines: hunk.lines });
|
|
4111
2653
|
}
|
|
4112
2654
|
});
|
|
4113
2655
|
return out;
|
|
@@ -4204,18 +2746,18 @@ function deriveChangeType(tags) {
|
|
|
4204
2746
|
}
|
|
4205
2747
|
return "unknown";
|
|
4206
2748
|
}
|
|
4207
|
-
function extensionOf(
|
|
4208
|
-
const base =
|
|
2749
|
+
function extensionOf(path18) {
|
|
2750
|
+
const base = path18.split("/").pop() ?? path18;
|
|
4209
2751
|
const dot = base.lastIndexOf(".");
|
|
4210
2752
|
return dot === -1 ? "" : base.slice(dot + 1).toLowerCase();
|
|
4211
2753
|
}
|
|
4212
|
-
function isTestFile(
|
|
4213
|
-
return TEST_INFIX.test(
|
|
2754
|
+
function isTestFile(path18) {
|
|
2755
|
+
return TEST_INFIX.test(path18);
|
|
4214
2756
|
}
|
|
4215
|
-
function isReviewableSource(
|
|
4216
|
-
if (isTestFile(
|
|
4217
|
-
if (
|
|
4218
|
-
return CODE_EXTENSIONS.has(extensionOf(
|
|
2757
|
+
function isReviewableSource(path18) {
|
|
2758
|
+
if (isTestFile(path18)) return false;
|
|
2759
|
+
if (path18.endsWith(".d.ts")) return false;
|
|
2760
|
+
return CODE_EXTENSIONS.has(extensionOf(path18));
|
|
4219
2761
|
}
|
|
4220
2762
|
function testBaseKey(testFile) {
|
|
4221
2763
|
return testFile.replace(TEST_INFIX, "");
|
|
@@ -4319,7 +2861,7 @@ function toClaim(testCase, changedSourcePaths) {
|
|
|
4319
2861
|
const { strength, reasons } = gradeEvidence(testCase, audience);
|
|
4320
2862
|
const key = testBaseKey(testCase.sourceFile);
|
|
4321
2863
|
const coversFiles = changedSourcePaths.filter(
|
|
4322
|
-
(
|
|
2864
|
+
(path18) => sourceBaseKey(path18) === key
|
|
4323
2865
|
);
|
|
4324
2866
|
return {
|
|
4325
2867
|
id: testCase.id,
|
|
@@ -4491,14 +3033,14 @@ var TraceabilityMatrixFormatter = class {
|
|
|
4491
3033
|
lines.push("");
|
|
4492
3034
|
lines.push(`Status: ${renderRequirementStatus(req.status)}`);
|
|
4493
3035
|
if (req.covers.length > 0) {
|
|
4494
|
-
lines.push(`Covers: ${req.covers.map((
|
|
3036
|
+
lines.push(`Covers: ${req.covers.map((path18) => `\`${path18}\``).join(", ")}`);
|
|
4495
3037
|
}
|
|
4496
3038
|
lines.push("");
|
|
4497
3039
|
lines.push("| Status | Scenario | Source | Covers |");
|
|
4498
3040
|
lines.push("| --- | --- | --- | --- |");
|
|
4499
3041
|
for (const scenario of req.scenarios) {
|
|
4500
3042
|
const source = `${scenario.sourceFile}:${scenario.sourceLine}`;
|
|
4501
|
-
const covers = scenario.covers.length > 0 ? scenario.covers.map((
|
|
3043
|
+
const covers = scenario.covers.length > 0 ? scenario.covers.map((path18) => `\`${path18}\``).join(", ") : "";
|
|
4502
3044
|
lines.push(`| ${scenario.status} | ${escapePipe2(scenario.title)} | \`${source}\` | ${covers} |`);
|
|
4503
3045
|
}
|
|
4504
3046
|
lines.push("");
|
|
@@ -4632,17 +3174,17 @@ function escapePipe2(value) {
|
|
|
4632
3174
|
}
|
|
4633
3175
|
|
|
4634
3176
|
// src/formatters/cucumber-messages/synthesize-feature.ts
|
|
4635
|
-
function
|
|
3177
|
+
function extractFeatureName(testCases, uri) {
|
|
4636
3178
|
for (const tc of testCases) {
|
|
4637
3179
|
if (tc.titlePath.length > 0) {
|
|
4638
3180
|
return tc.titlePath[0];
|
|
4639
3181
|
}
|
|
4640
3182
|
}
|
|
4641
|
-
const
|
|
4642
|
-
return
|
|
3183
|
+
const basename2 = uri.replace(/^.*[\\/]/, "").replace(/\.[^.]+$/, "");
|
|
3184
|
+
return basename2.replace(/[-_]+/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
|
|
4643
3185
|
}
|
|
4644
3186
|
function synthesizeFeature(uri, testCases) {
|
|
4645
|
-
const featureName =
|
|
3187
|
+
const featureName = extractFeatureName(testCases, uri);
|
|
4646
3188
|
const featureTagSet = /* @__PURE__ */ new Set();
|
|
4647
3189
|
for (const tc of testCases) {
|
|
4648
3190
|
for (const tag of tc.tags) {
|
|
@@ -4697,7 +3239,7 @@ function synthesizeFeature(uri, testCases) {
|
|
|
4697
3239
|
}
|
|
4698
3240
|
|
|
4699
3241
|
// src/utils/cucumber-messages.ts
|
|
4700
|
-
import { createHash as
|
|
3242
|
+
import { createHash as createHash3 } from "crypto";
|
|
4701
3243
|
function msToTimestamp(ms) {
|
|
4702
3244
|
const seconds = Math.floor(ms / 1e3);
|
|
4703
3245
|
const nanos = Math.round(ms % 1e3 * 1e6);
|
|
@@ -4763,7 +3305,7 @@ function statusToCucumberStatus(status) {
|
|
|
4763
3305
|
}
|
|
4764
3306
|
function deterministicId(kind, salt, ...parts) {
|
|
4765
3307
|
const input = [salt, kind, ...parts].join("::");
|
|
4766
|
-
return
|
|
3308
|
+
return createHash3("sha1").update(input).digest("hex").slice(0, 36);
|
|
4767
3309
|
}
|
|
4768
3310
|
|
|
4769
3311
|
// src/formatters/cucumber-messages/build-gherkin-document.ts
|
|
@@ -5263,8 +3805,8 @@ function extractDocAttachments(step) {
|
|
|
5263
3805
|
}
|
|
5264
3806
|
return attachments;
|
|
5265
3807
|
}
|
|
5266
|
-
function guessMediaType(
|
|
5267
|
-
const lower =
|
|
3808
|
+
function guessMediaType(path18) {
|
|
3809
|
+
const lower = path18.toLowerCase();
|
|
5268
3810
|
if (lower.endsWith(".png")) return "image/png";
|
|
5269
3811
|
if (lower.endsWith(".jpg") || lower.endsWith(".jpeg")) return "image/jpeg";
|
|
5270
3812
|
if (lower.endsWith(".gif")) return "image/gif";
|
|
@@ -5405,11 +3947,11 @@ var CucumberHtmlFormatter = class {
|
|
|
5405
3947
|
for (const envelope of envelopes) {
|
|
5406
3948
|
const accepted = htmlStream.write(envelope);
|
|
5407
3949
|
if (!accepted) {
|
|
5408
|
-
await new Promise((
|
|
3950
|
+
await new Promise((resolve10) => htmlStream.once("drain", resolve10));
|
|
5409
3951
|
}
|
|
5410
3952
|
}
|
|
5411
|
-
await new Promise((
|
|
5412
|
-
collector.on("finish",
|
|
3953
|
+
await new Promise((resolve10, reject) => {
|
|
3954
|
+
collector.on("finish", resolve10);
|
|
5413
3955
|
collector.on("error", reject);
|
|
5414
3956
|
htmlStream.end();
|
|
5415
3957
|
});
|
|
@@ -5418,7 +3960,7 @@ var CucumberHtmlFormatter = class {
|
|
|
5418
3960
|
};
|
|
5419
3961
|
|
|
5420
3962
|
// src/colocated-index.ts
|
|
5421
|
-
import
|
|
3963
|
+
import path from "path";
|
|
5422
3964
|
function escapeHtml(value) {
|
|
5423
3965
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
5424
3966
|
}
|
|
@@ -5438,7 +3980,7 @@ function buildIndexEntries(run, reportsBySourceFile, indexDir) {
|
|
|
5438
3980
|
const key = bucket(tc.status);
|
|
5439
3981
|
if (key) counts[key] += 1;
|
|
5440
3982
|
}
|
|
5441
|
-
const href =
|
|
3983
|
+
const href = path.relative(indexDir, reportPath).split(path.sep).join("/");
|
|
5442
3984
|
entries.push({ href, sourceFile, counts });
|
|
5443
3985
|
}
|
|
5444
3986
|
return entries.sort((a, b) => {
|
|
@@ -5529,6 +4071,12 @@ function toScenarioSnapshot(tc) {
|
|
|
5529
4071
|
};
|
|
5530
4072
|
}
|
|
5531
4073
|
|
|
4074
|
+
// src/compare/index.ts
|
|
4075
|
+
import {
|
|
4076
|
+
behaviourFingerprint,
|
|
4077
|
+
behaviourSimilarity
|
|
4078
|
+
} from "executable-stories-core/converters/acl/ids";
|
|
4079
|
+
|
|
5532
4080
|
// src/compare/pr-summary.ts
|
|
5533
4081
|
function titleFor(kind) {
|
|
5534
4082
|
switch (kind) {
|
|
@@ -5957,7 +4505,11 @@ var RunDiffChangelogFormatter = class {
|
|
|
5957
4505
|
}
|
|
5958
4506
|
};
|
|
5959
4507
|
|
|
4508
|
+
// src/formatters/run-diff-html.ts
|
|
4509
|
+
import { isLocalFsPath as isLocalFsPath2, safeImageUrl } from "executable-stories-core";
|
|
4510
|
+
|
|
5960
4511
|
// src/formatters/report-theme-css.ts
|
|
4512
|
+
import { ES_THEME_TOKENS_CSS } from "executable-stories-core/theme/tokens";
|
|
5961
4513
|
var DARK_TOKENS = `
|
|
5962
4514
|
--background: hsl(0 0% 6%);
|
|
5963
4515
|
--foreground: hsl(0 0% 95%);
|
|
@@ -6174,7 +4726,7 @@ function renderStoryboardStrip(scenario) {
|
|
|
6174
4726
|
const frames = [];
|
|
6175
4727
|
for (const step of steps) {
|
|
6176
4728
|
const shot = firstScreenshot(step.docs ?? []);
|
|
6177
|
-
if (!shot ||
|
|
4729
|
+
if (!shot || isLocalFsPath2(shot.path)) continue;
|
|
6178
4730
|
const src = safeImageUrl(shot.path);
|
|
6179
4731
|
if (!src) continue;
|
|
6180
4732
|
frames.push(
|
|
@@ -6850,6 +5402,7 @@ function selectTestCases(args, deps) {
|
|
|
6850
5402
|
}
|
|
6851
5403
|
|
|
6852
5404
|
// src/formatters/astro.ts
|
|
5405
|
+
import { humanizeSourceFile } from "executable-stories-core/utils/source-file";
|
|
6853
5406
|
var AstroFormatter = class _AstroFormatter {
|
|
6854
5407
|
markdownFormatter;
|
|
6855
5408
|
title;
|
|
@@ -6925,6 +5478,9 @@ function yamlScalar(value) {
|
|
|
6925
5478
|
return value;
|
|
6926
5479
|
}
|
|
6927
5480
|
|
|
5481
|
+
// src/index.ts
|
|
5482
|
+
import { cleanTestStem } from "executable-stories-core/utils/source-file";
|
|
5483
|
+
|
|
6928
5484
|
// src/formatters/confluence.ts
|
|
6929
5485
|
var ConfluenceFormatter = class {
|
|
6930
5486
|
options;
|
|
@@ -7362,25 +5918,25 @@ function groupBy3(items, keyFn) {
|
|
|
7362
5918
|
}
|
|
7363
5919
|
|
|
7364
5920
|
// src/formatters/astro-assets.ts
|
|
7365
|
-
import * as
|
|
7366
|
-
import * as
|
|
5921
|
+
import * as fs2 from "fs";
|
|
5922
|
+
import * as path3 from "path";
|
|
7367
5923
|
|
|
7368
5924
|
// src/bundler/copy-asset.ts
|
|
7369
|
-
import * as
|
|
7370
|
-
import * as
|
|
5925
|
+
import * as fs from "fs";
|
|
5926
|
+
import * as path2 from "path";
|
|
7371
5927
|
import * as crypto from "crypto";
|
|
7372
5928
|
function copyAsset(sourcePath, assetsDir) {
|
|
7373
|
-
if (!
|
|
7374
|
-
|
|
5929
|
+
if (!fs.existsSync(assetsDir)) {
|
|
5930
|
+
fs.mkdirSync(assetsDir, { recursive: true });
|
|
7375
5931
|
}
|
|
7376
|
-
const content =
|
|
5932
|
+
const content = fs.readFileSync(sourcePath);
|
|
7377
5933
|
const hash = crypto.createHash("sha256").update(content).digest("hex").slice(0, 8);
|
|
7378
|
-
const ext =
|
|
7379
|
-
const baseName = sanitize(
|
|
5934
|
+
const ext = path2.extname(sourcePath);
|
|
5935
|
+
const baseName = sanitize(path2.basename(sourcePath, ext));
|
|
7380
5936
|
const destName = `${baseName}-${hash}${ext}`;
|
|
7381
|
-
const destPath =
|
|
7382
|
-
if (!
|
|
7383
|
-
|
|
5937
|
+
const destPath = path2.join(assetsDir, destName);
|
|
5938
|
+
if (!fs.existsSync(destPath)) {
|
|
5939
|
+
fs.copyFileSync(sourcePath, destPath);
|
|
7384
5940
|
}
|
|
7385
5941
|
return `assets/${destName}`;
|
|
7386
5942
|
}
|
|
@@ -7396,7 +5952,7 @@ function isRemoteRef(src) {
|
|
|
7396
5952
|
}
|
|
7397
5953
|
function isAbsoluteRef(src) {
|
|
7398
5954
|
const trimmed = src.trim();
|
|
7399
|
-
return
|
|
5955
|
+
return path3.posix.isAbsolute(trimmed) || path3.win32.isAbsolute(trimmed);
|
|
7400
5956
|
}
|
|
7401
5957
|
function isRelativeLocalPath(src) {
|
|
7402
5958
|
return !isRemoteRef(src) && !isAbsoluteRef(src);
|
|
@@ -7486,8 +6042,8 @@ function copyMarkdownAssets(options) {
|
|
|
7486
6042
|
const pathMap = /* @__PURE__ */ new Map();
|
|
7487
6043
|
const missing = [];
|
|
7488
6044
|
for (const ref of refs) {
|
|
7489
|
-
const absPath = isAbsoluteRef(ref) ? ref :
|
|
7490
|
-
if (!
|
|
6045
|
+
const absPath = isAbsoluteRef(ref) ? ref : path3.resolve(markdownDir, ref);
|
|
6046
|
+
if (!fs2.existsSync(absPath)) {
|
|
7491
6047
|
if (isAbsoluteRef(ref)) continue;
|
|
7492
6048
|
if (!allowMissing) {
|
|
7493
6049
|
throw new Error(`Asset not found: ${absPath}`);
|
|
@@ -7509,8 +6065,8 @@ function copyMarkdownAssets(options) {
|
|
|
7509
6065
|
}
|
|
7510
6066
|
|
|
7511
6067
|
// src/bundler/bundle-assets.ts
|
|
7512
|
-
import * as
|
|
7513
|
-
import * as
|
|
6068
|
+
import * as fs3 from "fs";
|
|
6069
|
+
import * as path4 from "path";
|
|
7514
6070
|
|
|
7515
6071
|
// src/bundler/scan-html-assets.ts
|
|
7516
6072
|
function scanHtmlAssets(html) {
|
|
@@ -7542,15 +6098,15 @@ function isLocalAssetRef(ref) {
|
|
|
7542
6098
|
|
|
7543
6099
|
// src/bundler/bundle-assets.ts
|
|
7544
6100
|
function bundleAssets(htmlPath, options = {}) {
|
|
7545
|
-
const htmlDir =
|
|
7546
|
-
const assetsDir =
|
|
7547
|
-
let html =
|
|
6101
|
+
const htmlDir = path4.dirname(htmlPath);
|
|
6102
|
+
const assetsDir = path4.join(htmlDir, "assets");
|
|
6103
|
+
let html = fs3.readFileSync(htmlPath, "utf8");
|
|
7548
6104
|
const refs = scanHtmlAssets(html);
|
|
7549
6105
|
let copiedCount = 0;
|
|
7550
6106
|
const missing = [];
|
|
7551
6107
|
for (const ref of refs) {
|
|
7552
|
-
const absolutePath =
|
|
7553
|
-
if (!
|
|
6108
|
+
const absolutePath = path4.resolve(htmlDir, ref);
|
|
6109
|
+
if (!fs3.existsSync(absolutePath)) {
|
|
7554
6110
|
missing.push(ref);
|
|
7555
6111
|
continue;
|
|
7556
6112
|
}
|
|
@@ -7564,7 +6120,7 @@ function bundleAssets(htmlPath, options = {}) {
|
|
|
7564
6120
|
`Missing asset${missing.length > 1 ? "s" : ""}: ${missing.join(", ")}`
|
|
7565
6121
|
);
|
|
7566
6122
|
}
|
|
7567
|
-
|
|
6123
|
+
fs3.writeFileSync(htmlPath, html, "utf8");
|
|
7568
6124
|
return {
|
|
7569
6125
|
copiedCount,
|
|
7570
6126
|
missingCount: missing.length,
|
|
@@ -7599,9 +6155,32 @@ function replaceAssetRefInData(html, original, replacement) {
|
|
|
7599
6155
|
);
|
|
7600
6156
|
}
|
|
7601
6157
|
|
|
6158
|
+
// src/index.ts
|
|
6159
|
+
import { STORY_META_KEY } from "executable-stories-core/types/story";
|
|
6160
|
+
import {
|
|
6161
|
+
STORY_REPORT_SCHEMA_VERSION,
|
|
6162
|
+
STORY_REPORT_SCHEMA_MAJOR
|
|
6163
|
+
} from "executable-stories-core/types/story-report";
|
|
6164
|
+
import { ES_THEME_TOKENS_CSS as ES_THEME_TOKENS_CSS2, ES_THEME_TOKEN_VALUES } from "executable-stories-core/theme/tokens";
|
|
6165
|
+
import { canonicalizeRun as canonicalizeRun3 } from "executable-stories-core/converters/acl/index";
|
|
6166
|
+
import { normalizeStatus } from "executable-stories-core/converters/acl/index";
|
|
6167
|
+
import { generateTestCaseId } from "executable-stories-core/converters/acl/index";
|
|
6168
|
+
import { generateRunId } from "executable-stories-core/converters/acl/index";
|
|
6169
|
+
import { slugify as slugify2 } from "executable-stories-core/converters/acl/index";
|
|
6170
|
+
import { deriveStepResults } from "executable-stories-core/converters/acl/index";
|
|
6171
|
+
import { mergeStepResults } from "executable-stories-core/converters/acl/index";
|
|
6172
|
+
import { resolveAttachment } from "executable-stories-core/converters/acl/index";
|
|
6173
|
+
import { resolveAttachments } from "executable-stories-core/converters/acl/index";
|
|
6174
|
+
import {
|
|
6175
|
+
validateCanonicalRun,
|
|
6176
|
+
assertValidRun
|
|
6177
|
+
} from "executable-stories-core/converters/acl/validate";
|
|
6178
|
+
|
|
7602
6179
|
// src/watch.ts
|
|
7603
|
-
import * as
|
|
7604
|
-
import * as
|
|
6180
|
+
import * as fs4 from "fs";
|
|
6181
|
+
import * as path5 from "path";
|
|
6182
|
+
import { canonicalizeRun } from "executable-stories-core/converters/acl/index";
|
|
6183
|
+
import { synthesizeStories } from "executable-stories-core/converters/synthesize";
|
|
7605
6184
|
function toRun(data, inputType, synthesize) {
|
|
7606
6185
|
if (inputType === "canonical") return data;
|
|
7607
6186
|
let raw = data;
|
|
@@ -7609,8 +6188,8 @@ function toRun(data, inputType, synthesize) {
|
|
|
7609
6188
|
return canonicalizeRun(raw);
|
|
7610
6189
|
}
|
|
7611
6190
|
async function regenerateRun(options, deps = {}) {
|
|
7612
|
-
const read = deps.readFile ?? ((filePath) =>
|
|
7613
|
-
const data = JSON.parse(read(
|
|
6191
|
+
const read = deps.readFile ?? ((filePath) => fs4.readFileSync(filePath, "utf8"));
|
|
6192
|
+
const data = JSON.parse(read(path5.resolve(options.input)));
|
|
7614
6193
|
const run = toRun(data, options.inputType ?? "raw", options.synthesize !== false);
|
|
7615
6194
|
const generator = new ReportGenerator({
|
|
7616
6195
|
formats: options.formats,
|
|
@@ -7626,7 +6205,7 @@ async function regenerateArtifacts(options, deps = {}) {
|
|
|
7626
6205
|
function startWatch(options, deps = {}) {
|
|
7627
6206
|
const log = deps.log ?? ((message) => console.log(message));
|
|
7628
6207
|
const regenerate = deps.regenerate ?? ((input) => regenerateArtifacts({ ...options, input }, deps));
|
|
7629
|
-
const watchFn = deps.watch ?? ((filePath, listener) =>
|
|
6208
|
+
const watchFn = deps.watch ?? ((filePath, listener) => fs4.watch(filePath, listener));
|
|
7630
6209
|
const debounceMs = options.debounceMs ?? 150;
|
|
7631
6210
|
let timer;
|
|
7632
6211
|
let running = false;
|
|
@@ -7655,7 +6234,7 @@ function startWatch(options, deps = {}) {
|
|
|
7655
6234
|
timer = setTimeout(() => void run(), debounceMs);
|
|
7656
6235
|
};
|
|
7657
6236
|
trigger();
|
|
7658
|
-
const watcher = watchFn(
|
|
6237
|
+
const watcher = watchFn(path5.resolve(options.input), trigger);
|
|
7659
6238
|
return {
|
|
7660
6239
|
close: () => {
|
|
7661
6240
|
if (timer) clearTimeout(timer);
|
|
@@ -7664,6 +6243,10 @@ function startWatch(options, deps = {}) {
|
|
|
7664
6243
|
};
|
|
7665
6244
|
}
|
|
7666
6245
|
|
|
6246
|
+
// src/index.ts
|
|
6247
|
+
import { advanceState, initialRunState } from "executable-stories-core";
|
|
6248
|
+
import { toStoryReport as toStoryReport6 } from "executable-stories-core/converters/story-report";
|
|
6249
|
+
|
|
7667
6250
|
// src/publishers/confluence.ts
|
|
7668
6251
|
function parseAdf(adf) {
|
|
7669
6252
|
let parsed;
|
|
@@ -7893,6 +6476,17 @@ async function updateDescription(issueKey, base, adf, headers, fetchFn) {
|
|
|
7893
6476
|
};
|
|
7894
6477
|
}
|
|
7895
6478
|
|
|
6479
|
+
// src/index.ts
|
|
6480
|
+
import { parseNdjson, parseEnvelopes } from "executable-stories-core/converters/ndjson-parser";
|
|
6481
|
+
import { formatDuration as formatDuration4 } from "executable-stories-core/utils/duration";
|
|
6482
|
+
import { msToNanoseconds } from "executable-stories-core/utils/duration";
|
|
6483
|
+
import { nanosecondsToMs } from "executable-stories-core/utils/duration";
|
|
6484
|
+
import {
|
|
6485
|
+
tryGetActiveOtelContext,
|
|
6486
|
+
resolveTraceUrl
|
|
6487
|
+
} from "executable-stories-core/utils/otel-detect";
|
|
6488
|
+
import { buildHtmlDocEntry } from "executable-stories-core/utils/doc-builders";
|
|
6489
|
+
|
|
7896
6490
|
// src/notifiers/ansi-strip.ts
|
|
7897
6491
|
function stripAnsi(text2) {
|
|
7898
6492
|
return text2.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, "");
|
|
@@ -8255,7 +6849,7 @@ async function sendWebhookNotification(args, deps) {
|
|
|
8255
6849
|
}
|
|
8256
6850
|
|
|
8257
6851
|
// src/notifiers/index.ts
|
|
8258
|
-
function buildSummary2(run, reportUrl,
|
|
6852
|
+
function buildSummary2(run, reportUrl, toCIInfo3) {
|
|
8259
6853
|
let passed = 0;
|
|
8260
6854
|
let failed = 0;
|
|
8261
6855
|
let skipped = 0;
|
|
@@ -8281,7 +6875,7 @@ function buildSummary2(run, reportUrl, toCIInfo2) {
|
|
|
8281
6875
|
}
|
|
8282
6876
|
let ci;
|
|
8283
6877
|
if (run.ci) {
|
|
8284
|
-
ci =
|
|
6878
|
+
ci = toCIInfo3(run.ci);
|
|
8285
6879
|
}
|
|
8286
6880
|
return {
|
|
8287
6881
|
total: run.testCases.length,
|
|
@@ -8301,7 +6895,7 @@ function shouldNotify(condition, failedCount) {
|
|
|
8301
6895
|
}
|
|
8302
6896
|
async function sendNotifications(args, deps) {
|
|
8303
6897
|
const { run, notification } = args;
|
|
8304
|
-
const { logger, toCIInfo:
|
|
6898
|
+
const { logger, toCIInfo: toCIInfo3 } = deps;
|
|
8305
6899
|
const env = deps.env ?? process.env;
|
|
8306
6900
|
if (!deps.fetch) {
|
|
8307
6901
|
logger.warn("notifications: skipped (fetch unavailable)");
|
|
@@ -8317,7 +6911,7 @@ async function sendNotifications(args, deps) {
|
|
|
8317
6911
|
if (!slackWebhookUrl && !teamsWebhookUrl && webhooks.length === 0) {
|
|
8318
6912
|
return;
|
|
8319
6913
|
}
|
|
8320
|
-
const summary = buildSummary2(run, reportUrl,
|
|
6914
|
+
const summary = buildSummary2(run, reportUrl, toCIInfo3);
|
|
8321
6915
|
const promises = [];
|
|
8322
6916
|
if (slackWebhookUrl && shouldNotify(globalCondition, summary.failed)) {
|
|
8323
6917
|
promises.push(
|
|
@@ -8348,6 +6942,9 @@ async function sendNotifications(args, deps) {
|
|
|
8348
6942
|
await Promise.allSettled(promises);
|
|
8349
6943
|
}
|
|
8350
6944
|
|
|
6945
|
+
// src/index.ts
|
|
6946
|
+
import { toCIInfo, toRawCIInfo } from "executable-stories-core/types/ci";
|
|
6947
|
+
|
|
8351
6948
|
// src/history/history-store.ts
|
|
8352
6949
|
function emptyStore() {
|
|
8353
6950
|
return { version: 1, maxRuns: 10, tests: {}, lastUpdated: 0 };
|
|
@@ -9246,9 +7843,9 @@ function renderDiffHunk(file, hunk, anchoredStart, anchoredCount) {
|
|
|
9246
7843
|
const sign = line.kind === "add" ? "+" : line.kind === "del" ? "-" : " ";
|
|
9247
7844
|
return `<tr class="${cls}"><td class="diff-ln">${o}</td><td class="diff-ln">${n}</td><td class="diff-sign">${sign}</td><td class="diff-code">${escapeHtml3(line.text)}</td></tr>`;
|
|
9248
7845
|
});
|
|
9249
|
-
const
|
|
7846
|
+
const path18 = file.newPath ?? file.oldPath ?? "";
|
|
9250
7847
|
return `<div class="diff-hunk">
|
|
9251
|
-
<div class="diff-file-header"><code>${escapeHtml3(
|
|
7848
|
+
<div class="diff-file-header"><code>${escapeHtml3(path18)}</code> <span class="subtle">@@ -${hunk.oldStart} +${hunk.newStart} @@ ${escapeHtml3(hunk.header)}</span></div>
|
|
9252
7849
|
<table class="diff-table"><tbody>${rows.join("")}</tbody></table>
|
|
9253
7850
|
</div>`;
|
|
9254
7851
|
}
|
|
@@ -9483,8 +8080,8 @@ applyTheme(getEffectiveTheme());` : "";
|
|
|
9483
8080
|
};
|
|
9484
8081
|
|
|
9485
8082
|
// src/deploy/ledger.ts
|
|
9486
|
-
import * as
|
|
9487
|
-
import * as
|
|
8083
|
+
import * as fs5 from "fs";
|
|
8084
|
+
import * as path6 from "path";
|
|
9488
8085
|
function createEmptyLedger() {
|
|
9489
8086
|
return {
|
|
9490
8087
|
deployments: [],
|
|
@@ -9492,12 +8089,12 @@ function createEmptyLedger() {
|
|
|
9492
8089
|
};
|
|
9493
8090
|
}
|
|
9494
8091
|
function loadLedger(ledgerPath) {
|
|
9495
|
-
const resolved =
|
|
9496
|
-
if (!
|
|
8092
|
+
const resolved = path6.resolve(ledgerPath);
|
|
8093
|
+
if (!fs5.existsSync(resolved)) {
|
|
9497
8094
|
return createEmptyLedger();
|
|
9498
8095
|
}
|
|
9499
8096
|
try {
|
|
9500
|
-
const raw = JSON.parse(
|
|
8097
|
+
const raw = JSON.parse(fs5.readFileSync(resolved, "utf8"));
|
|
9501
8098
|
if (raw.schemaVersion !== 1) {
|
|
9502
8099
|
throw new Error(`Unsupported ledger schemaVersion: ${raw.schemaVersion}`);
|
|
9503
8100
|
}
|
|
@@ -9508,10 +8105,10 @@ function loadLedger(ledgerPath) {
|
|
|
9508
8105
|
}
|
|
9509
8106
|
}
|
|
9510
8107
|
function saveLedger(ledger, ledgerPath) {
|
|
9511
|
-
const resolved =
|
|
9512
|
-
const dir =
|
|
9513
|
-
|
|
9514
|
-
|
|
8108
|
+
const resolved = path6.resolve(ledgerPath);
|
|
8109
|
+
const dir = path6.dirname(resolved);
|
|
8110
|
+
fs5.mkdirSync(dir, { recursive: true });
|
|
8111
|
+
fs5.writeFileSync(resolved, JSON.stringify(ledger, null, 2), "utf8");
|
|
9515
8112
|
}
|
|
9516
8113
|
function getLatestDeployment(ledger, environment) {
|
|
9517
8114
|
return [...ledger.deployments].reverse().find((d) => d.environment === environment);
|
|
@@ -9638,11 +8235,11 @@ function computeOutputPath(sourceFile, format, mode, colocatedStyle, baseOutputD
|
|
|
9638
8235
|
const ext = FORMAT_EXTENSIONS[format];
|
|
9639
8236
|
const effectiveName = outputName + (outputNameSuffix ?? "");
|
|
9640
8237
|
if (mode === "aggregated") {
|
|
9641
|
-
return toPosix(
|
|
8238
|
+
return toPosix(path7.join(baseOutputDir, joinNameAndExt(effectiveName, ext)));
|
|
9642
8239
|
}
|
|
9643
8240
|
const normalizedSource = toPosix(sourceFile);
|
|
9644
|
-
const dirOfSource =
|
|
9645
|
-
let baseName =
|
|
8241
|
+
const dirOfSource = path7.posix.dirname(normalizedSource);
|
|
8242
|
+
let baseName = path7.posix.basename(normalizedSource);
|
|
9646
8243
|
for (const testExt of TEST_EXTENSIONS) {
|
|
9647
8244
|
if (baseName.endsWith(testExt)) {
|
|
9648
8245
|
baseName = baseName.slice(0, -testExt.length);
|
|
@@ -9651,12 +8248,12 @@ function computeOutputPath(sourceFile, format, mode, colocatedStyle, baseOutputD
|
|
|
9651
8248
|
}
|
|
9652
8249
|
const fileName = `${baseName}.${effectiveName}${ext}`;
|
|
9653
8250
|
if (colocatedStyle === "adjacent") {
|
|
9654
|
-
return toPosix(
|
|
8251
|
+
return toPosix(path7.posix.join(dirOfSource, fileName));
|
|
9655
8252
|
}
|
|
9656
8253
|
if (colocatedStyle === "flat") {
|
|
9657
|
-
return toPosix(
|
|
8254
|
+
return toPosix(path7.posix.join(baseOutputDir, `${cleanTestStem(normalizedSource)}${ext}`));
|
|
9658
8255
|
}
|
|
9659
|
-
return toPosix(
|
|
8256
|
+
return toPosix(path7.posix.join(baseOutputDir, dirOfSource, fileName));
|
|
9660
8257
|
}
|
|
9661
8258
|
function groupTestCasesByOutput(testCases, format, options, logger, outputNameSuffix) {
|
|
9662
8259
|
const groups = /* @__PURE__ */ new Map();
|
|
@@ -9876,8 +8473,8 @@ var ReportGenerator = class {
|
|
|
9876
8473
|
if (astroPaths) {
|
|
9877
8474
|
for (const mdPath of astroPaths) {
|
|
9878
8475
|
const content = await fsPromises.readFile(mdPath, "utf8");
|
|
9879
|
-
const mdDir =
|
|
9880
|
-
const assetsDir =
|
|
8476
|
+
const mdDir = path7.dirname(mdPath);
|
|
8477
|
+
const assetsDir = path7.resolve(this.options.astro.assetsDir);
|
|
9881
8478
|
const result = copyMarkdownAssets({
|
|
9882
8479
|
markdown: content,
|
|
9883
8480
|
markdownDir: mdDir,
|
|
@@ -9925,16 +8522,16 @@ var ReportGenerator = class {
|
|
|
9925
8522
|
bySourceFile.set(sourceFile, outputPath);
|
|
9926
8523
|
}
|
|
9927
8524
|
if (bySourceFile.size === 0) return void 0;
|
|
9928
|
-
const indexPath = toPosix(
|
|
8525
|
+
const indexPath = toPosix(path7.join(this.options.outputDir, "index.html"));
|
|
9929
8526
|
if (htmlPaths.some((p) => toPosix(p) === indexPath)) {
|
|
9930
8527
|
this.deps.logger.warn?.(
|
|
9931
8528
|
`Skipping colocated index: a report already occupies ${indexPath}.`
|
|
9932
8529
|
);
|
|
9933
8530
|
return void 0;
|
|
9934
8531
|
}
|
|
9935
|
-
const entries = buildIndexEntries(run, bySourceFile,
|
|
8532
|
+
const entries = buildIndexEntries(run, bySourceFile, path7.dirname(indexPath));
|
|
9936
8533
|
const html = renderColocatedIndex(entries, this.options.html.title);
|
|
9937
|
-
await fsPromises.mkdir(
|
|
8534
|
+
await fsPromises.mkdir(path7.dirname(indexPath), { recursive: true });
|
|
9938
8535
|
await this.deps.writeFile(indexPath, html);
|
|
9939
8536
|
return indexPath;
|
|
9940
8537
|
}
|
|
@@ -9953,9 +8550,9 @@ var ReportGenerator = class {
|
|
|
9953
8550
|
if (groups.size === 0 && this.options.output.mode === "aggregated") {
|
|
9954
8551
|
const ext = FORMAT_EXTENSIONS[format];
|
|
9955
8552
|
const effectiveName = this.options.outputName + (outputNameSuffix ?? "");
|
|
9956
|
-
const outputPath = toPosix(
|
|
8553
|
+
const outputPath = toPosix(path7.join(this.options.outputDir, joinNameAndExt(effectiveName, ext)));
|
|
9957
8554
|
const content = await this.formatContent(run, format);
|
|
9958
|
-
const dir =
|
|
8555
|
+
const dir = path7.dirname(outputPath);
|
|
9959
8556
|
await fsPromises.mkdir(dir, { recursive: true });
|
|
9960
8557
|
await this.deps.writeFile(outputPath, content);
|
|
9961
8558
|
return [outputPath];
|
|
@@ -9967,7 +8564,7 @@ var ReportGenerator = class {
|
|
|
9967
8564
|
testCases
|
|
9968
8565
|
};
|
|
9969
8566
|
const content = await this.formatContent(groupRun, format);
|
|
9970
|
-
const dir =
|
|
8567
|
+
const dir = path7.dirname(outputPath);
|
|
9971
8568
|
await fsPromises.mkdir(dir, { recursive: true });
|
|
9972
8569
|
await this.deps.writeFile(outputPath, content);
|
|
9973
8570
|
writtenPaths.push(outputPath);
|
|
@@ -10155,7 +8752,7 @@ async function generateRunComparison(args) {
|
|
|
10155
8752
|
await fsPromises.mkdir(outputDir, { recursive: true });
|
|
10156
8753
|
for (const format of args.formats) {
|
|
10157
8754
|
const ext = format === "html" ? ".html" : format === "changelog" ? ".changelog.md" : ".md";
|
|
10158
|
-
const outputPath = toPosix(
|
|
8755
|
+
const outputPath = toPosix(path7.join(outputDir, `${outputName}${ext}`));
|
|
10159
8756
|
const content = format === "html" ? new RunDiffHtmlFormatter({ title: args.title }).format(diff) : format === "changelog" ? new RunDiffChangelogFormatter().format(diff) : new RunDiffMarkdownFormatter({ title: args.title }).format(diff);
|
|
10160
8757
|
await fsPromises.writeFile(outputPath, content, "utf8");
|
|
10161
8758
|
files.push(outputPath);
|
|
@@ -10163,9 +8760,13 @@ async function generateRunComparison(args) {
|
|
|
10163
8760
|
return { files, diff };
|
|
10164
8761
|
}
|
|
10165
8762
|
|
|
8763
|
+
// src/cli.ts
|
|
8764
|
+
import { parseNdjson as parseNdjson2 } from "executable-stories-core/converters/ndjson-parser";
|
|
8765
|
+
import { toCIInfo as toCIInfo2 } from "executable-stories-core/types/ci";
|
|
8766
|
+
|
|
10166
8767
|
// src/artifacts-readme.ts
|
|
10167
|
-
import * as
|
|
10168
|
-
import * as
|
|
8768
|
+
import * as fs6 from "fs";
|
|
8769
|
+
import * as path8 from "path";
|
|
10169
8770
|
var README = `# executable-stories artifacts
|
|
10170
8771
|
|
|
10171
8772
|
Generated by your test reporter and the \`executable-stories\` CLI. Safe to
|
|
@@ -10191,10 +8792,10 @@ Useful commands (all take \`raw-run.json\`):
|
|
|
10191
8792
|
`;
|
|
10192
8793
|
function writeArtifactsReadme(outputDir) {
|
|
10193
8794
|
try {
|
|
10194
|
-
const target =
|
|
10195
|
-
if (
|
|
10196
|
-
|
|
10197
|
-
|
|
8795
|
+
const target = path8.join(outputDir, "README.md");
|
|
8796
|
+
if (fs6.existsSync(target)) return false;
|
|
8797
|
+
fs6.mkdirSync(outputDir, { recursive: true });
|
|
8798
|
+
fs6.writeFileSync(target, README, "utf8");
|
|
10198
8799
|
return true;
|
|
10199
8800
|
} catch {
|
|
10200
8801
|
return false;
|
|
@@ -10202,10 +8803,15 @@ function writeArtifactsReadme(outputDir) {
|
|
|
10202
8803
|
}
|
|
10203
8804
|
|
|
10204
8805
|
// src/explainers.ts
|
|
10205
|
-
import * as
|
|
10206
|
-
import * as
|
|
8806
|
+
import * as fs8 from "fs";
|
|
8807
|
+
import * as path10 from "path";
|
|
10207
8808
|
import Ajv2 from "ajv/dist/2020.js";
|
|
10208
8809
|
import { parse as parseYaml } from "yaml";
|
|
8810
|
+
import {
|
|
8811
|
+
checkExplainerRef,
|
|
8812
|
+
explainerRefFromFrontmatter
|
|
8813
|
+
} from "executable-stories-core/explainer";
|
|
8814
|
+
import { toStoryReport as toStoryReport7 } from "executable-stories-core/converters/story-report";
|
|
10209
8815
|
|
|
10210
8816
|
// schemas/explainer-v1.json
|
|
10211
8817
|
var explainer_v1_default = {
|
|
@@ -10257,21 +8863,21 @@ var explainer_v1_default = {
|
|
|
10257
8863
|
};
|
|
10258
8864
|
|
|
10259
8865
|
// src/utils/markdown-files.ts
|
|
10260
|
-
import * as
|
|
10261
|
-
import * as
|
|
8866
|
+
import * as fs7 from "fs";
|
|
8867
|
+
import * as path9 from "path";
|
|
10262
8868
|
function collectMarkdownFiles(target) {
|
|
10263
|
-
if (!
|
|
10264
|
-
if (
|
|
8869
|
+
if (!fs7.existsSync(target)) return [];
|
|
8870
|
+
if (fs7.statSync(target).isFile()) return [target];
|
|
10265
8871
|
const out = [];
|
|
10266
|
-
const
|
|
10267
|
-
for (const entry of
|
|
8872
|
+
const walk = (dir) => {
|
|
8873
|
+
for (const entry of fs7.readdirSync(dir, { withFileTypes: true })) {
|
|
10268
8874
|
if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
|
|
10269
|
-
const full =
|
|
10270
|
-
if (entry.isDirectory())
|
|
8875
|
+
const full = path9.join(dir, entry.name);
|
|
8876
|
+
if (entry.isDirectory()) walk(full);
|
|
10271
8877
|
else if (/\.mdx?$/u.test(entry.name)) out.push(full);
|
|
10272
8878
|
}
|
|
10273
8879
|
};
|
|
10274
|
-
|
|
8880
|
+
walk(target);
|
|
10275
8881
|
return out;
|
|
10276
8882
|
}
|
|
10277
8883
|
|
|
@@ -10314,13 +8920,13 @@ function parseExplainerDoc(markdown) {
|
|
|
10314
8920
|
return { explainer, errors: [] };
|
|
10315
8921
|
}
|
|
10316
8922
|
function buildExplainersReport(args, _deps = {}) {
|
|
10317
|
-
const report =
|
|
8923
|
+
const report = toStoryReport7(args.run);
|
|
10318
8924
|
const scenarios = report.features.flatMap((feature) => feature.scenarios);
|
|
10319
8925
|
const explainers = [];
|
|
10320
8926
|
for (const file of collectMarkdownFiles(args.dir).sort()) {
|
|
10321
|
-
const parsed = parseExplainerDoc(
|
|
8927
|
+
const parsed = parseExplainerDoc(fs8.readFileSync(file, "utf8"));
|
|
10322
8928
|
if (!parsed) continue;
|
|
10323
|
-
const rel =
|
|
8929
|
+
const rel = path10.relative(args.dir, file);
|
|
10324
8930
|
if (!parsed.explainer) {
|
|
10325
8931
|
explainers.push({ file: rel, status: "invalid", errors: parsed.errors });
|
|
10326
8932
|
continue;
|
|
@@ -10389,13 +8995,13 @@ function renderExplainersReport(report, format) {
|
|
|
10389
8995
|
}
|
|
10390
8996
|
|
|
10391
8997
|
// src/run-file.ts
|
|
10392
|
-
import
|
|
10393
|
-
import
|
|
8998
|
+
import fs9 from "fs";
|
|
8999
|
+
import path11 from "path";
|
|
10394
9000
|
var DEFAULT_RUN_FILES = [".executable-stories/raw-run.json", "reports/raw-run.json"];
|
|
10395
9001
|
var SUPPORTED_RAW_RUN_SCHEMA = 1;
|
|
10396
9002
|
function findDefaultRunFile(cwd = process.cwd()) {
|
|
10397
9003
|
for (const candidate of DEFAULT_RUN_FILES) {
|
|
10398
|
-
if (
|
|
9004
|
+
if (fs9.existsSync(path11.resolve(cwd, candidate))) return candidate;
|
|
10399
9005
|
}
|
|
10400
9006
|
return void 0;
|
|
10401
9007
|
}
|
|
@@ -10421,8 +9027,8 @@ function diagnoseRunFile(file, cwd = process.cwd()) {
|
|
|
10421
9027
|
});
|
|
10422
9028
|
return { checks, healthy: false };
|
|
10423
9029
|
}
|
|
10424
|
-
const abs =
|
|
10425
|
-
if (!
|
|
9030
|
+
const abs = path11.resolve(cwd, resolved);
|
|
9031
|
+
if (!fs9.existsSync(abs)) {
|
|
10426
9032
|
checks.push({
|
|
10427
9033
|
label: "run file",
|
|
10428
9034
|
status: "fail",
|
|
@@ -10431,7 +9037,7 @@ function diagnoseRunFile(file, cwd = process.cwd()) {
|
|
|
10431
9037
|
});
|
|
10432
9038
|
return { checks, healthy: false };
|
|
10433
9039
|
}
|
|
10434
|
-
const stat =
|
|
9040
|
+
const stat = fs9.statSync(abs);
|
|
10435
9041
|
checks.push({
|
|
10436
9042
|
label: "run file",
|
|
10437
9043
|
status: "ok",
|
|
@@ -10439,7 +9045,7 @@ function diagnoseRunFile(file, cwd = process.cwd()) {
|
|
|
10439
9045
|
});
|
|
10440
9046
|
let parsed;
|
|
10441
9047
|
try {
|
|
10442
|
-
parsed = JSON.parse(
|
|
9048
|
+
parsed = JSON.parse(fs9.readFileSync(abs, "utf8"));
|
|
10443
9049
|
} catch (err) {
|
|
10444
9050
|
checks.push({
|
|
10445
9051
|
label: "json",
|
|
@@ -10728,7 +9334,7 @@ function runCompletion(args) {
|
|
|
10728
9334
|
|
|
10729
9335
|
// src/open-report.ts
|
|
10730
9336
|
import { spawn } from "child_process";
|
|
10731
|
-
import
|
|
9337
|
+
import path12 from "path";
|
|
10732
9338
|
function openCommand(platform) {
|
|
10733
9339
|
if (platform === "darwin") return { command: "open", args: [] };
|
|
10734
9340
|
if (platform === "win32") return { command: "cmd", args: ["/c", "start", ""] };
|
|
@@ -10744,7 +9350,7 @@ function openInBrowser(file, platform = process.platform) {
|
|
|
10744
9350
|
}
|
|
10745
9351
|
const { command, args } = openCommand(platform);
|
|
10746
9352
|
try {
|
|
10747
|
-
const child = spawn(command, [...args,
|
|
9353
|
+
const child = spawn(command, [...args, path12.resolve(file)], { stdio: "ignore", detached: true });
|
|
10748
9354
|
child.on("error", (err) => {
|
|
10749
9355
|
console.error(`--open: could not open ${file}: ${err.message}`);
|
|
10750
9356
|
});
|
|
@@ -10772,14 +9378,14 @@ function summaryLine(counts, files, durationMs) {
|
|
|
10772
9378
|
|
|
10773
9379
|
// src/init-astro.ts
|
|
10774
9380
|
import { spawnSync } from "child_process";
|
|
10775
|
-
import * as
|
|
10776
|
-
import * as
|
|
9381
|
+
import * as fs10 from "fs";
|
|
9382
|
+
import * as path13 from "path";
|
|
10777
9383
|
import { fileURLToPath } from "url";
|
|
10778
|
-
var __dirname =
|
|
9384
|
+
var __dirname = path13.dirname(fileURLToPath(import.meta.url));
|
|
10779
9385
|
function detectPackageManager(cwd = process.cwd()) {
|
|
10780
|
-
if (
|
|
10781
|
-
if (
|
|
10782
|
-
if (
|
|
9386
|
+
if (fs10.existsSync(path13.join(cwd, "pnpm-lock.yaml"))) return "pnpm";
|
|
9387
|
+
if (fs10.existsSync(path13.join(cwd, "yarn.lock"))) return "yarn";
|
|
9388
|
+
if (fs10.existsSync(path13.join(cwd, "bun.lock")) || fs10.existsSync(path13.join(cwd, "bun.lockb"))) {
|
|
10783
9389
|
return "bun";
|
|
10784
9390
|
}
|
|
10785
9391
|
return "npm";
|
|
@@ -10800,7 +9406,7 @@ function runDocsDev(siteDir) {
|
|
|
10800
9406
|
return { kind: "not-scaffolded" };
|
|
10801
9407
|
}
|
|
10802
9408
|
const pm = detectPackageManager();
|
|
10803
|
-
if (!
|
|
9409
|
+
if (!fs10.existsSync(path13.join(siteDir, "node_modules"))) {
|
|
10804
9410
|
console.log(`Installing docs site dependencies with ${pm}\u2026`);
|
|
10805
9411
|
if (!installScaffoldDependencies(siteDir, pm)) {
|
|
10806
9412
|
return { kind: "install-failed", pm };
|
|
@@ -10811,14 +9417,14 @@ function runDocsDev(siteDir) {
|
|
|
10811
9417
|
}
|
|
10812
9418
|
var SCAFFOLD_MARKER = "executable-stories.config.mjs";
|
|
10813
9419
|
function isScaffoldedAstroSite(dir) {
|
|
10814
|
-
return
|
|
9420
|
+
return fs10.existsSync(path13.join(dir, SCAFFOLD_MARKER));
|
|
10815
9421
|
}
|
|
10816
9422
|
function initAstro(options = {}) {
|
|
10817
9423
|
const targetDir = options.targetDir ?? "./story-docs";
|
|
10818
9424
|
const force = options.force ?? false;
|
|
10819
9425
|
const update = options.update ?? false;
|
|
10820
|
-
const templateDir =
|
|
10821
|
-
if (!
|
|
9426
|
+
const templateDir = path13.resolve(__dirname, "..", "templates", "astro-thin");
|
|
9427
|
+
if (!fs10.existsSync(templateDir)) {
|
|
10822
9428
|
throw new Error(
|
|
10823
9429
|
`Template directory not found at ${templateDir}. Ensure the package is installed correctly.`
|
|
10824
9430
|
);
|
|
@@ -10826,8 +9432,8 @@ function initAstro(options = {}) {
|
|
|
10826
9432
|
if (update) {
|
|
10827
9433
|
return updateScaffoldDeps(templateDir, targetDir);
|
|
10828
9434
|
}
|
|
10829
|
-
if (
|
|
10830
|
-
const entries =
|
|
9435
|
+
if (fs10.existsSync(targetDir)) {
|
|
9436
|
+
const entries = fs10.readdirSync(targetDir);
|
|
10831
9437
|
if (entries.length > 0 && !force) {
|
|
10832
9438
|
throw new Error(
|
|
10833
9439
|
`Directory "${targetDir}" already exists and is not empty. Use --force to overlay the template (existing files are kept; same-path template files are overwritten), or --update to refresh framework files only.`
|
|
@@ -10847,11 +9453,11 @@ function updateScaffoldDeps(templateDir, targetDir) {
|
|
|
10847
9453
|
return { targetDir };
|
|
10848
9454
|
}
|
|
10849
9455
|
function mergeDependencies(templateDir, targetDir) {
|
|
10850
|
-
const tmplPkgPath =
|
|
10851
|
-
const userPkgPath =
|
|
10852
|
-
if (!
|
|
10853
|
-
const tmpl = JSON.parse(
|
|
10854
|
-
const user = JSON.parse(
|
|
9456
|
+
const tmplPkgPath = path13.join(templateDir, "package.json");
|
|
9457
|
+
const userPkgPath = path13.join(targetDir, "package.json");
|
|
9458
|
+
if (!fs10.existsSync(tmplPkgPath) || !fs10.existsSync(userPkgPath)) return;
|
|
9459
|
+
const tmpl = JSON.parse(fs10.readFileSync(tmplPkgPath, "utf8"));
|
|
9460
|
+
const user = JSON.parse(fs10.readFileSync(userPkgPath, "utf8"));
|
|
10855
9461
|
user.dependencies = user.dependencies ?? {};
|
|
10856
9462
|
let changed = false;
|
|
10857
9463
|
for (const [name, version] of Object.entries(tmpl.dependencies ?? {})) {
|
|
@@ -10861,28 +9467,28 @@ function mergeDependencies(templateDir, targetDir) {
|
|
|
10861
9467
|
}
|
|
10862
9468
|
}
|
|
10863
9469
|
if (changed) {
|
|
10864
|
-
|
|
9470
|
+
fs10.writeFileSync(userPkgPath, `${JSON.stringify(user, null, 2)}
|
|
10865
9471
|
`, "utf8");
|
|
10866
9472
|
}
|
|
10867
9473
|
}
|
|
10868
9474
|
function copyDirRecursive(src, dest) {
|
|
10869
|
-
|
|
10870
|
-
const entries =
|
|
9475
|
+
fs10.mkdirSync(dest, { recursive: true });
|
|
9476
|
+
const entries = fs10.readdirSync(src, { withFileTypes: true });
|
|
10871
9477
|
for (const entry of entries) {
|
|
10872
|
-
const srcPath =
|
|
9478
|
+
const srcPath = path13.join(src, entry.name);
|
|
10873
9479
|
const destName = entry.name === "gitignore" ? ".gitignore" : entry.name;
|
|
10874
|
-
const destPath =
|
|
9480
|
+
const destPath = path13.join(dest, destName);
|
|
10875
9481
|
if (entry.isDirectory()) {
|
|
10876
9482
|
copyDirRecursive(srcPath, destPath);
|
|
10877
9483
|
} else {
|
|
10878
|
-
|
|
9484
|
+
fs10.copyFileSync(srcPath, destPath);
|
|
10879
9485
|
}
|
|
10880
9486
|
}
|
|
10881
9487
|
}
|
|
10882
9488
|
|
|
10883
9489
|
// src/scaffold-doc.ts
|
|
10884
|
-
import * as
|
|
10885
|
-
import * as
|
|
9490
|
+
import * as fs11 from "fs";
|
|
9491
|
+
import * as path14 from "path";
|
|
10886
9492
|
var TEMPLATES = [
|
|
10887
9493
|
"adr",
|
|
10888
9494
|
"runbook",
|
|
@@ -10899,7 +9505,7 @@ function isoDate(today) {
|
|
|
10899
9505
|
function nextSeq(dir) {
|
|
10900
9506
|
let max = 0;
|
|
10901
9507
|
try {
|
|
10902
|
-
for (const entry of
|
|
9508
|
+
for (const entry of fs11.readdirSync(dir)) {
|
|
10903
9509
|
const match = /^(\d{1,4})-/.exec(entry);
|
|
10904
9510
|
if (match) max = Math.max(max, Number.parseInt(match[1], 10));
|
|
10905
9511
|
}
|
|
@@ -11056,12 +9662,12 @@ function scaffoldDoc(options) {
|
|
|
11056
9662
|
);
|
|
11057
9663
|
}
|
|
11058
9664
|
const spec = TEMPLATE_SPECS[template];
|
|
11059
|
-
const baseDir = options.baseDir ??
|
|
9665
|
+
const baseDir = options.baseDir ?? path14.join("src", "content", "docs");
|
|
11060
9666
|
const today = options.today ?? /* @__PURE__ */ new Date();
|
|
11061
9667
|
const name = (options.name ?? "").trim() || defaultName(template);
|
|
11062
9668
|
const slug2 = slugify3(name);
|
|
11063
9669
|
const scenarioId = normalizeScenarioId(options.scenarioId);
|
|
11064
|
-
const dir =
|
|
9670
|
+
const dir = path14.join(baseDir, spec.subdir);
|
|
11065
9671
|
if (template === "scenario-note" && !scenarioId) {
|
|
11066
9672
|
throw new Error(`Template "scenario-note" requires --scenario-id.`);
|
|
11067
9673
|
}
|
|
@@ -11073,14 +9679,14 @@ function scaffoldDoc(options) {
|
|
|
11073
9679
|
seq: nextSeq(dir)
|
|
11074
9680
|
};
|
|
11075
9681
|
const filename = `${spec.filename(slug2, ctx)}.mdx`;
|
|
11076
|
-
const filePath =
|
|
11077
|
-
if (
|
|
9682
|
+
const filePath = path14.join(dir, filename);
|
|
9683
|
+
if (fs11.existsSync(filePath) && !options.force) {
|
|
11078
9684
|
throw new Error(
|
|
11079
9685
|
`File "${filePath}" already exists. Use --force to overwrite.`
|
|
11080
9686
|
);
|
|
11081
9687
|
}
|
|
11082
|
-
|
|
11083
|
-
|
|
9688
|
+
fs11.mkdirSync(dir, { recursive: true });
|
|
9689
|
+
fs11.writeFileSync(filePath, spec.content(ctx), "utf8");
|
|
11084
9690
|
return { template, path: filePath, title: titleFor2(template, ctx) };
|
|
11085
9691
|
}
|
|
11086
9692
|
function defaultName(template) {
|
|
@@ -11121,8 +9727,8 @@ function normalizeScenarioId(input) {
|
|
|
11121
9727
|
}
|
|
11122
9728
|
|
|
11123
9729
|
// src/check-links.ts
|
|
11124
|
-
import * as
|
|
11125
|
-
import * as
|
|
9730
|
+
import * as fs12 from "fs";
|
|
9731
|
+
import * as path15 from "path";
|
|
11126
9732
|
function stripCode(markdown) {
|
|
11127
9733
|
let out = markdown.replace(/^[ \t]*(`{3,}|~{3,})[^\n]*\n[\s\S]*?^[ \t]*\1\s*$/gm, "");
|
|
11128
9734
|
out = out.replace(/(`+)(?:(?!\1).)+\1/g, "");
|
|
@@ -11152,17 +9758,17 @@ function classifyLink(link2) {
|
|
|
11152
9758
|
function resolutionCandidates(fromFile, link2) {
|
|
11153
9759
|
const withoutAnchor = link2.split("#")[0];
|
|
11154
9760
|
if (!withoutAnchor) return [];
|
|
11155
|
-
const base =
|
|
9761
|
+
const base = path15.resolve(path15.dirname(fromFile), withoutAnchor);
|
|
11156
9762
|
const candidates = [base];
|
|
11157
|
-
if (!
|
|
9763
|
+
if (!path15.extname(base)) {
|
|
11158
9764
|
candidates.push(`${base}.md`, `${base}.mdx`);
|
|
11159
|
-
candidates.push(
|
|
9765
|
+
candidates.push(path15.join(base, "index.md"), path15.join(base, "index.mdx"));
|
|
11160
9766
|
}
|
|
11161
9767
|
return candidates;
|
|
11162
9768
|
}
|
|
11163
9769
|
function resolvesOnDisk(fromFile, link2) {
|
|
11164
9770
|
return resolutionCandidates(fromFile, link2).some(
|
|
11165
|
-
(candidate) =>
|
|
9771
|
+
(candidate) => fs12.existsSync(candidate) && fs12.statSync(candidate).isFile()
|
|
11166
9772
|
);
|
|
11167
9773
|
}
|
|
11168
9774
|
async function isExternalAlive(url, timeoutMs) {
|
|
@@ -11188,7 +9794,7 @@ async function isExternalAlive(url, timeoutMs) {
|
|
|
11188
9794
|
}
|
|
11189
9795
|
async function checkLinks(options) {
|
|
11190
9796
|
const { target, checkExternal = false, externalTimeoutMs = 8e3 } = options;
|
|
11191
|
-
if (!
|
|
9797
|
+
if (!fs12.existsSync(target)) {
|
|
11192
9798
|
throw new Error(`Path not found: ${target}`);
|
|
11193
9799
|
}
|
|
11194
9800
|
const files = collectMarkdownFiles(target);
|
|
@@ -11198,7 +9804,7 @@ async function checkLinks(options) {
|
|
|
11198
9804
|
let skipped = 0;
|
|
11199
9805
|
const externalCache = /* @__PURE__ */ new Map();
|
|
11200
9806
|
for (const file of files) {
|
|
11201
|
-
const content =
|
|
9807
|
+
const content = fs12.readFileSync(file, "utf8");
|
|
11202
9808
|
for (const link2 of extractLinks(content)) {
|
|
11203
9809
|
const kind = classifyLink(link2);
|
|
11204
9810
|
if (kind === "anchor" || kind === "mail" || kind === "root") {
|
|
@@ -11255,8 +9861,11 @@ function formatLinkReport(report) {
|
|
|
11255
9861
|
|
|
11256
9862
|
// src/push.ts
|
|
11257
9863
|
import { execFileSync } from "child_process";
|
|
11258
|
-
import * as
|
|
9864
|
+
import * as fs13 from "fs";
|
|
11259
9865
|
import { parseArgs } from "util";
|
|
9866
|
+
import { canonicalizeRun as canonicalizeRun4 } from "executable-stories-core/converters/acl/index";
|
|
9867
|
+
import { toStoryReport as toStoryReport8 } from "executable-stories-core/converters/story-report";
|
|
9868
|
+
import { synthesizeStories as synthesizeStories2 } from "executable-stories-core/converters/synthesize";
|
|
11260
9869
|
var EXIT_SUCCESS = 0;
|
|
11261
9870
|
var EXIT_PUSH_FAILED = 1;
|
|
11262
9871
|
var EXIT_USAGE = 4;
|
|
@@ -11282,7 +9891,7 @@ Options:
|
|
|
11282
9891
|
Exit codes: 0 pushed, 1 push rejected/failed, 4 usage error.`;
|
|
11283
9892
|
function defaultDeps() {
|
|
11284
9893
|
return {
|
|
11285
|
-
readFile: (filePath) =>
|
|
9894
|
+
readFile: (filePath) => fs13.readFileSync(filePath, "utf8"),
|
|
11286
9895
|
fetchFn: fetch,
|
|
11287
9896
|
git: (args) => {
|
|
11288
9897
|
try {
|
|
@@ -11354,7 +9963,7 @@ async function runPush(rawArgs, depsOverride = {}) {
|
|
|
11354
9963
|
report = data;
|
|
11355
9964
|
} else {
|
|
11356
9965
|
try {
|
|
11357
|
-
report =
|
|
9966
|
+
report = toStoryReport8(canonicalizeRun4(synthesizeStories2(data)));
|
|
11358
9967
|
} catch (err) {
|
|
11359
9968
|
deps.error(
|
|
11360
9969
|
`${inputPath} is neither a StoryReport v1 nor a convertible raw run: ${err instanceof Error ? err.message : String(err)}`
|
|
@@ -11412,8 +10021,8 @@ async function runPush(rawArgs, depsOverride = {}) {
|
|
|
11412
10021
|
}
|
|
11413
10022
|
|
|
11414
10023
|
// src/import-openapi.ts
|
|
11415
|
-
import * as
|
|
11416
|
-
import * as
|
|
10024
|
+
import * as fs14 from "fs";
|
|
10025
|
+
import * as path16 from "path";
|
|
11417
10026
|
import { parse as parseYamlString } from "yaml";
|
|
11418
10027
|
var HTTP_METHODS = ["get", "post", "put", "patch", "delete", "options", "head"];
|
|
11419
10028
|
function parseYaml2(raw, specPath) {
|
|
@@ -11426,9 +10035,9 @@ function parseYaml2(raw, specPath) {
|
|
|
11426
10035
|
}
|
|
11427
10036
|
}
|
|
11428
10037
|
function parseSpec(specPath) {
|
|
11429
|
-
if (!
|
|
11430
|
-
const raw =
|
|
11431
|
-
const ext =
|
|
10038
|
+
if (!fs14.existsSync(specPath)) throw new Error(`Spec not found: ${specPath}`);
|
|
10039
|
+
const raw = fs14.readFileSync(specPath, "utf8");
|
|
10040
|
+
const ext = path16.extname(specPath).toLowerCase();
|
|
11432
10041
|
if (ext === ".json") return JSON.parse(raw);
|
|
11433
10042
|
if (ext === ".yaml" || ext === ".yml") return parseYaml2(raw, specPath);
|
|
11434
10043
|
try {
|
|
@@ -11459,8 +10068,8 @@ function extractEndpoints(spec) {
|
|
|
11459
10068
|
}
|
|
11460
10069
|
function loadScenarios(runFile) {
|
|
11461
10070
|
if (!runFile) return [];
|
|
11462
|
-
if (!
|
|
11463
|
-
const report = JSON.parse(
|
|
10071
|
+
if (!fs14.existsSync(runFile)) throw new Error(`Run file not found: ${runFile}`);
|
|
10072
|
+
const report = JSON.parse(fs14.readFileSync(runFile, "utf8"));
|
|
11464
10073
|
return (report.features ?? []).flatMap((f) => f.scenarios ?? []);
|
|
11465
10074
|
}
|
|
11466
10075
|
function endpointRefs(endpoint) {
|
|
@@ -11567,25 +10176,25 @@ async function importOpenApi(options) {
|
|
|
11567
10176
|
list.push(item);
|
|
11568
10177
|
groups.set(item.endpoint.tag, list);
|
|
11569
10178
|
}
|
|
11570
|
-
const outputDir = options.outputDir ??
|
|
11571
|
-
if (
|
|
11572
|
-
const entries =
|
|
10179
|
+
const outputDir = options.outputDir ?? path16.join("src", "content", "docs", "api");
|
|
10180
|
+
if (fs14.existsSync(outputDir) && !options.force) {
|
|
10181
|
+
const entries = fs14.readdirSync(outputDir);
|
|
11573
10182
|
if (entries.length > 0) {
|
|
11574
10183
|
throw new Error(`Output directory "${outputDir}" is not empty. Use --force to overwrite.`);
|
|
11575
10184
|
}
|
|
11576
10185
|
}
|
|
11577
|
-
|
|
10186
|
+
fs14.mkdirSync(outputDir, { recursive: true });
|
|
11578
10187
|
const coveredCount = coverage.filter((c) => c.status === "covered").length;
|
|
11579
10188
|
const uncoveredCount = coverage.filter((c) => c.status === "uncovered").length;
|
|
11580
|
-
|
|
11581
|
-
|
|
10189
|
+
fs14.writeFileSync(
|
|
10190
|
+
path16.join(outputDir, "index.mdx"),
|
|
11582
10191
|
renderIndex(groups, hasRun, { endpointCount: endpoints.length, coveredCount, uncoveredCount }),
|
|
11583
10192
|
"utf8"
|
|
11584
10193
|
);
|
|
11585
10194
|
for (const [tag, rows] of groups) {
|
|
11586
|
-
const dir =
|
|
11587
|
-
|
|
11588
|
-
|
|
10195
|
+
const dir = path16.join(outputDir, slug(tag));
|
|
10196
|
+
fs14.mkdirSync(dir, { recursive: true });
|
|
10197
|
+
fs14.writeFileSync(path16.join(dir, "index.mdx"), renderTagPage(tag, rows, hasRun), "utf8");
|
|
11589
10198
|
}
|
|
11590
10199
|
return {
|
|
11591
10200
|
outputDir,
|
|
@@ -11597,15 +10206,15 @@ async function importOpenApi(options) {
|
|
|
11597
10206
|
}
|
|
11598
10207
|
|
|
11599
10208
|
// src/config.ts
|
|
11600
|
-
import { existsSync as
|
|
11601
|
-
import { resolve as
|
|
10209
|
+
import { existsSync as existsSync11 } from "fs";
|
|
10210
|
+
import { resolve as resolve8 } from "path";
|
|
11602
10211
|
var CONFIG_CANDIDATES = ["executable-stories.config.mjs", "executable-stories.config.js"];
|
|
11603
10212
|
async function loadConfig(configPath) {
|
|
11604
10213
|
let resolved;
|
|
11605
10214
|
if (configPath) {
|
|
11606
|
-
resolved =
|
|
10215
|
+
resolved = resolve8(configPath);
|
|
11607
10216
|
} else {
|
|
11608
|
-
const present = CONFIG_CANDIDATES.map((name) =>
|
|
10217
|
+
const present = CONFIG_CANDIDATES.map((name) => resolve8(process.cwd(), name)).filter(existsSync11);
|
|
11609
10218
|
if (present.length > 1) {
|
|
11610
10219
|
throw new Error(
|
|
11611
10220
|
`Multiple config files found in this directory:
|
|
@@ -11615,7 +10224,7 @@ Keep only one, or pass --config <path> to choose which to load.`
|
|
|
11615
10224
|
}
|
|
11616
10225
|
resolved = present[0];
|
|
11617
10226
|
}
|
|
11618
|
-
if (!resolved || !
|
|
10227
|
+
if (!resolved || !existsSync11(resolved)) return {};
|
|
11619
10228
|
const mod = await import(resolved);
|
|
11620
10229
|
const config = mod.default;
|
|
11621
10230
|
if (!config || typeof config !== "object" || Array.isArray(config)) {
|
|
@@ -12312,27 +10921,27 @@ async function readInput(args) {
|
|
|
12312
10921
|
if (args.stdin) {
|
|
12313
10922
|
return readStdin();
|
|
12314
10923
|
}
|
|
12315
|
-
const filePath =
|
|
12316
|
-
if (!
|
|
10924
|
+
const filePath = path17.resolve(args.inputFile);
|
|
10925
|
+
if (!fs15.existsSync(filePath)) {
|
|
12317
10926
|
console.error(`Error: File not found: ${filePath}`);
|
|
12318
10927
|
process.exit(EXIT_USAGE2);
|
|
12319
10928
|
}
|
|
12320
|
-
return
|
|
10929
|
+
return fs15.readFileSync(filePath, "utf8");
|
|
12321
10930
|
}
|
|
12322
10931
|
function readFileInput(filePath) {
|
|
12323
|
-
const resolved =
|
|
12324
|
-
if (!
|
|
10932
|
+
const resolved = path17.resolve(filePath);
|
|
10933
|
+
if (!fs15.existsSync(resolved)) {
|
|
12325
10934
|
console.error(`Error: File not found: ${resolved}`);
|
|
12326
10935
|
process.exit(EXIT_USAGE2);
|
|
12327
10936
|
}
|
|
12328
|
-
return
|
|
10937
|
+
return fs15.readFileSync(resolved, "utf8");
|
|
12329
10938
|
}
|
|
12330
10939
|
function readStdin() {
|
|
12331
|
-
return new Promise((
|
|
10940
|
+
return new Promise((resolve10, reject) => {
|
|
12332
10941
|
const chunks = [];
|
|
12333
10942
|
process.stdin.setEncoding("utf8");
|
|
12334
10943
|
process.stdin.on("data", (chunk) => chunks.push(chunk));
|
|
12335
|
-
process.stdin.on("end", () =>
|
|
10944
|
+
process.stdin.on("end", () => resolve10(chunks.join("")));
|
|
12336
10945
|
process.stdin.on("error", reject);
|
|
12337
10946
|
});
|
|
12338
10947
|
}
|
|
@@ -12355,7 +10964,7 @@ function tryParseJson(text2) {
|
|
|
12355
10964
|
function normalizeRunFromJsonData(data, args) {
|
|
12356
10965
|
if (args.inputType === "canonical") {
|
|
12357
10966
|
try {
|
|
12358
|
-
|
|
10967
|
+
assertValidRun2(data);
|
|
12359
10968
|
} catch (err) {
|
|
12360
10969
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12361
10970
|
console.error(`Canonical validation failed:
|
|
@@ -12380,15 +10989,15 @@ ${msg}`);
|
|
|
12380
10989
|
let raw = data;
|
|
12381
10990
|
let droppedMissingStory = 0;
|
|
12382
10991
|
if (args.synthesizeStories) {
|
|
12383
|
-
raw =
|
|
10992
|
+
raw = synthesizeStories3(raw);
|
|
12384
10993
|
} else {
|
|
12385
10994
|
const before = raw.testCases.length;
|
|
12386
10995
|
const withStory = raw.testCases.filter((tc) => tc.story != null).length;
|
|
12387
10996
|
droppedMissingStory = before - withStory;
|
|
12388
10997
|
}
|
|
12389
|
-
const canonical =
|
|
10998
|
+
const canonical = canonicalizeRun5(raw);
|
|
12390
10999
|
try {
|
|
12391
|
-
|
|
11000
|
+
assertValidRun2(canonical);
|
|
12392
11001
|
} catch (err) {
|
|
12393
11002
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12394
11003
|
console.error(`Canonical validation failed:
|
|
@@ -12400,7 +11009,7 @@ ${msg}`);
|
|
|
12400
11009
|
function normalizeRunFromText(text2, args) {
|
|
12401
11010
|
if (args.inputType === "ndjson") {
|
|
12402
11011
|
try {
|
|
12403
|
-
return { run:
|
|
11012
|
+
return { run: parseNdjson2(text2), droppedMissingStory: 0 };
|
|
12404
11013
|
} catch (err) {
|
|
12405
11014
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12406
11015
|
console.error(`NDJSON parse failed: ${msg}`);
|
|
@@ -12446,7 +11055,7 @@ function applySelection(run, args) {
|
|
|
12446
11055
|
function tryNormalizeRunFromText(text2, args) {
|
|
12447
11056
|
if (args.inputType === "ndjson") {
|
|
12448
11057
|
try {
|
|
12449
|
-
return
|
|
11058
|
+
return parseNdjson2(text2);
|
|
12450
11059
|
} catch {
|
|
12451
11060
|
return void 0;
|
|
12452
11061
|
}
|
|
@@ -12455,7 +11064,7 @@ function tryNormalizeRunFromText(text2, args) {
|
|
|
12455
11064
|
if (data === void 0) return void 0;
|
|
12456
11065
|
if (args.inputType === "canonical") {
|
|
12457
11066
|
try {
|
|
12458
|
-
|
|
11067
|
+
assertValidRun2(data);
|
|
12459
11068
|
return data;
|
|
12460
11069
|
} catch {
|
|
12461
11070
|
return void 0;
|
|
@@ -12467,25 +11076,25 @@ function tryNormalizeRunFromText(text2, args) {
|
|
|
12467
11076
|
if (!schemaResult.valid) return void 0;
|
|
12468
11077
|
let raw = data;
|
|
12469
11078
|
if (args.synthesizeStories) {
|
|
12470
|
-
raw =
|
|
11079
|
+
raw = synthesizeStories3(raw);
|
|
12471
11080
|
}
|
|
12472
|
-
const canonical =
|
|
11081
|
+
const canonical = canonicalizeRun5(raw);
|
|
12473
11082
|
try {
|
|
12474
|
-
|
|
11083
|
+
assertValidRun2(canonical);
|
|
12475
11084
|
return canonical;
|
|
12476
11085
|
} catch {
|
|
12477
11086
|
return void 0;
|
|
12478
11087
|
}
|
|
12479
11088
|
}
|
|
12480
11089
|
function listBaselineCandidates(currentFile, args) {
|
|
12481
|
-
const baselineDir =
|
|
12482
|
-
const currentResolved =
|
|
12483
|
-
if (!
|
|
11090
|
+
const baselineDir = path17.resolve(args.baselineDir ?? path17.dirname(currentFile));
|
|
11091
|
+
const currentResolved = path17.resolve(currentFile);
|
|
11092
|
+
if (!fs15.existsSync(baselineDir)) {
|
|
12484
11093
|
console.error(`Error: baseline directory not found: ${baselineDir}`);
|
|
12485
11094
|
process.exit(EXIT_USAGE2);
|
|
12486
11095
|
}
|
|
12487
|
-
const entries =
|
|
12488
|
-
return entries.filter((entry) => entry.isFile()).map((entry) =>
|
|
11096
|
+
const entries = fs15.readdirSync(baselineDir, { withFileTypes: true });
|
|
11097
|
+
return entries.filter((entry) => entry.isFile()).map((entry) => path17.join(baselineDir, entry.name)).filter((candidate) => path17.resolve(candidate) !== currentResolved).filter(
|
|
12489
11098
|
(candidate) => args.inputType === "ndjson" ? candidate.endsWith(".ndjson") : candidate.endsWith(".json")
|
|
12490
11099
|
);
|
|
12491
11100
|
}
|
|
@@ -12493,14 +11102,14 @@ function resolveBaselineAuto(currentFile, currentRun, args) {
|
|
|
12493
11102
|
const candidates = listBaselineCandidates(currentFile, args);
|
|
12494
11103
|
const comparable = [];
|
|
12495
11104
|
for (const candidate of candidates) {
|
|
12496
|
-
const run = tryNormalizeRunFromText(
|
|
11105
|
+
const run = tryNormalizeRunFromText(fs15.readFileSync(candidate, "utf8"), args);
|
|
12497
11106
|
if (run) {
|
|
12498
11107
|
comparable.push({ file: candidate, run });
|
|
12499
11108
|
}
|
|
12500
11109
|
}
|
|
12501
11110
|
if (comparable.length === 0) {
|
|
12502
11111
|
console.error(
|
|
12503
|
-
`Error: no compatible baseline files found in ${
|
|
11112
|
+
`Error: no compatible baseline files found in ${path17.resolve(args.baselineDir ?? path17.dirname(currentFile))}.`
|
|
12504
11113
|
);
|
|
12505
11114
|
process.exit(EXIT_USAGE2);
|
|
12506
11115
|
}
|
|
@@ -12690,7 +11299,7 @@ async function runCheckExplainers(ctx) {
|
|
|
12690
11299
|
console.error("Error: check-explainers requires --explainers-dir <dir> (the folder of explainer markdown).");
|
|
12691
11300
|
process.exit(EXIT_USAGE2);
|
|
12692
11301
|
}
|
|
12693
|
-
if (!
|
|
11302
|
+
if (!fs15.existsSync(args.explainersDir) || !fs15.statSync(args.explainersDir).isDirectory()) {
|
|
12694
11303
|
console.error(`Error: --explainers-dir "${args.explainersDir}" is not a directory.`);
|
|
12695
11304
|
process.exit(EXIT_USAGE2);
|
|
12696
11305
|
}
|
|
@@ -12793,16 +11402,16 @@ async function runFormatOrValidate(ctx) {
|
|
|
12793
11402
|
}
|
|
12794
11403
|
let run;
|
|
12795
11404
|
try {
|
|
12796
|
-
run =
|
|
11405
|
+
run = parseNdjson2(text2);
|
|
12797
11406
|
} catch (err) {
|
|
12798
11407
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12799
11408
|
console.error(`NDJSON parse failed: ${msg}`);
|
|
12800
11409
|
process.exit(EXIT_SCHEMA_VALIDATION);
|
|
12801
11410
|
}
|
|
12802
11411
|
if (args.emitCanonical) {
|
|
12803
|
-
const outPath =
|
|
12804
|
-
|
|
12805
|
-
|
|
11412
|
+
const outPath = path17.resolve(args.emitCanonical);
|
|
11413
|
+
fs15.mkdirSync(path17.dirname(outPath), { recursive: true });
|
|
11414
|
+
fs15.writeFileSync(outPath, JSON.stringify(run, null, 2), "utf8");
|
|
12806
11415
|
}
|
|
12807
11416
|
try {
|
|
12808
11417
|
const history = runHistoryPipeline(run, args);
|
|
@@ -12821,7 +11430,7 @@ async function runFormatOrValidate(ctx) {
|
|
|
12821
11430
|
if (args.subcommand === "validate") {
|
|
12822
11431
|
if (args.inputType === "canonical") {
|
|
12823
11432
|
try {
|
|
12824
|
-
|
|
11433
|
+
assertValidRun2(data);
|
|
12825
11434
|
warnLargeStateDocs(data.testCases);
|
|
12826
11435
|
console.log("Valid canonical TestRunResult.");
|
|
12827
11436
|
process.exit(EXIT_SUCCESS2);
|
|
@@ -12852,7 +11461,7 @@ async function runFormatOrValidate(ctx) {
|
|
|
12852
11461
|
}
|
|
12853
11462
|
if (args.inputType === "canonical") {
|
|
12854
11463
|
try {
|
|
12855
|
-
|
|
11464
|
+
assertValidRun2(data);
|
|
12856
11465
|
} catch (err) {
|
|
12857
11466
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12858
11467
|
console.error(`Canonical validation failed:
|
|
@@ -12861,9 +11470,9 @@ ${msg}`);
|
|
|
12861
11470
|
}
|
|
12862
11471
|
const run = data;
|
|
12863
11472
|
if (args.emitCanonical) {
|
|
12864
|
-
const outPath =
|
|
12865
|
-
|
|
12866
|
-
|
|
11473
|
+
const outPath = path17.resolve(args.emitCanonical);
|
|
11474
|
+
fs15.mkdirSync(path17.dirname(outPath), { recursive: true });
|
|
11475
|
+
fs15.writeFileSync(outPath, JSON.stringify(run, null, 2), "utf8");
|
|
12867
11476
|
}
|
|
12868
11477
|
try {
|
|
12869
11478
|
const history = runHistoryPipeline(run, args);
|
|
@@ -12896,7 +11505,7 @@ ${msg}`);
|
|
|
12896
11505
|
let raw = data;
|
|
12897
11506
|
let droppedMissingStory = 0;
|
|
12898
11507
|
if (args.synthesizeStories) {
|
|
12899
|
-
raw =
|
|
11508
|
+
raw = synthesizeStories3(raw);
|
|
12900
11509
|
} else {
|
|
12901
11510
|
const before = raw.testCases.length;
|
|
12902
11511
|
const withStory = raw.testCases.filter(
|
|
@@ -12909,9 +11518,9 @@ ${msg}`);
|
|
|
12909
11518
|
);
|
|
12910
11519
|
}
|
|
12911
11520
|
}
|
|
12912
|
-
const canonical =
|
|
11521
|
+
const canonical = canonicalizeRun5(raw);
|
|
12913
11522
|
try {
|
|
12914
|
-
|
|
11523
|
+
assertValidRun2(canonical);
|
|
12915
11524
|
} catch (err) {
|
|
12916
11525
|
const msg = err instanceof Error ? err.message : String(err);
|
|
12917
11526
|
console.error(`Canonical validation failed:
|
|
@@ -12919,9 +11528,9 @@ ${msg}`);
|
|
|
12919
11528
|
process.exit(EXIT_CANONICAL_VALIDATION);
|
|
12920
11529
|
}
|
|
12921
11530
|
if (args.emitCanonical) {
|
|
12922
|
-
const outPath =
|
|
12923
|
-
|
|
12924
|
-
|
|
11531
|
+
const outPath = path17.resolve(args.emitCanonical);
|
|
11532
|
+
fs15.mkdirSync(path17.dirname(outPath), { recursive: true });
|
|
11533
|
+
fs15.writeFileSync(outPath, JSON.stringify(canonical, null, 2), "utf8");
|
|
12925
11534
|
}
|
|
12926
11535
|
try {
|
|
12927
11536
|
const history = runHistoryPipeline(canonical, args);
|
|
@@ -12946,9 +11555,9 @@ function runCustomFormatters(run, customRequested, formatters, args) {
|
|
|
12946
11555
|
const ext = formatter.fileExtension ?? formatName;
|
|
12947
11556
|
const baseName = args.outputName ?? "report";
|
|
12948
11557
|
const filename = args.outputNameTimestamp ? `${baseName}-${Math.floor(run.startedAtMs / 1e3)}.${ext}` : `${baseName}.${ext}`;
|
|
12949
|
-
const filepath =
|
|
12950
|
-
|
|
12951
|
-
|
|
11558
|
+
const filepath = path17.join(outputDir, filename);
|
|
11559
|
+
fs15.mkdirSync(outputDir, { recursive: true });
|
|
11560
|
+
fs15.writeFileSync(filepath, content, "utf8");
|
|
12952
11561
|
console.log(`Generated: ${filepath}`);
|
|
12953
11562
|
} catch (err) {
|
|
12954
11563
|
console.error(`Error running custom formatter "${formatName}": ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -12992,19 +11601,19 @@ async function dispatchNotifications(run, args) {
|
|
|
12992
11601
|
{
|
|
12993
11602
|
fetch: globalThis.fetch,
|
|
12994
11603
|
logger: console,
|
|
12995
|
-
toCIInfo
|
|
11604
|
+
toCIInfo: toCIInfo2
|
|
12996
11605
|
}
|
|
12997
11606
|
);
|
|
12998
11607
|
}
|
|
12999
11608
|
function runHistoryPipeline(run, args) {
|
|
13000
11609
|
if (!args.historyFile) return void 0;
|
|
13001
|
-
const historyPath =
|
|
11610
|
+
const historyPath = path17.resolve(args.historyFile);
|
|
13002
11611
|
const store = loadHistory(
|
|
13003
11612
|
{ filePath: historyPath },
|
|
13004
11613
|
{
|
|
13005
11614
|
readFile: (p) => {
|
|
13006
11615
|
try {
|
|
13007
|
-
return
|
|
11616
|
+
return fs15.readFileSync(p, "utf8");
|
|
13008
11617
|
} catch {
|
|
13009
11618
|
return void 0;
|
|
13010
11619
|
}
|
|
@@ -13017,11 +11626,11 @@ function runHistoryPipeline(run, args) {
|
|
|
13017
11626
|
run,
|
|
13018
11627
|
maxRuns: args.maxHistoryRuns
|
|
13019
11628
|
});
|
|
13020
|
-
const dir =
|
|
13021
|
-
|
|
11629
|
+
const dir = path17.dirname(historyPath);
|
|
11630
|
+
fs15.mkdirSync(dir, { recursive: true });
|
|
13022
11631
|
saveHistory(
|
|
13023
11632
|
{ filePath: historyPath, store: updated },
|
|
13024
|
-
{ writeFile: (p, content) =>
|
|
11633
|
+
{ writeFile: (p, content) => fs15.writeFileSync(p, content, "utf8") }
|
|
13025
11634
|
);
|
|
13026
11635
|
let metricsCount = 0;
|
|
13027
11636
|
for (const testId of Object.keys(updated.tests)) {
|
|
@@ -13192,11 +11801,11 @@ function writeReviewReport(review, args) {
|
|
|
13192
11801
|
const outputDir = args.outputDir ?? "reports";
|
|
13193
11802
|
const baseName = args.outputName ?? "evidence-review";
|
|
13194
11803
|
const suffix = args.outputNameTimestamp ? `-${Math.floor(review.run.startedAtMs / 1e3)}` : "";
|
|
13195
|
-
|
|
13196
|
-
const mdPath =
|
|
13197
|
-
const htmlPath =
|
|
13198
|
-
|
|
13199
|
-
|
|
11804
|
+
fs15.mkdirSync(outputDir, { recursive: true });
|
|
11805
|
+
const mdPath = path17.join(outputDir, `${baseName}${suffix}.md`);
|
|
11806
|
+
const htmlPath = path17.join(outputDir, `${baseName}${suffix}.html`);
|
|
11807
|
+
fs15.writeFileSync(mdPath, markdown, "utf8");
|
|
11808
|
+
fs15.writeFileSync(htmlPath, html, "utf8");
|
|
13200
11809
|
return [mdPath, htmlPath];
|
|
13201
11810
|
}
|
|
13202
11811
|
function evaluateReviewGate(review, args) {
|
|
@@ -13251,9 +11860,9 @@ function printResult(result, args, startMs, droppedMissingStory = 0) {
|
|
|
13251
11860
|
function printCompareResult(result, args, startMs) {
|
|
13252
11861
|
const durationMs = Date.now() - startMs;
|
|
13253
11862
|
if (result.prSummary && args.prSummaryFile) {
|
|
13254
|
-
const outputPath =
|
|
13255
|
-
|
|
13256
|
-
|
|
11863
|
+
const outputPath = path17.resolve(args.prSummaryFile);
|
|
11864
|
+
fs15.mkdirSync(path17.dirname(outputPath), { recursive: true });
|
|
11865
|
+
fs15.writeFileSync(outputPath, result.prSummary, "utf8");
|
|
13257
11866
|
}
|
|
13258
11867
|
if (args.jsonSummary) {
|
|
13259
11868
|
console.log(
|
|
@@ -13287,13 +11896,13 @@ function printCompareResult(result, args, startMs) {
|
|
|
13287
11896
|
}
|
|
13288
11897
|
}
|
|
13289
11898
|
function loadReleasePolicy(policyPath) {
|
|
13290
|
-
const resolved =
|
|
13291
|
-
if (!
|
|
11899
|
+
const resolved = path17.resolve(policyPath);
|
|
11900
|
+
if (!fs15.existsSync(resolved)) {
|
|
13292
11901
|
console.error(`Error: release policy file not found: ${resolved}`);
|
|
13293
11902
|
process.exit(EXIT_USAGE2);
|
|
13294
11903
|
}
|
|
13295
11904
|
try {
|
|
13296
|
-
const raw = JSON.parse(
|
|
11905
|
+
const raw = JSON.parse(fs15.readFileSync(resolved, "utf8"));
|
|
13297
11906
|
return {
|
|
13298
11907
|
allowedOmissions: Array.isArray(raw.allowedOmissions) ? raw.allowedOmissions : [],
|
|
13299
11908
|
allowedRegressions: Array.isArray(raw.allowedRegressions) ? raw.allowedRegressions : [],
|
|
@@ -13397,7 +12006,7 @@ Generate an API token at https://id.atlassian.com/manage-profile/security/api-to
|
|
|
13397
12006
|
console.error("Error: missing ADF file argument. Run with --help for usage.");
|
|
13398
12007
|
process.exit(EXIT_USAGE2);
|
|
13399
12008
|
}
|
|
13400
|
-
if (!
|
|
12009
|
+
if (!fs15.existsSync(inputFile)) {
|
|
13401
12010
|
console.error(`Error: file not found: ${inputFile}`);
|
|
13402
12011
|
process.exit(EXIT_USAGE2);
|
|
13403
12012
|
}
|
|
@@ -13425,7 +12034,7 @@ Generate an API token at https://id.atlassian.com/manage-profile/security/api-to
|
|
|
13425
12034
|
console.error("Error: --title is required when creating a new page");
|
|
13426
12035
|
process.exit(EXIT_USAGE2);
|
|
13427
12036
|
}
|
|
13428
|
-
const adf =
|
|
12037
|
+
const adf = fs15.readFileSync(path17.resolve(inputFile), "utf8");
|
|
13429
12038
|
if (dryRun) {
|
|
13430
12039
|
console.log(
|
|
13431
12040
|
JSON.stringify(
|
|
@@ -13504,7 +12113,7 @@ Generate an API token at https://id.atlassian.com/manage-profile/security/api-to
|
|
|
13504
12113
|
console.error("Error: missing ADF file argument. Run with --help for usage.");
|
|
13505
12114
|
process.exit(EXIT_USAGE2);
|
|
13506
12115
|
}
|
|
13507
|
-
if (!
|
|
12116
|
+
if (!fs15.existsSync(inputFile)) {
|
|
13508
12117
|
console.error(`Error: file not found: ${inputFile}`);
|
|
13509
12118
|
process.exit(EXIT_USAGE2);
|
|
13510
12119
|
}
|
|
@@ -13531,7 +12140,7 @@ Generate an API token at https://id.atlassian.com/manage-profile/security/api-to
|
|
|
13531
12140
|
process.exit(EXIT_USAGE2);
|
|
13532
12141
|
}
|
|
13533
12142
|
const mode = modeRaw;
|
|
13534
|
-
const adf =
|
|
12143
|
+
const adf = fs15.readFileSync(path17.resolve(inputFile), "utf8");
|
|
13535
12144
|
if (dryRun) {
|
|
13536
12145
|
console.log(
|
|
13537
12146
|
JSON.stringify(
|