@beignet/cli 0.0.47 → 0.0.48
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 +12 -0
- package/README.md +50 -21
- package/dist/check.d.ts +8 -1
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +18 -6
- package/dist/check.js.map +1 -1
- package/dist/db.d.ts +38 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +52 -0
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -6
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +39 -2
- package/dist/inspect.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/make/inbox.js +1 -1
- package/dist/make/inbox.js.map +1 -1
- package/dist/make/payments.js +1 -1
- package/dist/make/payments.js.map +1 -1
- package/dist/make/tenancy.js +1 -1
- package/dist/make/tenancy.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +39 -2
- package/dist/mcp.js.map +1 -1
- package/dist/preflight.d.ts +11 -3
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +139 -16
- package/dist/preflight.js.map +1 -1
- package/dist/provider-add.d.ts.map +1 -1
- package/dist/provider-add.js +7 -2
- package/dist/provider-add.js.map +1 -1
- package/dist/provider-audit.d.ts +13 -0
- package/dist/provider-audit.d.ts.map +1 -1
- package/dist/provider-audit.js +122 -8
- package/dist/provider-audit.js.map +1 -1
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +13 -7
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/base.d.ts +1 -0
- package/dist/templates/base.d.ts.map +1 -1
- package/dist/templates/base.js +11 -5
- package/dist/templates/base.js.map +1 -1
- package/dist/templates/db/index.d.ts +1 -0
- package/dist/templates/db/index.d.ts.map +1 -1
- package/dist/templates/db/index.js.map +1 -1
- package/dist/templates/db/migration-status.d.ts +9 -0
- package/dist/templates/db/migration-status.d.ts.map +1 -0
- package/dist/templates/db/migration-status.js +117 -0
- package/dist/templates/db/migration-status.js.map +1 -0
- package/dist/templates/db/mysql.d.ts.map +1 -1
- package/dist/templates/db/mysql.js +23 -0
- package/dist/templates/db/mysql.js.map +1 -1
- package/dist/templates/db/postgres.d.ts.map +1 -1
- package/dist/templates/db/postgres.js +21 -0
- package/dist/templates/db/postgres.js.map +1 -1
- package/dist/templates/db/sqlite.d.ts.map +1 -1
- package/dist/templates/db/sqlite.js +53 -0
- package/dist/templates/db/sqlite.js.map +1 -1
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/shared.d.ts.map +1 -1
- package/dist/templates/shared.js +1 -0
- package/dist/templates/shared.js.map +1 -1
- package/package.json +2 -2
- package/skills/app-structure/SKILL.md +11 -7
- package/src/check.ts +35 -7
- package/src/db.ts +97 -0
- package/src/index.ts +108 -7
- package/src/inspect.ts +76 -1
- package/src/lib.ts +9 -1
- package/src/make/inbox.ts +1 -1
- package/src/make/payments.ts +1 -1
- package/src/make/tenancy.ts +1 -1
- package/src/mcp.ts +56 -1
- package/src/preflight.ts +195 -16
- package/src/provider-add.ts +7 -2
- package/src/provider-audit.ts +210 -18
- package/src/templates/agents.ts +13 -7
- package/src/templates/base.ts +12 -3
- package/src/templates/db/index.ts +1 -0
- package/src/templates/db/migration-status.ts +126 -0
- package/src/templates/db/mysql.ts +23 -0
- package/src/templates/db/postgres.ts +21 -0
- package/src/templates/db/sqlite.ts +53 -0
- package/src/templates/index.ts +5 -0
- package/src/templates/shared.ts +1 -0
package/dist/provider-audit.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ export type ProviderPackageJson = {
|
|
|
4
4
|
dependencies?: Record<string, string>;
|
|
5
5
|
devDependencies?: Record<string, string>;
|
|
6
6
|
peerDependencies?: Record<string, string>;
|
|
7
|
+
scripts?: Record<string, string>;
|
|
7
8
|
};
|
|
8
9
|
export type ProviderDoctorVariantRule = {
|
|
9
10
|
name: string;
|
|
10
11
|
displayName: string;
|
|
11
12
|
tokens: readonly string[];
|
|
12
13
|
requiredEnv: readonly string[];
|
|
14
|
+
requiredEnvAlternatives: readonly (readonly string[])[];
|
|
13
15
|
requiredTables: readonly string[];
|
|
14
16
|
registrationSeverity?: "warning" | "hint";
|
|
15
17
|
};
|
|
@@ -22,6 +24,7 @@ export type ProviderDoctorRule = {
|
|
|
22
24
|
type: string;
|
|
23
25
|
}[];
|
|
24
26
|
requiredEnv?: readonly string[];
|
|
27
|
+
requiredEnvAlternatives?: readonly (readonly string[])[];
|
|
25
28
|
requiredTables?: readonly string[];
|
|
26
29
|
watchers?: readonly string[];
|
|
27
30
|
registrationSeverity?: "warning" | "hint";
|
|
@@ -69,6 +72,14 @@ export type ProviderRequirementAudit = {
|
|
|
69
72
|
status: ProviderAuditStatus;
|
|
70
73
|
required: string[];
|
|
71
74
|
missing: string[];
|
|
75
|
+
alternatives?: string[][];
|
|
76
|
+
alternativeGroups?: Array<{
|
|
77
|
+
name: string;
|
|
78
|
+
displayName: string;
|
|
79
|
+
status: "present" | "missing";
|
|
80
|
+
alternatives: string[][];
|
|
81
|
+
missing: string[];
|
|
82
|
+
}>;
|
|
72
83
|
};
|
|
73
84
|
export type ProviderAppPortsAudit = {
|
|
74
85
|
status: ProviderAuditStatus;
|
|
@@ -114,6 +125,7 @@ export type ProviderAuditResult = {
|
|
|
114
125
|
export declare function auditProviders(options?: ProviderAuditOptions): Promise<ProviderAuditResult>;
|
|
115
126
|
export declare function formatProviderAudit(result: ProviderAuditResult): string;
|
|
116
127
|
export declare function providerDoctorRulesForInstalledPackages(targetDir: string, packageJson: ProviderPackageJson | undefined): Promise<ProviderDoctorRule[]>;
|
|
128
|
+
export declare function detectedProviderVariantsForRules(targetDir: string, rules: readonly ProviderDoctorRule[]): Promise<Map<string, ProviderDoctorVariantRule[]>>;
|
|
117
129
|
export declare function readProviderPackageMetadataSource(targetDir: string, packageName: string): Promise<ProviderPackageMetadataSource | undefined>;
|
|
118
130
|
export declare function providerDoctorRuleFromMetadata(packageName: string, metadata: ProviderPackageMetadata): ProviderDoctorRule;
|
|
119
131
|
export declare function registrationSeverityFromMetadata(registration: {
|
|
@@ -134,4 +146,5 @@ export declare function providerOperationalConfigFiles(files: string[], config:
|
|
|
134
146
|
export declare function providerRequiredEnvExists(targetDir: string, configFiles: readonly string[], envVar: string, sourceCache: Map<string, string>): Promise<boolean>;
|
|
135
147
|
export declare function providerRequiredTableExists(targetDir: string, files: string[], config: ResolvedBeignetConfig, infrastructurePath: string, schemaDir: string, tableName: string, sourceCache: Map<string, string>): Promise<boolean>;
|
|
136
148
|
export declare function serverProviderFiles(files: string[], config: ResolvedBeignetConfig): string[];
|
|
149
|
+
export declare function formatProviderEnvAlternatives(alternatives: readonly (readonly string[])[]): string;
|
|
137
150
|
//# sourceMappingURL=provider-audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-audit.d.ts","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"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"}
|
package/dist/provider-audit.js
CHANGED
|
@@ -105,6 +105,18 @@ export async function providerDoctorRulesForInstalledPackages(targetDir, package
|
|
|
105
105
|
}));
|
|
106
106
|
return rules.filter((rule) => Boolean(rule));
|
|
107
107
|
}
|
|
108
|
+
export async function detectedProviderVariantsForRules(targetDir, rules) {
|
|
109
|
+
const variantRules = rules.filter((rule) => rule.variants !== undefined);
|
|
110
|
+
if (variantRules.length === 0)
|
|
111
|
+
return new Map();
|
|
112
|
+
const files = await listFiles(targetDir);
|
|
113
|
+
const config = await loadBeignetConfig(targetDir, files);
|
|
114
|
+
const providerEntries = await readProviderListEntries(targetDir, files, config, new Map());
|
|
115
|
+
return new Map(variantRules.map((rule) => [
|
|
116
|
+
rule.packageName,
|
|
117
|
+
detectedProviderVariants(rule.variants, providerEntries),
|
|
118
|
+
]));
|
|
119
|
+
}
|
|
108
120
|
export async function readProviderPackageMetadataSource(targetDir, packageName) {
|
|
109
121
|
for (const candidate of providerPackageJsonCandidates(targetDir, packageName)) {
|
|
110
122
|
const packageJson = await readJsonIfExists(candidate);
|
|
@@ -123,6 +135,7 @@ export function providerDoctorRuleFromMetadata(packageName, metadata) {
|
|
|
123
135
|
tokens: registration?.tokens ?? [],
|
|
124
136
|
appPorts: metadata.appPorts ?? [],
|
|
125
137
|
requiredEnv: metadata.requiredEnv ?? [],
|
|
138
|
+
requiredEnvAlternatives: metadata.requiredEnvAlternatives ?? [],
|
|
126
139
|
requiredTables: metadata.requiredTables ?? [],
|
|
127
140
|
watchers: metadata.watchers ?? [],
|
|
128
141
|
registrationSeverity: registrationSeverityFromMetadata(registration),
|
|
@@ -131,6 +144,7 @@ export function providerDoctorRuleFromMetadata(packageName, metadata) {
|
|
|
131
144
|
displayName: variant.displayName ?? variant.name,
|
|
132
145
|
tokens: variant.registration?.tokens ?? [],
|
|
133
146
|
requiredEnv: variant.requiredEnv ?? [],
|
|
147
|
+
requiredEnvAlternatives: variant.requiredEnvAlternatives ?? [],
|
|
134
148
|
requiredTables: variant.requiredTables ?? [],
|
|
135
149
|
registrationSeverity: registrationSeverityFromMetadata(variant.registration),
|
|
136
150
|
})),
|
|
@@ -623,6 +637,9 @@ function configuredProviderRequiredEnv(envVars, config) {
|
|
|
623
637
|
const ignored = new Set(config.providerAudit.ignoreRequiredEnv);
|
|
624
638
|
return envVars.filter((envVar) => !ignored.has(envVar));
|
|
625
639
|
}
|
|
640
|
+
function configuredProviderRequiredEnvAlternatives(alternatives, config) {
|
|
641
|
+
return alternatives.map((alternative) => configuredProviderRequiredEnv(alternative, config));
|
|
642
|
+
}
|
|
626
643
|
function configuredProviderRequiredTables(tableNames, config) {
|
|
627
644
|
return tableNames.map((tableName) => configuredProviderRequiredTable(tableName, config));
|
|
628
645
|
}
|
|
@@ -682,7 +699,11 @@ async function providerAuditEntryForRule(options) {
|
|
|
682
699
|
})));
|
|
683
700
|
const requiredEnv = options.rule.variants !== undefined
|
|
684
701
|
? aggregateVariantRequirement(variants, "requiredEnv")
|
|
685
|
-
: await
|
|
702
|
+
: await providerEnvRequirementAudit({
|
|
703
|
+
required: configuredProviderRequiredEnv(options.rule.requiredEnv ?? [], options.config),
|
|
704
|
+
alternatives: configuredProviderRequiredEnvAlternatives(options.rule.requiredEnvAlternatives ?? [], options.config),
|
|
705
|
+
exists: (envVar) => providerRequiredEnvExists(options.targetDir, options.configFiles, envVar, options.sourceCache),
|
|
706
|
+
});
|
|
686
707
|
const requiredTables = options.rule.variants !== undefined
|
|
687
708
|
? aggregateVariantRequirement(variants, "requiredTables")
|
|
688
709
|
: await requirementAudit(configuredProviderRequiredTables(options.rule.requiredTables ?? [], options.config), (tableName) => providerRequiredTableExists(options.targetDir, options.files, options.config, options.infrastructurePath, options.schemaDir, tableName, options.sourceCache));
|
|
@@ -722,12 +743,15 @@ async function providerAuditEntryForRule(options) {
|
|
|
722
743
|
}
|
|
723
744
|
async function providerVariantAudit(options) {
|
|
724
745
|
const requiredEnv = configuredProviderRequiredEnv(options.variant.requiredEnv, options.config);
|
|
746
|
+
const requiredEnvAlternatives = configuredProviderRequiredEnvAlternatives(options.variant.requiredEnvAlternatives, options.config);
|
|
725
747
|
if (!options.registered) {
|
|
726
748
|
return {
|
|
727
749
|
name: options.variant.name,
|
|
728
750
|
displayName: options.variant.displayName,
|
|
729
751
|
registration: "inactive",
|
|
730
|
-
requiredEnv:
|
|
752
|
+
requiredEnv: requiredEnvAlternatives.length > 0
|
|
753
|
+
? inactiveAlternativeRequirement(requiredEnvAlternatives)
|
|
754
|
+
: inactiveRequirement(requiredEnv),
|
|
731
755
|
requiredTables: inactiveRequirement(options.variant.requiredTables),
|
|
732
756
|
};
|
|
733
757
|
}
|
|
@@ -735,7 +759,11 @@ async function providerVariantAudit(options) {
|
|
|
735
759
|
name: options.variant.name,
|
|
736
760
|
displayName: options.variant.displayName,
|
|
737
761
|
registration: registrationAudit(options.variant.tokens, options.variant.registrationSeverity, options.providerEntries),
|
|
738
|
-
requiredEnv: await
|
|
762
|
+
requiredEnv: await providerEnvRequirementAudit({
|
|
763
|
+
required: requiredEnv,
|
|
764
|
+
alternatives: requiredEnvAlternatives,
|
|
765
|
+
exists: (envVar) => providerRequiredEnvExists(options.targetDir, options.configFiles, envVar, options.sourceCache),
|
|
766
|
+
}),
|
|
739
767
|
requiredTables: await requirementAudit(configuredProviderRequiredTables(options.variant.requiredTables, options.config), (tableName) => providerRequiredTableExists(options.targetDir, options.files, options.config, options.infrastructurePath, options.schemaDir, tableName, options.sourceCache)),
|
|
740
768
|
};
|
|
741
769
|
}
|
|
@@ -818,6 +846,28 @@ async function requirementAudit(required, exists) {
|
|
|
818
846
|
missing,
|
|
819
847
|
};
|
|
820
848
|
}
|
|
849
|
+
async function providerEnvRequirementAudit(options) {
|
|
850
|
+
if (options.alternatives.length === 0) {
|
|
851
|
+
return requirementAudit(options.required, options.exists);
|
|
852
|
+
}
|
|
853
|
+
const missingAlternatives = [];
|
|
854
|
+
for (const alternative of options.alternatives) {
|
|
855
|
+
const missing = [];
|
|
856
|
+
for (const requirement of alternative) {
|
|
857
|
+
if (await options.exists(requirement))
|
|
858
|
+
continue;
|
|
859
|
+
missing.push(requirement);
|
|
860
|
+
}
|
|
861
|
+
missingAlternatives.push(missing);
|
|
862
|
+
}
|
|
863
|
+
const present = missingAlternatives.some((missing) => missing.length === 0);
|
|
864
|
+
return {
|
|
865
|
+
status: present ? "present" : "missing",
|
|
866
|
+
required: unique(options.alternatives.flat()),
|
|
867
|
+
missing: present ? [] : unique(missingAlternatives.flat()),
|
|
868
|
+
alternatives: options.alternatives.map((alternative) => [...alternative]),
|
|
869
|
+
};
|
|
870
|
+
}
|
|
821
871
|
function inactiveRequirement(required) {
|
|
822
872
|
return {
|
|
823
873
|
status: "inactive",
|
|
@@ -825,23 +875,57 @@ function inactiveRequirement(required) {
|
|
|
825
875
|
missing: [],
|
|
826
876
|
};
|
|
827
877
|
}
|
|
878
|
+
function inactiveAlternativeRequirement(alternatives) {
|
|
879
|
+
return {
|
|
880
|
+
status: "inactive",
|
|
881
|
+
required: unique(alternatives.flat()),
|
|
882
|
+
missing: [],
|
|
883
|
+
alternatives: alternatives.map((alternative) => [...alternative]),
|
|
884
|
+
};
|
|
885
|
+
}
|
|
828
886
|
function emptyRequirement() {
|
|
829
887
|
return { status: "none", required: [], missing: [] };
|
|
830
888
|
}
|
|
831
889
|
function aggregateVariantRequirement(variants, key) {
|
|
832
890
|
const active = variants
|
|
833
|
-
.map((variant) => variant[key])
|
|
834
|
-
.filter((requirement) => requirement.status !== "inactive");
|
|
891
|
+
.map((variant) => ({ variant, requirement: variant[key] }))
|
|
892
|
+
.filter(({ requirement }) => requirement.status !== "inactive");
|
|
835
893
|
if (active.length === 0)
|
|
836
894
|
return { status: "inactive", required: [], missing: [] };
|
|
837
|
-
const required = unique(active.flatMap((requirement) => requirement.required));
|
|
838
|
-
const missing = unique(active.flatMap((requirement) => requirement.missing));
|
|
895
|
+
const required = unique(active.flatMap(({ requirement }) => requirement.required));
|
|
896
|
+
const missing = unique(active.flatMap(({ requirement }) => requirement.missing));
|
|
839
897
|
if (required.length === 0)
|
|
840
898
|
return emptyRequirement();
|
|
899
|
+
const hasAlternativeRequirements = active.some(({ requirement }) => requirement.alternatives !== undefined ||
|
|
900
|
+
requirement.alternativeGroups !== undefined);
|
|
901
|
+
const alternativeGroups = hasAlternativeRequirements
|
|
902
|
+
? active.flatMap(({ variant, requirement }) => {
|
|
903
|
+
if (requirement.status === "none")
|
|
904
|
+
return [];
|
|
905
|
+
if (requirement.status !== "present" &&
|
|
906
|
+
requirement.status !== "missing") {
|
|
907
|
+
return [];
|
|
908
|
+
}
|
|
909
|
+
return [
|
|
910
|
+
{
|
|
911
|
+
name: variant.name,
|
|
912
|
+
displayName: variant.displayName,
|
|
913
|
+
status: requirement.status,
|
|
914
|
+
alternatives: (requirement.alternatives ?? [requirement.required]).map((alternative) => [...alternative]),
|
|
915
|
+
missing: [...requirement.missing],
|
|
916
|
+
},
|
|
917
|
+
];
|
|
918
|
+
})
|
|
919
|
+
: [];
|
|
841
920
|
return {
|
|
842
921
|
status: missing.length === 0 ? "present" : "missing",
|
|
843
922
|
required,
|
|
844
923
|
missing,
|
|
924
|
+
...(alternativeGroups.length === 1
|
|
925
|
+
? { alternatives: alternativeGroups[0]?.alternatives ?? [] }
|
|
926
|
+
: alternativeGroups.length > 0
|
|
927
|
+
? { alternativeGroups }
|
|
928
|
+
: {}),
|
|
845
929
|
};
|
|
846
930
|
}
|
|
847
931
|
function appPortsAudit(required, portsSource) {
|
|
@@ -869,7 +953,11 @@ function providerAuditNotes(input) {
|
|
|
869
953
|
notes.push("optional provider not registered");
|
|
870
954
|
}
|
|
871
955
|
if (input.requiredEnv.missing.length > 0) {
|
|
872
|
-
notes.push(
|
|
956
|
+
notes.push(input.requiredEnv.alternativeGroups
|
|
957
|
+
? `missing env configuration groups: ${formatProviderEnvAlternativeGroups(input.requiredEnv.alternativeGroups)}`
|
|
958
|
+
: input.requiredEnv.alternatives
|
|
959
|
+
? `missing env alternative: ${formatProviderEnvAlternatives(input.requiredEnv.alternatives)}`
|
|
960
|
+
: `missing env: ${input.requiredEnv.missing.join(", ")}`);
|
|
873
961
|
}
|
|
874
962
|
if (input.requiredTables.missing.length > 0) {
|
|
875
963
|
notes.push(`missing tables: ${input.requiredTables.missing.join(", ")}`);
|
|
@@ -1115,6 +1203,19 @@ function requirementSummary(requirement) {
|
|
|
1115
1203
|
return "none";
|
|
1116
1204
|
if (requirement.status === "inactive")
|
|
1117
1205
|
return "inactive";
|
|
1206
|
+
if (requirement.alternativeGroups) {
|
|
1207
|
+
const count = requirement.alternativeGroups.length;
|
|
1208
|
+
const missing = requirement.alternativeGroups.filter((group) => group.status === "missing").length;
|
|
1209
|
+
return requirement.status === "present"
|
|
1210
|
+
? `${count} variant groups ok`
|
|
1211
|
+
: `${missing}/${count} variant groups incomplete`;
|
|
1212
|
+
}
|
|
1213
|
+
if (requirement.alternatives) {
|
|
1214
|
+
if (requirement.status === "present") {
|
|
1215
|
+
return "alternative ok";
|
|
1216
|
+
}
|
|
1217
|
+
return `${requirement.alternatives.length} alternatives missing`;
|
|
1218
|
+
}
|
|
1118
1219
|
if (requirement.status === "present") {
|
|
1119
1220
|
return `${requirement.required.length} ok`;
|
|
1120
1221
|
}
|
|
@@ -1130,6 +1231,19 @@ function appPortsSummary(appPorts) {
|
|
|
1130
1231
|
function unique(values) {
|
|
1131
1232
|
return [...new Set(values)];
|
|
1132
1233
|
}
|
|
1234
|
+
export function formatProviderEnvAlternatives(alternatives) {
|
|
1235
|
+
return alternatives
|
|
1236
|
+
.map((alternative) => alternative.length === 1
|
|
1237
|
+
? alternative[0]
|
|
1238
|
+
: `(${alternative.join(" + ")})`)
|
|
1239
|
+
.join(" or ");
|
|
1240
|
+
}
|
|
1241
|
+
function formatProviderEnvAlternativeGroups(groups) {
|
|
1242
|
+
return groups
|
|
1243
|
+
.filter((group) => group.status === "missing")
|
|
1244
|
+
.map((group) => `${group.displayName}: ${formatProviderEnvAlternatives(group.alternatives)}`)
|
|
1245
|
+
.join(" and ");
|
|
1246
|
+
}
|
|
1133
1247
|
function table(rows) {
|
|
1134
1248
|
const widths = rows[0].map((_, columnIndex) => Math.max(...rows.map((row) => row[columnIndex].length)));
|
|
1135
1249
|
return rows
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-audit.js","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,aAAa,GAEd,MAAM,aAAa,CAAC;AA0HrB,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAC7D,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,CACZ,CAAC;IACF,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAChC,CAAC;IACF,MAAM,WAAW,GAAG,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACpD,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,kBAAkB,GAAG,aAAa,CACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACtC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,kBAAkB,YAAY,CAAC;IAEpD,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACpD,SAAS,EACT,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CACZ,oCAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,CAC/D,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CACZ,oCAAoC,CAClC,WAAW,EACX,WAAW,EACX,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAC1C,MAAM,CAAC,MAAM,CACd,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CACZ,MAAM,yBAAyB,CAAC;YAC9B,SAAS;YACT,KAAK;YACL,MAAM;YACN,WAAW;YACX,kBAAkB;YAClB,SAAS;YACT,WAAW;YACX,WAAW;YACX,eAAe;YACf,oBAAoB;YACpB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,WAAW;YACX,IAAI,EAAE,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;SACnE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAClD,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,SAAS;QACT,SAAS;QACT,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA2B;IAC7D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,yCAAyC,MAAM,CAAC,SAAS,GAAG,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAClC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnD,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KACrE,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,sBAAsB,MAAM,CAAC,SAAS,EAAE;QACxC,EAAE;QACF,KAAK,CAAC;YACJ,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;YACrE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACnB,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,MAAM;gBACV,GAAG,CAAC,QAAQ;aACb,CAAC;SACH,CAAC;QACF,EAAE;QACF,GAAG,IAAI;aACJ,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;aAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,EAAE;QACF,YAAY,MAAM,CAAC,OAAO,CAAC,KAAK,iBAAiB,MAAM,CAAC,OAAO,CAAC,mBAAmB,0BAA0B,MAAM,CAAC,OAAO,CAAC,UAAU,iBAAiB,MAAM,CAAC,OAAO,CAAC,aAAa,oBAAoB,MAAM,CAAC,OAAO,CAAC,eAAe,qBAAqB;KAC3P;SACE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,SAAiB,EACjB,WAA4C;IAE5C,MAAM,YAAY,GAAG,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACpD,SAAS,EACT,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,SAAiB,EACjB,WAAmB;IAEnB,KAAK,MAAM,SAAS,IAAI,6BAA6B,CACnD,SAAS,EACT,WAAW,CACZ,EAAE,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAEvC,SAAS,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,WAAmB,EACnB,QAAiC;IAEjC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAE3C,OAAO;QACL,WAAW;QACX,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,WAAW;QAChD,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE;QAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,EAAE;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,oBAAoB,EAAE,gCAAgC,CAAC,YAAY,CAAC;QACpE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI;YAChD,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,oBAAoB,EAAE,gCAAgC,CACpD,OAAO,CAAC,YAAY,CACrB;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,YAEa;IAEb,OAAO,CACL,YAAY,EAAE,QAAQ;QACtB,CAAC,YAAY,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA8C,EAC9C,eAAkC;IAElC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAA8C;IAE9C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3E,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,WAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAChD,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,CACZ,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAOD,KAAK,UAAU,4BAA4B,CACzC,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,WAAgC;IAEhC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC;oBACX,cAAc,EAAE,8BAA8B,CAC5C,CAAC,KAAK,CAAC,MAAM,CAAC,EACd,cAAc,CACf;oBACD,MAAM,EAAE,cAAc,CACpB,IAAI,EACJ,cAAc,EACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,8BAA8B,CACrC,OAAiB,EACjB,MAAc;IAEd,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEf,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,MAAc,EACd,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,cAAc,CAAC;IAClC,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,IAAY;IAEZ,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAoD;IAEpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAA4C;IAE5C,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;QAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,IAAI,EAAE,CAAC;QAClD,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,IAAI,EAAE,CAAC;KACpD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAe,EACf,MAA6B;IAE7B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,IAAI,KAAK,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,WAA8B,EAC9B,MAAc,EACd,WAAgC;IAEhC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,kBAA0B,EAC1B,SAAiB,EACjB,SAAiB,EACjB,WAAgC;IAEhC,OAAO,mBAAmB,CAAC;QACzB,SAAS;QACT,KAAK;QACL,MAAM;QACN,kBAAkB;QAClB,SAAS;QACT,SAAS;QACT,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AAE7E,KAAK,UAAU,mBAAmB,CAChC,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,IACE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;YAC7C,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACrB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EACvD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,OAAmC;IAEnC,OAAO;QACL,GAAG,+BAA+B,CAChC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,CAClB;QACD,GAAG,CAAC,MAAM,mCAAmC,CAC3C,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;QACF,GAAG,CAAC,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB,EACjB,KAAe,EACf,kBAA0B,EAC1B,SAAiB;IAEjB,MAAM,YAAY,GAAG,GAAG,SAAS,GAAG,CAAC;IAErC,OAAO,KAAK;SACT,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACvB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,MAAM,CAAC,CAAC,CAClD;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QACxD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,SAAiB,EACjB,MAA6B;IAE7B,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,OAAmC;IAEnC,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,kCAAkC,CACnD,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,CAClB,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC;gBAAE,SAAS;YACxD,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,MAAM,2BAA2B,CACnC,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,IAAI,CACL,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAe,EACf,MAA6B,EAC7B,kBAA0B,EAC1B,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,oBAAoB;QACpB,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC;KACtC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACvB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,MAAM,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,EACnC,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,SAAiB,EACjB,MAAc,EACd,YAAqB;IAErB,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,6BAA6B,CAClC,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IAED,OAAO,sCAAsC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,SAAiB,EACjB,KAAa;IAEb,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CACnE,MAAM,EACN,EAAE,CACH,CAAC;IACF,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnE,OAAO,kCAAkC,CACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,SAAiB,EACjB,SAAiB;IAEjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,SAAS,EACT,cAAc,EACd,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CACjC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,kCAAkC,CAC1D,UAAU,EACV,SAAS,CACV,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAE/C,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAKvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,MAAM,kCAAkC,CAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EACpD,SAAS,CACV,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI;YACvB,WAAW,CAAC,KAAK;YACjB,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,IAAI;SACjB,EAAE,CAAC;YACF,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,eAAe,GAAG,MAAM,kCAAkC,CAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EACjC,SAAS,CACV,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,eAAe,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,YAAoB,EACpB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,KAAK,UAAU,KAAK,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,UAAU,EACzB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;iBAAM,IACL,KAAK,CAAC,MAAM,EAAE;gBACd,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC1C,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAAoB;IAEpB,MAAM,UAAU,GAAG;QACjB,YAAY;QACZ,GAAG,YAAY,KAAK;QACpB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,KAAK;QACpB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,SAAiB,EACjB,IAAwB,EACxB,WAAgC;IAEhC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAAiB,EACjB,YAAoB;IAEpB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3E,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAiB;IAEjB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,OAAO;YACL,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAqB,EACrB,OAAe;IAEf,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CACjC,+DAA+D,CAChE,EAAE,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACpE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,OAAO,iDAAiD,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,6BAA6B,CACpC,OAA0B,EAC1B,MAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,gCAAgC,CACvC,UAA6B,EAC7B,MAA6B;IAE7B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClC,+BAA+B,CAAC,SAAS,EAAE,MAAM,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB,EACjB,MAA6B;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAClD,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CACW,EAAE,CAAC;QAClD,IAAI,SAAS,KAAK,gBAAgB;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,SAAiB,EACjB,WAA4C;IAE5C,MAAM,KAAK,GAAG,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAChC,WAAW;QACX,WAAW,EACT,CAAC,MAAM,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjE,SAAS;KACZ,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,UAAU;SACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAC/B,WAAW,IAAI,2BAA2B,CAAC,WAAW,CAAC,CAC1D;SACA,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAmB;IACtD,OAAO,CACL,WAAW,KAAK,mBAAmB;QACnC,WAAW,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC5C,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,SAAiB,EACjB,WAAmB;IAEnB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CACP,SAAS,EACT,cAAc,EACd,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EACzB,cAAc,CACf;KACF,CAAC;IAEF,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,UAAU,EACV,UAAU,EACV,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EACrC,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAI,IAAY;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA2B,CAAC,IAAI,KAAK,QAAQ,EAC9C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAcxC;IACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC5C,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClD,oBAAoB,CAAC;QACnB,GAAG,OAAO;QACV,OAAO;QACP,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC/C,CAAC,CACH,CACF,CAAC;IAEF,MAAM,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,aAAa,CAAC;QACtD,CAAC,CAAC,MAAM,gBAAgB,CACpB,6BAA6B,CAC3B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAC9B,OAAO,CAAC,MAAM,CACf,EACD,CAAC,MAAM,EAAE,EAAE,CACT,yBAAyB,CACvB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,MAAM,EACN,OAAO,CAAC,WAAW,CACpB,CACJ,CAAC;IAER,MAAM,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACzD,CAAC,CAAC,MAAM,gBAAgB,CACpB,gCAAgC,CAC9B,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EACjC,OAAO,CAAC,MAAM,CACf,EACD,CAAC,SAAS,EAAE,EAAE,CACZ,2BAA2B,CACzB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,WAAW,CACpB,CACJ,CAAC;IAER,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACnE,CAAC,CAAC,iBAAiB,CACf,OAAO,CAAC,IAAI,CAAC,MAAM,EACnB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EACjC,OAAO,CAAC,eAAe,CACxB,CAAC;IACR,MAAM,QAAQ,GAAG,aAAa,CAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAC3B,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,cAAc,EAAE,OAAO;QACvB,YAAY;QACZ,WAAW;QACX,cAAc;QACd,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAEtB,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACrC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACrC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACtD,OAAO,CAAC,IAAI,CAAC,WAAW,CACzB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC;YACjE,MAAM,EAAE,EAAE;SACX;QACD,YAAY;QACZ,mBAAmB,EACjB,YAAY,KAAK,YAAY;YAC3B,CAAC,CAAC,4BAA4B,CAC1B,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAC7B;YACH,CAAC,CAAC,EAAE;QACR,WAAW;QACX,cAAc;QACd,QAAQ;QACR,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC5C,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAWnC;IACC,MAAM,WAAW,GAAG,6BAA6B,CAC/C,OAAO,CAAC,OAAO,CAAC,WAAW,EAC3B,OAAO,CAAC,MAAM,CACf,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YACxC,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC;YAC7C,cAAc,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,YAAY,EAAE,iBAAiB,CAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,EACtB,OAAO,CAAC,OAAO,CAAC,oBAAoB,EACpC,OAAO,CAAC,eAAe,CACxB;QACD,WAAW,EAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1D,yBAAyB,CACvB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,MAAM,EACN,OAAO,CAAC,WAAW,CACpB,CACF;QACD,cAAc,EAAE,MAAM,gBAAgB,CACpC,gCAAgC,CAC9B,OAAO,CAAC,OAAO,CAAC,cAAc,EAC9B,OAAO,CAAC,MAAM,CACf,EACD,CAAC,SAAS,EAAE,EAAE,CACZ,2BAA2B,CACzB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,WAAW,CACpB,CACJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,WAA4C;IAE5C,OAAO;QACL,WAAW;QACX,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7D,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,YAAY,EAAE,cAAc;QAC5B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,gBAAgB,EAAE;QAC/B,cAAc,EAAE,gBAAgB,EAAE;QAClC,QAAQ,EAAE,aAAa,EAAE;QACzB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,2BAA2B,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,WAA4C,EAC5C,MAAc,EACd,MAAoD;IAEpD,OAAO;QACL,WAAW;QACX,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7D,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,MAAM;YACN,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;SACpB;QACD,YAAY,EAAE,cAAc;QAC5B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,gBAAgB,EAAE;QAC/B,cAAc,EAAE,gBAAgB,EAAE;QAClC,QAAQ,EAAE,aAAa,EAAE;QACzB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,qBAAqB,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAyB,EACzB,QAAwC,EACxC,eAAkC;IAElC,IACE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvD,EACD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACnD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,4BAA4B,CACnC,MAAyB,EACzB,OAA2C;IAE3C,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC1D,CACF;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,OAAO,CAAC,SAAS,CACf,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC9B,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC9B,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CACrC,KAAK,KAAK,CACd,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA8C,EAC9C,gBAAsD;IAEtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IACrD,MAAM,QAAQ,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACnD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAA2B,EAC3B,MAAiD;IAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAErD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC;YAAE,SAAS;QACxC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAA2B;IAE3B,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAyC,EACzC,GAAqC;IAErC,MAAM,MAAM,GAAG,QAAQ;SACpB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC9B,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CACtD,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAErD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ;QACR,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAAmD,EACnD,WAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,EAAE,CAAC;IAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CACjD,CAAC;IACF,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAM3B;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,sBAAsB,KAAK,CAAC,QAAQ,CAAC,OAAO;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAwC;IACtE,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,aAAa,EAAE,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CACnD,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;QACR,UAAU,EAAE,SAAS,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,CACrD,CAAC,MAAM;QACR,mBAAmB,EAAE,SAAS,CAAC,MAAM,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAClD,CAAC,MAAM;QACR,UAAU,EAAE,SAAS,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CACxD,CAAC,MAAM;QACR,aAAa,EAAE,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,CAC3D,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,KAAe;IAEf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtD,OAAO,IAAI,CAAC,KAAK,CACf,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,sBAAsB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,kBAAkB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,KAAK,CAAC,WAAmB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,UAAU;gBACzB,KAAK,CAAC,IAAI,KAAK,MAAM,EACrB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,SAAiB,EACjB,IAAY,EACZ,WAAgC;IAEhC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAClE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,MAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc;IAEd,MAAM,WAAW,GAAG;QAClB,GAAG,MAAM,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACxE,GAAG,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KACxD,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;KACtD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc;IAEd,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAgC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE/B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,WAAW,GAAG,KAAK,CAAC;gBACpB,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,YAAY,GAAG,KAAK,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,OAAO,IAAI,IAAI,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,YAAY,GAAG,IAAI,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,YAAY,KAAK,KAAK,CAAC;YACvB,OAAO,IAAI,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,SAAS,CAAC;YACzB,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAC/B,MAAM,EAAE,KAAK,GAAG,WAAW;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAE7D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,MAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,aAAa,CACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACtC,CAAC;IAEF,OAAO,CACL,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC;QAChC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,UAAU;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,iBAAiB,GAAG,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,SAAiB;IAC3D,OAAO,IAAI,MAAM,CACf,uCAAuC,YAAY,CAAC,SAAS,CAAC,KAAK,EACnE,GAAG,CACJ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,SAAiB;IAClE,OAAO,CACL,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7C,yCAAyC,CAAC,MAAM,EAAE,SAAS,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAc,EACd,SAAiB;IAEjB,MAAM,eAAe,GAAG,SAAS,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjE,MAAM,mBAAmB,GAAG;QAC1B,mDAAmD,eAAe,EAAE;QACpE,uCAAuC,eAAe,EAAE;QACxD,sBAAsB,eAAe,EAAE;KACxC,CAAC;IAEF,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,yCAAyC,CAChD,MAAc,EACd,SAAiB;IAEjB,MAAM,UAAU,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,OAAO,IAAI,MAAM,CACf,qCAAqC,YAAY,CAC/C,UAAU,CACX,wGAAwG,CAC1G,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB;IAEjB,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IACjD,IAAI,SAAS,KAAK,qBAAqB;QAAE,OAAO,oBAAoB,CAAC;IACrE,IAAI,SAAS,KAAK,iBAAiB;QAAE,OAAO,gBAAgB,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAqC;IAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACzD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC;AAChF,CAAC;AAED,SAAS,eAAe,CAAC,QAA+B;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC3E,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;IAEF,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CACb;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"provider-audit.js","sourceRoot":"","sources":["../src/provider-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,aAAa,GAEd,MAAM,aAAa,CAAC;AAqIrB,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAC7D,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,CACZ,CAAC;IACF,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAChC,CAAC;IACF,MAAM,WAAW,GAAG,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACpD,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,kBAAkB,GAAG,aAAa,CACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACtC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,kBAAkB,YAAY,CAAC;IAEpD,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACpD,SAAS,EACT,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CACZ,oCAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,CAC/D,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CACZ,oCAAoC,CAClC,WAAW,EACX,WAAW,EACX,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAC1C,MAAM,CAAC,MAAM,CACd,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CACZ,MAAM,yBAAyB,CAAC;YAC9B,SAAS;YACT,KAAK;YACL,MAAM;YACN,WAAW;YACX,kBAAkB;YAClB,SAAS;YACT,WAAW;YACX,WAAW;YACX,eAAe;YACf,oBAAoB;YACpB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,WAAW;YACX,IAAI,EAAE,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;SACnE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAClD,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,SAAS;QACT,SAAS;QACT,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA2B;IAC7D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,yCAAyC,MAAM,CAAC,SAAS,GAAG,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;QAClC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnD,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KACrE,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,sBAAsB,MAAM,CAAC,SAAS,EAAE;QACxC,EAAE;QACF,KAAK,CAAC;YACJ,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;YACrE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACnB,GAAG,CAAC,WAAW;gBACf,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,GAAG;gBACP,GAAG,CAAC,MAAM;gBACV,GAAG,CAAC,QAAQ;aACb,CAAC;SACH,CAAC;QACF,EAAE;QACF,GAAG,IAAI;aACJ,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;aAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,EAAE;QACF,YAAY,MAAM,CAAC,OAAO,CAAC,KAAK,iBAAiB,MAAM,CAAC,OAAO,CAAC,mBAAmB,0BAA0B,MAAM,CAAC,OAAO,CAAC,UAAU,iBAAiB,MAAM,CAAC,OAAO,CAAC,aAAa,oBAAoB,MAAM,CAAC,OAAO,CAAC,eAAe,qBAAqB;KAC3P;SACE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,SAAiB,EACjB,WAA4C;IAE5C,MAAM,YAAY,GAAG,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACpD,SAAS,EACT,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,8BAA8B,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,SAAiB,EACjB,KAAoC;IAEpC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC/B,CACE,IAAI,EAGJ,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CACjC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,MAAM,uBAAuB,CACnD,SAAS,EACT,KAAK,EACL,MAAM,EACN,IAAI,GAAG,EAAE,CACV,CAAC;IAEF,OAAO,IAAI,GAAG,CACZ,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW;QAChB,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;KACzD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,SAAiB,EACjB,WAAmB;IAEnB,KAAK,MAAM,SAAS,IAAI,6BAA6B,CACnD,SAAS,EACT,WAAW,CACZ,EAAE,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAEvC,SAAS,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,WAAmB,EACnB,QAAiC;IAEjC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAE3C,OAAO;QACL,WAAW;QACX,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,WAAW;QAChD,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE;QAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,IAAI,EAAE;QAC/D,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,EAAE;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,oBAAoB,EAAE,gCAAgC,CAAC,YAAY,CAAC;QACpE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI;YAChD,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,EAAE;YAC9D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,oBAAoB,EAAE,gCAAgC,CACpD,OAAO,CAAC,YAAY,CACrB;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,YAEa;IAEb,OAAO,CACL,YAAY,EAAE,QAAQ;QACtB,CAAC,YAAY,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA8C,EAC9C,eAAkC;IAElC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACjC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAA8C;IAE9C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3E,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,WAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAChD,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,CACZ,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAOD,KAAK,UAAU,4BAA4B,CACzC,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,WAAgC;IAEhC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC;oBACX,cAAc,EAAE,8BAA8B,CAC5C,CAAC,KAAK,CAAC,MAAM,CAAC,EACd,cAAc,CACf;oBACD,MAAM,EAAE,cAAc,CACpB,IAAI,EACJ,cAAc,EACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,8BAA8B,CACrC,OAAiB,EACjB,MAAc;IAEd,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEf,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,MAAc,EACd,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,cAAc,CAAC;IAClC,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,IAAY;IAEZ,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAoD;IAEpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAA4C;IAE5C,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;QAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,IAAI,EAAE,CAAC;QAClD,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,IAAI,EAAE,CAAC;KACpD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAAe,EACf,MAA6B;IAE7B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,IAAI,KAAK,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,WAA8B,EAC9B,MAAc,EACd,WAAgC;IAEhC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,SAAiB,EACjB,KAAe,EACf,MAA6B,EAC7B,kBAA0B,EAC1B,SAAiB,EACjB,SAAiB,EACjB,WAAgC;IAEhC,OAAO,mBAAmB,CAAC;QACzB,SAAS;QACT,KAAK;QACL,MAAM;QACN,kBAAkB;QAClB,SAAS;QACT,SAAS;QACT,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AAE7E,KAAK,UAAU,mBAAmB,CAChC,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,IACE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;YAC7C,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBACrB,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EACvD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,OAAmC;IAEnC,OAAO;QACL,GAAG,+BAA+B,CAChC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,CAClB;QACD,GAAG,CAAC,MAAM,mCAAmC,CAC3C,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;QACF,GAAG,CAAC,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB,EACjB,KAAe,EACf,kBAA0B,EAC1B,SAAiB;IAEjB,MAAM,YAAY,GAAG,GAAG,SAAS,GAAG,CAAC;IAErC,OAAO,KAAK;SACT,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACvB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,MAAM,CAAC,CAAC,CAClD;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QACxD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,SAAiB,EACjB,MAA6B;IAE7B,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,OAAmC;IAEnC,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,kCAAkC,CACnD,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,CAClB,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC;gBAAE,SAAS;YACxD,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,MAAM,2BAA2B,CACnC,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,IAAI,CACL,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAe,EACf,MAA6B,EAC7B,kBAA0B,EAC1B,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,oBAAoB;QACpB,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC;KACtC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACvB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,MAAM,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,EACnC,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,SAAiB,EACjB,MAAc,EACd,YAAqB;IAErB,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,6BAA6B,CAClC,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IAED,OAAO,sCAAsC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,SAAiB,EACjB,KAAa;IAEb,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CACnE,MAAM,EACN,EAAE,CACH,CAAC;IACF,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnE,OAAO,kCAAkC,CACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,SAAiB,EACjB,SAAiB;IAEjB,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,SAAS,EACT,cAAc,EACd,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CACjC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,kCAAkC,CAC1D,UAAU,EACV,SAAS,CACV,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAE/C,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAKvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,MAAM,kCAAkC,CAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EACpD,SAAS,CACV,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI;YACvB,WAAW,CAAC,KAAK;YACjB,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,IAAI;SACjB,EAAE,CAAC;YACF,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,eAAe,GAAG,MAAM,kCAAkC,CAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EACjC,SAAS,CACV,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,eAAe,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,YAAoB,EACpB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,KAAK,UAAU,KAAK,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,UAAU,EACzB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;iBAAM,IACL,KAAK,CAAC,MAAM,EAAE;gBACd,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC1C,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAC3C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,YAAoB;IAEpB,MAAM,UAAU,GAAG;QACjB,YAAY;QACZ,GAAG,YAAY,KAAK;QACpB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,KAAK;QACpB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,GAAG,YAAY,MAAM;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,SAAiB,EACjB,IAAwB,EACxB,WAAgC;IAEhC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAAiB,EACjB,YAAoB;IAEpB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3E,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAiB;IAEjB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,OAAO;YACL,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAqB,EACrB,OAAe;IAEf,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CACjC,+DAA+D,CAChE,EAAE,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACpE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,OAAO,iDAAiD,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,6BAA6B,CACpC,OAA0B,EAC1B,MAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,yCAAyC,CAChD,YAA4C,EAC5C,MAA6B;IAE7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACtC,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,UAA6B,EAC7B,MAA6B;IAE7B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAClC,+BAA+B,CAAC,SAAS,EAAE,MAAM,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB,EACjB,MAA6B;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAClD,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CACW,EAAE,CAAC;QAClD,IAAI,SAAS,KAAK,gBAAgB;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,SAAiB,EACjB,WAA4C;IAE5C,MAAM,KAAK,GAAG,CAAC,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAChC,WAAW;QACX,WAAW,EACT,CAAC,MAAM,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjE,SAAS;KACZ,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,UAAU;SACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAC/B,WAAW,IAAI,2BAA2B,CAAC,WAAW,CAAC,CAC1D;SACA,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAmB;IACtD,OAAO,CACL,WAAW,KAAK,mBAAmB;QACnC,WAAW,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC5C,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,SAAiB,EACjB,WAAmB;IAEnB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CACP,SAAS,EACT,cAAc,EACd,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EACzB,cAAc,CACf;KACF,CAAC;IAEF,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,UAAU,EACV,UAAU,EACV,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EACrC,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAI,IAAY;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA2B,CAAC,IAAI,KAAK,QAAQ,EAC9C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAcxC;IACC,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ;QAC5C,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClD,oBAAoB,CAAC;QACnB,GAAG,OAAO;QACV,OAAO;QACP,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC/C,CAAC,CACH,CACF,CAAC;IAEF,MAAM,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,aAAa,CAAC;QACtD,CAAC,CAAC,MAAM,2BAA2B,CAAC;YAChC,QAAQ,EAAE,6BAA6B,CACrC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAC9B,OAAO,CAAC,MAAM,CACf;YACD,YAAY,EAAE,yCAAyC,CACrD,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,EAC1C,OAAO,CAAC,MAAM,CACf;YACD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,yBAAyB,CACvB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,MAAM,EACN,OAAO,CAAC,WAAW,CACpB;SACJ,CAAC,CAAC;IAET,MAAM,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACzD,CAAC,CAAC,MAAM,gBAAgB,CACpB,gCAAgC,CAC9B,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EACjC,OAAO,CAAC,MAAM,CACf,EACD,CAAC,SAAS,EAAE,EAAE,CACZ,2BAA2B,CACzB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,WAAW,CACpB,CACJ,CAAC;IAER,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACnE,CAAC,CAAC,iBAAiB,CACf,OAAO,CAAC,IAAI,CAAC,MAAM,EACnB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EACjC,OAAO,CAAC,eAAe,CACxB,CAAC;IACR,MAAM,QAAQ,GAAG,aAAa,CAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAC3B,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,cAAc,EAAE,OAAO;QACvB,YAAY;QACZ,WAAW;QACX,cAAc;QACd,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAEtB,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACrC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACrC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACtD,OAAO,CAAC,IAAI,CAAC,WAAW,CACzB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC;YACjE,MAAM,EAAE,EAAE;SACX;QACD,YAAY;QACZ,mBAAmB,EACjB,YAAY,KAAK,YAAY;YAC3B,CAAC,CAAC,4BAA4B,CAC1B,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAC7B;YACH,CAAC,CAAC,EAAE;QACR,WAAW;QACX,cAAc;QACd,QAAQ;QACR,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC5C,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAWnC;IACC,MAAM,WAAW,GAAG,6BAA6B,CAC/C,OAAO,CAAC,OAAO,CAAC,WAAW,EAC3B,OAAO,CAAC,MAAM,CACf,CAAC;IACF,MAAM,uBAAuB,GAAG,yCAAyC,CACvE,OAAO,CAAC,OAAO,CAAC,uBAAuB,EACvC,OAAO,CAAC,MAAM,CACf,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;YACxC,YAAY,EAAE,UAAU;YACxB,WAAW,EACT,uBAAuB,CAAC,MAAM,GAAG,CAAC;gBAChC,CAAC,CAAC,8BAA8B,CAAC,uBAAuB,CAAC;gBACzD,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACtC,cAAc,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;QACxC,YAAY,EAAE,iBAAiB,CAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,EACtB,OAAO,CAAC,OAAO,CAAC,oBAAoB,EACpC,OAAO,CAAC,eAAe,CACxB;QACD,WAAW,EAAE,MAAM,2BAA2B,CAAC;YAC7C,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,uBAAuB;YACrC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,yBAAyB,CACvB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,MAAM,EACN,OAAO,CAAC,WAAW,CACpB;SACJ,CAAC;QACF,cAAc,EAAE,MAAM,gBAAgB,CACpC,gCAAgC,CAC9B,OAAO,CAAC,OAAO,CAAC,cAAc,EAC9B,OAAO,CAAC,MAAM,CACf,EACD,CAAC,SAAS,EAAE,EAAE,CACZ,2BAA2B,CACzB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,WAAW,CACpB,CACJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,WAA4C;IAE5C,OAAO;QACL,WAAW;QACX,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7D,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,YAAY,EAAE,cAAc;QAC5B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,gBAAgB,EAAE;QAC/B,cAAc,EAAE,gBAAgB,EAAE;QAClC,QAAQ,EAAE,aAAa,EAAE;QACzB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,2BAA2B,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,WAA4C,EAC5C,MAAc,EACd,MAAoD;IAEpD,OAAO;QACL,WAAW;QACX,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7D,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,MAAM;YACN,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;SACpB;QACD,YAAY,EAAE,cAAc;QAC5B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,gBAAgB,EAAE;QAC/B,cAAc,EAAE,gBAAgB,EAAE;QAClC,QAAQ,EAAE,aAAa,EAAE;QACzB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,qBAAqB,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAyB,EACzB,QAAwC,EACxC,eAAkC;IAElC,IACE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACvD,EACD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACnD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,4BAA4B,CACnC,MAAyB,EACzB,OAA2C;IAE3C,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC1D,CACF;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,OAAO,CAAC,SAAS,CACf,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC9B,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC9B,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CACrC,KAAK,KAAK,CACd,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA8C,EAC9C,gBAAsD;IAEtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IACrD,MAAM,QAAQ,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACnD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAA2B,EAC3B,MAAiD;IAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAErD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC;YAAE,SAAS;QACxC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,OAI1C;IACC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,mBAAmB,GAAe,EAAE,CAAC;IAC3C,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACtC,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,SAAS;YAChD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC1D,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAA2B;IAE3B,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,YAA4C;IAE5C,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAyC,EACzC,GAAqC;IAErC,MAAM,MAAM,GAAG,QAAQ;SACpB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC1D,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC1D,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CACzD,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,EAAE,CAAC;IAErD,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAC5C,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,WAAW,CAAC,YAAY,KAAK,SAAS;QACtC,WAAW,CAAC,iBAAiB,KAAK,SAAS,CAC9C,CAAC;IACF,MAAM,iBAAiB,GAAG,0BAA0B;QAClD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;YAC1C,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC7C,IACE,WAAW,CAAC,MAAM,KAAK,SAAS;gBAChC,WAAW,CAAC,MAAM,KAAK,SAAS,EAChC,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO;gBACL;oBACE,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,YAAY,EAAE,CACZ,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CACnD,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;iBAClC;aACF,CAAC;QACJ,CAAC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ;QACR,OAAO;QACP,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,EAAE,EAAE;YAC5D,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE;gBACvB,CAAC,CAAC,EAAE,CAAC;KACV,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAAmD,EACnD,WAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,EAAE,CAAC;IAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CACjD,CAAC;IACF,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAM3B;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CAAC,iBAAiB;YACjC,CAAC,CAAC,qCAAqC,kCAAkC,CACrE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CACpC,EAAE;YACL,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY;gBAC9B,CAAC,CAAC,4BAA4B,6BAA6B,CACvD,KAAK,CAAC,WAAW,CAAC,YAAY,CAC/B,EAAE;gBACL,CAAC,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,sBAAsB,KAAK,CAAC,QAAQ,CAAC,OAAO;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAwC;IACtE,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,aAAa,EAAE,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CACnD,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;QACR,UAAU,EAAE,SAAS,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,CACrD,CAAC,MAAM;QACR,mBAAmB,EAAE,SAAS,CAAC,MAAM,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAClD,CAAC,MAAM;QACR,UAAU,EAAE,SAAS,CAAC,MAAM,CAC1B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CACxD,CAAC,MAAM;QACR,aAAa,EAAE,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,CAC3D,CAAC,MAAM;QACR,eAAe,EAAE,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACrD,CAAC,MAAM;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,KAAe;IAEf,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtD,OAAO,IAAI,CAAC,KAAK,CACf,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,sBAAsB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,kBAAkB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,KAAK,CAAC,WAAmB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,UAAU;gBACzB,KAAK,CAAC,IAAI,KAAK,MAAM,EACrB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,SAAiB,EACjB,IAAY,EACZ,WAAgC;IAEhC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAClE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,MAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc;IAEd,MAAM,WAAW,GAAG;QAClB,GAAG,MAAM,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACxE,GAAG,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KACxD,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;KACtD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc;IAEd,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAgC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAkC,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE/B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,WAAW,GAAG,KAAK,CAAC;gBACpB,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,YAAY,GAAG,KAAK,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,OAAO,IAAI,IAAI,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,YAAY,GAAG,IAAI,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,CAAC;YACb,YAAY,KAAK,KAAK,CAAC;YACvB,OAAO,IAAI,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,SAAS,CAAC;YACzB,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,MAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAC/B,MAAM,EAAE,KAAK,GAAG,WAAW;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAE7D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,MAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,aAAa,CACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CACtC,CAAC;IAEF,OAAO,CACL,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC;QAChC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,UAAU;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,iBAAiB,GAAG,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,SAAiB;IAC3D,OAAO,IAAI,MAAM,CACf,uCAAuC,YAAY,CAAC,SAAS,CAAC,KAAK,EACnE,GAAG,CACJ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc,EAAE,SAAiB;IAClE,OAAO,CACL,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7C,yCAAyC,CAAC,MAAM,EAAE,SAAS,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAc,EACd,SAAiB;IAEjB,MAAM,eAAe,GAAG,SAAS,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjE,MAAM,mBAAmB,GAAG;QAC1B,mDAAmD,eAAe,EAAE;QACpE,uCAAuC,eAAe,EAAE;QACxD,sBAAsB,eAAe,EAAE;KACxC,CAAC;IAEF,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,yCAAyC,CAChD,MAAc,EACd,SAAiB;IAEjB,MAAM,UAAU,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,OAAO,IAAI,MAAM,CACf,qCAAqC,YAAY,CAC/C,UAAU,CACX,wGAAwG,CAC1G,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAiB;IAEjB,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IACjD,IAAI,SAAS,KAAK,qBAAqB;QAAE,OAAO,oBAAoB,CAAC;IACrE,IAAI,SAAS,KAAK,iBAAiB;QAAE,OAAO,gBAAgB,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAqC;IAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACzD,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAClD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CACtC,CAAC,MAAM,CAAC;QACT,OAAO,WAAW,CAAC,MAAM,KAAK,SAAS;YACrC,CAAC,CAAC,GAAG,KAAK,oBAAoB;YAC9B,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,4BAA4B,CAAC;IACtD,CAAC;IACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,uBAAuB,CAAC;IACnE,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC;AAChF,CAAC;AAED,SAAS,eAAe,CAAC,QAA+B;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC3E,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC;AAC1E,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,YAA4C;IAE5C,OAAO,YAAY;SAChB,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACnB,WAAW,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CACnC;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,kCAAkC,CACzC,MAAkE;IAElE,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;SAC7C,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,GAAG,KAAK,CAAC,WAAW,KAAK,6BAA6B,CACpD,KAAK,CAAC,YAAY,CACnB,EAAE,CACN;SACA,IAAI,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;IAEF,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CACb;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgNrD;AAeD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CASrD"}
|
package/dist/templates/agents.js
CHANGED
|
@@ -73,7 +73,8 @@ array anchors are unambiguous. It also syncs missing default Beignet
|
|
|
73
73
|
provider-table exports when \`infra/db/schema/beignet.ts\` is missing or still
|
|
74
74
|
matches \`${cli} db schema sync\` output and the schema index has no custom
|
|
75
75
|
named re-export for that file. Run \`${cli} db generate\` and
|
|
76
|
-
\`${cli} db migrate\` after accepting that source
|
|
76
|
+
\`${cli} db migrate\`, then \`${cli} db status\` after accepting that source
|
|
77
|
+
repair. Custom or ambiguous
|
|
77
78
|
code stays diagnostic-only.
|
|
78
79
|
|
|
79
80
|
## Prefer generators
|
|
@@ -83,10 +84,12 @@ files — prefer it over hand-writing them. See \`${cli} make --help\` for the
|
|
|
83
84
|
artifact list. Use \`${cli} make feature <name> --recipe full-slice\` when you
|
|
84
85
|
need a richer reference slice with policy, client helpers, workflow artifacts,
|
|
85
86
|
events, listener registration, jobs, and outbox wiring. After changing the Drizzle schema in
|
|
86
|
-
\`infra/db/schema/\`, run \`${cli} db generate
|
|
87
|
+
\`infra/db/schema/\`, run \`${cli} db generate\`, \`${cli} db migrate\`, then
|
|
88
|
+
\`${cli} db status\`.
|
|
87
89
|
When MCP is available, use \`db_schema_sync\` for Beignet provider table
|
|
88
90
|
re-exports and \`db\` for \`generate\`, \`migrate\`, \`seed\`, or \`reset\`
|
|
89
|
-
instead of falling back to a shell. Use \`
|
|
91
|
+
instead of falling back to a shell. Use the read-only \`db_status\` tool before
|
|
92
|
+
deploying. Use \`task_run\`, \`schedule_run\`,
|
|
90
93
|
\`outbox_inspect\`, and \`outbox_run\` for registered operational workflows
|
|
91
94
|
and outbox recovery.
|
|
92
95
|
|
|
@@ -169,7 +172,7 @@ skill-loading block.
|
|
|
169
172
|
\`.mcp.json\` registers the app-local \`@beignet/cli\` bin at
|
|
170
173
|
\`./node_modules/.bin/beignet mcp\`, which exposes app context, validation,
|
|
171
174
|
generation, and operations as structured tools named exactly: \`app_map\`,
|
|
172
|
-
\`explain\`, \`check\`, \`db\`, \`db_schema_sync\`, \`task_run\`,
|
|
175
|
+
\`explain\`, \`check\`, \`db\`, \`db_status\`, \`db_schema_sync\`, \`task_run\`,
|
|
173
176
|
\`schedule_run\`, \`outbox_inspect\`, \`outbox_run\`, \`routes\`, \`doctor\`,
|
|
174
177
|
\`doctor_fix_plan\`, \`doctor_fix\`, \`lint\`, \`make\`, \`provider_add\`.
|
|
175
178
|
It also publishes \`beignet://app/guidance\` and focused
|
|
@@ -184,11 +187,14 @@ relationships, conventions, findings, and suggested files for any mapped
|
|
|
184
187
|
concept or diagnostic; its kinds match the app map. Use \`check\` after edits
|
|
185
188
|
to run the complete validation loop; it returns the same versioned result as
|
|
186
189
|
\`${cli} check --json\`, bounds failure output, and cancels the active package
|
|
187
|
-
script when the MCP request is cancelled.
|
|
188
|
-
|
|
190
|
+
script when the MCP request is cancelled. Pass \`preflightConnect: true\` to
|
|
191
|
+
include migration status and dependency health checks; \`connectTimeoutMs\`
|
|
192
|
+
sets their per-check timeout. It does not apply Beignet fixes, but app-owned
|
|
193
|
+
scripts retain their normal side effects. Use \`db_schema_sync\` to
|
|
189
194
|
preview or apply idempotent provider-table schema re-exports, then call \`db\`
|
|
190
195
|
with \`generate\` and \`migrate\`; database output is bounded, commands time
|
|
191
|
-
out, and cancellation stops the active process tree.
|
|
196
|
+
out, and cancellation stops the active process tree. Use \`db_status\` for a
|
|
197
|
+
read-only current, pending, or failed migration report. Treat \`seed\` and
|
|
192
198
|
especially \`reset\` as app-owned mutations. Lifecycle \`dryRun\` validates
|
|
193
199
|
and reports the script without executing it; it does not simulate SQL or data
|
|
194
200
|
changes. Use \`task_run\` and \`schedule_run\` for registered operational
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAoB;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,MAAM,GACV,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,aAAa,CAAC;IACzC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,gBAAgB,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yQAAyQ;YACzQ,6TAA6T;YAC7T,+SAA+S,CAAC;IACpT,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG;QAC5B,CAAC,CAAC,uOAAuO;QACzO,CAAC,CAAC,wSAAwS,CAAC;IAE7S,OAAO,KAAK,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA4Ba,GAAG,oBAAoB,GAAG;IACzD,GAAG,uBAAuB,GAAG,uBAAuB,GAAG;IACvD,GAAG,uBAAuB,GAAG;;;;;IAK7B,GAAG;SACE,GAAG;IACR,GAAG;sCAC+B,GAAG;;;;;YAK7B,GAAG;uCACwB,GAAG;IACtC,GAAG
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/templates/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAoB;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,WAAW,CAAC;IACvC,MAAM,MAAM,GACV,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,aAAa,CAAC;IACzC,MAAM,SAAS,GACb,GAAG,CAAC,cAAc,KAAK,KAAK;QAC1B,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,gBAAgB,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,yQAAyQ;YACzQ,6TAA6T;YAC7T,+SAA+S,CAAC;IACpT,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG;QAC5B,CAAC,CAAC,uOAAuO;QACzO,CAAC,CAAC,wSAAwS,CAAC;IAE7S,OAAO,KAAK,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA4Ba,GAAG,oBAAoB,GAAG;IACzD,GAAG,uBAAuB,GAAG,uBAAuB,GAAG;IACvD,GAAG,uBAAuB,GAAG;;;;;IAK7B,GAAG;SACE,GAAG;IACR,GAAG;sCAC+B,GAAG;;;;;YAK7B,GAAG;uCACwB,GAAG;IACtC,GAAG,yBAAyB,GAAG;;;;;;IAM/B,GAAG;kDAC2C,GAAG;uBAC9B,GAAG;;;8BAGI,GAAG,qBAAqB,GAAG;IACrD,GAAG;;;;;;;;;;;;;;eAcQ,mBAAmB;;;;;;;;;;;;;;;;;EAiBhC,GAAG;;;YAGO,GAAG;IACX,GAAG;;gDAEyC,MAAM;yCACb,IAAI,SAAS,GAAG;IACrD,GAAG,yBAAyB,IAAI,SAAS,SAAS;;;0CAGZ,GAAG;OACtC,GAAG;;;;;;;;;;;;;EAaR,MAAM;EACN,MAAM;;;kEAG0D,cAAc;QACxE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCV,GAAG;;;;;;;;;;;;;;;;;;;;sBAoBe,GAAG;CACxB,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,6BAA6B,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,kCAAkC,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,kCAAkC,CAAC;QAC5C;YACE,OAAO,8BAA8B,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAqB;IAC3C,OAAO,IAAI,CAAC;QACV,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,CAAC,KAAK,CAAC;aACd;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/templates/base.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare function readme(ctx: TemplateContext): string;
|
|
|
4
4
|
export declare function providersDoc(ctx: TemplateContext): string;
|
|
5
5
|
export declare function envExample(ctx: TemplateContext): string;
|
|
6
6
|
declare const files: {
|
|
7
|
+
gitattributes: string;
|
|
7
8
|
gitignore: string;
|
|
8
9
|
nextEnv: string;
|
|
9
10
|
nextConfig: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/templates/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA2GxD;AA2BD,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAoOnD;AAeD,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAoDzD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgFvD;AAED,QAAA,MAAM,KAAK;;;;;;;CAuFV,CAAC;AAEF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
|