nextworks 0.2.0-alpha.10 → 0.2.0-alpha.11

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.
@@ -1,6 +1,26 @@
1
1
  type CheckStatus = "ok" | "error" | "warning";
2
+ type CheckResult = {
3
+ status: "init";
4
+ } | {
5
+ status: "found";
6
+ } | {
7
+ status: "not-found";
8
+ } | {
9
+ status: "unreadable";
10
+ error: unknown;
11
+ };
12
+ type CheckWritability = {
13
+ status: "init";
14
+ } | {
15
+ status: "writable";
16
+ } | {
17
+ status: "not-writable";
18
+ } | {
19
+ status: "not-found-parent-writable";
20
+ } | {
21
+ status: "not-found-parent-not-writable";
22
+ };
2
23
  interface DoctorOptions {
3
- json?: boolean;
4
24
  fix?: boolean;
5
25
  kit?: string;
6
26
  }
@@ -11,6 +31,16 @@ interface ProjectSanity {
11
31
  routerType: "app" | "pages" | "hybrid" | null;
12
32
  projectRootMode: string | null;
13
33
  }
34
+ interface TailwindCheck {
35
+ hasTailwindDependency: boolean;
36
+ hasCssBasedTailwindUsage: boolean;
37
+ detected: boolean;
38
+ }
39
+ interface TypeScriptCheck {
40
+ hasTsconfig: boolean;
41
+ hasTypeScriptDependency: boolean;
42
+ detected: boolean;
43
+ }
14
44
  interface EnvironmentChecks {
15
45
  nodeVersion: {
16
46
  status: CheckStatus;
@@ -20,29 +50,87 @@ interface EnvironmentChecks {
20
50
  pm: import("../utils/package-manager").PackageManager;
21
51
  installCommand: string;
22
52
  };
23
- yarnPnPDection: {
53
+ yarnPnPDetection: {
24
54
  isPnP: boolean;
25
55
  message: string;
26
56
  };
57
+ tailwind: TailwindCheck;
58
+ typescript: TypeScriptCheck;
27
59
  }
28
60
  interface PatchabilityCheck {
29
61
  path: string;
30
62
  exists: boolean;
31
- writable?: boolean;
32
- hasSuppressHydrationWarning?: boolean;
63
+ writable: boolean | null;
64
+ writableInfo: CheckWritability;
65
+ hasSuppressHydrationWarning: CheckResult;
33
66
  }
34
67
  interface RouterPatchability {
35
- appLayout?: PatchabilityCheck;
36
- pagesApp?: PatchabilityCheck;
37
- pagesDocument?: PatchabilityCheck;
68
+ appLayout: PatchabilityCheck;
69
+ pagesApp: PatchabilityCheck;
70
+ pagesDocument: PatchabilityCheck;
71
+ }
72
+ interface ProjectRootWritability {
73
+ path: string;
74
+ exists: boolean;
75
+ writable: boolean | null;
76
+ }
77
+ interface AppProvidersShimCheck {
78
+ path: string;
79
+ exists: boolean;
80
+ target: string | null;
81
+ targetExists: boolean | null;
82
+ targetMatchesRouter: boolean | null;
83
+ }
84
+ interface CollisionCheck {
85
+ path: string;
86
+ exists: boolean;
87
+ }
88
+ interface CollisionDiagnostics {
89
+ paths: CollisionCheck[];
90
+ }
91
+ interface RecordedInstalledKit {
92
+ name: string;
93
+ dependencies: string[];
94
+ devDependencies: string[];
95
+ files: string[];
96
+ installedAt: string;
97
+ }
98
+ interface RecordedInstallState {
99
+ installedKits: RecordedInstalledKit[];
100
+ }
101
+ interface BlocksFilePresenceCheck {
102
+ path: string;
103
+ exists: boolean;
104
+ required: boolean;
38
105
  }
39
106
  interface DoctorResult {
40
107
  projectSanity: ProjectSanity;
41
108
  environmentChecks: EnvironmentChecks;
109
+ projectRootWritability: ProjectRootWritability;
42
110
  routerPatchability: RouterPatchability;
111
+ appProvidersShim: AppProvidersShimCheck;
112
+ collisions: CollisionDiagnostics;
113
+ recordedInstallState: RecordedInstallState;
114
+ blocksFilePresence: BlocksFilePresenceCheck[];
115
+ warnings: string[];
116
+ errors: string[];
117
+ }
118
+ export interface DoctorJsonResult {
119
+ status: "ok" | "error";
120
+ results: {
121
+ projectSanity: ProjectSanity;
122
+ environmentChecks: EnvironmentChecks;
123
+ projectRootWritability: ProjectRootWritability;
124
+ routerPatchability: RouterPatchability;
125
+ appProvidersShim: AppProvidersShimCheck;
126
+ collisions: CollisionDiagnostics;
127
+ recordedInstallState: RecordedInstallState;
128
+ blocksFilePresence: BlocksFilePresenceCheck[];
129
+ };
43
130
  warnings: string[];
44
131
  errors: string[];
45
132
  }
46
133
  export declare function doctor(options?: DoctorOptions): Promise<DoctorResult>;
134
+ export declare function formatDoctorResult(result: DoctorResult): string[];
47
135
  export {};
48
136
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAgBA,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;AAyB9C,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,cAAc,EAAE;QACd,EAAE,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC;QACtD,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,cAAc,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,UAAU,YAAY;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA4ID,wBAAsB,MAAM,CAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA8FvB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,79 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.doctor = doctor;
7
+ exports.formatDoctorResult = formatDoctorResult;
7
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
8
9
  const path_1 = __importDefault(require("path"));
9
10
  const file_operations_1 = require("../utils/file-operations");
10
11
  const package_manager_1 = require("../utils/package-manager");
11
12
  const yarn_pnp_1 = require("../utils/yarn-pnp");
13
+ const installation_tracker_1 = require("../utils/installation-tracker");
14
+ const TEMPLATE_SLUGS = [
15
+ "productlaunch",
16
+ "saasdashboard",
17
+ "digitalagency",
18
+ "gallery",
19
+ ];
20
+ const COLLISION_CANDIDATES = {
21
+ src: [
22
+ "src/components/app-providers.tsx",
23
+ "src/components/ui",
24
+ "src/components/sections",
25
+ "src/app/globals.css",
26
+ "src/app/tw-animate.css",
27
+ "src/lib/utils.ts",
28
+ "src/app/layout.tsx",
29
+ "src/pages/_app.tsx",
30
+ "src/pages/_document.tsx",
31
+ ],
32
+ root: [
33
+ "components/app-providers.tsx",
34
+ "components/ui",
35
+ "components/sections",
36
+ "app/globals.css",
37
+ "app/tw-animate.css",
38
+ "lib/utils.ts",
39
+ "app/layout.tsx",
40
+ "pages/_app.tsx",
41
+ "pages/_document.tsx",
42
+ ],
43
+ };
44
+ function hasTailwindDependency(pkg) {
45
+ return Boolean(pkg.dependencies?.tailwindcss || pkg.devDependencies?.tailwindcss);
46
+ }
47
+ function hasTypeScriptDependency(pkg) {
48
+ return Boolean(pkg.dependencies?.typescript || pkg.devDependencies?.typescript);
49
+ }
50
+ async function hasTsconfig(cwd) {
51
+ return (0, file_operations_1.fileExists)(path_1.default.join(cwd, "tsconfig.json"));
52
+ }
53
+ async function hasCssBasedTailwindUsage(cwd) {
54
+ const cssCandidates = [
55
+ path_1.default.join(cwd, "app", "globals.css"),
56
+ path_1.default.join(cwd, "src", "app", "globals.css"),
57
+ path_1.default.join(cwd, "styles", "globals.css"),
58
+ path_1.default.join(cwd, "src", "styles", "globals.css"),
59
+ path_1.default.join(cwd, "pages", "_app.tsx"),
60
+ path_1.default.join(cwd, "src", "pages", "_app.tsx"),
61
+ ];
62
+ for (const candidate of cssCandidates) {
63
+ if (!(await (0, file_operations_1.fileExists)(candidate))) {
64
+ continue;
65
+ }
66
+ try {
67
+ const content = await fs_extra_1.default.readFile(candidate, "utf8");
68
+ if (content.includes('@import "tailwindcss"') ||
69
+ content.includes("@import 'tailwindcss'") ||
70
+ content.includes("@theme")) {
71
+ return true;
72
+ }
73
+ }
74
+ catch {
75
+ continue;
76
+ }
77
+ }
78
+ return false;
79
+ }
12
80
  const MIN_MAJOR_NODE_VERSION = 20;
13
81
  const YARN_PNP_MESSAGE = "Set nodeLinker: node-modules in .yarnrc.yml";
14
82
  function createInitialDoctorResult() {
@@ -23,12 +91,63 @@ function createInitialDoctorResult() {
23
91
  environmentChecks: {
24
92
  nodeVersion: { status: "ok", message: "" },
25
93
  packageManager: { pm: "pnpm", installCommand: "" },
26
- yarnPnPDection: {
94
+ yarnPnPDetection: {
27
95
  isPnP: false,
28
96
  message: YARN_PNP_MESSAGE,
29
97
  },
98
+ tailwind: {
99
+ hasTailwindDependency: false,
100
+ hasCssBasedTailwindUsage: false,
101
+ detected: false,
102
+ },
103
+ typescript: {
104
+ hasTsconfig: false,
105
+ hasTypeScriptDependency: false,
106
+ detected: false,
107
+ },
108
+ },
109
+ projectRootWritability: {
110
+ path: "",
111
+ exists: false,
112
+ writable: null,
113
+ },
114
+ appProvidersShim: {
115
+ path: "",
116
+ exists: false,
117
+ target: null,
118
+ targetExists: null,
119
+ targetMatchesRouter: null,
120
+ },
121
+ collisions: {
122
+ paths: [],
123
+ },
124
+ recordedInstallState: {
125
+ installedKits: [],
126
+ },
127
+ blocksFilePresence: [],
128
+ routerPatchability: {
129
+ appLayout: {
130
+ path: "",
131
+ exists: false,
132
+ writable: false,
133
+ writableInfo: { status: "init" },
134
+ hasSuppressHydrationWarning: { status: "init" },
135
+ },
136
+ pagesApp: {
137
+ path: "",
138
+ exists: false,
139
+ writable: false,
140
+ writableInfo: { status: "init" },
141
+ hasSuppressHydrationWarning: { status: "init" },
142
+ },
143
+ pagesDocument: {
144
+ path: "",
145
+ exists: false,
146
+ writable: false,
147
+ writableInfo: { status: "init" },
148
+ hasSuppressHydrationWarning: { status: "init" },
149
+ },
30
150
  },
31
- routerPatchability: {},
32
151
  warnings: [],
33
152
  errors: [],
34
153
  };
@@ -60,7 +179,6 @@ function getNodeVersionCheck() {
60
179
  message: `Node.js ${rawVersion} detected`,
61
180
  };
62
181
  }
63
- // - for A3.
64
182
  function getProjectRootInfo(options) {
65
183
  const { mode, hasAppRouter, hasPagesRouter } = options;
66
184
  if (mode !== "src" && mode !== "root") {
@@ -91,11 +209,10 @@ function getProjectRootInfo(options) {
91
209
  }
92
210
  const rootLabel = mode === "src" ? "with src folder" : "with no src folder";
93
211
  return {
94
- routerType: routerType,
212
+ routerType,
95
213
  projectRootMode: `${routerTypeLabel} ${rootLabel}`,
96
214
  };
97
215
  }
98
- // - For C. Next.js router & entrypoint patchability checks
99
216
  async function fileHasSuppressHydrationWarning(filePath) {
100
217
  try {
101
218
  const fileContent = await fs_extra_1.default.readFile(filePath, "utf8");
@@ -113,52 +230,230 @@ async function fileIsWritable(filePath) {
113
230
  return { status: "writable" };
114
231
  }
115
232
  catch (err) {
116
- if (err.code === "EACCES" || err.code === "EPERM") {
233
+ const errorCode = typeof err === "object" &&
234
+ err !== null &&
235
+ "code" in err &&
236
+ typeof err.code === "string"
237
+ ? err.code
238
+ : null;
239
+ if (errorCode === "EACCES" || errorCode === "EPERM") {
117
240
  return { status: "not-writable" };
118
241
  }
119
- else {
120
- const parentDir = path_1.default.dirname(filePath);
121
- try {
122
- await fs_extra_1.default.access(parentDir, fs_extra_1.default.constants.W_OK);
123
- return { status: "not-found-parent-writable" };
242
+ const parentDir = path_1.default.dirname(filePath);
243
+ try {
244
+ await fs_extra_1.default.access(parentDir, fs_extra_1.default.constants.W_OK);
245
+ return { status: "not-found-parent-writable" };
246
+ }
247
+ catch {
248
+ return { status: "not-found-parent-not-writable" };
249
+ }
250
+ }
251
+ }
252
+ async function directoryIsWritable(directoryPath) {
253
+ try {
254
+ const stats = await fs_extra_1.default.stat(directoryPath);
255
+ if (!stats.isDirectory()) {
256
+ return null;
257
+ }
258
+ await fs_extra_1.default.access(directoryPath, fs_extra_1.default.constants.W_OK);
259
+ return true;
260
+ }
261
+ catch (error) {
262
+ if (typeof error === "object" &&
263
+ error !== null &&
264
+ "code" in error &&
265
+ (error.code === "EACCES" || error.code === "EPERM")) {
266
+ return false;
267
+ }
268
+ return null;
269
+ }
270
+ }
271
+ async function getProjectRootWritability(cwd) {
272
+ const exists = await (0, file_operations_1.fileExists)(cwd);
273
+ if (!exists) {
274
+ return {
275
+ path: cwd,
276
+ exists: false,
277
+ writable: null,
278
+ };
279
+ }
280
+ return {
281
+ path: cwd,
282
+ exists: true,
283
+ writable: await directoryIsWritable(cwd),
284
+ };
285
+ }
286
+ async function getAppProvidersShimDiagnostics(cwd, routerType) {
287
+ const warnings = [];
288
+ const shimCandidates = [
289
+ path_1.default.join(cwd, "components", "app-providers.tsx"),
290
+ path_1.default.join(cwd, "src", "components", "app-providers.tsx"),
291
+ ];
292
+ let shimPath = shimCandidates[0];
293
+ for (const candidate of shimCandidates) {
294
+ if (await (0, file_operations_1.fileExists)(candidate)) {
295
+ shimPath = candidate;
296
+ break;
297
+ }
298
+ }
299
+ const exists = await (0, file_operations_1.fileExists)(shimPath);
300
+ const shim = {
301
+ path: shimPath,
302
+ exists,
303
+ target: null,
304
+ targetExists: null,
305
+ targetMatchesRouter: null,
306
+ };
307
+ if (!exists) {
308
+ return { shim, warnings };
309
+ }
310
+ const content = await fs_extra_1.default.readFile(shimPath, "utf8");
311
+ const match = content.match(/from\s+["']\.\/(app-providers\.(?:app|pages))["']/);
312
+ const target = match?.[1] ?? null;
313
+ shim.target = target;
314
+ if (!target) {
315
+ return { shim, warnings };
316
+ }
317
+ const targetPath = path_1.default.join(path_1.default.dirname(shimPath), `${target}.tsx`);
318
+ shim.targetExists = await (0, file_operations_1.fileExists)(targetPath);
319
+ if (shim.targetExists === false) {
320
+ warnings.push(`app-providers shim target file is missing: ${targetPath}`);
321
+ }
322
+ const expectedTarget = routerType === "app"
323
+ ? "app-providers.app"
324
+ : routerType === "pages"
325
+ ? "app-providers.pages"
326
+ : null;
327
+ shim.targetMatchesRouter = expectedTarget ? expectedTarget === target : null;
328
+ if (expectedTarget && expectedTarget !== target) {
329
+ warnings.push(`app-providers shim target does not match detected ${routerType} router mode: ${shimPath} -> ${target}`);
330
+ }
331
+ return { shim, warnings };
332
+ }
333
+ function getRouterPatchabilityDiagnostics(result) {
334
+ const warnings = [];
335
+ const errors = [];
336
+ const { routerType } = result.projectSanity;
337
+ if (routerType === "app" || routerType === "hybrid") {
338
+ const appLayout = result.routerPatchability.appLayout;
339
+ if (appLayout.exists && appLayout.writableInfo.status === "not-writable") {
340
+ errors.push(`App Router layout is not writable: ${appLayout.path}`);
341
+ }
342
+ if (appLayout.exists &&
343
+ appLayout.hasSuppressHydrationWarning.status === "not-found") {
344
+ warnings.push(`App Router layout is missing suppressHydrationWarning: ${appLayout.path}`);
345
+ }
346
+ }
347
+ if (routerType === "pages" || routerType === "hybrid") {
348
+ const pagesApp = result.routerPatchability.pagesApp;
349
+ const pagesDocument = result.routerPatchability.pagesDocument;
350
+ if (pagesApp.exists && pagesApp.writableInfo.status === "not-writable") {
351
+ errors.push(`Pages Router _app.tsx is not writable: ${pagesApp.path}`);
352
+ }
353
+ if (pagesDocument.exists &&
354
+ pagesDocument.writableInfo.status === "not-writable") {
355
+ errors.push(`Pages Router _document.tsx is not writable: ${pagesDocument.path}`);
356
+ }
357
+ if (pagesDocument.exists &&
358
+ pagesDocument.hasSuppressHydrationWarning.status === "not-found") {
359
+ warnings.push(`Pages Router _document.tsx is missing suppressHydrationWarning: ${pagesDocument.path}`);
360
+ }
361
+ if (!pagesDocument.exists &&
362
+ pagesDocument.writableInfo.status === "not-found-parent-writable") {
363
+ warnings.push(`Pages Router _document.tsx does not exist and will need to be created during install: ${pagesDocument.path}`);
364
+ }
365
+ if (!pagesDocument.exists &&
366
+ pagesDocument.writableInfo.status === "not-found-parent-not-writable") {
367
+ errors.push(`Pages Router _document.tsx does not exist and its parent directory is not writable: ${pagesDocument.path}`);
368
+ }
369
+ }
370
+ return { warnings, errors };
371
+ }
372
+ function collectCollisionChecks(cwd, mode, routerType) {
373
+ const candidates = [...COLLISION_CANDIDATES[mode]];
374
+ for (const slug of TEMPLATE_SLUGS) {
375
+ if (routerType === "pages" || routerType === "hybrid") {
376
+ if (mode === "src") {
377
+ candidates.push(`src/pages/templates/${slug}/index.tsx`);
378
+ candidates.push(`src/components/templates/${slug}`);
379
+ }
380
+ else {
381
+ candidates.push(`pages/templates/${slug}/index.tsx`);
382
+ candidates.push(`components/templates/${slug}`);
383
+ }
384
+ }
385
+ if (routerType === "app" || routerType === "hybrid") {
386
+ if (mode === "src") {
387
+ candidates.push(`src/app/templates/${slug}/page.tsx`);
388
+ candidates.push(`src/app/templates/${slug}`);
124
389
  }
125
- catch {
126
- return { status: "not-found-parent-not-writable" };
390
+ else {
391
+ candidates.push(`app/templates/${slug}/page.tsx`);
392
+ candidates.push(`app/templates/${slug}`);
127
393
  }
128
394
  }
129
395
  }
396
+ return candidates.map((relativePath) => ({
397
+ path: path_1.default.join(cwd, relativePath),
398
+ exists: false,
399
+ }));
400
+ }
401
+ async function getCollisionDiagnostics(cwd, mode, routerType) {
402
+ const paths = collectCollisionChecks(cwd, mode, routerType);
403
+ for (const entry of paths) {
404
+ entry.exists = await (0, file_operations_1.fileExists)(entry.path);
405
+ }
406
+ return { paths };
407
+ }
408
+ async function getRecordedInstallState() {
409
+ const config = await (0, installation_tracker_1.getNextworksConfig)();
410
+ return {
411
+ installedKits: config.installedKits.map((kit) => ({
412
+ name: kit.name,
413
+ dependencies: [...kit.dependencies],
414
+ devDependencies: [...kit.devDependencies],
415
+ files: [...kit.files],
416
+ installedAt: kit.installedAt,
417
+ })),
418
+ };
419
+ }
420
+ function getBlocksInstalledFileChecks(cwd, manifest, recordedInstallState) {
421
+ const installedBlocksKit = recordedInstallState.installedKits.find((kit) => kit.name === manifest.name);
422
+ if (!installedBlocksKit) {
423
+ return [];
424
+ }
425
+ return installedBlocksKit.files.map((relativePath) => ({
426
+ path: path_1.default.join(cwd, relativePath),
427
+ exists: false,
428
+ required: true,
429
+ }));
130
430
  }
131
431
  async function doctor(options = {}) {
132
432
  const cwd = process.cwd();
133
- // # Initialize results
134
- // ! in yarnPnPDection, the message is hardcoded to tell users what to do in case of YarnPnP:
135
- // ! in the part of index.ts, that takes care of formatting & printing results from doctor,
136
- // ! there should be logic, that only print this message if it is indeed a YarnPNP situation.
137
433
  const result = createInitialDoctorResult();
138
- // - Read manifest
139
- const kitDir = (0, file_operations_1.resolveAssetPath)("kits", "blocks");
140
434
  const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "blocks_manifest.json");
141
- const manifest = (await (0, file_operations_1.readJsonFile)(manifestPath));
142
- // - A - PROJECT SANITY
143
- //
144
- // - A 1. Check that current working directory has a package.json.
145
435
  const packageJsonPath = getPackageJsonPath(cwd);
146
436
  const hasPackageJson = await (0, file_operations_1.fileExists)(packageJsonPath);
147
437
  result.projectSanity.hasPackageJson = hasPackageJson;
148
- // - A 2. Detect Next.js presence
438
+ if (!hasPackageJson) {
439
+ result.errors.push("package.json not found. Run nextworks from a Next.js project root.");
440
+ }
441
+ let packageJson = null;
149
442
  if (hasPackageJson) {
150
- const pkg = await readPackageJson(cwd);
151
- result.projectSanity.hasNext = !!(pkg.dependencies?.next || pkg.devDependencies?.next);
443
+ const pkg = (await readPackageJson(cwd));
444
+ packageJson = pkg;
445
+ result.projectSanity.hasNext = Boolean(pkg.dependencies?.next || pkg.devDependencies?.next);
446
+ if (!result.projectSanity.hasNext) {
447
+ result.errors.push('Next.js dependency "next" not found in dependencies or devDependencies.');
448
+ }
152
449
  }
153
- // - ---------------------------------------------------------
154
- // - A3. Detect projectRootMode
450
+ const manifest = (await (0, file_operations_1.readJsonFile)(manifestPath));
155
451
  const mode = await (0, file_operations_1.detectProjectRootMode)(cwd);
156
452
  result.projectSanity.projectRoot = mode;
157
453
  const detectedLayoutPath = mode === "src" ? "src/app/layout.tsx" : "app/layout.tsx";
158
454
  const detectedPagesAppPath = mode === "src" ? "src/pages/_app.tsx" : "pages/_app.tsx";
159
455
  const appRouterLayoutExists = await (0, file_operations_1.fileExists)(detectedLayoutPath);
160
456
  const pagesRouterAppExists = await (0, file_operations_1.fileExists)(detectedPagesAppPath);
161
- // - -------------------------------------------
162
457
  const { routerType, projectRootMode } = getProjectRootInfo({
163
458
  mode,
164
459
  hasAppRouter: appRouterLayoutExists,
@@ -171,27 +466,231 @@ async function doctor(options = {}) {
171
466
  result.projectSanity.projectRootMode = projectRootMode;
172
467
  }
173
468
  else {
174
- result.errors.push("Could not detect Next.js router type or project root mode.");
175
- console.log("Could not detect Next.js router type or project root mode.");
469
+ result.errors.push("No supported Next.js router entrypoint found. Expected app/layout.tsx, src/app/layout.tsx, pages/_app.tsx, or src/pages/_app.tsx.");
176
470
  }
177
- // - B - RUNTIME/TOOLING ENVIRONMENT CHECKS
178
- // - B 1. Node version.
179
471
  result.environmentChecks.nodeVersion = getNodeVersionCheck();
180
- // - B 2. Package Manager Detection
472
+ if (result.environmentChecks.nodeVersion.status === "error") {
473
+ result.errors.push(result.environmentChecks.nodeVersion.message);
474
+ }
181
475
  const detectedPM = await (0, package_manager_1.detectPackageManager)(cwd);
182
476
  const installCmd = (0, package_manager_1.getInstallCommand)(detectedPM);
183
477
  result.environmentChecks.packageManager.pm = detectedPM;
184
478
  result.environmentChecks.packageManager.installCommand = installCmd;
185
- // - B3. Yarn Plug'n'Play (PnP) detection
186
479
  const isYarnPnP = await (0, yarn_pnp_1.isYarnPnPProject)(cwd);
187
- result.environmentChecks.yarnPnPDection.isPnP = isYarnPnP;
188
- // - -------------------------------------------------------------------
189
- // # C- Next.js router & entrypoint patchability checks
190
- // - C 1.
191
- // - Call helper functions and do property assignment in results.
192
- // fileHasSuppressHydrationWarning(filePath: string);
193
- // fileIsWritable(filePath: string)
194
- // - -------------------------------------------------------------------
480
+ result.environmentChecks.yarnPnPDetection.isPnP = isYarnPnP;
481
+ if (isYarnPnP) {
482
+ result.warnings.push(`Yarn Plug'n'Play detected. ${result.environmentChecks.yarnPnPDetection.message}`);
483
+ }
484
+ if (packageJson) {
485
+ result.environmentChecks.tailwind.hasTailwindDependency =
486
+ hasTailwindDependency(packageJson);
487
+ result.environmentChecks.typescript.hasTypeScriptDependency =
488
+ hasTypeScriptDependency(packageJson);
489
+ }
490
+ result.environmentChecks.tailwind.hasCssBasedTailwindUsage =
491
+ await hasCssBasedTailwindUsage(cwd);
492
+ result.environmentChecks.tailwind.detected =
493
+ result.environmentChecks.tailwind.hasTailwindDependency ||
494
+ result.environmentChecks.tailwind.hasCssBasedTailwindUsage;
495
+ if (!result.environmentChecks.tailwind.detected) {
496
+ result.warnings.push('Tailwind CSS was not detected. Blocks requires Tailwind CSS v4-style setup via a `tailwindcss` dependency or CSS imports such as `@import "tailwindcss"`.');
497
+ }
498
+ result.environmentChecks.typescript.hasTsconfig = await hasTsconfig(cwd);
499
+ result.environmentChecks.typescript.detected =
500
+ result.environmentChecks.typescript.hasTsconfig ||
501
+ result.environmentChecks.typescript.hasTypeScriptDependency;
502
+ if (!result.environmentChecks.typescript.detected) {
503
+ result.errors.push("TypeScript was not detected. Blocks requires a `tsconfig.json` file or a `typescript` dependency in dependencies or devDependencies.");
504
+ }
505
+ result.projectRootWritability = await getProjectRootWritability(cwd);
506
+ if (!result.projectRootWritability.exists) {
507
+ result.errors.push(`Project root does not exist: ${result.projectRootWritability.path}`);
508
+ }
509
+ else if (result.projectRootWritability.writable === false) {
510
+ result.errors.push(`Project root is not writable: ${result.projectRootWritability.path}`);
511
+ }
512
+ if (result.projectSanity.routerType === "app" ||
513
+ result.projectSanity.routerType === "hybrid") {
514
+ let layoutFilePath = "";
515
+ if (result.projectSanity.projectRoot === "src") {
516
+ layoutFilePath = path_1.default.join(process.cwd(), "src", "app", "layout.tsx");
517
+ }
518
+ else {
519
+ layoutFilePath = path_1.default.join(process.cwd(), "app", "layout.tsx");
520
+ }
521
+ result.routerPatchability.appLayout.path = layoutFilePath;
522
+ const layoutExists = await (0, file_operations_1.fileExists)(layoutFilePath);
523
+ result.routerPatchability.appLayout.exists = layoutExists;
524
+ const writableInfo = await fileIsWritable(layoutFilePath);
525
+ result.routerPatchability.appLayout.writableInfo = writableInfo;
526
+ const writableStatus = writableInfo.status;
527
+ if (writableStatus === "writable") {
528
+ result.routerPatchability.appLayout.writable = true;
529
+ }
530
+ else if (writableStatus === "not-writable") {
531
+ result.routerPatchability.appLayout.writable = false;
532
+ }
533
+ else {
534
+ result.routerPatchability.appLayout.writable = null;
535
+ }
536
+ const hasHydrationWarning = await fileHasSuppressHydrationWarning(layoutFilePath);
537
+ result.routerPatchability.appLayout.hasSuppressHydrationWarning =
538
+ hasHydrationWarning;
539
+ }
540
+ if (result.projectSanity.routerType === "pages" ||
541
+ result.projectSanity.routerType === "hybrid") {
542
+ let _appFilePath = "";
543
+ if (result.projectSanity.projectRoot === "src") {
544
+ _appFilePath = path_1.default.join(process.cwd(), "src", "pages", "_app.tsx");
545
+ }
546
+ else {
547
+ _appFilePath = path_1.default.join(process.cwd(), "pages", "_app.tsx");
548
+ }
549
+ result.routerPatchability.pagesApp.path = _appFilePath;
550
+ const _appExists = await (0, file_operations_1.fileExists)(_appFilePath);
551
+ result.routerPatchability.pagesApp.exists = _appExists;
552
+ const appWritableInfo = await fileIsWritable(_appFilePath);
553
+ result.routerPatchability.pagesApp.writableInfo = appWritableInfo;
554
+ const appWritableStatus = appWritableInfo.status;
555
+ if (appWritableStatus === "writable") {
556
+ result.routerPatchability.pagesApp.writable = true;
557
+ }
558
+ else if (appWritableStatus === "not-writable") {
559
+ result.routerPatchability.pagesApp.writable = false;
560
+ }
561
+ else {
562
+ result.routerPatchability.pagesApp.writable = null;
563
+ }
564
+ let _documentFilePath = "";
565
+ if (result.projectSanity.projectRoot === "src") {
566
+ _documentFilePath = path_1.default.join(process.cwd(), "src", "pages", "_document.tsx");
567
+ }
568
+ else {
569
+ _documentFilePath = path_1.default.join(process.cwd(), "pages", "_document.tsx");
570
+ }
571
+ result.routerPatchability.pagesDocument.path = _documentFilePath;
572
+ const _documentExists = await (0, file_operations_1.fileExists)(_documentFilePath);
573
+ result.routerPatchability.pagesDocument.exists = _documentExists;
574
+ const documentWritableInfo = await fileIsWritable(_documentFilePath);
575
+ result.routerPatchability.pagesDocument.writableInfo = documentWritableInfo;
576
+ const documentWritableStatus = documentWritableInfo.status;
577
+ if (documentWritableStatus === "writable") {
578
+ result.routerPatchability.pagesDocument.writable = true;
579
+ }
580
+ else if (documentWritableStatus === "not-writable") {
581
+ result.routerPatchability.pagesDocument.writable = false;
582
+ }
583
+ else {
584
+ result.routerPatchability.pagesDocument.writable = null;
585
+ }
586
+ const hasHydrationWarning = await fileHasSuppressHydrationWarning(_documentFilePath);
587
+ result.routerPatchability.pagesDocument.hasSuppressHydrationWarning =
588
+ hasHydrationWarning;
589
+ }
590
+ const shimDiagnostics = await getAppProvidersShimDiagnostics(cwd, result.projectSanity.routerType);
591
+ result.appProvidersShim = shimDiagnostics.shim;
592
+ result.warnings.push(...shimDiagnostics.warnings);
593
+ result.collisions = await getCollisionDiagnostics(cwd, mode ?? "root", result.projectSanity.routerType);
594
+ result.warnings.push(...result.collisions.paths
595
+ .filter((entry) => entry.exists)
596
+ .map((entry) => `Install collision detected: ${entry.path}`));
597
+ result.recordedInstallState = await getRecordedInstallState();
598
+ if (result.recordedInstallState.installedKits.length === 0) {
599
+ result.warnings.push("No recorded installed kits found in .nextworks/config.json.");
600
+ }
601
+ result.blocksFilePresence = getBlocksInstalledFileChecks(cwd, manifest, result.recordedInstallState);
602
+ for (const entry of result.blocksFilePresence) {
603
+ entry.exists = await (0, file_operations_1.fileExists)(entry.path);
604
+ if (!entry.exists) {
605
+ result.warnings.push(`Recorded Blocks install is missing expected file: ${entry.path}`);
606
+ }
607
+ }
608
+ const diagnostics = getRouterPatchabilityDiagnostics(result);
609
+ result.warnings.push(...diagnostics.warnings);
610
+ result.errors.push(...diagnostics.errors);
195
611
  return result;
196
612
  }
613
+ function formatDoctorResult(result) {
614
+ const lines = ["Doctor diagnostics"];
615
+ const iconFor = (status) => status === "ok" ? "✅" : status === "warning" ? "⚠️" : "❌";
616
+ lines.push("\nEnvironment");
617
+ lines.push(` ${iconFor(result.environmentChecks.nodeVersion.status)} ${result.environmentChecks.nodeVersion.message}`);
618
+ lines.push(` ✅ Package manager detected: ${result.environmentChecks.packageManager.pm} (${result.environmentChecks.packageManager.installCommand})`);
619
+ lines.push(` ${result.environmentChecks.yarnPnPDetection.isPnP ? "⚠️" : "✅"} Yarn Plug'n'Play ${result.environmentChecks.yarnPnPDetection.isPnP ? "detected" : "not detected"}`);
620
+ if (result.environmentChecks.yarnPnPDetection.isPnP)
621
+ lines.push(` ⚠️ ${result.environmentChecks.yarnPnPDetection.message}`);
622
+ lines.push("\nProject detection");
623
+ lines.push(` ${result.projectSanity.hasPackageJson ? "✅" : "❌"} package.json ${result.projectSanity.hasPackageJson ? "found" : "not found"}`);
624
+ lines.push(` ${result.projectSanity.hasNext ? "✅" : "❌"} Next.js dependency ${result.projectSanity.hasNext ? "found" : "not found"}`);
625
+ lines.push(` ${result.projectSanity.projectRoot ? "✅" : "❌"} Project root mode: ${result.projectSanity.projectRoot ?? "not detected"}`);
626
+ lines.push(` ${result.projectSanity.routerType ? "✅" : "❌"} Router type: ${result.projectSanity.routerType ?? "not detected"}`);
627
+ if (result.projectSanity.projectRootMode)
628
+ lines.push(` ✅ ${result.projectSanity.projectRootMode}`);
629
+ lines.push("\nRouter / patch targets");
630
+ if (result.projectSanity.routerType === "app" ||
631
+ result.projectSanity.routerType === "hybrid") {
632
+ lines.push(` ${result.routerPatchability.appLayout.exists ? "✅" : "⚠️"} app/layout.tsx: ${result.routerPatchability.appLayout.path}`);
633
+ lines.push(` ${result.routerPatchability.appLayout.exists ? (result.routerPatchability.appLayout.writableInfo.status === "not-writable" ? "❌" : "✅") : "⚠️"} Writable: ${String(result.routerPatchability.appLayout.writable)}`);
634
+ lines.push(` ${result.routerPatchability.appLayout.hasSuppressHydrationWarning.status === "found" ? "✅" : "⚠️"} suppressHydrationWarning: ${result.routerPatchability.appLayout.hasSuppressHydrationWarning.status}`);
635
+ }
636
+ if (result.projectSanity.routerType === "pages" ||
637
+ result.projectSanity.routerType === "hybrid") {
638
+ lines.push(` ${result.routerPatchability.pagesApp.exists ? "✅" : "⚠️"} pages/_app.tsx: ${result.routerPatchability.pagesApp.path}`);
639
+ lines.push(` ${result.routerPatchability.pagesApp.exists ? (result.routerPatchability.pagesApp.writableInfo.status === "not-writable" ? "❌" : "✅") : "⚠️"} Writable: ${String(result.routerPatchability.pagesApp.writable)}`);
640
+ lines.push(` ${result.routerPatchability.pagesDocument.exists ? "✅" : "⚠️"} pages/_document.tsx: ${result.routerPatchability.pagesDocument.path}`);
641
+ lines.push(` ${result.routerPatchability.pagesDocument.exists ? (result.routerPatchability.pagesDocument.writableInfo.status === "not-writable" || result.routerPatchability.pagesDocument.writableInfo.status === "not-found-parent-not-writable" ? "❌" : "✅") : "⚠️"} Writable: ${String(result.routerPatchability.pagesDocument.writable)}`);
642
+ lines.push(` ${result.routerPatchability.pagesDocument.hasSuppressHydrationWarning.status === "found" ? "✅" : "⚠️"} suppressHydrationWarning: ${result.routerPatchability.pagesDocument.hasSuppressHydrationWarning.status}`);
643
+ lines.push(` ${result.appProvidersShim.exists ? (result.appProvidersShim.targetMatchesRouter === false || result.appProvidersShim.targetExists === false ? "⚠️" : "✅") : "⚠️"} components/app-providers.tsx: ${result.appProvidersShim.path}`);
644
+ }
645
+ lines.push("\nKit prerequisites");
646
+ lines.push(` ${result.environmentChecks.tailwind.detected ? "✅" : "⚠️"} Tailwind CSS ${result.environmentChecks.tailwind.detected ? "detected" : "not detected"}`);
647
+ lines.push(` ${result.environmentChecks.typescript.detected ? "✅" : "❌"} TypeScript ${result.environmentChecks.typescript.detected ? "detected" : "not detected"}`);
648
+ lines.push("\nFilesystem / collisions");
649
+ lines.push(` ${result.projectRootWritability.writable === false ? "❌" : result.projectRootWritability.exists ? "✅" : "❌"} Project root writable: ${String(result.projectRootWritability.writable)}`);
650
+ const existingCollisions = result.collisions.paths.filter((collision) => collision.exists);
651
+ if (existingCollisions.length === 0) {
652
+ lines.push(" ✅ No install collisions detected");
653
+ }
654
+ else {
655
+ for (const entry of existingCollisions) {
656
+ lines.push(` ⚠️ Collision: ${entry.path}`);
657
+ }
658
+ }
659
+ lines.push("\nInstalled state");
660
+ if (result.recordedInstallState.installedKits.length === 0) {
661
+ lines.push(" ⚠️ No recorded installed kits found");
662
+ }
663
+ else {
664
+ for (const kit of result.recordedInstallState.installedKits) {
665
+ lines.push(` ✅ Recorded kit: ${kit.name}`);
666
+ }
667
+ }
668
+ const missingRecordedFiles = result.blocksFilePresence.filter((file) => !file.exists);
669
+ if (missingRecordedFiles.length > 0) {
670
+ for (const entry of missingRecordedFiles) {
671
+ lines.push(` ⚠️ Missing recorded file: ${entry.path}`);
672
+ }
673
+ }
674
+ lines.push("\nRecommendation");
675
+ if (result.errors.length === 0) {
676
+ lines.push(" ✅ Recommended next step: nextworks add blocks");
677
+ }
678
+ else {
679
+ const priorityError = result.errors[0];
680
+ lines.push(` ❌ Fix blocking issues before install: ${priorityError}`);
681
+ }
682
+ if (result.warnings.length) {
683
+ lines.push("\nWarnings");
684
+ for (const warning of result.warnings) {
685
+ lines.push(` ⚠️ ${warning}`);
686
+ }
687
+ }
688
+ if (result.errors.length) {
689
+ lines.push("\nErrors");
690
+ for (const error of result.errors) {
691
+ lines.push(` ❌ ${error}`);
692
+ }
693
+ }
694
+ return lines;
695
+ }
197
696
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;AA8sBA,wBAkRC;AAED,gDAuIC;AAzmCD,wDAA0B;AAE1B,gDAAwB;AAExB,8DAKkC;AAClC,8DAGkC;AAClC,gDAAqD;AACrD,wEAAmE;AAwGnE,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,eAAe;IACf,eAAe;IACf,SAAS;CACD,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,GAAG,EAAE;QACH,kCAAkC;QAClC,mBAAmB;QACnB,yBAAyB;QACzB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,yBAAyB;KAC1B;IACD,IAAI,EAAE;QACJ,8BAA8B;QAC9B,eAAe;QACf,qBAAqB;QACrB,iBAAiB;QACjB,oBAAoB;QACpB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;KACtB;CACO,CAAC;AAsDX,SAAS,qBAAqB,CAAC,GAAoB;IACjD,OAAO,OAAO,CACZ,GAAG,CAAC,YAAY,EAAE,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE,WAAW,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAoB;IACnD,OAAO,OAAO,CACZ,GAAG,CAAC,YAAY,EAAE,UAAU,IAAI,GAAG,CAAC,eAAe,EAAE,UAAU,CAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,OAAO,IAAA,4BAAU,EAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACjD,MAAM,aAAa,GAAG;QACpB,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC;QACpC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC;QAC3C,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC;QACvC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC9C,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC;QACnC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;KAC3C,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,IAAA,4BAAU,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnC,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAErD,IACE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE,SAAS,yBAAyB;IAChC,OAAO;QACL,aAAa,EAAE;YACb,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,iBAAiB,EAAE;YACjB,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;YAClD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,gBAAgB;aAC1B;YACD,QAAQ,EAAE;gBACR,qBAAqB,EAAE,KAAK;gBAC5B,wBAAwB,EAAE,KAAK;gBAC/B,QAAQ,EAAE,KAAK;aAChB;YACD,UAAU,EAAE;gBACV,WAAW,EAAE,KAAK;gBAClB,uBAAuB,EAAE,KAAK;gBAC9B,QAAQ,EAAE,KAAK;aAChB;SACF;QAED,sBAAsB,EAAE;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;SACf;QAED,gBAAgB,EAAE;YAChB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI;SAC1B;QACD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE;SACV;QACD,oBAAoB,EAAE;YACpB,aAAa,EAAE,EAAE;SAClB;QACD,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE;YAClB,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;gBAChC,2BAA2B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAChD;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;gBAChC,2BAA2B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAChD;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;gBAChC,2BAA2B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAChD;SACF;QACD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,OAAO,kBAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,kDAAkD,UAAU,GAAG;SACzE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC;QACnC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,WAAW,UAAU,6CAA6C,sBAAsB,EAAE;SACpG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,WAAW,UAAU,WAAW;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAI3B;IAIC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEvD,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAE1C,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACnC,UAAU,GAAG,QAAQ,CAAC;QACtB,eAAe,GAAG,eAAe,CAAC;IACpC,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,UAAU,GAAG,KAAK,CAAC;QACnB,eAAe,GAAG,YAAY,CAAC;IACjC,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,UAAU,GAAG,OAAO,CAAC;QACrB,eAAe,GAAG,cAAc,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC5E,OAAO;QACL,UAAU;QACV,eAAe,EAAE,GAAG,eAAe,IAAI,SAAS,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExD,OAAO,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACrD,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;YACrB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,SAAS,GACb,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACZ,MAAM,IAAI,GAAG;YACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,CAAC,GAAG,CAAC,IAAI;YACV,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACpD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,aAAqB;IAErB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,kBAAE,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EACnD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAU,EAAC,GAAG,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,MAAM,mBAAmB,CAAC,GAAG,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,GAAW,EACX,UAAuD;IAEvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG;QACrB,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,mBAAmB,CAAC;QACjD,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,CAAC;KACzD,CAAC;IACF,IAAI,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAEjC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,IAAI,MAAM,IAAA,4BAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAChC,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAU,EAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,IAAI,GAA0B;QAClC,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,mDAAmD,CACpD,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAErB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,GAAG,MAAM,IAAA,4BAAU,EAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,cAAc,GAClB,UAAU,KAAK,KAAK;QAClB,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,UAAU,KAAK,OAAO;YACtB,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,IAAI,cAAc,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CACX,qDAAqD,UAAU,iBAAiB,QAAQ,OAAO,MAAM,EAAE,CACxG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAoB;IAI5D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;IAE5C,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAEtD,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IACE,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,2BAA2B,CAAC,MAAM,KAAK,WAAW,EAC5D,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,0DAA0D,SAAS,CAAC,IAAI,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC;QAE9D,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,0CAA0C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IACE,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,EACpD,CAAC;YACD,MAAM,CAAC,IAAI,CACT,+CAA+C,aAAa,CAAC,IAAI,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IACE,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,2BAA2B,CAAC,MAAM,KAAK,WAAW,EAChE,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,mEAAmE,aAAa,CAAC,IAAI,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,IACE,CAAC,aAAa,CAAC,MAAM;YACrB,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,2BAA2B,EACjE,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,yFAAyF,aAAa,CAAC,IAAI,EAAE,CAC9G,CAAC;QACJ,CAAC;QAED,IACE,CAAC,aAAa,CAAC,MAAM;YACrB,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,+BAA+B,EACrE,CAAC;YACD,MAAM,CAAC,IAAI,CACT,uFAAuF,aAAa,CAAC,IAAI,EAAE,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAW,EACX,IAAoB,EACpB,UAAuD;IAEvD,MAAM,UAAU,GAAG,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YACtD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,uBAAuB,IAAI,YAAqB,CAAC,CAAC;gBAClE,UAAU,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,mBAAmB,IAAI,YAAqB,CAAC,CAAC;gBAC9D,UAAU,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAW,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,qBAAqB,IAAI,WAAoB,CAAC,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAW,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,iBAAiB,IAAI,WAAoB,CAAC,CAAC;gBAC3D,UAAU,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAW,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;QAClC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,GAAW,EACX,IAAoB,EACpB,UAAuD;IAEvD,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,uBAAuB;IACpC,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAkB,GAAE,CAAC;IAE1C,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;YACnC,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC;YACzC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACrB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAW,EACX,QAAwB,EACxB,oBAA0C;IAE1C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAChE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CACpC,CAAC;IAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;QAClC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAEM,KAAK,UAAU,MAAM,CAC1B,UAAyB,EAAE;IAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,kCAAgB,EACnC,eAAe,EACf,sBAAsB,CACvB,CAAC;IAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAU,EAAC,eAAe,CAAC,CAAC;IACzD,MAAM,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC;IAErD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAA2B,IAAI,CAAC;IAE/C,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAoB,CAAC;QAC5D,WAAW,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,CACpC,GAAG,CAAC,YAAY,EAAE,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CACpD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,yEAAyE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,8BAAY,EAAC,YAAY,CAAC,CAAmB,CAAC;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;IAExC,MAAM,kBAAkB,GACtB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC3D,MAAM,oBAAoB,GACxB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE3D,MAAM,qBAAqB,GAAG,MAAM,IAAA,4BAAU,EAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,oBAAoB,GAAG,MAAM,IAAA,4BAAU,EAAC,oBAAoB,CAAC,CAAC;IAEpE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC;QACzD,IAAI;QACJ,YAAY,EAAE,qBAAqB;QACnC,cAAc,EAAE,oBAAoB;KACrC,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/C,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,mIAAmI,CACpI,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC7D,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,sCAAoB,EAAC,GAAG,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAA,mCAAiB,EAAC,UAAU,CAAC,CAAC;IACjD,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,GAAG,UAAU,CAAC;IACxD,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,GAAG,UAAU,CAAC;IAEpE,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC;IAC5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,8BAA8B,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB;YACrD,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,uBAAuB;YACzD,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,wBAAwB;QACxD,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ;QACxC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB;YACvD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,2JAA2J,CAC5J,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ;QAC1C,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW;YAC/C,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,CAAC;IAE9D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,sIAAsI,CACvI,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,sBAAsB,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,gCAAgC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,CACrE,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,iCAAiC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,IACE,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,KAAK;QACzC,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ,EAC5C,CAAC;QACD,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/C,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,GAAG,cAAc,CAAC;QAE1D,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAU,EAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;QAE1D,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;QAEhE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;QAC3C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtD,CAAC;aAAM,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YAC7C,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtD,CAAC;QAED,MAAM,mBAAmB,GACvB,MAAM,+BAA+B,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,2BAA2B;YAC7D,mBAAmB,CAAC;IACxB,CAAC;IAED,IACE,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,OAAO;QAC3C,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ,EAC5C,CAAC;QACD,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/C,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;QAEvD,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAU,EAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;QAEvD,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,GAAG,eAAe,CAAC;QAElE,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC;QACjD,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrD,CAAC;aAAM,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;YAChD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrD,CAAC;QAED,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/C,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAC3B,OAAO,CAAC,GAAG,EAAE,EACb,KAAK,EACL,OAAO,EACP,eAAe,CAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAEjE,MAAM,eAAe,GAAG,MAAM,IAAA,4BAAU,EAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC;QAEjE,MAAM,oBAAoB,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACrE,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,YAAY,GAAG,oBAAoB,CAAC;QAE5E,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC3D,IAAI,sBAAsB,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1D,CAAC;aAAM,IAAI,sBAAsB,KAAK,cAAc,EAAE,CAAC;YACrD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1D,CAAC;QAED,MAAM,mBAAmB,GACvB,MAAM,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,2BAA2B;YACjE,mBAAmB,CAAC;IACxB,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,8BAA8B,CAC1D,GAAG,EACH,MAAM,CAAC,aAAa,CAAC,UAAU,CAChC,CAAC;IACF,MAAM,CAAC,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,GAAG,MAAM,uBAAuB,CAC/C,GAAG,EACH,IAAI,IAAI,MAAM,EACd,MAAM,CAAC,aAAa,CAAC,UAAU,CAChC,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,KAAK,CAAC,IAAI,EAAE,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC9D,IAAI,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,GAAG,4BAA4B,CACtD,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,oBAAoB,CAC5B,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9C,KAAK,CAAC,MAAM,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,qDAAqD,KAAK,CAAC,IAAI,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,EAAE,CACtC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAE5D,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CACR,KAAK,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,CAC5G,CAAC;IACF,KAAK,CAAC,IAAI,CACR,iCAAiC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,GAAG,CAC1I,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CACtK,CAAC;IACF,IAAI,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK;QACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1E,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CACnI,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAC3H,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,MAAM,CAAC,aAAa,CAAC,WAAW,IAAI,cAAc,EAAE,CAC7H,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,MAAM,CAAC,aAAa,CAAC,UAAU,IAAI,cAAc,EAAE,CACrH,CAAC;IACF,IAAI,MAAM,CAAC,aAAa,CAAC,eAAe;QACtC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5D,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,IACE,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,KAAK;QACzC,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ,EAC5C,CAAC;QACD,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAC3H,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACtN,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,8BAA8B,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAC3M,CAAC;IACJ,CAAC;IACD,IACE,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,OAAO;QAC3C,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,QAAQ,EAC5C,CAAC;QACD,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,CACzH,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CACnN,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,yBAAyB,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,CACxI,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,IAAI,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,KAAK,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CACrU,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,2BAA2B,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,8BAA8B,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,2BAA2B,CAAC,MAAM,EAAE,CACnN,CAAC;QACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,KAAK,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,kCAAkC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CACpO,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,iBAAiB,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CACxJ,CAAC;IACF,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CACzJ,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,sBAAsB,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,2BAA2B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAC1L,CAAC;IACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CACvD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAChC,CAAC;IACF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,oBAAoB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAC3D,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CACvB,CAAC;IACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,2CAA2C,aAAa,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/index.js CHANGED
@@ -15,7 +15,6 @@ const remove_blocks_1 = require("./commands/remove-blocks");
15
15
  const installation_tracker_1 = require("./utils/installation-tracker");
16
16
  const package_manager_1 = require("./utils/package-manager");
17
17
  const yarn_pnp_1 = require("./utils/yarn-pnp");
18
- const console_1 = require("console");
19
18
  const program = new commander_1.Command();
20
19
  const cliVersion = (() => {
21
20
  try {
@@ -35,16 +34,39 @@ program
35
34
  program
36
35
  .command("doctor")
37
36
  .description("Diagnostics - is project is compatible with nextworks?")
38
- .option("--json", "Outputs in json.")
39
37
  .option("--fix", "Fixes project")
38
+ .option("--json", "Output structured machine-readable JSON")
40
39
  .option("--kit <kit>", "Check for projects compatibility with installation of specific nextworks kit.")
41
40
  .action(async (options) => {
42
41
  try {
43
42
  const result = await (0, doctor_1.doctor)(options);
44
- console.log(result);
43
+ const hasErrors = result.errors.length > 0;
44
+ if (options.json) {
45
+ const output = {
46
+ status: hasErrors ? "error" : "ok",
47
+ results: {
48
+ projectSanity: result.projectSanity,
49
+ environmentChecks: result.environmentChecks,
50
+ projectRootWritability: result.projectRootWritability,
51
+ routerPatchability: result.routerPatchability,
52
+ appProvidersShim: result.appProvidersShim,
53
+ collisions: result.collisions,
54
+ recordedInstallState: result.recordedInstallState,
55
+ blocksFilePresence: result.blocksFilePresence,
56
+ },
57
+ warnings: result.warnings,
58
+ errors: result.errors,
59
+ };
60
+ console.log(JSON.stringify(output, null, 2));
61
+ process.exit(hasErrors ? 1 : 0);
62
+ }
63
+ for (const line of (0, doctor_1.formatDoctorResult)(result)) {
64
+ console.log(line);
65
+ }
66
+ process.exit(hasErrors ? 1 : 0);
45
67
  }
46
- catch {
47
- throw console_1.error;
68
+ catch (error) {
69
+ throw error;
48
70
  }
49
71
  });
50
72
  program
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,kCAAkC;AAClC,+BAA+B;;;;;AAE/B,yCAAoC;AACpC,4CAAoB;AACpB,gDAAwB;AACxB,8CAA2C;AAC3C,8CAA8C;AAC9C,4DAAwD;AACxD,uEAAgE;AAChE,6DAIiC;AACjC,+CAG0B;AAC1B,qCAAgC;AAEhC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;IACvB,IAAI,CAAC;QACH,wDAAwD;QACxD,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KACpC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;KAChC,MAAM,CACL,aAAa,EACb,+EAA+E,CAChF;KACA,MAAM,CAAC,KAAK,EAAE,OAAwD,EAAE,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,eAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CACL,YAAY,EACZ,wDAAwD,CACzD;KACA,MAAM,CACL,aAAa,EACb,uFAAuF,CACxF;KACA,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;KAC1D,MAAM,CACL,WAAW,EACX,yDAAyD,CAC1D;KACA,MAAM,CACL,WAAW,EACX,6DAA6D,CAC9D;KACA,MAAM,CACL,WAAW,EACX,sEAAsE,CACvE;KACA,MAAM,CACL,WAAW,EACX,kEAAkE,CACnE;KACA,MAAM,CACL,KAAK,EACH,GAAW,EACX,OAQC,EACD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,QAAQ,IAAI,CAAC,IAAA,kCAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,+EAA+E;QAC/E,mDAAmD;QACnD,MAAM,aAAa,GAChB,QAAuC;YACxC,CAAC,MAAM,IAAA,sCAAoB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,IACE,aAAa,KAAK,MAAM;YACxB,CAAC,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EACvC,CAAC;YACD,yEAAyE;YACzE,IAAI,QAAQ,GAAQ,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,QAAQ,CACvC,2BAA2B,CAC5B,EAAE,CAAC;oBACJ,QAAQ;wBACN,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG;gBAC9B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CACL,QAAQ;oBACN,CAAC,CAAC,CACE,MAAM,QAAQ,CAAC;wBACb;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EACL,4IAA4I;4BAC9I,OAAO,EAAE,IAAI;yBACd;qBACF,CAAC,CACH,CAAC,MAAM;oBACV,CAAC,CAAC,KAAK,CACV,CAAC;YAEN,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,MAAM,IAAA,sCAA2B,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,iBAAiB,GAAG,IAAI,CAAC;oBACzB,OAAO,CAAC,GAAG,CACT,aAAa,MAAM,CAAC,QAAQ,4BAA4B,CACzD,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,sEAAsE,CACvE,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,wKAAwK,CACzK,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,MAAM,IAAA,kBAAS,EAAC;oBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,EAAE,EAAE,QAAsC;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBAEH,IAAI,iBAAiB,EAAE,CAAC;oBACtB,iDAAiD;oBACjD,OAAO,CAAC,GAAG,CACT,8GAA8G,CAC/G,CAAC;gBACJ,CAAC;gBAED,MAAM;YACR;gBACE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CACL,WAAW,EACX,sEAAsE,CACvE;KACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,OAAwB,EAAE,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,QAAQ,IAAI,CAAC,IAAA,kCAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,EAAE,QAAsC,EAAE,CAAC,CAAC;gBACnE,MAAM;YACR;gBACE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qBAAqB,CAAC;KAClC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAA,uCAAgB,GAAE,CAAC;QAE/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@
13
13
  "next-themes": "^0.4.6",
14
14
  "motion": "^12.24.10",
15
15
  "sonner": "^2.0.7",
16
- "@nextworks/blocks-core": "0.2.0-alpha.10",
17
- "@nextworks/blocks-sections": "0.2.0-alpha.10",
18
- "@nextworks/blocks-templates": "0.2.0-alpha.10"
16
+ "@nextworks/blocks-core": "0.2.0-alpha.11",
17
+ "@nextworks/blocks-sections": "0.2.0-alpha.11",
18
+ "@nextworks/blocks-templates": "0.2.0-alpha.11"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tailwindcss": "^4.1.12"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextworks",
3
- "version": "0.2.0-alpha.10",
3
+ "version": "0.2.0-alpha.11",
4
4
  "description": "Nextworks CLI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {