@beignet/cli 0.0.41 → 0.0.43
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/CHANGELOG.md +23 -0
- package/README.md +96 -25
- package/dist/analysis/source-index.d.ts +1 -1
- package/dist/analysis/source-index.d.ts.map +1 -1
- package/dist/analysis/source-index.js +4 -2
- package/dist/analysis/source-index.js.map +1 -1
- package/dist/analysis/workspace.d.ts +3 -2
- package/dist/analysis/workspace.d.ts.map +1 -1
- package/dist/analysis/workspace.js +51 -39
- package/dist/analysis/workspace.js.map +1 -1
- package/dist/app-map.d.ts.map +1 -1
- package/dist/app-map.js +65 -4
- package/dist/app-map.js.map +1 -1
- package/dist/choices.d.ts +18 -0
- package/dist/choices.d.ts.map +1 -1
- package/dist/choices.js +35 -0
- package/dist/choices.js.map +1 -1
- package/dist/db.d.ts +18 -7
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +20 -7
- package/dist/db.js.map +1 -1
- package/dist/doctor-fixes.d.ts +64 -0
- package/dist/doctor-fixes.d.ts.map +1 -0
- package/dist/doctor-fixes.js +142 -0
- package/dist/doctor-fixes.js.map +1 -0
- package/dist/explain.d.ts +3 -1
- package/dist/explain.d.ts.map +1 -1
- package/dist/explain.js +136 -42
- package/dist/explain.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -25
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts +38 -9
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +385 -251
- package/dist/inspect.js.map +1 -1
- package/dist/lib.d.ts +6 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +3 -2
- package/dist/lib.js.map +1 -1
- package/dist/make/inbox.js +4 -4
- package/dist/make/payments.js +6 -6
- package/dist/make/shared.js +3 -3
- package/dist/make/shared.js.map +1 -1
- package/dist/make/tenancy.d.ts.map +1 -1
- package/dist/make/tenancy.js +12 -14
- package/dist/make/tenancy.js.map +1 -1
- package/dist/make.d.ts.map +1 -1
- package/dist/make.js +33 -23
- package/dist/make.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +121 -13
- package/dist/mcp.js.map +1 -1
- package/dist/registry-edits.d.ts +7 -1
- package/dist/registry-edits.d.ts.map +1 -1
- package/dist/registry-edits.js +61 -43
- package/dist/registry-edits.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +34 -11
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/base.d.ts.map +1 -1
- package/dist/templates/base.js +5 -5
- package/dist/templates/base.js.map +1 -1
- package/dist/templates/db/mysql.js +3 -3
- package/dist/templates/db/postgres.js +3 -3
- package/dist/templates/db/sqlite.js +3 -3
- package/dist/templates/server.js +4 -4
- package/dist/templates/server.js.map +1 -1
- package/dist/templates/shared.d.ts +2 -1
- package/dist/templates/shared.d.ts.map +1 -1
- package/dist/templates/shared.js +7 -4
- package/dist/templates/shared.js.map +1 -1
- package/dist/templates/todos.js +2 -2
- package/package.json +3 -2
- package/skills/app-structure/SKILL.md +43 -10
- package/src/analysis/source-index.ts +12 -3
- package/src/analysis/workspace.ts +94 -52
- package/src/app-map.ts +82 -4
- package/src/choices.ts +57 -0
- package/src/db.ts +45 -15
- package/src/doctor-fixes.ts +252 -0
- package/src/explain.ts +151 -43
- package/src/index.ts +130 -35
- package/src/inspect.ts +537 -295
- package/src/lib.ts +28 -1
- package/src/make/inbox.ts +4 -4
- package/src/make/payments.ts +6 -6
- package/src/make/shared.ts +3 -3
- package/src/make/tenancy.ts +12 -14
- package/src/make.ts +36 -24
- package/src/mcp.ts +187 -13
- package/src/registry-edits.ts +81 -39
- package/src/templates/agents.ts +34 -11
- package/src/templates/base.ts +5 -4
- package/src/templates/db/mysql.ts +3 -3
- package/src/templates/db/postgres.ts +3 -3
- package/src/templates/db/sqlite.ts +3 -3
- package/src/templates/server.ts +4 -4
- package/src/templates/shared.ts +14 -6
- package/src/templates/todos.ts +2 -2
package/dist/app-map.js
CHANGED
|
@@ -114,6 +114,12 @@ export async function mapApp(options = {}) {
|
|
|
114
114
|
addEdge(exactEdge("authorizes", id, abilityId(ability), contract.file));
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
+
await addUnresolvedContractDeclarations({
|
|
118
|
+
workspace,
|
|
119
|
+
sourceIndex,
|
|
120
|
+
contractIds,
|
|
121
|
+
unresolved,
|
|
122
|
+
});
|
|
117
123
|
const routeIds = new Map();
|
|
118
124
|
for (const route of inspection.routes) {
|
|
119
125
|
const contractId = contractIds.get(symbolKey(route.file, route.exportName));
|
|
@@ -398,6 +404,7 @@ export async function mapApp(options = {}) {
|
|
|
398
404
|
addEdge,
|
|
399
405
|
});
|
|
400
406
|
await addTables({ workspace, sourceIndex, addNode });
|
|
407
|
+
await addUnresolvedLocalImports({ workspace, unresolved });
|
|
401
408
|
await addFeatureDependencies({
|
|
402
409
|
workspace,
|
|
403
410
|
featuresPath,
|
|
@@ -579,8 +586,8 @@ async function addRouteGroups(args) {
|
|
|
579
586
|
const groupName = literalText(propertyAssignment(options, "name")?.initializer);
|
|
580
587
|
const id = `route-group:${file}#${exportName}`;
|
|
581
588
|
const missing = args.diagnostics.some((diagnostic) => diagnostic.code === "BEIGNET_ROUTE_GROUP_UNREGISTERED" &&
|
|
582
|
-
diagnostic.
|
|
583
|
-
diagnostic.
|
|
589
|
+
diagnostic.subject?.file === file &&
|
|
590
|
+
diagnostic.subject.exportName === exportName);
|
|
584
591
|
args.addNode({
|
|
585
592
|
id,
|
|
586
593
|
kind: "route-group",
|
|
@@ -777,6 +784,8 @@ async function addFeatureDependencies(args) {
|
|
|
777
784
|
if (!from || !args.featureNames.has(from))
|
|
778
785
|
continue;
|
|
779
786
|
for (const reference of await localImportReferences(args.workspace, file)) {
|
|
787
|
+
if (!reference.resolvedFile)
|
|
788
|
+
continue;
|
|
780
789
|
const to = featureForFile(reference.resolvedFile, args.featuresPath);
|
|
781
790
|
if (!to || to === from || !args.featureNames.has(to))
|
|
782
791
|
continue;
|
|
@@ -818,6 +827,58 @@ async function addFeatureDependencies(args) {
|
|
|
818
827
|
});
|
|
819
828
|
}
|
|
820
829
|
}
|
|
830
|
+
async function addUnresolvedLocalImports(args) {
|
|
831
|
+
for (const file of args.workspace.files.filter(isTypeScriptSource)) {
|
|
832
|
+
for (const reference of await localImportReferences(args.workspace, file)) {
|
|
833
|
+
if (reference.resolvedFile)
|
|
834
|
+
continue;
|
|
835
|
+
args.unresolved.push({
|
|
836
|
+
code: "local_import_unresolved",
|
|
837
|
+
message: `Could not resolve local module ${JSON.stringify(reference.importPath)} imported by ${file}.`,
|
|
838
|
+
source: {
|
|
839
|
+
file,
|
|
840
|
+
line: reference.line,
|
|
841
|
+
column: reference.column,
|
|
842
|
+
},
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
async function addUnresolvedContractDeclarations(args) {
|
|
848
|
+
for (const file of appMapContractSourceFiles(args.workspace)) {
|
|
849
|
+
const sourceFile = await args.workspace.readSourceFile(file);
|
|
850
|
+
for (const { exportName, declaration } of exportedVariableDeclarations(sourceFile)) {
|
|
851
|
+
if (args.contractIds.has(symbolKey(file, exportName)))
|
|
852
|
+
continue;
|
|
853
|
+
const call = declaration.initializer
|
|
854
|
+
? findCall(declaration.initializer, new Set(["defineContract"]))
|
|
855
|
+
: undefined;
|
|
856
|
+
if (!call)
|
|
857
|
+
continue;
|
|
858
|
+
args.unresolved.push({
|
|
859
|
+
code: "contract_declaration_unresolved",
|
|
860
|
+
message: `Could not resolve the HTTP method and path for contract ${exportName}.`,
|
|
861
|
+
source: await args.sourceIndex.sourceLocation(file, declaration, exportName),
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
function appMapContractSourceFiles(workspace) {
|
|
867
|
+
const contractsPath = directoryPath(workspace.config.paths.contracts);
|
|
868
|
+
const featureOwned = contractsPath === directoryPath(workspace.config.paths.features);
|
|
869
|
+
return workspace.files.filter((file) => {
|
|
870
|
+
if (!file.endsWith(".ts") || file.endsWith(".test.ts"))
|
|
871
|
+
return false;
|
|
872
|
+
if (featureOwned) {
|
|
873
|
+
const prefix = `${contractsPath}/`;
|
|
874
|
+
if (!file.startsWith(prefix))
|
|
875
|
+
return false;
|
|
876
|
+
const parts = file.slice(prefix.length).split("/");
|
|
877
|
+
return parts.length === 2 && parts[1] === "contracts.ts";
|
|
878
|
+
}
|
|
879
|
+
return (file === `${contractsPath}.ts` || file.startsWith(`${contractsPath}/`));
|
|
880
|
+
});
|
|
881
|
+
}
|
|
821
882
|
async function registryRecord(args) {
|
|
822
883
|
const initializer = args.declaration.initializer;
|
|
823
884
|
if (!initializer)
|
|
@@ -984,8 +1045,8 @@ function definitionStatus(kind, file, exportName, diagnostics) {
|
|
|
984
1045
|
if (!relevant)
|
|
985
1046
|
return "declared";
|
|
986
1047
|
return diagnostics.some((diagnostic) => relevant.includes(diagnostic.code) &&
|
|
987
|
-
diagnostic.
|
|
988
|
-
diagnostic.
|
|
1048
|
+
diagnostic.subject?.file === file &&
|
|
1049
|
+
diagnostic.subject.exportName === exportName)
|
|
989
1050
|
? "missing"
|
|
990
1051
|
: "registered";
|
|
991
1052
|
}
|
package/dist/app-map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-map.js","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EAEZ,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAGL,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAuB,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAmHtD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB;IAC5C,OAAO;IACP,UAAU;IACV,KAAK;IACL,UAAU;IACV,MAAM;IACN,cAAc;IACd,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,UAAU;IAC1B,SAAS,EAAE,KAAK;IAChB,6BAA6B,EAAE,KAAK;IACpC,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,MAAM;IAClB,kBAAkB,EAAE,cAAc;IAClC,YAAY,EAAE,QAAQ;IACtB,qBAAqB,EAAE,kBAAkB;CACQ,CAAC;AAiBpD,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,UAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1D,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACxE,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IACxD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,iDAAiD,IAAI,CAAC,EAAE,GAAG;gBACpE,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,eAAe,CAClC,SAAS,CAAC,KAAK,EACf,YAAY,EACZ,OAAO,CACR,CAAC;QACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,CAAC;YACN,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,EAAE;YAC9C,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC;gBACN,EAAE;gBACF,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,OAAO;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE;gBAChB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,YAAY,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC;YACN,EAAE;YACF,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ,CAAC,UAAU;YACzB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;YAChE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE;gBACP,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;SACF,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,EAAE,GAAG,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrD,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC;YACN,EAAE;YACF,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACrC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC;gBAC1C,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI;gBACrC,UAAU,EAAE,KAAK,CAAC,aAAa;aAChC;YACD,MAAM,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;YACpE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC;SACF,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,cAAc,KAAK,CAAC,WAAW,EAAE,CAAC;YACvD,OAAO,CAAC;gBACN,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,KAAK,CAAC,WAAW;gBACvB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE;gBACnC,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE;aACvC,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC;YACN,EAAE,EAAE,cAAc,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACjD,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/C,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,4BAA4B,CACpE,UAAU,CACX,EAAE,CAAC;YACF,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YAC5C,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAwB,CAAC;oBAChE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,YAAY,WAAW,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAe;wBACvB,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,UAAU;wBAChB,WAAW;wBACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/B,MAAM,EAAE,MAAM,WAAW,CAAC,cAAc,CACtC,IAAI,EACJ,WAAW,EACX,UAAU,CACX;wBACD,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,EAAE,IAAI,EAAE;qBAClB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,MAAM,GAAG;wBACb,IAAI;wBACJ,IAAI;wBACJ,UAAU;wBACV,WAAW;wBACX,IAAI,EAAE,WAAW;qBAClB,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACtD,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAC7B,WAAW,EACX,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CACtC,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI;oBACf,CAAC,CAAC,eAAe,CAAC,IAAoC,CAAC;oBACvD,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAChE,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACnD,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,gBAAgB,CAC7B,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,UAAU,CAAC,WAAW,CACvB,CAAC;oBACF,MAAM,IAAI,GAAe;wBACvB,EAAE;wBACF,IAAI;wBACJ,IAAI,EAAE,UAAU;wBAChB,WAAW;wBACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/B,MAAM,EAAE,MAAM,WAAW,CAAC,cAAc,CACtC,IAAI,EACJ,WAAW,EACX,UAAU,CACX;wBACD,MAAM;qBACP,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACzB,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE;4BAClB,IAAI;4BACJ,IAAI;4BACJ,UAAU;4BACV,WAAW;4BACX,IAAI,EAAE,cAAc;yBACrB,CAAC,CAAC;oBACL,CAAC;oBACD,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,UAAU,IAAI,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAI,UAAU,EAAE,CAAC;gBAChD,OAAO,CAAC;oBACN,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU;oBAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,MAAM,EAAE,MAAM,WAAW,CAAC,cAAc,CACtC,IAAI,EACJ,WAAW,EACX,UAAU,CACX;oBACD,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrE,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,CAAC;wBACN,EAAE;wBACF,IAAI,EAAE,SAAS;wBACf,IAAI;wBACJ,WAAW,EAAE,IAAI;wBACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/B,MAAM,EAAE,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;wBACxD,MAAM,EAAE,UAAU;qBACnB,CAAC,CAAC;oBACH,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;gBACpC,SAAS;gBACT,WAAW;gBACX,IAAI;gBACJ,UAAU;gBACV,WAAW;aACZ,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,OAAO,IAAI,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAChD,UAAU,CAAC,IAAI,EACf,KAAK,CACN,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM;wBACrB,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;wBACnE,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,CACL,MAAM,QAAQ,CACZ,YAAY,EACZ,UAAU,CAAC,IAAI,CAAC,EAAE,EAClB,QAAQ,EACR,UAAU,CAAC,IAAI,EACf,KAAK,EACL,SAAS,CACV,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CACL,cAAc,CACZ,YAAY,EACZ,UAAU,CAAC,IAAI,CAAC,EAAE,EAClB,SAAS,CAAC,OAAO,CAAC,EAClB,UAAU,CAAC,IAAI,EACf,IAAI,CACL,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,QAAQ,CACpB,UAAU,CAAC,WAAW,CAAC,WAAW,EAClC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,UAAU,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAChD,UAAU,CAAC,IAAI,EACf,OAAO,CACR,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM;oBACrB,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBACnE,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CACL,MAAM,QAAQ,CACZ,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,EAAE,EAClB,QAAQ,EACR,UAAU,CAAC,IAAI,EACf,OAAO,EACP,SAAS,CACV,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAwB,EAAE,CAAC;QACjD,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,gBAAgB,GACpB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;gBAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAChD,UAAU,CAAC,IAAI,EACf,gBAAgB,CACjB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnE,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,QAAQ,GACZ,IAAI,KAAK,UAAU;gBACjB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,KAAK,MAAM;oBACf,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI,KAAK,SAAS;wBAClB,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,UAAU,CAAC;YACrB,OAAO,CACL,cAAc,CACZ,QAAQ,EACR,UAAU,CAAC,IAAI,CAAC,EAAE,EAClB,QAAQ,EACR,UAAU,CAAC,IAAI,EACf,IAAI,CACL,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM;gBACrB,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBAClE,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,CACL,MAAM,QAAQ,CACZ,WAAW,EACX,QAAQ,CAAC,IAAI,CAAC,EAAE,EAChB,QAAQ,EACR,QAAQ,CAAC,IAAI,EACb,KAAK,EACL,SAAS,CACV,CACF,CAAC;gBACF,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,UAAU,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;oBACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,CAAC;QACnB,SAAS;QACT,WAAW;QACX,OAAO;QACP,OAAO;QACP,UAAU;QACV,KAAK;QACL,WAAW;QACX,mBAAmB;QACnB,QAAQ;QACR,kBAAkB;QAClB,YAAY;QACZ,WAAW,EAAE,UAAU,CAAC,WAAW;KACpC,CAAC,CAAC;IAEH,MAAM,iBAAiB,CAAC;QACtB,SAAS;QACT,UAAU;QACV,WAAW;QACX,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC;QACb,SAAS;QACT,WAAW;QACX,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,MAAM,sBAAsB,CAAC;QAC3B,SAAS;QACT,YAAY;QACZ,OAAO;QACP,YAAY,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC;KACpC,CAAC,CAAC;IAEH,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,YAAY,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,cAAc,CAAC;QAClC,OAAO,CAAC;YACN,EAAE;YACF,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC5B,MAAM,EACJ,QAAQ,CAAC,YAAY,KAAK,YAAY;gBACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACpB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,KAAK,UAAU,CACjD;oBACD,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,YAAY;gBAChB,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS;oBACnC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU;YAClB,OAAO,EAAE;gBACP,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;oBACtC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,eAAe;oBACxC,CAAC,CAAC,SAAS;gBACb,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;aAClD;SACF,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,yBAAyB,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,GAAG;gBAC9E,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrB,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CACvE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAC/D,CACF,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,GAAG,EAAE;YACH,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;YACrC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI;YACtC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU;gBAC7B,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACD,OAAO,EAAE,SAAS,CAChB,UAAU,EACV,UAAU,CAAC,WAAW,EACtB,IAAI,CAAC,WAAW,EAChB,UAAU,CACX;QACD,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE;YACX,MAAM,EAAE,UAAU,CAAC,WAAW;YAC9B,IAAI,EAAE,IAAI,CAAC,WAAW;SACvB;QACD,UAAU;KACX,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,UAAmC,EAAE;IAErC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,CAAC,OAAO,CAAC,OAAO;QACf,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QAChC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjE,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CACzB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GACV,OAAO,CAAC,kBAAkB,KAAK,KAAK;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,UAAU,CAAC,IAAI;YAChB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IACR,MAAM,IAAI,GACR,OAAO,CAAC,kBAAkB,KAAK,KAAK;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAC3B,CAAC;IACR,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5B,CAAC;IAEF,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC;QACnD,KAAK;QACL,KAAK;QACL,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7B,UAAU;KACX,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;SACzC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,MAAM,CAAC,KAAK;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;aAClE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO;YACL,OAAO,CAAC,IAAI;YACZ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAClD,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,uBAAuB,MAAM,CAAC,SAAS,EAAE;QACzC,cAAc,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG;QAC/D,aAAa,MAAM,CAAC,OAAO,CAAC,QAAQ,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,gBAAgB,MAAM,CAAC,OAAO,CAAC,SAAS,gBAAgB,MAAM,CAAC,OAAO,CAAC,SAAS,cAAc,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;QACrM,EAAE;QACF,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC;gBACE,WAAW,CAAC;oBACV;wBACE,SAAS;wBACT,MAAM;wBACN,WAAW;wBACX,WAAW;wBACX,OAAO;wBACP,IAAI;wBACJ,OAAO;qBACR;oBACD,GAAG,WAAW;iBACf,CAAC;aACH;YACH,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAClC,EAAE;QACF,gBAAgB,MAAM,CAAC,OAAO,CAAC,WAAW,4BAA4B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QACjG,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAa7B;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CACP,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS;QACrD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC9B,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,4BAA4B,CACpE,UAAU,CACX,EAAE,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW;gBAClC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC;gBAAE,SAAS;YAE1E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,WAAW,CAC3B,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,CACjD,CAAC;YACF,MAAM,EAAE,GAAG,eAAe,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACnC,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,IAAI,KAAK,kCAAkC;gBACtD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC;gBACX,EAAE;gBACF,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,IAAI,UAAU;gBAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAC3C,IAAI,EACJ,WAAW,EACX,UAAU,CACX;gBACD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;aAC3C,CAAC,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;YAClE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC9D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,qBAAqB;wBAC3B,OAAO,EAAE,GAAG,UAAU,6DAA6D;wBACnF,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;qBAC7D,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,OAAO,EACP,UAAU,CACX,EAAE,WAAW,CAAC;gBACf,IAAI,CAAC,kBAAkB;oBAAE,SAAS;gBAClC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAChE,IAAI,EACJ,kBAAkB,CACnB,CAAC;gBACF,MAAM,UAAU,GAAG,iBAAiB;oBAClC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CACnB,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAChE;wBACD,WAAW,CACT,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAC3D,CAAC;oBACJ,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,2BAA2B;wBACjC,OAAO,EAAE,6CAA6C,UAAU,GAAG;wBACnE,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAC3C,IAAI,EACJ,kBAAkB,CACnB;qBACF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,OAAO,CACV,MAAM,QAAQ,CACZ,WAAW,EACX,EAAE,EACF,OAAO,EACP,IAAI,EACJ,kBAAkB,EAClB,IAAI,CAAC,SAAS,CACf,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,kBAAkB,CAC1C,OAAO,EACP,SAAS,CACV,EAAE,WAAW,CAAC;gBACf,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAC/D,IAAI,EACJ,iBAAiB,CAClB,CAAC;gBACF,MAAM,SAAS,GAAG,gBAAgB;oBAChC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CACzB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAC9D;oBACH,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CACV,MAAM,QAAQ,CACZ,UAAU,EACV,OAAO,EACP,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,IAAI,CAAC,SAAS,CACf,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,2BAA2B;wBACjC,OAAO,EAAE,iDAAiD,UAAU,GAAG;wBACvE,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAC3C,IAAI,EACJ,iBAAiB,CAClB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAKvB;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;IACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,QAAQ,CAAC,IAAI,EACb,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EACpC,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC;YACX,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC;YAClE,MAAM,EACJ,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,SAAS;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC/B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC3B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,YAAY;gBAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;aACzC;SACF,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,gBAAgB,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC;gBACX,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,GAAG,IAAI,cAAc;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE;gBACxD,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CACV,SAAS,CACP,UAAU,EACV,SAAS,EACT,EAAE,EACF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CACvC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAMhC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAC9C,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAClE,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,KAAK;SACF,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,yBAAyB,CAAC;SACrE,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtB,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACjD,CACJ,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,KAAK;SACF,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,0BAA0B,CAAC;SACtE,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtB,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACjD,CACJ,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CACjD,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAC5B,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAC3C;QACC,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChD,CAAC;IACF,MAAM,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC;QACX,EAAE;QACF,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;QACvD,OAAO,EAAE;YACP,SAAS,EAAE,UAAU,CAAC,MAAM;YAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;SAClD;KACF,CAAC,CAAC;IACH,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CACrC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC9C,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,EAAE;gBACR,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;gBACzC,OAAO,EAAE,EAAE,YAAY,EAAE,0BAA0B,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAIxB;IACC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,CAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACrD,CAAC;IACF,MAAM,YAAY,GAAG,GAAG,QAAQ,aAAa,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CACP,kBAAkB,CAAC,IAAI,CAAC;QACxB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAC1C,CAAC,CACP,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,4BAA4B,CACpE,UAAU,CACX,EAAE,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW;gBAClC,CAAC,CAAC,QAAQ,CACN,WAAW,CAAC,WAAW,EACvB,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAClD;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;gBAAE,SAAS;YAClC,IAAI,CAAC,OAAO,CAAC;gBACX,EAAE,EAAE,SAAS,SAAS,EAAE;gBACxB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAC3C,IAAI,EACJ,WAAW,EACX,UAAU,CACX;gBACD,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAKrC;IACC,MAAM,YAAY,GAAG,IAAI,GAAG,EAYzB,CAAC;IAEJ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,KAAK,MAAM,SAAS,IAAI,MAAM,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1E,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACrE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvC,IAAI;gBACJ,EAAE;gBACF,IAAI;gBACJ,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,IAAI,GAAG,EAAU;aACzB,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;;gBACnD,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAChC,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,OAAO;aACpB;YACD,OAAO,EAAE;gBACP,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;aACpC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAM7B;IACC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IACjD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,OAAO,GAAG,cAAc,CAC5B,IAAI,CAAC,IAAI,EACT,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CACpD,CAAC;IACF,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM;QACN,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;YAC1C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAC3C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAChB;YACD,MAAM,EAAE,YAAY;SACrB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,WAA0B,EAC1B,UAAkB;IAElB,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvD,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,IACE,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,4BAA4B;QACrC,IAAI,KAAK,+BAA+B,EACxC,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAA8B,CAAC;YACxE,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IACD,IACE,IAAI,KAAK,sBAAsB;QAC/B,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACrD,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;YAChE,OAAO,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClE,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAA8B,CAAC;gBACxE,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IACE,IAAI,KAAK,eAAe;QACxB,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACrD,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7D,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgC;IACxD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACxC,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAiB,EACjB,OAAiC,EACjC,UAAU,IAAI,GAAG,EAAU;IAE3B,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACnC,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAA4B;IAI1D,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,EAAU,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAExD,UAAU,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QACjE,IACE,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CACtB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,KAAK,SAAS;YAC3B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,CAC1C,EACD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;QAC/D,IAAI,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrE,IAAI,IAAI;oBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC;QACrE,IAAI,QAAQ,IAAI,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,IAAI;oBAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAA4B,EAC5B,YAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,YAAY,GAAG,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CACtB,KAAe,EACf,YAAoB,EACpB,OAAe;IAEf,MAAM,MAAM,GAAG,GAAG,YAAY,IAAI,OAAO,GAAG,CAAC;IAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAe;IAC5C,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QAChE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;QACxE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QAChE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,YAAoB;IAEpB,MAAM,MAAM,GAAG,GAAG,YAAY,GAAG,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAA6B,EAC7B,IAAY,EACZ,YAAoB,EACpB,WAAiD;IAEjD,IACE,CAAC,IAAI;QACL,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC7B,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,MAAM;QACX,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAoB,EACpB,IAAY,EACZ,UAAkB,EAClB,WAAgC;IAEhC,MAAM,KAAK,GAA8C;QACvD,QAAQ,EAAE,CAAC,+BAA+B,CAAC;QAC3C,QAAQ,EAAE,CAAC,+BAA+B,CAAC;QAC3C,IAAI,EAAE,CAAC,2BAA2B,CAAC;QACnC,KAAK,EAAE,CAAC,mCAAmC,CAAC;QAC5C,GAAG,EAAE,CAAC,iCAAiC,CAAC;KACzC,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACjC,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,UAAU,EAAE,EAAE,CACb,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QAClC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1C;QACC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAA4B,EAC5B,IAAuB;IAEvB,IAAI,QAAQ,KAAK,+BAA+B,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,OAAO,IAAI,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC;QACrD,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC;YAC5D,uBAAuB,CAAC;QAC5B,CAAC,CAAC,uBAAuB,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CACf,IAAyB,EACzB,KAAkB;IAElB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,KAAoC,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAyB;IACjD,IACE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;QAC7B,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC;QACxC,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC;QACxC,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,EACpC,CAAC;QACD,OAAO,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,CACL,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpE,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,UAAkB;IAClD,OAAO,YAAY,IAAI,IAAI,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAkC;IAChE,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,WAAW,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,WAAW,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,UAAkB;IACjD,OAAO,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,MAAoB;IACrC,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAChB,IAAoB,EACpB,IAAY,EACZ,EAAU,EACV,IAAY;IAEZ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAoB,EACpB,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,IAAa,EACb,SAA4B;IAE5B,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,QAAQ,EAAE;YACR,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;YACvB,MAAM,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;YAC9B,UAAU,EAAE,OAAO;SACpB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAoB,EACpB,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,IAAa;IAEb,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,QAAQ,EAAE;YACR,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;YACvB,MAAM,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;YAC9B,UAAU,EAAE,OAAO;SACpB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAC/C,OAAO,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAChB,KAAmB,EACnB,MAA2B,EAC3B,IAAsB,EACtB,UAAuC;IAEvC,MAAM,KAAK,GAAG,CAAC,IAAoB,EAAE,EAAE,CACrC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QACtB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;QAC3B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QACtE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;QAC5B,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC;QAClC,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QACxC,UAAU,EAAE,UAAU,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACzF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,KAAiB;IACvD,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,KAAiB;IACvD,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CACzD,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACvC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CACzD,CAAC;IACF,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CACb;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"app-map.js","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}
|
package/dist/choices.d.ts
CHANGED
|
@@ -12,6 +12,12 @@ export type PackageManager = "bun" | "npm" | "pnpm" | "yarn";
|
|
|
12
12
|
* Application templates supported by the app template generator.
|
|
13
13
|
*/
|
|
14
14
|
export type TemplateName = "next";
|
|
15
|
+
/**
|
|
16
|
+
* Stable repair operations supported by doctor fix planning.
|
|
17
|
+
*/
|
|
18
|
+
export declare const doctorFixOperationIds: readonly ["package.repair-generated-support", "routes.register-missing", "schedules.register-missing", "tasks.register-missing", "workflows.register-missing", "outbox.register-missing", "listeners.register-missing", "openapi.register-missing"];
|
|
19
|
+
/** Stable identifier for one selectable doctor repair operation. */
|
|
20
|
+
export type DoctorFixOperationId = (typeof doctorFixOperationIds)[number];
|
|
15
21
|
/**
|
|
16
22
|
* Optional providers rendered directly by the starter template.
|
|
17
23
|
*
|
|
@@ -23,6 +29,18 @@ export type StarterProviderName = "jobs-inngest" | "mail-resend" | "rate-limit-u
|
|
|
23
29
|
* Databases supported by the starter's Drizzle persistence layer.
|
|
24
30
|
*/
|
|
25
31
|
export type DatabaseName = "sqlite" | "postgres" | "mysql";
|
|
32
|
+
/** Database lifecycle command supported by Beignet. */
|
|
33
|
+
export type DatabaseCommand = "generate" | "migrate" | "seed" | "reset";
|
|
34
|
+
/** Database lifecycle commands shared by the CLI, library, and MCP tool. */
|
|
35
|
+
export declare const databaseCommandChoices: readonly ["generate", "migrate", "seed", "reset"];
|
|
36
|
+
/** Drizzle dialect supported by provider-table schema sync. */
|
|
37
|
+
export type DatabaseSchemaDialect = "sqlite" | "postgres" | "mysql";
|
|
38
|
+
/** Drizzle dialects supported by provider-table schema sync. */
|
|
39
|
+
export declare const databaseSchemaDialectChoices: readonly ["sqlite", "postgres", "mysql"];
|
|
40
|
+
/** Beignet provider table supported by database schema sync. */
|
|
41
|
+
export type DatabaseSchemaTable = "audit" | "idempotency" | "outbox";
|
|
42
|
+
/** Beignet provider tables supported by database schema sync. */
|
|
43
|
+
export declare const databaseSchemaTableChoices: readonly ["audit", "idempotency", "outbox"];
|
|
26
44
|
/**
|
|
27
45
|
* Provider setup presets supported by `beignet provider add`.
|
|
28
46
|
*/
|
package/dist/choices.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"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"}
|
package/dist/choices.js
CHANGED
|
@@ -4,6 +4,41 @@
|
|
|
4
4
|
* here lets the bin define flag enums and next steps without loading
|
|
5
5
|
* templates or generators at startup.
|
|
6
6
|
*/
|
|
7
|
+
function defineExhaustiveChoices() {
|
|
8
|
+
return (choices) => choices;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Stable repair operations supported by doctor fix planning.
|
|
12
|
+
*/
|
|
13
|
+
export const doctorFixOperationIds = [
|
|
14
|
+
"package.repair-generated-support",
|
|
15
|
+
"routes.register-missing",
|
|
16
|
+
"schedules.register-missing",
|
|
17
|
+
"tasks.register-missing",
|
|
18
|
+
"workflows.register-missing",
|
|
19
|
+
"outbox.register-missing",
|
|
20
|
+
"listeners.register-missing",
|
|
21
|
+
"openapi.register-missing",
|
|
22
|
+
];
|
|
23
|
+
/** Database lifecycle commands shared by the CLI, library, and MCP tool. */
|
|
24
|
+
export const databaseCommandChoices = defineExhaustiveChoices()([
|
|
25
|
+
"generate",
|
|
26
|
+
"migrate",
|
|
27
|
+
"seed",
|
|
28
|
+
"reset",
|
|
29
|
+
]);
|
|
30
|
+
/** Drizzle dialects supported by provider-table schema sync. */
|
|
31
|
+
export const databaseSchemaDialectChoices = defineExhaustiveChoices()([
|
|
32
|
+
"sqlite",
|
|
33
|
+
"postgres",
|
|
34
|
+
"mysql",
|
|
35
|
+
]);
|
|
36
|
+
/** Beignet provider tables supported by database schema sync. */
|
|
37
|
+
export const databaseSchemaTableChoices = defineExhaustiveChoices()([
|
|
38
|
+
"audit",
|
|
39
|
+
"idempotency",
|
|
40
|
+
"outbox",
|
|
41
|
+
]);
|
|
7
42
|
/**
|
|
8
43
|
* Supported scaffold template choices.
|
|
9
44
|
*/
|
package/dist/choices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choices.js","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"choices.js","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"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"}
|
package/dist/db.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
export
|
|
1
|
+
import { type DatabaseCommand, type DatabaseSchemaDialect, type DatabaseSchemaTable } from "./choices.js";
|
|
2
|
+
export type { DatabaseCommand, DatabaseSchemaDialect, DatabaseSchemaTable, } from "./choices.js";
|
|
3
|
+
/** Default output retained per stream by structured database command callers. */
|
|
4
|
+
export declare const defaultDatabaseCommandMaxOutputBytes: number;
|
|
5
|
+
/** Default timeout used by request-controlled database command callers. */
|
|
6
|
+
export declare const defaultDatabaseCommandTimeoutMs: number;
|
|
5
7
|
/**
|
|
6
8
|
* Options for running a database lifecycle command.
|
|
7
9
|
*/
|
|
@@ -9,6 +11,12 @@ export type RunDatabaseCommandOptions = {
|
|
|
9
11
|
command: DatabaseCommand;
|
|
10
12
|
cwd?: string;
|
|
11
13
|
captureOutput?: boolean;
|
|
14
|
+
/** Keep only the last N bytes from each output stream. */
|
|
15
|
+
maxOutputBytes?: number;
|
|
16
|
+
/** Cancel the app-owned database script when the owning request aborts. */
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
/** Stop the app-owned database script after this many milliseconds. */
|
|
19
|
+
timeoutMs?: number;
|
|
12
20
|
dryRun?: boolean;
|
|
13
21
|
};
|
|
14
22
|
/**
|
|
@@ -23,6 +31,8 @@ export type RunDatabaseCommandResult = {
|
|
|
23
31
|
args: string[];
|
|
24
32
|
stdout?: string;
|
|
25
33
|
stderr?: string;
|
|
34
|
+
outputTruncated?: boolean;
|
|
35
|
+
timedOut?: boolean;
|
|
26
36
|
dryRun: boolean;
|
|
27
37
|
exitCode: number;
|
|
28
38
|
};
|
|
@@ -54,15 +64,17 @@ type ProcessTerminationPlan = {
|
|
|
54
64
|
command: string;
|
|
55
65
|
args: string[];
|
|
56
66
|
};
|
|
57
|
-
|
|
58
|
-
export type DatabaseSchemaTable = "audit" | "idempotency" | "outbox";
|
|
67
|
+
/** Options for syncing app-owned Beignet provider-table schema re-exports. */
|
|
59
68
|
export type SyncDatabaseSchemaOptions = {
|
|
60
69
|
cwd?: string;
|
|
61
70
|
dialect?: DatabaseSchemaDialect;
|
|
62
71
|
tables?: readonly DatabaseSchemaTable[];
|
|
63
72
|
output?: string;
|
|
64
73
|
dryRun?: boolean;
|
|
74
|
+
/** Cancel before applying pending schema-file writes. */
|
|
75
|
+
signal?: AbortSignal;
|
|
65
76
|
};
|
|
77
|
+
/** Versioned report returned by `syncDatabaseSchema`. */
|
|
66
78
|
export type SyncDatabaseSchemaResult = {
|
|
67
79
|
schemaVersion: 1;
|
|
68
80
|
command: "schema:sync";
|
|
@@ -96,5 +108,4 @@ export declare function detectPackageManager(cwd: string): Promise<string>;
|
|
|
96
108
|
export declare function spawnCommand(command: string, args: readonly string[], cwd: string, options: SpawnCommandOptions): Promise<SpawnCommandResult>;
|
|
97
109
|
export declare function commandOwnsProcessGroup(platform: NodeJS.Platform, options: Pick<SpawnCommandOptions, "signal" | "timeoutMs">): boolean;
|
|
98
110
|
export declare function commandTerminationPlan(platform: NodeJS.Platform, pid: number | undefined, signal: NodeJS.Signals, ownsProcessGroup: boolean): ProcessTerminationPlan;
|
|
99
|
-
export {};
|
|
100
111
|
//# sourceMappingURL=db.d.ts.map
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { databaseSchemaTableChoices, } from "./choices.js";
|
|
5
|
+
/** Default output retained per stream by structured database command callers. */
|
|
6
|
+
export const defaultDatabaseCommandMaxOutputBytes = 64 * 1024;
|
|
7
|
+
/** Default timeout used by request-controlled database command callers. */
|
|
8
|
+
export const defaultDatabaseCommandTimeoutMs = 10 * 60 * 1_000;
|
|
4
9
|
const databaseScripts = {
|
|
5
10
|
generate: "db:generate",
|
|
6
11
|
migrate: "db:migrate",
|
|
7
12
|
seed: "db:seed",
|
|
8
13
|
reset: "db:reset",
|
|
9
14
|
};
|
|
10
|
-
const allDatabaseSchemaTables = [
|
|
11
|
-
"audit",
|
|
12
|
-
"idempotency",
|
|
13
|
-
"outbox",
|
|
14
|
-
];
|
|
15
15
|
/**
|
|
16
16
|
* Run an app-owned database lifecycle script.
|
|
17
17
|
*
|
|
@@ -20,6 +20,7 @@ const allDatabaseSchemaTables = [
|
|
|
20
20
|
* database URLs, and destructive reset behavior explicit in app code.
|
|
21
21
|
*/
|
|
22
22
|
export async function runDatabaseCommand(options) {
|
|
23
|
+
options.signal?.throwIfAborted();
|
|
23
24
|
const cwd = path.resolve(options.cwd ?? process.cwd());
|
|
24
25
|
const script = databaseScripts[options.command];
|
|
25
26
|
const packageJson = await readPackageJson(cwd);
|
|
@@ -28,6 +29,7 @@ export async function runDatabaseCommand(options) {
|
|
|
28
29
|
throw new Error(missingDatabaseScriptMessage(options.command, script));
|
|
29
30
|
}
|
|
30
31
|
await assertDatabaseCommandPreflight(cwd, options.command, scriptCommand);
|
|
32
|
+
options.signal?.throwIfAborted();
|
|
31
33
|
const runner = await detectPackageManager(cwd);
|
|
32
34
|
const args = ["run", script];
|
|
33
35
|
if (options.dryRun) {
|
|
@@ -44,6 +46,9 @@ export async function runDatabaseCommand(options) {
|
|
|
44
46
|
}
|
|
45
47
|
const commandResult = await spawnCommand(runner, args, cwd, {
|
|
46
48
|
captureOutput: Boolean(options.captureOutput),
|
|
49
|
+
maxOutputBytes: options.maxOutputBytes,
|
|
50
|
+
signal: options.signal,
|
|
51
|
+
timeoutMs: options.timeoutMs,
|
|
47
52
|
});
|
|
48
53
|
return {
|
|
49
54
|
schemaVersion: 1,
|
|
@@ -57,6 +62,8 @@ export async function runDatabaseCommand(options) {
|
|
|
57
62
|
...(options.captureOutput
|
|
58
63
|
? { stdout: commandResult.stdout, stderr: commandResult.stderr }
|
|
59
64
|
: {}),
|
|
65
|
+
...(commandResult.outputTruncated ? { outputTruncated: true } : {}),
|
|
66
|
+
...(commandResult.timedOut ? { timedOut: true } : {}),
|
|
60
67
|
};
|
|
61
68
|
}
|
|
62
69
|
/**
|
|
@@ -67,9 +74,10 @@ export async function runDatabaseCommand(options) {
|
|
|
67
74
|
* `beignet db migrate`.
|
|
68
75
|
*/
|
|
69
76
|
export async function syncDatabaseSchema(options = {}) {
|
|
77
|
+
options.signal?.throwIfAborted();
|
|
70
78
|
const cwd = path.resolve(options.cwd ?? process.cwd());
|
|
71
79
|
const dialect = await resolveDatabaseSchemaDialect(cwd, options.dialect);
|
|
72
|
-
const tables = uniqueSchemaTables(options.tables ??
|
|
80
|
+
const tables = uniqueSchemaTables(options.tables ?? databaseSchemaTableChoices);
|
|
73
81
|
const output = normalizeAppRelativePath(cwd, options.output ?? "infra/db/schema/beignet.ts", "schema output");
|
|
74
82
|
const indexFile = normalizeAppRelativePath(cwd, path.join(path.dirname(output), "index.ts"), "schema index");
|
|
75
83
|
if (output === indexFile) {
|
|
@@ -88,6 +96,7 @@ export async function syncDatabaseSchema(options = {}) {
|
|
|
88
96
|
skippedFiles: [],
|
|
89
97
|
dryRun: Boolean(options.dryRun),
|
|
90
98
|
};
|
|
99
|
+
options.signal?.throwIfAborted();
|
|
91
100
|
const schemaStatus = await writeProjectFile(cwd, output, renderDatabaseSchema(dialect, tables), result.dryRun);
|
|
92
101
|
recordFileStatus(result, output, schemaStatus);
|
|
93
102
|
const indexStatus = await updateSchemaIndex(cwd, indexFile, output, result.dryRun);
|
|
@@ -219,7 +228,7 @@ const schemaTableDefinitions = {
|
|
|
219
228
|
outbox: { exportName: "outboxMessages", tableName: "outbox_messages" },
|
|
220
229
|
};
|
|
221
230
|
function uniqueSchemaTables(tables) {
|
|
222
|
-
const unique =
|
|
231
|
+
const unique = databaseSchemaTableChoices.filter((table) => tables.includes(table));
|
|
223
232
|
if (unique.length === 0) {
|
|
224
233
|
throw new Error("At least one schema table must be selected.");
|
|
225
234
|
}
|
|
@@ -374,6 +383,9 @@ export function spawnCommand(command, args, cwd, options) {
|
|
|
374
383
|
child.on("close", (code) => {
|
|
375
384
|
if (settled)
|
|
376
385
|
return;
|
|
386
|
+
if (timedOut && ownsProcessGroup && forceKillTimeout) {
|
|
387
|
+
terminateChild(child, "SIGKILL", ownsProcessGroup);
|
|
388
|
+
}
|
|
377
389
|
settled = true;
|
|
378
390
|
cleanup();
|
|
379
391
|
resolve({
|
|
@@ -402,6 +414,7 @@ export function spawnCommand(command, args, cwd, options) {
|
|
|
402
414
|
timedOut = true;
|
|
403
415
|
terminateChild(child, "SIGTERM", ownsProcessGroup);
|
|
404
416
|
forceKillTimeout = setTimeout(() => {
|
|
417
|
+
forceKillTimeout = undefined;
|
|
405
418
|
if (!settled)
|
|
406
419
|
terminateChild(child, "SIGKILL", ownsProcessGroup);
|
|
407
420
|
}, 1_000);
|