@promptframe/cli 0.1.39 → 0.1.41
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/README.md +1 -1
- package/dist/index.js +350 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ PromptFrame component authoring CLI.
|
|
|
4
4
|
|
|
5
5
|
Use it to inspect the public component standard, check component folders, validate manifests, inspect the local preview envelope, package source archives, upload components, check build status, rebuild evidence indexes, and rerun layout/security probes.
|
|
6
6
|
|
|
7
|
-
Current npm registry baseline is `@promptframe/cli@0.1.
|
|
7
|
+
Current npm registry baseline is `@promptframe/cli@0.1.41`, `@promptframe/contracts@0.1.14`, `@promptframe/component-kit@0.1.11`, and `create-promptframe-component@0.1.30`. The published CLI consumes the contracts AST-aware public security policy evaluator, reports `securityPolicyDigest` / `securityEvaluatorMode` in JSON output, rejects red-team browser capability vectors such as Image/Audio beacons, Worker/SharedWorker, `window.open`, `postMessage`, dynamic script/iframe creation, browser fingerprinting, storage/cookie access, and dangerous HTML, reports `publicResources` for component-level public assets, keeps native `<img>` / `<video>` source checks case-sensitive so Remotion `<Img>` / `<Video>` remain valid, validates preview props against statically declared `propsSchema` fields, supports endpoint discovery, project list/current diagnostics, self-service CI token create/list/revoke, single-component and workspace GitHub workflow setup with `promptframe-workflow-version: 2`, `setup-ci --upgrade` stale-template repair, dynamic workspace matrix discovery, `RUNNER_LABELS` and pnpm 10 workflow support, pnpm workspace root lockfile evidence without component symlinks, `promptframe-workspace.json` validation, workspace root `check .` / `upload .` auto-detection, explicit `workspace:*` shared-package diagnostics, workspace upload source metadata headers, packages sanitized lockfile evidence for platform admission, release notes forwarding to upload, and supports `status --fail-on-build-failed` for CI build-status gating.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npm install -D @promptframe/cli
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ const SECURITY_EVALUATOR_MODE = 'ast';
|
|
|
20
20
|
const LOCKFILE_EVIDENCE_SCHEMA_VERSION = 'promptframe.lockfile-evidence.v0.1.0';
|
|
21
21
|
const LOCKFILE_EVIDENCE_FILE_NAME = 'promptframe-lockfile-evidence.json';
|
|
22
22
|
const PROMPTFRAME_WORKSPACE_SCHEMA_VERSION = 'promptframe-workspace.v0.1.0';
|
|
23
|
+
const PROMPTFRAME_WORKFLOW_VERSION = 2;
|
|
23
24
|
const PROMPTFRAME_PROJECT_CONTEXT_SCHEMA_VERSION = 'promptframe-project-context.v0.1.0';
|
|
24
25
|
const PROMPTFRAME_PROJECT_CONTEXT_FILE_NAME = '.promptframerc';
|
|
25
26
|
const PROJECT_CONTEXT_FORBIDDEN_KEY_NAMES = new Set([
|
|
@@ -249,7 +250,10 @@ async function checkWorkspace(argv, root) {
|
|
|
249
250
|
path: report.path,
|
|
250
251
|
...buildCheckOutput(workspaceComponentInput(report), target, freshness),
|
|
251
252
|
}));
|
|
252
|
-
const diagnostics =
|
|
253
|
+
const diagnostics = [
|
|
254
|
+
...workflowTemplateDiagnostics(workflowPathForMode(root, true), true, root),
|
|
255
|
+
...components.flatMap((component) => component.diagnostics),
|
|
256
|
+
];
|
|
253
257
|
const output = {
|
|
254
258
|
command: 'check',
|
|
255
259
|
workspace: true,
|
|
@@ -287,6 +291,7 @@ function buildCheckOutput(input, target, freshness) {
|
|
|
287
291
|
...securityPolicyWarningDiagnostics(dir),
|
|
288
292
|
...dependencyPolicy.diagnostics,
|
|
289
293
|
...publicResources.diagnostics,
|
|
294
|
+
...workflowTemplateDiagnosticsForInput(input),
|
|
290
295
|
];
|
|
291
296
|
const output = {
|
|
292
297
|
command: 'check',
|
|
@@ -603,6 +608,7 @@ function prepareComponentUpload(input, uploadTarget, outArg) {
|
|
|
603
608
|
}
|
|
604
609
|
async function uploadPreparedComponent(input, argv, endpoint, uploadTarget, prepared) {
|
|
605
610
|
const { artifact, localReusability, diagnostics } = prepared;
|
|
611
|
+
const versionNotes = resolveVersionNotes(argv);
|
|
606
612
|
const file = readFileSync(artifact.out);
|
|
607
613
|
const form = new FormData();
|
|
608
614
|
form.set('file', new Blob([new Uint8Array(file)], { type: 'application/zip' }), basename(artifact.out));
|
|
@@ -613,6 +619,7 @@ async function uploadPreparedComponent(input, argv, endpoint, uploadTarget, prep
|
|
|
613
619
|
...buildRemoteHeaders(endpoint, argv),
|
|
614
620
|
...buildSecurityPolicyHeaders(),
|
|
615
621
|
...buildSourceMetadataHeaders(input.source),
|
|
622
|
+
...buildVersionNotesHeaders(versionNotes),
|
|
616
623
|
'x-promptframe-upload-target': uploadTarget,
|
|
617
624
|
},
|
|
618
625
|
}, 'upload.http.failed');
|
|
@@ -623,6 +630,7 @@ async function uploadPreparedComponent(input, argv, endpoint, uploadTarget, prep
|
|
|
623
630
|
endpoint,
|
|
624
631
|
uploadTarget,
|
|
625
632
|
jobId: getBuildId(payload),
|
|
633
|
+
...(versionNotes ? { versionNotes } : {}),
|
|
626
634
|
package: artifact,
|
|
627
635
|
source: input.source,
|
|
628
636
|
...(localReusability ? { localReusability, diagnostics } : {}),
|
|
@@ -775,10 +783,12 @@ function workspace(argv) {
|
|
|
775
783
|
function workspaceValidate(argv) {
|
|
776
784
|
const root = resolve(componentPathArg(argv) ?? '.');
|
|
777
785
|
const reports = collectWorkspaceComponentReports(root);
|
|
786
|
+
const diagnostics = workflowTemplateDiagnostics(workflowPathForMode(root, true), true, root);
|
|
778
787
|
const output = {
|
|
779
788
|
command: 'workspace.validate',
|
|
780
789
|
workspace: workspaceSummary(root),
|
|
781
790
|
components: reports.map(workspaceReportForOutput),
|
|
791
|
+
diagnostics,
|
|
782
792
|
diagnostic: diagnostic('workspace.validate.completed', 'info', 'PromptFrame workspace configuration is valid.'),
|
|
783
793
|
};
|
|
784
794
|
if (hasFlag(argv, '--json')) {
|
|
@@ -913,12 +923,14 @@ function collectWorkspaceComponentReports(root) {
|
|
|
913
923
|
if (workspace.components.length === 0) {
|
|
914
924
|
fail('PromptFrame workspace config does not list any components.', 'workspace.components.empty', 2);
|
|
915
925
|
}
|
|
926
|
+
const sharedPackages = collectWorkspaceSharedPackages(root);
|
|
916
927
|
return workspace.components.map((component) => {
|
|
917
928
|
const absolutePath = resolve(root, component.path);
|
|
918
929
|
assertWorkspacePathInsideRoot(root, absolutePath, component.path);
|
|
919
930
|
if (!existsSync(absolutePath)) {
|
|
920
931
|
fail(`PromptFrame workspace component path does not exist: ${component.path}`, 'workspace.component.path_missing', 2);
|
|
921
932
|
}
|
|
933
|
+
assertWorkspaceSharedPackageDependencies(component, absolutePath, sharedPackages);
|
|
922
934
|
const manifest = validateComponentDirectory(absolutePath);
|
|
923
935
|
if (manifest.id !== component.id) {
|
|
924
936
|
fail(`PromptFrame workspace component ${component.id} points to ${component.path}, but manifest.json declares ${manifest.id}. Keep promptframe-workspace.json and manifest.json ids identical.`, 'workspace.component.manifest_id_mismatch');
|
|
@@ -1034,6 +1046,155 @@ function assertWorkspacePathInsideRoot(root, absolutePath, displayPath) {
|
|
|
1034
1046
|
fail(`PromptFrame workspace component path must stay inside the workspace root: ${displayPath}`, 'workspace.component.path_unsafe', 2);
|
|
1035
1047
|
}
|
|
1036
1048
|
}
|
|
1049
|
+
function collectWorkspaceSharedPackages(root) {
|
|
1050
|
+
const packages = new Map();
|
|
1051
|
+
for (const candidateDir of workspacePackageCandidateDirs(root)) {
|
|
1052
|
+
const packagePath = join(candidateDir, 'package.json');
|
|
1053
|
+
if (!existsSync(packagePath))
|
|
1054
|
+
continue;
|
|
1055
|
+
let packageJson;
|
|
1056
|
+
try {
|
|
1057
|
+
packageJson = JSON.parse(readFileSync(packagePath, 'utf8'));
|
|
1058
|
+
}
|
|
1059
|
+
catch {
|
|
1060
|
+
fail(`工作区共享包 package.json 必须是合法 JSON: ${relative(root, packagePath).replace(/\\/g, '/')}`, 'workspace.shared_package.package_json_invalid', 2);
|
|
1061
|
+
}
|
|
1062
|
+
const name = typeof packageJson.name === 'string' ? packageJson.name : undefined;
|
|
1063
|
+
if (!name)
|
|
1064
|
+
continue;
|
|
1065
|
+
packages.set(name, {
|
|
1066
|
+
name,
|
|
1067
|
+
path: relative(root, candidateDir).replace(/\\/g, '/'),
|
|
1068
|
+
absolutePath: candidateDir,
|
|
1069
|
+
packageJson,
|
|
1070
|
+
});
|
|
1071
|
+
}
|
|
1072
|
+
return packages;
|
|
1073
|
+
}
|
|
1074
|
+
function workspacePackageCandidateDirs(root) {
|
|
1075
|
+
const globs = new Set(['packages/*']);
|
|
1076
|
+
for (const pattern of readPnpmWorkspacePatterns(root))
|
|
1077
|
+
globs.add(pattern);
|
|
1078
|
+
for (const pattern of readPackageWorkspacePatterns(root))
|
|
1079
|
+
globs.add(pattern);
|
|
1080
|
+
const candidates = new Set();
|
|
1081
|
+
for (const pattern of globs) {
|
|
1082
|
+
if (pattern.startsWith('!'))
|
|
1083
|
+
continue;
|
|
1084
|
+
const normalized = normalizeWorkspaceGlobPattern(pattern);
|
|
1085
|
+
if (!normalized)
|
|
1086
|
+
continue;
|
|
1087
|
+
const base = join(root, normalized.base);
|
|
1088
|
+
if (!existsSync(base))
|
|
1089
|
+
continue;
|
|
1090
|
+
for (const entry of readdirSync(base, { withFileTypes: true })) {
|
|
1091
|
+
if (!entry.isDirectory())
|
|
1092
|
+
continue;
|
|
1093
|
+
candidates.add(join(base, entry.name));
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
return [...candidates].sort((left, right) => left.localeCompare(right));
|
|
1097
|
+
}
|
|
1098
|
+
function normalizeWorkspaceGlobPattern(pattern) {
|
|
1099
|
+
const cleaned = pattern.trim().replace(/^['"]|['"]$/g, '').replace(/\\/g, '/').replace(/^\.\/+/, '');
|
|
1100
|
+
if (!cleaned || cleaned.includes('..') || cleaned.startsWith('/'))
|
|
1101
|
+
return undefined;
|
|
1102
|
+
const match = cleaned.match(/^([A-Za-z0-9._~!$&'()+,;=@/-]+)\/\*$/);
|
|
1103
|
+
if (!match)
|
|
1104
|
+
return undefined;
|
|
1105
|
+
return { base: match[1] };
|
|
1106
|
+
}
|
|
1107
|
+
function readPnpmWorkspacePatterns(root) {
|
|
1108
|
+
const path = join(root, 'pnpm-workspace.yaml');
|
|
1109
|
+
if (!existsSync(path))
|
|
1110
|
+
return [];
|
|
1111
|
+
return readFileSync(path, 'utf8')
|
|
1112
|
+
.split(/\r?\n/)
|
|
1113
|
+
.map((line) => line.match(/^\s*-\s*['"]?([^'"]+)['"]?\s*$/)?.[1])
|
|
1114
|
+
.filter((value) => Boolean(value));
|
|
1115
|
+
}
|
|
1116
|
+
function readPackageWorkspacePatterns(root) {
|
|
1117
|
+
const path = join(root, 'package.json');
|
|
1118
|
+
if (!existsSync(path))
|
|
1119
|
+
return [];
|
|
1120
|
+
let packageJson;
|
|
1121
|
+
try {
|
|
1122
|
+
packageJson = JSON.parse(readFileSync(path, 'utf8'));
|
|
1123
|
+
}
|
|
1124
|
+
catch {
|
|
1125
|
+
return [];
|
|
1126
|
+
}
|
|
1127
|
+
const workspaces = packageJson.workspaces;
|
|
1128
|
+
if (Array.isArray(workspaces)) {
|
|
1129
|
+
return workspaces.filter((value) => typeof value === 'string');
|
|
1130
|
+
}
|
|
1131
|
+
const workspaceRecord = asRecord(workspaces);
|
|
1132
|
+
const packages = workspaceRecord ? arrayValue(workspaceRecord.packages) : [];
|
|
1133
|
+
return packages.filter((value) => typeof value === 'string');
|
|
1134
|
+
}
|
|
1135
|
+
function assertWorkspaceSharedPackageDependencies(component, componentDir, sharedPackages) {
|
|
1136
|
+
const packageJson = readPackageManifest(join(componentDir, 'package.json'));
|
|
1137
|
+
for (const dependency of workspaceDependencyRows(packageJson)) {
|
|
1138
|
+
const sharedPackage = sharedPackages.get(dependency.name);
|
|
1139
|
+
if (!sharedPackage) {
|
|
1140
|
+
const expectedPath = `packages/${packageNameSlug(dependency.name)}/package.json`;
|
|
1141
|
+
fail(`共享包 ${dependency.name} 在组件 ${component.id} 中使用 ${dependency.version},但工作区没有找到同名 package.json。请创建 ${expectedPath}(name 必须为 ${dependency.name}),或把共享代码移动到组件 src/,或改用已审查的 registry semver 依赖。`, 'workspace.shared_package.missing');
|
|
1142
|
+
}
|
|
1143
|
+
const cycle = workspaceDependencyCycle(dependency.name, sharedPackages);
|
|
1144
|
+
if (cycle) {
|
|
1145
|
+
fail(`共享包 ${dependency.name} 存在 workspace:* 循环依赖:${cycle.join(' -> ')}。请拆除循环后再上传。`, 'workspace.shared_package.cycle');
|
|
1146
|
+
}
|
|
1147
|
+
fail(`共享包 ${dependency.name} 已解析到 ${sharedPackage.path},但 PromptFrame CLI 暂不支持自动内联 workspace:* 共享包到组件 source zip。请把共享代码生成/复制到组件 src/,或发布为已审查的 registry semver 依赖后再使用。`, 'workspace.shared_package.inline_unsupported');
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
function workspaceDependencyRows(packageJson) {
|
|
1151
|
+
const rows = [];
|
|
1152
|
+
for (const dependencySet of ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']) {
|
|
1153
|
+
const dependencies = stringRecord(packageJson[dependencySet]);
|
|
1154
|
+
for (const [name, version] of Object.entries(dependencies)) {
|
|
1155
|
+
if (version.trim().toLowerCase().startsWith('workspace:')) {
|
|
1156
|
+
rows.push({ name, version, dependencySet });
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
return rows.sort((left, right) => left.name.localeCompare(right.name));
|
|
1161
|
+
}
|
|
1162
|
+
function stringRecord(value) {
|
|
1163
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
1164
|
+
return {};
|
|
1165
|
+
return Object.fromEntries(Object.entries(value).filter((entry) => typeof entry[1] === 'string'));
|
|
1166
|
+
}
|
|
1167
|
+
function workspaceDependencyCycle(startName, sharedPackages) {
|
|
1168
|
+
const visiting = new Set();
|
|
1169
|
+
const visited = new Set();
|
|
1170
|
+
const stack = [];
|
|
1171
|
+
function visit(name) {
|
|
1172
|
+
if (visiting.has(name)) {
|
|
1173
|
+
const startIndex = stack.indexOf(name);
|
|
1174
|
+
return [...stack.slice(startIndex), name];
|
|
1175
|
+
}
|
|
1176
|
+
if (visited.has(name))
|
|
1177
|
+
return undefined;
|
|
1178
|
+
const sharedPackage = sharedPackages.get(name);
|
|
1179
|
+
if (!sharedPackage)
|
|
1180
|
+
return undefined;
|
|
1181
|
+
visiting.add(name);
|
|
1182
|
+
stack.push(name);
|
|
1183
|
+
for (const dependency of workspaceDependencyRows(sharedPackage.packageJson)) {
|
|
1184
|
+
const cycle = visit(dependency.name);
|
|
1185
|
+
if (cycle)
|
|
1186
|
+
return cycle;
|
|
1187
|
+
}
|
|
1188
|
+
stack.pop();
|
|
1189
|
+
visiting.delete(name);
|
|
1190
|
+
visited.add(name);
|
|
1191
|
+
return undefined;
|
|
1192
|
+
}
|
|
1193
|
+
return visit(startName);
|
|
1194
|
+
}
|
|
1195
|
+
function packageNameSlug(name) {
|
|
1196
|
+
return name.replace(/^@/, '').split('/').at(-1)?.replace(/[^A-Za-z0-9._-]+/g, '-') || 'shared-package';
|
|
1197
|
+
}
|
|
1037
1198
|
function buildSourceMetadataHeaders(source) {
|
|
1038
1199
|
if (source.mode !== 'workspace')
|
|
1039
1200
|
return {};
|
|
@@ -1045,6 +1206,24 @@ function buildSourceMetadataHeaders(source) {
|
|
|
1045
1206
|
'x-promptframe-source-manifest-id': source.manifestId,
|
|
1046
1207
|
};
|
|
1047
1208
|
}
|
|
1209
|
+
const VERSION_NOTES_MAX_LENGTH = 1000;
|
|
1210
|
+
function resolveVersionNotes(argv) {
|
|
1211
|
+
return normalizeVersionNotes(valueAfter(argv, '--release-notes')
|
|
1212
|
+
?? valueAfter(argv, '--version-notes')
|
|
1213
|
+
?? process.env.PROMPTFRAME_VERSION_NOTES);
|
|
1214
|
+
}
|
|
1215
|
+
function normalizeVersionNotes(value) {
|
|
1216
|
+
const trimmed = value
|
|
1217
|
+
?.replace(/\r?\n/g, ' ')
|
|
1218
|
+
.replace(/\s+/g, ' ')
|
|
1219
|
+
.trim();
|
|
1220
|
+
if (!trimmed)
|
|
1221
|
+
return undefined;
|
|
1222
|
+
return trimmed.slice(0, VERSION_NOTES_MAX_LENGTH);
|
|
1223
|
+
}
|
|
1224
|
+
function buildVersionNotesHeaders(versionNotes) {
|
|
1225
|
+
return versionNotes ? { 'x-promptframe-version-notes': versionNotes } : {};
|
|
1226
|
+
}
|
|
1048
1227
|
const POSITIONAL_VALUE_FLAGS = new Set([
|
|
1049
1228
|
'--allowed-upload-target',
|
|
1050
1229
|
'--auth-permissions',
|
|
@@ -1070,6 +1249,7 @@ const POSITIONAL_VALUE_FLAGS = new Set([
|
|
|
1070
1249
|
'--project-context',
|
|
1071
1250
|
'--project-namespace',
|
|
1072
1251
|
'--reason',
|
|
1252
|
+
'--release-notes',
|
|
1073
1253
|
'--scope',
|
|
1074
1254
|
'--session-id',
|
|
1075
1255
|
'--target',
|
|
@@ -1078,6 +1258,7 @@ const POSITIONAL_VALUE_FLAGS = new Set([
|
|
|
1078
1258
|
'--token',
|
|
1079
1259
|
'--upload-target',
|
|
1080
1260
|
'--user-id',
|
|
1261
|
+
'--version-notes',
|
|
1081
1262
|
'--workspace-config',
|
|
1082
1263
|
'--workspace-component',
|
|
1083
1264
|
]);
|
|
@@ -1723,13 +1904,55 @@ function setupCi(argv) {
|
|
|
1723
1904
|
}
|
|
1724
1905
|
const targetDir = resolve(setupCiTargetDir(argv));
|
|
1725
1906
|
const workspaceMode = hasFlag(argv, '--workspace');
|
|
1907
|
+
const upgradeMode = hasFlag(argv, '--upgrade');
|
|
1908
|
+
const dryRun = hasFlag(argv, '--dry-run');
|
|
1726
1909
|
const workspaceReports = workspaceMode ? collectWorkspaceComponentReports(targetDir) : [];
|
|
1727
|
-
const workflowPath =
|
|
1910
|
+
const workflowPath = workflowPathForMode(targetDir, workspaceMode);
|
|
1911
|
+
const workflow = workspaceMode ? promptFrameGithubWorkspaceWorkflow(workspaceReports) : promptFrameGithubWorkflow();
|
|
1912
|
+
if (existsSync(workflowPath) && upgradeMode) {
|
|
1913
|
+
const existing = readFileSync(workflowPath, 'utf8');
|
|
1914
|
+
const upgrade = inspectPromptFrameWorkflow(existing, targetDir, workspaceMode);
|
|
1915
|
+
if (!upgrade.managed) {
|
|
1916
|
+
fail(`Existing workflow at ${workflowPath} does not look like a PromptFrame-managed workflow. Use --force only after reviewing it manually.`, 'setup_ci.workflow.unmanaged');
|
|
1917
|
+
}
|
|
1918
|
+
const workflowReport = {
|
|
1919
|
+
...upgrade,
|
|
1920
|
+
...(!dryRun && upgrade.stale ? { previousVersion: upgrade.currentVersion } : {}),
|
|
1921
|
+
};
|
|
1922
|
+
const output = {
|
|
1923
|
+
success: true,
|
|
1924
|
+
command: 'setup-ci',
|
|
1925
|
+
provider,
|
|
1926
|
+
...(workspaceMode ? {
|
|
1927
|
+
workspace: true,
|
|
1928
|
+
components: workspaceReports.map(({ id, path }) => ({ id, path })),
|
|
1929
|
+
} : {}),
|
|
1930
|
+
workflowPath,
|
|
1931
|
+
dryRun,
|
|
1932
|
+
workflow: workflowReport,
|
|
1933
|
+
diagnostic: upgrade.stale
|
|
1934
|
+
? diagnostic(dryRun ? 'setup_ci.workflow.upgrade_available' : 'setup_ci.workflow.upgraded', dryRun ? 'warning' : 'info', upgrade.message)
|
|
1935
|
+
: diagnostic('setup_ci.workflow.current', 'info', 'PromptFrame GitHub Actions workflow is already current.'),
|
|
1936
|
+
};
|
|
1937
|
+
if (upgrade.stale && !dryRun) {
|
|
1938
|
+
mkdirSync(dirname(workflowPath), { recursive: true });
|
|
1939
|
+
writeFileSync(workflowPath, workflow, 'utf8');
|
|
1940
|
+
}
|
|
1941
|
+
if (hasFlag(argv, '--json')) {
|
|
1942
|
+
printJson(output);
|
|
1943
|
+
return;
|
|
1944
|
+
}
|
|
1945
|
+
console.log(upgrade.message);
|
|
1946
|
+
if (upgrade.stale)
|
|
1947
|
+
console.log(`Repair: ${upgrade.repairCommand}`);
|
|
1948
|
+
return;
|
|
1949
|
+
}
|
|
1728
1950
|
if (existsSync(workflowPath) && !hasFlag(argv, '--force')) {
|
|
1729
|
-
fail(`PromptFrame GitHub workflow already exists at ${workflowPath}. Use --force to overwrite.`, 'setup_ci.workflow.exists');
|
|
1951
|
+
fail(`PromptFrame GitHub workflow already exists at ${workflowPath}. Use --upgrade to refresh a PromptFrame-managed workflow or --force to overwrite.`, 'setup_ci.workflow.exists');
|
|
1730
1952
|
}
|
|
1731
1953
|
mkdirSync(dirname(workflowPath), { recursive: true });
|
|
1732
|
-
|
|
1954
|
+
if (!dryRun)
|
|
1955
|
+
writeFileSync(workflowPath, workflow, 'utf8');
|
|
1733
1956
|
const output = {
|
|
1734
1957
|
success: true,
|
|
1735
1958
|
command: 'setup-ci',
|
|
@@ -1742,9 +1965,19 @@ function setupCi(argv) {
|
|
|
1742
1965
|
requiredSecrets: ['PROMPTFRAME_CI_TOKEN'],
|
|
1743
1966
|
requiredVariables: ['PROMPTFRAME_API_BASE'],
|
|
1744
1967
|
...(workspaceMode ? { optionalVariables: ['RUNNER_LABELS'] } : {}),
|
|
1968
|
+
dryRun,
|
|
1969
|
+
workflow: {
|
|
1970
|
+
currentVersion: null,
|
|
1971
|
+
latestVersion: PROMPTFRAME_WORKFLOW_VERSION,
|
|
1972
|
+
stale: false,
|
|
1973
|
+
message: 'PromptFrame GitHub Actions workflow template is current.',
|
|
1974
|
+
repairCommand: setupCiUpgradeCommand(targetDir, workspaceMode),
|
|
1975
|
+
},
|
|
1745
1976
|
pullRequestMode: 'check_only',
|
|
1746
1977
|
pushMode: 'upload',
|
|
1747
|
-
diagnostic: diagnostic('setup_ci.github.completed', 'info',
|
|
1978
|
+
diagnostic: diagnostic(dryRun ? 'setup_ci.github.dry_run' : 'setup_ci.github.completed', 'info', dryRun
|
|
1979
|
+
? 'PromptFrame GitHub Actions workflow dry-run completed.'
|
|
1980
|
+
: 'PromptFrame GitHub Actions workflow written.'),
|
|
1748
1981
|
};
|
|
1749
1982
|
if (hasFlag(argv, '--json')) {
|
|
1750
1983
|
printJson(output);
|
|
@@ -1765,6 +1998,74 @@ function setupCiTargetDir(argv) {
|
|
|
1765
1998
|
}
|
|
1766
1999
|
return '.';
|
|
1767
2000
|
}
|
|
2001
|
+
function workflowPathForMode(root, workspaceMode) {
|
|
2002
|
+
return join(root, '.github', 'workflows', workspaceMode ? 'promptframe-workspace.yml' : 'promptframe-component.yml');
|
|
2003
|
+
}
|
|
2004
|
+
function promptFrameWorkflowHeader(modeFlag) {
|
|
2005
|
+
const command = modeFlag ? `promptframe setup-ci ${modeFlag}` : 'promptframe setup-ci';
|
|
2006
|
+
return `# promptframe-workflow-version: ${PROMPTFRAME_WORKFLOW_VERSION}
|
|
2007
|
+
# Generated by ${command}. Keep this header when editing manually.`;
|
|
2008
|
+
}
|
|
2009
|
+
function setupCiUpgradeCommand(targetDir, workspaceMode) {
|
|
2010
|
+
const displayDir = targetDir || '.';
|
|
2011
|
+
return [
|
|
2012
|
+
'npx promptframe setup-ci',
|
|
2013
|
+
shellQuote(displayDir),
|
|
2014
|
+
'--provider github',
|
|
2015
|
+
workspaceMode ? '--workspace' : '',
|
|
2016
|
+
'--upgrade',
|
|
2017
|
+
].filter(Boolean).join(' ');
|
|
2018
|
+
}
|
|
2019
|
+
function shellQuote(value) {
|
|
2020
|
+
if (/^[A-Za-z0-9_./:@-]+$/.test(value))
|
|
2021
|
+
return value;
|
|
2022
|
+
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
2023
|
+
}
|
|
2024
|
+
function inspectPromptFrameWorkflow(content, targetDir, workspaceMode) {
|
|
2025
|
+
const currentVersion = promptFrameWorkflowVersion(content);
|
|
2026
|
+
const managed = currentVersion !== undefined
|
|
2027
|
+
|| /PromptFrame Component(?: Workspace)?/i.test(content)
|
|
2028
|
+
|| /\bpromptframe\b/i.test(content);
|
|
2029
|
+
const stale = currentVersion === undefined || currentVersion < PROMPTFRAME_WORKFLOW_VERSION;
|
|
2030
|
+
const repairCommand = setupCiUpgradeCommand(targetDir, workspaceMode);
|
|
2031
|
+
const displayVersion = currentVersion === undefined ? 'missing' : String(currentVersion);
|
|
2032
|
+
return {
|
|
2033
|
+
managed,
|
|
2034
|
+
currentVersion: currentVersion ?? null,
|
|
2035
|
+
latestVersion: PROMPTFRAME_WORKFLOW_VERSION,
|
|
2036
|
+
stale,
|
|
2037
|
+
message: stale
|
|
2038
|
+
? `PromptFrame workflow 模板已过期:当前版本 ${displayVersion},最新版本 ${PROMPTFRAME_WORKFLOW_VERSION}。`
|
|
2039
|
+
: `PromptFrame workflow 模板已是最新版本 ${PROMPTFRAME_WORKFLOW_VERSION}。`,
|
|
2040
|
+
repairCommand,
|
|
2041
|
+
};
|
|
2042
|
+
}
|
|
2043
|
+
function promptFrameWorkflowVersion(content) {
|
|
2044
|
+
const match = content.match(/^#\s*promptframe-workflow-version:\s*(\d+)\s*$/m);
|
|
2045
|
+
if (!match)
|
|
2046
|
+
return undefined;
|
|
2047
|
+
const version = Number(match[1]);
|
|
2048
|
+
return Number.isInteger(version) ? version : undefined;
|
|
2049
|
+
}
|
|
2050
|
+
function workflowTemplateDiagnosticsForInput(input) {
|
|
2051
|
+
if (input.source.mode !== 'single_component')
|
|
2052
|
+
return [];
|
|
2053
|
+
return workflowTemplateDiagnostics(workflowPathForMode(input.dir, false), false, input.dir);
|
|
2054
|
+
}
|
|
2055
|
+
function workflowTemplateDiagnostics(workflowPath, workspaceMode, targetDir) {
|
|
2056
|
+
if (!existsSync(workflowPath))
|
|
2057
|
+
return [];
|
|
2058
|
+
const inspection = inspectPromptFrameWorkflow(readFileSync(workflowPath, 'utf8'), targetDir, workspaceMode);
|
|
2059
|
+
if (!inspection.managed || !inspection.stale)
|
|
2060
|
+
return [];
|
|
2061
|
+
return [{
|
|
2062
|
+
code: 'setup_ci.workflow.stale',
|
|
2063
|
+
severity: 'warning',
|
|
2064
|
+
stage: 'validate',
|
|
2065
|
+
message: inspection.message,
|
|
2066
|
+
repairHint: inspection.repairCommand,
|
|
2067
|
+
}];
|
|
2068
|
+
}
|
|
1768
2069
|
function promptFrameGithubWorkspaceWorkflow(_components) {
|
|
1769
2070
|
const apiBaseVariable = '$' + '{{ vars.PROMPTFRAME_API_BASE }}';
|
|
1770
2071
|
const ciTokenSecret = '$' + '{{ secrets.PROMPTFRAME_CI_TOKEN }}';
|
|
@@ -1775,8 +2076,7 @@ function promptFrameGithubWorkspaceWorkflow(_components) {
|
|
|
1775
2076
|
const workspaceMatrixOutput = '$' + '{{ steps.workspace.outputs.matrix }}';
|
|
1776
2077
|
const workspaceCountOutput = '$' + '{{ steps.workspace.outputs.count }}';
|
|
1777
2078
|
const discoverMatrix = '$' + '{{ fromJSON(needs.discover.outputs.matrix) }}';
|
|
1778
|
-
return
|
|
1779
|
-
# Generated by promptframe setup-ci --workspace. Keep this header when editing manually.
|
|
2079
|
+
return `${promptFrameWorkflowHeader('--workspace')}
|
|
1780
2080
|
|
|
1781
2081
|
name: PromptFrame Component Workspace
|
|
1782
2082
|
|
|
@@ -1943,7 +2243,23 @@ jobs:
|
|
|
1943
2243
|
ARTIFACT_NAME: ${matrixArtifactName}
|
|
1944
2244
|
run: |
|
|
1945
2245
|
set -euo pipefail
|
|
1946
|
-
|
|
2246
|
+
PROMPTFRAME_VERSION_NOTES=$(node <<'NODE'
|
|
2247
|
+
const fs = require('node:fs');
|
|
2248
|
+
let notes = process.env.PROMPTFRAME_VERSION_NOTES || '';
|
|
2249
|
+
if (!notes && process.env.GITHUB_EVENT_PATH) {
|
|
2250
|
+
try {
|
|
2251
|
+
const event = JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8'));
|
|
2252
|
+
notes = event.head_commit?.message || event.pull_request?.title || '';
|
|
2253
|
+
} catch {}
|
|
2254
|
+
}
|
|
2255
|
+
notes = String(notes || process.env.GITHUB_REF_NAME || process.env.GITHUB_SHA || 'PromptFrame component upload')
|
|
2256
|
+
.split(/\\r?\\n/)[0]
|
|
2257
|
+
.trim()
|
|
2258
|
+
.slice(0, 1000);
|
|
2259
|
+
process.stdout.write(notes);
|
|
2260
|
+
NODE
|
|
2261
|
+
)
|
|
2262
|
+
npx promptframe upload . --workspace-component "$COMPONENT_ID" --endpoint "$PROMPTFRAME_API_BASE" --release-notes "$PROMPTFRAME_VERSION_NOTES" --json | tee "promptframe-upload-$ARTIFACT_NAME.json"
|
|
1947
2263
|
BUILD_ID=$(node <<'NODE'
|
|
1948
2264
|
const fs = require('node:fs');
|
|
1949
2265
|
const payload = JSON.parse(fs.readFileSync('promptframe-upload-' + process.env.ARTIFACT_NAME + '.json', 'utf8'));
|
|
@@ -1965,6 +2281,7 @@ jobs:
|
|
|
1965
2281
|
const build = status.build || {};
|
|
1966
2282
|
const buildId = payload.jobId || payload.buildId || build.buildId || 'unknown';
|
|
1967
2283
|
const buildStatus = String(build.status || status.status || payload.status || 'queued');
|
|
2284
|
+
const versionNotes = String(payload.versionNotes || build.versionNotes || process.env.PROMPTFRAME_VERSION_NOTES || '').replace(/\\r?\\n/g, ' ').slice(0, 300);
|
|
1968
2285
|
const diagnostics = Array.isArray(build.diagnostics) ? build.diagnostics : [];
|
|
1969
2286
|
const firstError = diagnostics.find((item) => item && item.severity === 'error') || diagnostics[0] || {};
|
|
1970
2287
|
if (['failed', 'cancelled', 'canceled'].includes(buildStatus.toLowerCase())) {
|
|
@@ -1984,6 +2301,7 @@ jobs:
|
|
|
1984
2301
|
\`- Component ID: \\\`\${process.env.COMPONENT_ID || payload.source?.workspaceComponentId || 'unknown'}\\\`\`,
|
|
1985
2302
|
\`- Component path: \\\`\${process.env.COMPONENT_PATH || payload.source?.componentPath || 'unknown'}\\\`\`,
|
|
1986
2303
|
\`- Diagnostic: \\\`\${payload.diagnostic?.code || 'unknown'}\\\`\`,
|
|
2304
|
+
versionNotes ? \`- Version notes: \${versionNotes}\` : '',
|
|
1987
2305
|
\`- Build ID: \\\`\${buildId}\\\`\`,
|
|
1988
2306
|
\`- Platform build status: \\\`\${buildStatus}\\\`\`,
|
|
1989
2307
|
firstError.code ? \`- Top diagnostic: \\\`\${firstError.code}\\\`\` : '- Top diagnostic: none',
|
|
@@ -2005,7 +2323,9 @@ jobs:
|
|
|
2005
2323
|
function promptFrameGithubWorkflow() {
|
|
2006
2324
|
const apiBaseVariable = '$' + '{{ vars.PROMPTFRAME_API_BASE }}';
|
|
2007
2325
|
const ciTokenSecret = '$' + '{{ secrets.PROMPTFRAME_CI_TOKEN }}';
|
|
2008
|
-
return
|
|
2326
|
+
return `${promptFrameWorkflowHeader('')}
|
|
2327
|
+
|
|
2328
|
+
name: PromptFrame Component
|
|
2009
2329
|
|
|
2010
2330
|
on:
|
|
2011
2331
|
pull_request:
|
|
@@ -2087,7 +2407,23 @@ jobs:
|
|
|
2087
2407
|
PROMPTFRAME_CI_TOKEN: ${ciTokenSecret}
|
|
2088
2408
|
run: |
|
|
2089
2409
|
set -euo pipefail
|
|
2090
|
-
|
|
2410
|
+
PROMPTFRAME_VERSION_NOTES=$(node <<'NODE'
|
|
2411
|
+
const fs = require('node:fs');
|
|
2412
|
+
let notes = process.env.PROMPTFRAME_VERSION_NOTES || '';
|
|
2413
|
+
if (!notes && process.env.GITHUB_EVENT_PATH) {
|
|
2414
|
+
try {
|
|
2415
|
+
const event = JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8'));
|
|
2416
|
+
notes = event.head_commit?.message || event.pull_request?.title || '';
|
|
2417
|
+
} catch {}
|
|
2418
|
+
}
|
|
2419
|
+
notes = String(notes || process.env.GITHUB_REF_NAME || process.env.GITHUB_SHA || 'PromptFrame component upload')
|
|
2420
|
+
.split(/\\r?\\n/)[0]
|
|
2421
|
+
.trim()
|
|
2422
|
+
.slice(0, 1000);
|
|
2423
|
+
process.stdout.write(notes);
|
|
2424
|
+
NODE
|
|
2425
|
+
)
|
|
2426
|
+
npx promptframe upload . --endpoint "$PROMPTFRAME_API_BASE" --release-notes "$PROMPTFRAME_VERSION_NOTES" --json | tee promptframe-upload.json
|
|
2091
2427
|
BUILD_ID=$(node <<'NODE'
|
|
2092
2428
|
const fs = require('node:fs');
|
|
2093
2429
|
const payload = JSON.parse(fs.readFileSync('promptframe-upload.json', 'utf8'));
|
|
@@ -2109,6 +2445,7 @@ jobs:
|
|
|
2109
2445
|
const build = status.build || {};
|
|
2110
2446
|
const buildId = payload.jobId || payload.buildId || build.buildId || 'unknown';
|
|
2111
2447
|
const buildStatus = String(build.status || status.status || payload.status || 'queued');
|
|
2448
|
+
const versionNotes = String(payload.versionNotes || build.versionNotes || process.env.PROMPTFRAME_VERSION_NOTES || '').replace(/\\r?\\n/g, ' ').slice(0, 300);
|
|
2112
2449
|
const diagnostics = Array.isArray(build.diagnostics) ? build.diagnostics : [];
|
|
2113
2450
|
const firstError = diagnostics.find((item) => item && item.severity === 'error') || diagnostics[0] || {};
|
|
2114
2451
|
if (['failed', 'cancelled', 'canceled'].includes(buildStatus.toLowerCase())) {
|
|
@@ -2126,6 +2463,7 @@ jobs:
|
|
|
2126
2463
|
'### PromptFrame upload',
|
|
2127
2464
|
'',
|
|
2128
2465
|
\`- Diagnostic: \\\`\${payload.diagnostic?.code || 'unknown'}\\\`\`,
|
|
2466
|
+
versionNotes ? \`- Version notes: \${versionNotes}\` : '',
|
|
2129
2467
|
\`- Build ID: \\\`\${buildId}\\\`\`,
|
|
2130
2468
|
\`- Platform build status: \\\`\${buildStatus}\\\`\`,
|
|
2131
2469
|
firstError.code ? \`- Top diagnostic: \\\`\${firstError.code}\\\`\` : '- Top diagnostic: none',
|
|
@@ -3438,6 +3776,8 @@ Commands:
|
|
|
3438
3776
|
component list|create List or declare Project-scoped components
|
|
3439
3777
|
ci-token create|list|revoke Manage self-service CI tokens for the current project
|
|
3440
3778
|
setup-ci [dir] --provider github Write a GitHub Actions workflow skeleton
|
|
3779
|
+
--upgrade Refresh a PromptFrame-managed workflow when its version header is stale
|
|
3780
|
+
--dry-run Report the workflow action without writing files
|
|
3441
3781
|
configure --endpoint <url> Write local CLI endpoint/context config
|
|
3442
3782
|
|
|
3443
3783
|
Endpoint resolution:
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,iCAAiC,EACjC,2CAA2C,EAC3C,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,sCAAsC,EACtC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,yCAAyC,EACzC,kCAAkC,EAClC,6BAA6B,EAC7B,oCAAoC,EACpC,wCAAwC,EACxC,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,GASvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uCAAuC,GAExC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kCAAkC,EAClC,yBAAyB,GAG1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC,aAAa,CAAC;AAClF,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AACpD,MAAM,wBAAwB,GAAG,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;AAC/E,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,gCAAgC,GAAG,sCAAsC,CAAC;AAChF,MAAM,2BAA2B,GAAG,oCAAoC,CAAC;AACzE,MAAM,oCAAoC,GAAG,8BAA8B,CAAC;AAC5E,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,0CAA0C,GAAG,oCAAoC,CAAC;AACxF,MAAM,qCAAqC,GAAG,gBAAgB,CAAC;AAC/D,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAC;IAClD,QAAQ;IACR,cAAc;IACd,eAAe;IACf,eAAe;IACf,cAAc;IACd,QAAQ;IACR,WAAW;IACX,UAAU;IACV,OAAO;IACP,aAAa;CACd,CAAC,CAAC;AACH,MAAM,8BAA8B,GAAG;IACrC,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,WAAW;CACH,CAAC;AACX,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAS,8BAA8B,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAyB;IACtD,2BAA2B;IAC3B,mCAAmC;IACnC,qCAAqC;IACrC,gCAAgC;IAChC,4CAA4C;IAC5C,iCAAiC;IACjC,mCAAmC;IACnC,2BAA2B;IAC3B,2CAA2C;CAC5C,CAAC;AAmFF,MAAM,mBAAoB,SAAQ,KAAK;IACQ;IAA8B;IAA3E,YAAY,OAAe,EAAkB,IAAY,EAAkB,WAAW,CAAC;QACrF,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAQ;QAAkB,aAAQ,GAAR,QAAQ,CAAI;IAEvF,CAAC;CACF;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,QAAQ,EAAE,CAAC;YACX,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,MAAM;QACR,KAAK,UAAU;YACb,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,WAAW;YACd,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,UAAU;YACb,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YACf,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,WAAW;YACd,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,WAAW;YACd,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,IAAI,EAAE,CAAC;YACP,MAAM;QACR;YACE,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,MAAM,GAAG,uBAAuB,CAAC;IACvC,SAAS,CAAC;QACR,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,6BAA6B;QAC/C,qBAAqB,EAAE,iCAAiC;QACxD,wBAAwB,EAAE,0BAA0B;QACpD,kBAAkB,EAAE,8BAA8B;QAClD,mBAAmB,EAAE,qBAAqB;QAC1C,uBAAuB,EAAE,sCAAsC,CAAC,uBAAuB;QACvF,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,2BAA2B,EAAE,kCAAkC,CAAC,aAAa;QAC7E,oBAAoB,EAAE,kCAAkC;QACxD,uBAAuB,EAAE,oCAAoC,CAAC,aAAa;QAC3E,gBAAgB,EAAE,oCAAoC;QACtD,aAAa,EAAE,kCAAkC,CAAC,aAAa;QAC/D,wBAAwB,EAAE,sCAAsC;QAChE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE,sBAAsB,CAC/B,MAAM,EACN,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,8DAA8D,CAAC,CACjH;QACD,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,gDAAgD,CAAC;KACvG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,IAAc;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,QAAQ;QACjB,GAAG;QACH,aAAa,EAAE,wBAAwB;QACvC,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,wDAAwD,CAAC;KAC7G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc;IAC9B,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG;QAClB,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAC5B,GAAG,gCAAgC,CAAC,GAAG,CAAC;QACxC,GAAG,gBAAgB,CAAC,WAAW;QAC/B,GAAG,eAAe,CAAC,WAAW;KAC/B,CAAC;IACF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,UAAU;QACnB,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE;YACR,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;SACxD;QACD,cAAc,EAAE,yBAAyB;QACzC,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,4DAA4D,CAAC;KACnH,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACvC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAc;IACjC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,IAAY;IACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC;KACxE,CAAC,CAAC,CAAC;IACJ,MAAM,WAAW,GAAG;QAClB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;QAC3E,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;KAC5D,CAAC;IACF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAgB;QACzB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,4BAA4B;SAC9C;QACD,MAAM;QACN,SAAS;QACT,UAAU;QACV,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,iDAAiD,CAAC;KAC/G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA6B,EAC7B,MAA6B,EAC7B,SAA6C;IAiB7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG;QAClB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;QAC3C,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAC5B,GAAG,gCAAgC,CAAC,GAAG,CAAC;QACxC,GAAG,gBAAgB,CAAC,WAAW;QAC/B,GAAG,eAAe,CAAC,WAAW;QAC9B,GAAG,mCAAmC,CAAC,KAAK,CAAC;KAC9C,CAAC;IACF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAgB;QACzB,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,cAAc,EAAE,yBAAyB;QACzC,qBAAqB,EAAE,kCAAkC,CAAC,aAAa;QACvE,oBAAoB,EAAE,yCAAyC;QAC/D,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS;QACT,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC3F,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,wDAAwD,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,KAAK,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,SAAS;QAClB,GAAG;QACH,KAAK;QACL,cAAc;QACd,UAAU,EAAE,UAAU,CACpB,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAC7C,MAAM,EACN,KAAK;YACH,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,kFAAkF,CACvF;KACF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,IAAI,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC;QAC9D,CAAC,CAAC,uBAAuB,CAAC;YACxB,GAAG;YACH,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC;YACpC,gBAAgB,EAAE,eAAe;YACjC,IAAI;SACL,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,SAAS;QAClB,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,eAAe,EAAE,UAAU;QAC3B,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,eAAe;QACxB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC;QAC9C,kBAAkB;QAClB,UAAU,EAAE,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,2CAA2C,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,QAAQ,eAAe,CAAC,cAAc,SAAS,CAAC,CAAC;IACjJ,IAAI,kBAAkB;QAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAc;IAC/B,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK;QACd,GAAG;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,eAAe;QACxB,SAAS;QACT,SAAS,EAAE;YACT,GAAG,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE;YAC7B,OAAO,EAAE,UAAU;SACpB;QACD,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,iDAAiD,CAAC;KAC/F,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,mEAAmE,EAAE,2BAA2B,CAAC,CAAC;QACzG,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAO;IAEvC,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,SAAS,CAAC;QACR,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,mCAAmC,CAAC;QACxF,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,QAAQ,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,8BAA8B,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3F,MAAM,MAAM,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B;IAClD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,kDAAkD,EAAE,8BAA8B,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAyB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,yDAAyD,EAAE,8BAA8B,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,GAAW;IACpD,OAAO,mCAAmC,CAAC;QACzC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC3D,eAAe,EAAE,yBAAyB,CAAC,GAAG,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAO,qCAAqC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,8BAA8B,CAAC,OAA2C;IACjF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CACF,KAAK,EAAE,OAAO,IAAI,gEAAgE,EAClF,KAAK,EAAE,IAAI,IAAI,4BAA4B,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAoB,EAAE,MAAe;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC9D,6BAA6B,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,6CAA6C,CACpD,YAAoB,EACpB,YAAmC,EACnC,MAA0B,EAC1B,aAAqF;IAErF,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACjD,+BAA+B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,aAAa,CAAC,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAA+C,EAAE,IAAc;IAC1F,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM;IACV,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,yEAAyE,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAC;IAC5H,CAAC;IACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAA2B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1C,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5F,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAChH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,KAAK,eAAe,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAA4D,CAAC,CAAC;IAC5G,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAc,EACd,IAAY,EACZ,YAAmC;IAEnC,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9B,IAAI,CACF,sIAAsI,EACtI,kCAAkC,EAClC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC;SACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,4BAA4B;SAC9C;QACD,YAAY;QACZ,OAAO;QACP,UAAU,EAAE,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,mDAAmD,CAAC;KAClH,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,IAAI,WAAW,OAAO,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA6B,EAC7B,YAAmC,EACnC,MAA0B;IAE1B,IAAI,gBAA6E,CAAC;IAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;QAC1C,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC;QAC9C,CAAC,CAAC,6CAA6C,CAC3C,KAAK,CAAC,GAAG,EACT,YAAY,EACZ,MAAM,EACN,CAAC,WAAW,EAAE,EAAE;YACd,gBAAgB,GAAG,WAAW,CAAC;QACjC,CAAC,CACF,CAAC;IACN,MAAM,WAAW,GAAG,gBAAgB;QAClC,CAAC,CAAC;YACE,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;YAC3C,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC;SACjD;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,KAA6B,EAC7B,IAAc,EACd,QAAgB,EAChB,YAAmC,EACnC,QAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IAC7D,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,gCAAgC,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACP,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;YACrC,GAAG,0BAA0B,EAAE;YAC/B,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3C,GAAG,wBAAwB,CAAC,YAAY,CAAC;YACzC,6BAA6B,EAAE,YAAY;SAC5C;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,2BAA2B,CAAC;QACzC,GAAG,WAAW;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,YAAY;QACZ,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;QAC1B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,wCAAwC,CAAC;KAC7F,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,sBAAsB;IACtB,uBAAuB;IACvB,WAAW;IACX,UAAU;IACV,YAAY;IACZ,mBAAmB;IACnB,oBAAoB;IACpB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,aAAa;CACd,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,KAAc;IACjD,OAAO,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,OAAO,CAAC,cAAc,EAAE,oBAAoB,CAAC;SAC7C,OAAO,CAAC,kCAAkC,EAAE,eAAe,CAAC;SAC5D,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,GAAG,GAAG,0BAA0B,CACpC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,uBAAuB,CAC/F,CAAC;IACF,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,oCAAoC,GAAG,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,IAAI,GAAG,KAAK,aAAa;QAAE,OAAO,uBAAuB,CAAC;IAC1D,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,4BAA4B,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW,EAAE,MAA6B;IACjF,MAAM,WAAW,GAAG,kCAAkC,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kCAAkC,CAAC,IAAY,EAAE,MAA6B;IACrF,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,kCAAkC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,QAAgB,EAAE,IAAc;IAC3E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,sBAAsB,EAAE;QACjE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,iCAAiC,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,IAAI,CAAC,4DAA4D,EAAE,mCAAmC,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,gBAAgB,KAAK,8BAA8B,EAAE,CAAC;QACxD,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC/C,IAAc,EACd,MAA6B,EAC7B,WAA4B;IAE5B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,qHAAqH,CACpI,CAAC;IACJ,CAAC;IACD,IAAI,OAAgC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,sBAAsB,EAAE;YAC3D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;SACpE,EAAE,iCAAiC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,mHAAmH,CAClI,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,6BAA6B,CAClC,MAAM,EACN,qCAAqC,EACrC,GAAG,WAAW,+GAA+G,CAC9H,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,KAAK,8BAA8B,EAAE,CAAC;QACxD,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,sBAAsB,CAC3B,MAAM,EACN,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,4DAA4D,CAAC,CAC/G,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,MAA6B,EAC7B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM;QACN,oBAAoB,EAAE,0BAA0B;QAChD,uBAAuB,EAAE,8BAA8B;QACvD,sBAAsB,EAAE,0BAA0B;QAClD,yBAAyB,EAAE,8BAA8B;QACzD,kBAAkB,EAAE,sCAAsC,CAAC,kBAAkB;QAC7E,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;QAChD,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,gBAAwB;IAChE,OAAO,kDAAkD,8BAA8B,cAAc,gBAAgB,oDAAoD,CAAC;AAC5K,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM;QACR,KAAK,MAAM;YACT,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,KAAK;YACR,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM;QACR;YACE,IAAI,CAAC,8BAA8B,UAAU,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACjD,WAAW;QACX,UAAU,EAAE,UAAU,CAAC,8BAA8B,EAAE,MAAM,EAAE,+CAA+C,CAAC;KAChH,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACjD,UAAU,EAAE,UAAU,CAAC,0BAA0B,EAAE,MAAM,EAAE,0CAA0C,CAAC;KACvG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,kDAAkD,UAAU,6BAA6B,EAAE,yBAAyB,CAAC,CAAC;IAC7H,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,IAAI,WAAW;QAC7C,CAAC,CAAC,CAAC;gBACC,EAAE,EAAE,WAAW,IAAI,IAAI,CAAC,qDAAqD,EAAE,gCAAgC,EAAE,CAAC,CAAC;gBACnH,IAAI,EAAE,sBAAsB,CAAC,aAAa,IAAI,IAAI,CAAC,qDAAqD,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;aAClJ,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;QACjC,UAAU;QACV,UAAU,EAAE,UAAU,CAAC,0BAA0B,EAAE,MAAM,EAAE,8CAA8C,CAAC;KAC3G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,0CAA0C,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjJ,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,6CAA6C,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;IAChI,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACxE,oCAAoC,CAAC,UAAU,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;QACjC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;QACtC,UAAU,EAAE,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,wCAAwC,CAAC;KACpG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,aAAa,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc;IAC3C,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IACvE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAC3C,MAAM,EAAE;gBACN,IAAI,EAAE,kBAAkB;gBACxB,aAAa,EAAE,GAAG;aACnB;SACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,YAAY;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,4BAA4B;YAC7C,oBAAoB,EAAE,MAAM,CAAC,EAAE;YAC/B,aAAa,EAAE,MAAM,CAAC,IAAI;YAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE;SACzD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,IAAI,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAgC;IAC/D,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,YAAY;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,4BAA4B;YAC7C,oBAAoB,EAAE,MAAM,CAAC,EAAE;YAC/B,aAAa,EAAE,MAAM,CAAC,IAAI;YAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE;SACzD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,WAAmB;IAClE,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CACF,8CAA8C,WAAW,oCAAoC,IAAI,6BAA6B,EAC9H,+BAA+B,EAC/B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAY;IACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,CACF,4DAA4D,EAC5D,4BAA4B,EAC5B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,6BAA6B,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,IAAI,CACF,wDAAwD,SAAS,CAAC,IAAI,EAAE,EACxE,kCAAkC,EAClC,CAAC,CACF,CAAC;QACJ,CAAC;QACD,wCAAwC,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,CACF,mCAAmC,SAAS,CAAC,EAAE,cAAc,SAAS,CAAC,IAAI,gCAAgC,QAAQ,CAAC,EAAE,oEAAoE,EAC1L,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,SAAS;YACZ,YAAY;YACZ,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAgC;IAChE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO;QACL,aAAa,EAAE,oCAAoC;QACnD,IAAI;QACJ,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,CACF,6CAA6C,UAAU,GAAG,EAC1D,0BAA0B,EAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CACF,oDAAoD,UAAU,EAAE,EAChE,+BAA+B,EAC/B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,qDAAqD,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,aAAa,KAAK,oCAAoC,EAAE,CAAC;QAC3D,IAAI,CACF,oDAAoD,aAAa,IAAI,WAAW,cAAc,oCAAoC,GAAG,EACrI,6CAA6C,EAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAiC,EAAE;QAClF,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,oCAAoC,KAAK,0BAA0B,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,oCAAoC,KAAK,mBAAmB,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,oCAAoC,KAAK,qBAAqB,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO;YACL,EAAE;YACF,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,oCAAoC,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,UAA2C;IACrF,oCAAoC,CAAC,UAAU,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,aAAa,CACX,mBAAmB,CAAC,IAAI,CAAC,EACzB,GAAG,IAAI,CAAC,SAAS,CAAC;QAChB,aAAa,EAAE,oCAAoC;QACnD,UAAU;KACX,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACf,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAAC,UAA2C;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,iDAAiD,SAAS,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,mDAAmD,SAAS,CAAC,IAAI,EAAE,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,OAAO;SACvB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,mDAAmD,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,IAAI,CACF,0DAA0D,OAAO,EAAE,EACnE,mCAAmC,EACnC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;QAChF,IAAI,CACF,sFAAsF,OAAO,EAAE,EAC/F,iCAAiC,EACjC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY,EAAE,YAAoB,EAAE,WAAmB;IAC5F,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5F,IAAI,CACF,6EAA6E,WAAW,EAAE,EAC1F,iCAAiC,EACjC,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IACjE,KAAK,MAAM,YAAY,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS;QACvC,IAAI,WAAiC,CAAC;QACtC,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAyB,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CACF,mCAAmC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EACpF,+CAA+C,EAC/C,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YACtD,YAAY,EAAE,YAAY;YAC1B,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1E,KAAK,MAAM,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;SAC9B,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAChE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,WAAoC,CAAC;IACzC,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,wCAAwC,CAC/C,SAAwC,EACxC,YAAoB,EACpB,cAAyD;IAEzD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,UAAU,IAAI,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,YAAY,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;YACjF,IAAI,CACF,OAAO,UAAU,CAAC,IAAI,QAAQ,SAAS,CAAC,EAAE,QAAQ,UAAU,CAAC,OAAO,gCAAgC,YAAY,aAAa,UAAU,CAAC,IAAI,gDAAgD,EAC5L,kCAAkC,CACnC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CACF,OAAO,UAAU,CAAC,IAAI,wBAAwB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAC7E,gCAAgC,CACjC,CAAC;QACJ,CAAC;QACD,IAAI,CACF,OAAO,UAAU,CAAC,IAAI,SAAS,aAAa,CAAC,IAAI,gHAAgH,EACjK,6CAA6C,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAiC;IAChE,MAAM,IAAI,GAAoE,EAAE,CAAC;IACjF,KAAK,MAAM,aAAa,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC5G,MAAM,YAAY,GAAG,YAAY,CAAE,WAAuC,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;AAC9H,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAAiB,EACjB,cAAyD;IAEzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS,KAAK,CAAC,IAAY;QACzB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,MAAM,UAAU,IAAI,uBAAuB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,gBAAgB,CAAC;AACzG,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA+B;IACjE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO;QACL,2BAA2B,EAAE,WAAW;QACxC,uCAAuC,EAAE,MAAM,CAAC,eAAe;QAC/D,6CAA6C,EAAE,MAAM,CAAC,oBAAoB;QAC1E,qCAAqC,EAAE,MAAM,CAAC,aAAa;QAC3D,kCAAkC,EAAE,MAAM,CAAC,UAAU;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,SAAS,mBAAmB,CAAC,IAAc;IACzC,OAAO,qBAAqB,CAC1B,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;WAChC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;WACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,MAAM,OAAO,GAAG,KAAK;QACnB,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAgC;IAChE,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,6BAA6B,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,yBAAyB;IACzB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,yBAAyB;IACzB,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,iBAAiB;IACjB,SAAS;IACT,cAAc;IACd,UAAU;IACV,aAAa;IACb,mBAAmB;IACnB,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAc;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAgC;IACvE,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;WACjC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;WACvC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;WACnD,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAc;IACtC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1G,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,CAAC;KACtF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC,EAAE,CAAC;QAC5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6BAA6B,EAAE,0BAA0B,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACjD,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAC3H,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,EAAE,qBAAqB,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,SAAS;QAClB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC7F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kCAAkC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE;QACrH,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAChC,EAAE,mBAAmB,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,kDAAkD,CAAC;KACtG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1G,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,IAAc;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;WAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB;WACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QACnE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,mBAAmB,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE;QAChB,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,qBAAqB,EAAE;QAChC,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,CAAC;KAChG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,IAAc;IACjE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,wBAAwB,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,yBAAyB;YAC1C,QAAQ;YACR,UAAU,EAAE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjD,eAAe,EAAE,wBAAwB;SAC1C,CAAC;KACH,EAAE,2BAA2B,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,4BAA4B,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE;QAChB,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,MAAM;QACN,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACxC,OAAO,EAAE,qBAAqB,EAAE;QAChC,UAAU,EAAE,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,CAAC;KAChG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,UAAkB,EAClB,YAAqC,EACrC,IAAc;IAEd,MAAM,eAAe,GAAG,oBAAoB,CAC1C,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,EAC3C,yBAAyB,EACzB,oBAAoB,CAAC,YAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CACzE,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC;IACpD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,uBAAuB,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,eAAe,EAAE,yBAAyB;gBAC1C,UAAU;aACX,CAAC;SACH,EAAE,0BAA0B,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,+BAA+B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CACF,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,+CAA+C,MAAM,IAAI,SAAS,GAAG,EAC/G,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,wBAAwB,EAC/D,CAAC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,sDAAsD,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CACF,gIAAgI,EAChI,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC7D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,CAAC;KACxF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;AACpJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,gBAAgB,EAAE;QAC3D,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACpE,EAAE,uBAAuB,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,CAAC;KACjG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,4BAA4B,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjH,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAc;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,iDAAiD,WAAW,6BAA6B,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAC/H,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7I,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,gBAAgB,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CACrG,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CACF,kBAAkB;YAChB,CAAC,CAAC,uBAAuB,kBAAkB,wCAAwC;YACnF,CAAC,CAAC,mEAAmE,EACvE,iCAAiC,EACjC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,yDAAyD,EAAE,oCAAoC,CAAC,CAAC;IAC/J,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,gBAAgB,EAAE,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;eACpD,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;eACrC,yBAAyB,CAAC,SAAS,CAAC;QACzC,mBAAmB,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;eAC5C,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;eACnC,uBAAuB;QAC5B,eAAe,EAAE,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,4BAA4B;KACxF,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,MAAM;QACf,QAAQ;QACR,WAAW;QACX,OAAO;QACP,OAAO;QACP,UAAU,EAAE,UAAU,CAAC,gCAAgC,EAAE,MAAM,EAAE,sCAAsC,CAAC;KACzG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,IAAI,CACF,8HAA8H,EAC9H,gCAAgC,EAChC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAQ;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,gBAAgB,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC;IACjG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CACF,mEAAmE,EACnE,yBAAyB,EACzB,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,iBAAiB;YAC1B,QAAQ;YACR,gBAAgB,EAAE,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC;YACvD,cAAc;YACd,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,sCAAsC,CAAC;SACpG,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,cAAc;QACvB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,mCAAmC,CAAC;KAC9F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM;YAAE,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,gBAAgB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACxH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAc;IAC3D,OAAO,SAAS,CAAC,GAAG,QAAQ,eAAe,EAAE;QAC3C,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,qBAAqB,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM;QACR;YACE,IAAI,CAAC,8BAA8B,UAAU,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,WAAW;QAAE,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,0CAA0C,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/G,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,4BAA4B,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,gBAAgB;QACzB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,0BAA0B,EAAE,MAAM,EAAE,wCAAwC,CAAC;KACrG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAW;YAAE,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,2CAA2C,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACjJ,MAAM,WAAW,GAAG,WAAW,CAC7B,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,0BAA0B,CAAC,WAAW,CAAC,EAC3G,kDAAkD,EAClD,gCAAgC,CACjC,CAAC;IACF,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,WAAW;QACX,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,yCAAyC,EAAE;QACrF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,EAAE,8BAA8B,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,yCAAyC,CAAC;KACxG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,WAAW;QAAE,6BAA6B,CAAC,WAAW,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,6BAA6B,CAAC,WAAoC;IACzE,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,KAAK,MAAM,KAAK,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgC,EAAE,OAAgB;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,KAAK,SAAS,UAAU,IAAI,eAAe,UAAU,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM;QACR;YACE,IAAI,CAAC,0CAA0C,EAAE,iCAAiC,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG;QACpB,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACvC,GAAG,WAAW,CAAC,IAAI,EAAE,yBAAyB,CAAC;KAChD,CAAC;IACF,MAAM,OAAO,GAAG;QACd,eAAe,EAAE,yBAAyB;QAC1C,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzD,oBAAoB,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAC1F,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,uBAAuB,EAAE;QACxE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,mDAAmD;KAC5F,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,EAAE,6BAA6B,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,iBAAiB;QAC1B,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,wFAAwF,CAAC;KACtJ,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAc;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACxG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACvE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChE,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACpE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QACzF,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC5C,EAAE,2BAA2B,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,eAAe;QACxB,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,qCAAqC,CAAC;KACjG,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,EAAE,kCAAkC,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE;QACpG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACtC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,yBAAyB;YAC1C,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,mDAAmD;SAC5F,CAAC;KACH,EAAE,6BAA6B,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ;QACX,OAAO,EAAE,iBAAiB;QAC1B,QAAQ;QACR,UAAU,EAAE,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,gCAAgC,CAAC;KAC9F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAuB,EAAE,GAAW,EAAE,KAAyB;IAC1F,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CACF,6EAA6E,EAC7E,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,EAAE,oBAAoB,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG;QACb,GAAG,OAAO;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,sBAAsB;QACtB,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,qCAAqC,CAAC;KAC1F,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,GAAG,OAAO;QACV,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClH,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ;QAC7D,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM;QACvD,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,SAAS;QAChE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,SAAS;KACjE,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC;SACvF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,SAAS,CAAC;QACR,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;QAC1B,UAAU,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,uCAAuC,CAAC;KAC/F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,QAAQ,CAAC;IAC5D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,4BAA4B,QAAQ,GAAG,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC;IACpH,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CACF,wBAAwB,YAAY,mGAAmG,EACvI,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG;YACrB,GAAG,OAAO;YACV,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC;QACF,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,UAAU;YACnB,QAAQ;YACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBAClB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACnE,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,YAAY;YACZ,MAAM;YACN,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,OAAO,CAAC,KAAK;gBACvB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;gBACzI,CAAC,CAAC,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,yDAAyD,CAAC;SAC/G,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,IAAI,CACF,iDAAiD,YAAY,oFAAoF,EACjJ,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;QACnB,QAAQ;QACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAClB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SACnE,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,YAAY;QACZ,eAAe,EAAE,CAAC,sBAAsB,CAAC;QACzC,iBAAiB,EAAE,CAAC,sBAAsB,CAAC;QAC3C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM;QACN,QAAQ,EAAE;YACR,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,4BAA4B;YAC3C,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,0DAA0D;YACnE,aAAa,EAAE,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC;SAC/D;QACD,eAAe,EAAE,YAAY;QAC7B,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,2BAA2B,EAAE,MAAM,EAAE,MAAM;YACrG,CAAC,CAAC,wDAAwD;YAC1D,CAAC,CAAC,8CAA8C,CAAC;KACpD,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,sHAAsH,CAAC,CAAC;AACtI,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,aAAsB;IAC/D,OAAO,IAAI,CACT,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA4B;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACvF,OAAO,mCAAmC,4BAA4B;iBACvD,OAAO,2CAA2C,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,aAAsB;IACtE,MAAM,UAAU,GAAG,SAAS,IAAI,GAAG,CAAC;IACpC,OAAO;QACL,0BAA0B;QAC1B,UAAU,CAAC,UAAU,CAAC;QACtB,mBAAmB;QACnB,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QAClC,WAAW;KACZ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAe,EACf,SAAiB,EACjB,aAAsB;IAStB,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,KAAK,SAAS;WACvC,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC;WACrD,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,4BAA4B,CAAC;IAC5F,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzF,OAAO;QACL,OAAO;QACP,cAAc,EAAE,cAAc,IAAI,IAAI;QACtC,aAAa,EAAE,4BAA4B;QAC3C,KAAK;QACL,OAAO,EAAE,KAAK;YACZ,CAAC,CAAC,mCAAmC,cAAc,SAAS,4BAA4B,GAAG;YAC3F,CAAC,CAAC,iCAAiC,4BAA4B,GAAG;QACpE,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,mCAAmC,CAAC,KAA6B;IACxE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;QAAE,OAAO,EAAE,CAAC;IACxD,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,2BAA2B,CAClC,YAAoB,EACpB,aAAsB,EACtB,SAAiB;IAEjB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,0BAA0B,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC5G,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACxD,OAAO,CAAC;YACN,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,aAAa;SACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CAAC,WAAuC;IACjF,MAAM,eAAe,GAAG,GAAG,GAAG,iCAAiC,CAAC;IAChE,MAAM,aAAa,GAAG,GAAG,GAAG,oCAAoC,CAAC;IACjE,MAAM,iBAAiB,GAAG,GAAG,GAAG,0BAA0B,CAAC;IAC3D,MAAM,mBAAmB,GAAG,GAAG,GAAG,4BAA4B,CAAC;IAC/D,MAAM,kBAAkB,GAAG,GAAG,GAAG,2BAA2B,CAAC;IAC7D,MAAM,YAAY,GAAG,GAAG,GAAG,6FAA6F,CAAC;IACzH,MAAM,qBAAqB,GAAG,GAAG,GAAG,sCAAsC,CAAC;IAC3E,MAAM,oBAAoB,GAAG,GAAG,GAAG,qCAAqC,CAAC;IACzE,MAAM,cAAc,GAAG,GAAG,GAAG,+CAA+C,CAAC;IAC7E,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;eAmBrC,YAAY;;gBAEX,qBAAqB;eACtB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAsDJ,iBAAiB;;;eAGjC,YAAY;;;gBAGX,cAAc;;;;;;;;;;;2BAWH,kBAAkB;;;;kCAIX,eAAe;0BACvB,iBAAiB;4BACf,mBAAmB;2BACpB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAqCT,kBAAkB;;2CAEX,kBAAkB;gCAC7B,kBAAkB;;;gCAGlB,iBAAiB;;;eAGlC,YAAY;;;gBAGX,cAAc;;;;;;;;;;;kCAWI,eAAe;kCACf,aAAa;0BACrB,iBAAiB;4BACf,mBAAmB;2BACpB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA0ER,kBAAkB;;iCAEtB,kBAAkB;iCAClB,kBAAkB;CAClD,CAAC;AACF,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,eAAe,GAAG,GAAG,GAAG,iCAAiC,CAAC;IAChE,MAAM,aAAa,GAAG,GAAG,GAAG,oCAAoC,CAAC;IACjE,OAAO,GAAG,yBAAyB,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA4BP,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoDf,eAAe;kCACf,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4E9C,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB,EAAE,IAAc;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;WAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB;WACnC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;WAC5B,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC;WACjC,cAAc,EAAE,QAAQ,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CACF,GAAG,WAAW,qKAAqK,EACnL,GAAG,WAAW,mBAAmB,EACjC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;WAC1C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;WAC7C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;WAChD,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;WAC5B,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC;WACjC,cAAc,EAAE,QAAQ,CAAC;IAC9B,OAAO,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,aAAa,CAAC;QACnB,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9E,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QACxE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACjF,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACjF,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QACpI,oBAAoB,EAAE,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;KAC7J,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,IAAc,EACd,UAAqC,EAAE;IAEvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,aAAa;QACb,WAAW;QACX,cAAc;QACd,oBAAoB;KACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAChD,IAAI,CACF,qGAAqG,QAAQ,uGAAuG,EACpN,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAChE,IAAI,CACF,gIAAgI,EAChI,yBAAyB,EACzB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,uCAAuC,EAAE,kCAAkC,CAAC,aAAa;QACzF,sCAAsC,EAAE,yCAAyC;QACjF,uCAAuC,EAAE,uBAAuB;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAc;IAC1D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;WACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB;WACjC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAChH,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,4EAA4E,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,WAAmB,EACnB,aAAsC;IAEtC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,iBAAiB;QAChF,QAAQ;QACR,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,OAAO;QAC1D,iBAAiB,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC;QAC7F,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAgB,EAChB,OAAgC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,kEAAkE,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,oEAAoE,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,yBAAyB;QACrF,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ;QACtD,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO;QACvD,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5D,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAmC;IAC3D,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5D,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,OAAO,aAAa,CAAC;QACnB,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,yBAAyB;QAClF,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC;QACrD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,WAAmB,EAAE,IAAc;IAClF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,IACE,CAAC,UAAU;WACR,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC;WACzF,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,EACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,CAAC;YACN,WAAW;YACX,WAAW;YACX,KAAK;YACL,SAAS;SACV,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,UAAU,CACpB,kCAAkC,EAClC,SAAS,EACT,6HAA6H,CAC9H;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,MAA+B;IAClE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC;AACnJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,kDAAkD,WAAW,EAAE,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,UAAkB;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,sDAAsD,UAAU,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,8BAA8B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,aAAa,IAAI,aAAa,KAAK,0CAA0C,EAAE,CAAC;QAClF,IAAI,CACF,yDAAyD,aAAa,cAAc,0CAA0C,GAAG,EACjI,oCAAoC,EACpC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa,EAAE,0CAA0C;QACzD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrH,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,eAAe,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAO5B;IACC,MAAM,OAAO,GAA8B;QACzC,aAAa,EAAE,0CAA0C;QACzD,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;IACF,8BAA8B,CAAC,OAA6C,EAAE,qCAAqC,CAAC,CAAC;IACrH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc,EAAE,UAAkB;IACxE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,mCAAmC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,IAAI,CACF,sEAAsE,GAAG,QAAQ,UAAU,oEAAoE,EAC/J,wCAAwC,EACxC,CAAC,CACF,CAAC;QACJ,CAAC;QACD,8BAA8B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,qDAAqD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CACF,yBAAyB,KAAK,gDAAgD,EAC9E,sBAAsB,EACtB,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,MAAM,UAAU,GAAG,KAAK;SACrB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,8BAA8B,KAAK,IAAI,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,0BAA0B,CAAC,WAAmB;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;IAC1D,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAiB,EAAE,IAAY;IACnE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAA4B,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW,EAAE,QAA2B;IACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtC,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC/D,mCAAmC,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,+CAA+C,EAAE,mCAAmC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mCAAmC,CAC1C,GAAW,EACX,QAA2B,EAC3B,OAAgC;IAEhC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1C,MAAM,UAAU,GAAG,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,IAAI,CACF,+DAA+D,QAAQ,CAAC,KAAK,CAAC,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACtH,+CAA+C,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc;IAChD,MAAM,SAAS,GAAG,iCAAiC,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACnG,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACrC,OAAO,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,iCAAiC,CAAC,MAAc;IACvD,MAAM,gBAAgB,GAAG,0CAA0C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,KAAa;IAC3D,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB;IAC1D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,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;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,KAAK,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,KAAK,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc,EAAE,KAAa;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,KAAa;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,IAAI,OAAO,CAAC;gBACjB,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAClE,KAAK,IAAI,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAa;IACtD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,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;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,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;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,KAAa;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,QAA2B,EAC3B,YAAmC;IAEnC,OAAO,wBAAwB,CAAC;QAC9B,QAAQ;QACR,YAAY;QACZ,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvE,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzE,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,wCAAwC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;SACtF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,qBAAqB,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,IAAY,EAAE,QAAgB;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,WAAqB;IAC5D,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE;QAC5C,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,sCAAsC,QAAQ,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,kCAAkC,CAAC,iBAAiB,EAAE,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,IACE,MAAM,KAAK,yCAAyC;QACpD,MAAM,KAAK,2CAA2C,EACtD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,yCAAyC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,yCAAyC,CAAC,IAAY,EAAE,MAAc;IAC7E,MAAM,OAAO,GAAG,uCAAuC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACxC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAC1E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAW;IACnD,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,uCAAuC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC/F,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAY,EACZ,OAAyC;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,GAAG,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE;QACjD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,cAAc;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY,EAAE,OAAyC;IAC3F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,GAAG,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,GAAG,cAAc,KAAK,OAAO,CAAC,aAAa,qBAAqB,OAAO,CAAC,YAAY,GAAG,CAAC;AACvI,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,MAAc;IAC1D,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,KAAK,yBAAyB,IAAI,MAAM,KAAK,oBAAoB,CAAC;IACjF,CAAC;IACD,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,KAAK,wBAAwB;eACrC,MAAM,KAAK,yBAAyB;eACpC,MAAM,KAAK,oBAAoB,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;WAC1B,CAAC,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC;WACnD,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,OAAO,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;IACzC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,gEAAgE,EAAE,2BAA2B,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAC5E,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,YAAmC;IAC5E,kCAAkC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI,CAAC,UAAU;QAC1B,MAAM,EAAE,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAW;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,MAAM,WAAW,GAA0B,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,iEAAiE,EACjE,+EAA+E,CAChF,CAAC,CAAC;QACH,OAAO,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,IAAI,CAAC,UAAkB;QAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChI,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,EAC9C,wGAAwG,CACzG,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,wDAAwD,EAC9E,6EAA6E,CAC9E,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,UAAU,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,EAC9C,wGAAwG,CACzG,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,0CAA0C,EAC1C,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,8CAA8C,EACtE,8CAA8C,CAC/C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,kDAAkD,EAClD,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,0CAA0C,EAClE,wCAAwC,iCAAiC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1F,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,SAAS,GAAG,kCAAkC,CAAC,YAAY,EAAE,CAAC;gBAChE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,2CAA2C,EAC3C,OAAO,EACP,GAAG,UAAU,CAAC,UAAU,aAAa,SAAS,qBAAqB,kCAAkC,CAAC,YAAY,cAAc,EAChI,uGAAuG,CACxG,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,YAAY,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;gBACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACvE,IAAI,aAAa,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChC,SAAS;gBACX,CAAC;YACH,CAAC;YACD,UAAU,IAAI,SAAS,CAAC;YAExB,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,YAAY,EAAE,oBAAoB,UAAU,CAAC,YAAY,EAAE;gBAC3D,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,SAAS;gBACT,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,GAAG,kCAAkC,CAAC,QAAQ,EAAE,CAAC;QACjE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,2CAA2C,EAC3C,OAAO,EACP,oBAAoB,OAAO,CAAC,MAAM,uCAAuC,kCAAkC,CAAC,QAAQ,cAAc,EAClI,gGAAgG,CACjG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,GAAG,kCAAkC,CAAC,aAAa,EAAE,CAAC;QAClE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,iDAAiD,EACjD,OAAO,EACP,2BAA2B,UAAU,qBAAqB,kCAAkC,CAAC,aAAa,cAAc,EACxH,0EAA0E,CAC3E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACjF,WAAW,CAAC,IAAI,CAAC,wBAAwB,CACvC,qCAAqC,EACrC,MAAM,EACN,YAAY,OAAO,CAAC,MAAM,wBAAwB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,UAAU,CAC3G,CAAC,CAAC;IACL,CAAC;IAED,OAAO,0BAA0B,CAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAC9E,UAAU,EACV,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAkC,EAClC,OAAuC,EACvC,UAAkB,EAClB,WAAkC;IAElC,OAAO;QACL,eAAe,EAAE,2CAA2C;QAC5D,aAAa,EAAE,kCAAkC,CAAC,aAAa;QAC/D,eAAe,EAAE,QAAQ;QACzB,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU;QACV,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,MAA4B;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,2BAA2B,CAAC,YAAoB;IAIvD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACxF,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IACxG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;IACxE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,IAAI,KAAK,EAAE;QACvB,UAAU,EAAE,UAAU,KAAK,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACpD,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAC3D,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QAClE;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;WACzB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;WACjC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;WAC5B,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC;WAC9E,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,wBAAwB,CAC7B,yCAAyC,EACzC,OAAO,EACP,GAAG,UAAU,+CAA+C,EAC5D,gHAAgH,CACjH,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAY,EACZ,QAAyC,EACzC,OAAe,EACf,UAAmB;IAEnB,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,KAAK,EAAE,SAAS;QAChB,OAAO;QACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,MAAM,YAAY,GAAG,2BAA2B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAyB,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,sEAAsE,EAAE,6BAA6B,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAA4B,CAAC;IACjC,IAAI,YAAgC,CAAC;IACrC,OAAO,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU;YAAE,MAAM;QAChE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;QACvD,MAAM,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;QAC3C,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM;YAAE,MAAM;QAEpF,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5D,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,UAAU,KAAK,cAAc;WAC/B,CACD,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;eACjC,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;eACtC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;eAC9B,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClC,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,MAAc;IAClD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,kEAAkE,MAAM,GAAG,EAAE,qCAAqC,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,SAAS,IAAI,CAAC,GAAW;QACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B;oBAAE,SAAS;gBACzD,IAAI,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnD,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC9C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,gCAAgC;QAC/C,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;YACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;KACJ,CAAC;IACF,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,IAAY;IACzD,MAAM,eAAe,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,eAAe,CAAC;IACvD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,oCAAoC,CAAC,IAAY;IACxD,MAAM,SAAS,GAAqC,EAAE,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,8BAA8B,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY;IACjD,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC5B,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aAC3D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IAChD,OAAO,iCAAiC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,KAA4C;IAClE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,IAAI,GAAG,GAAG,UAAU,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IACzD,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAyB,EAAE,OAAe,EAAE,IAAY;IAC3E,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,IAAY;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,OAAO,CAAC,IAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,iBAAiB,EAAE,UAAU,EAAE,OAAO;QACtC,mBAAmB,EAAE,UAAU,EAAE,SAAS;QAC1C,mBAAmB,EAAE,UAAU,EAAE,SAAS;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,QAAsC,EACtC,OAAe;IAEf,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAoE;IAC5F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,WAAyC,EACzC,MAA6B;IAE7B,OAAO;QACL,mEAAmE,MAAM,GAAG;QAC5E,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjG,CAAC,CAAC;QACF,yEAAyE;KAC1E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,OAAgC;IAClD,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;WAC5B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;WAC5B,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;WAC7C,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IACjE,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpL,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO;IAC3F,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;IACjD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,cAAc;QACnC,CAAC,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;QACzG,CAAC,CAAC,eAAe,CAAC;IACpB,IAAI,CACF,8CAA8C,OAAO,WAAW,MAAM,eAAe,cAAc,EAAE,EACrG,qBAAqB,EACrB,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAgC;IACtD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;SACjE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAgC;IACxE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACpG,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgC,EAAE,GAAW,EAAE,IAAY;IACxF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,wCAAwC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,IAAY,EAAE,QAAQ,GAAG,CAAC;IACvD,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCb,CAAC,CAAC;AACH,CAAC;AAED,IAAI,CAAC;IACH,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC1D,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,SAAS,EAAE,KAAK;aACjB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|