@pixelbyte-software/pixcode 1.41.2 → 1.41.4

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.
Files changed (27) hide show
  1. package/dist/assets/index-BC8CXTJj.css +32 -0
  2. package/dist/assets/{index-BC6Knu5B.js → index-CIEN0bZ-.js} +169 -169
  3. package/dist/index.html +2 -2
  4. package/dist-server/server/modules/orchestration/index.js.map +1 -1
  5. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js +1 -0
  6. package/dist-server/server/modules/orchestration/workflows/workflow-runner.js.map +1 -1
  7. package/dist-server/server/modules/orchestration/workflows/workflow-trace.js +236 -0
  8. package/dist-server/server/modules/orchestration/workflows/workflow-trace.js.map +1 -0
  9. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js +12 -0
  10. package/dist-server/server/modules/orchestration/workflows/workflow.routes.js.map +1 -1
  11. package/dist-server/server/services/live-view.js +19 -94
  12. package/dist-server/server/services/live-view.js.map +1 -1
  13. package/dist-server/server/services/runtime-manager.js +312 -0
  14. package/dist-server/server/services/runtime-manager.js.map +1 -0
  15. package/package.json +1 -1
  16. package/scripts/smoke/live-view-diagnostics.mjs +2 -2
  17. package/scripts/smoke/live-view-integration.mjs +58 -46
  18. package/scripts/smoke/runtime-manager.mjs +99 -0
  19. package/scripts/smoke/workflow-trace-timeline.mjs +46 -0
  20. package/server/modules/orchestration/index.ts +1 -0
  21. package/server/modules/orchestration/workflows/workflow-runner.ts +1 -0
  22. package/server/modules/orchestration/workflows/workflow-trace.ts +270 -0
  23. package/server/modules/orchestration/workflows/workflow.routes.ts +14 -0
  24. package/server/modules/orchestration/workflows/workflow.types.ts +21 -0
  25. package/server/services/live-view.js +20 -101
  26. package/server/services/runtime-manager.js +323 -0
  27. package/dist/assets/index-LZgOC7Q_.css +0 -32
@@ -4,12 +4,12 @@ import { promises as fs } from 'node:fs';
4
4
  import net from 'node:net';
5
5
  import path from 'node:path';
6
6
  import { buildCliSpawnEnv } from './install-jobs.js';
7
- import { ensureManagedRuntime, getManagedRuntimeStatus } from './managed-runtimes.js';
7
+ import { ensureManagedRuntime } from './managed-runtimes.js';
8
+ import { resolveLiveViewRuntime } from './runtime-manager.js';
8
9
  const sessionsByProject = new Map();
9
10
  const sessionsByShareId = new Map();
10
11
  const READY_TIMEOUT_MS = 12000;
11
12
  const LOG_LIMIT = 200;
12
- const RUNTIME_CHECK_TIMEOUT_MS = 1800;
13
13
  const localUrlRegex = /https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[[^\]]+\])(?::(\d+))?[^\s"'<>]*/i;
14
14
  function normalizeHost(host) {
15
15
  if (!host || host === '0.0.0.0' || host === '::')
@@ -79,81 +79,6 @@ function packageRunArgs(packageManager, scriptName, extraArgs = []) {
79
79
  function buildDisplayCommand(command, args) {
80
80
  return [command, ...args].join(' ');
81
81
  }
82
- function quoteForPosixShell(value) {
83
- return `'${String(value).replaceAll("'", "'\\''")}'`;
84
- }
85
- function quoteForWindowsShell(value) {
86
- return `"${String(value).replaceAll('"', '""')}"`;
87
- }
88
- function isPathLikeCommand(command) {
89
- return path.isAbsolute(command) || command.includes('/') || command.includes('\\');
90
- }
91
- function runtimeMissingReason(command, framework) {
92
- const base = `${command} is not available on this machine.`;
93
- if (framework === 'PHP' || command === 'php') {
94
- return 'Pixcode can prepare a local PHP runtime automatically before starting this project.';
95
- }
96
- if (command === 'npm' || command === 'pnpm' || command === 'yarn' || command === 'bun') {
97
- return `${base} Pixcode can prepare a local Node package runner automatically before starting this project.`;
98
- }
99
- if (command === 'python' || command === 'python3') {
100
- return `${base} Pixcode does not have a managed Python runtime for this stack yet.`;
101
- }
102
- return `${base} Pixcode does not have a managed ${framework || command} runtime for this stack yet.`;
103
- }
104
- async function checkCommandAvailability(command, env = process.env) {
105
- if (!command || command.includes('\n') || command.includes('\r'))
106
- return true;
107
- if (isPathLikeCommand(command)) {
108
- try {
109
- await fs.access(command);
110
- return true;
111
- }
112
- catch {
113
- return false;
114
- }
115
- }
116
- const checker = process.platform === 'win32'
117
- ? {
118
- command: process.env.ComSpec || 'cmd.exe',
119
- args: ['/d', '/s', '/c', `where ${quoteForWindowsShell(command)}`],
120
- }
121
- : {
122
- command: '/bin/sh',
123
- args: ['-lc', `command -v ${quoteForPosixShell(command)}`],
124
- };
125
- return new Promise((resolve) => {
126
- let settled = false;
127
- let child = null;
128
- const finish = (available) => {
129
- if (settled)
130
- return;
131
- settled = true;
132
- clearTimeout(timer);
133
- resolve(available);
134
- };
135
- const timer = setTimeout(() => {
136
- try {
137
- child?.kill();
138
- }
139
- catch {
140
- // Ignore a raced process exit.
141
- }
142
- finish(true);
143
- }, RUNTIME_CHECK_TIMEOUT_MS);
144
- child = spawn(checker.command, checker.args, {
145
- env,
146
- stdio: 'ignore',
147
- windowsHide: true,
148
- });
149
- child.on('error', (error) => {
150
- finish(error?.code === 'ENOENT' ? false : true);
151
- });
152
- child.on('exit', (code) => {
153
- finish(code === 0);
154
- });
155
- });
156
- }
157
82
  function buildPackageCommand(packageManager, scriptName, id, label, framework, extraArgs = []) {
158
83
  const args = packageRunArgs(packageManager, scriptName, extraArgs);
159
84
  return {
@@ -553,11 +478,12 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
553
478
  }
554
479
  const processCommand = await detectProcessCommand(projectPath);
555
480
  if (processCommand) {
481
+ const runtimeResolution = await resolveLiveViewRuntime(processCommand, {
482
+ env: options.env || process.env,
483
+ preferManaged: true,
484
+ });
556
485
  if (isPackageManagerCommand(processCommand.command)) {
557
- const managedRuntime = await getManagedRuntimeStatus('npm', {
558
- env: options.env || process.env,
559
- preferManaged: true,
560
- });
486
+ const managedRuntime = runtimeResolution.managedRuntime;
561
487
  const command = buildManagedPackageCommand(processCommand, managedRuntime);
562
488
  return {
563
489
  available: true,
@@ -566,16 +492,12 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
566
492
  framework: processCommand.framework,
567
493
  command,
568
494
  managedRuntime,
569
- reason: managedRuntime.status === 'missing'
570
- ? 'Pixcode will prepare a local Node package runner automatically before starting this project.'
571
- : 'Pixcode will run this project with its managed Node package runner.',
495
+ runtime: runtimeResolution.runtime,
496
+ reason: runtimeResolution.reason,
572
497
  };
573
498
  }
574
499
  if (processCommand.framework === 'PHP' || processCommand.command === 'php') {
575
- const managedRuntime = await getManagedRuntimeStatus('frankenphp', {
576
- env: options.env || process.env,
577
- preferManaged: true,
578
- });
500
+ const managedRuntime = runtimeResolution.managedRuntime;
579
501
  const command = buildManagedPhpCommand(managedRuntime);
580
502
  return {
581
503
  available: true,
@@ -584,13 +506,11 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
584
506
  framework: command.framework,
585
507
  command,
586
508
  managedRuntime,
587
- reason: managedRuntime.status === 'missing'
588
- ? 'Pixcode will prepare a local PHP runtime automatically before starting this project.'
589
- : 'Pixcode will run this project with its managed PHP runtime.',
509
+ runtime: runtimeResolution.runtime,
510
+ reason: runtimeResolution.reason,
590
511
  };
591
512
  }
592
- const runtimeAvailable = await checkCommandAvailability(processCommand.command, options.env || process.env);
593
- if (!runtimeAvailable) {
513
+ if (!runtimeResolution.available) {
594
514
  return {
595
515
  available: false,
596
516
  kind: 'process',
@@ -598,7 +518,8 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
598
518
  framework: processCommand.framework,
599
519
  command: processCommand,
600
520
  missingRuntime: processCommand.command,
601
- reason: runtimeMissingReason(processCommand.command, processCommand.framework),
521
+ runtime: runtimeResolution.runtime,
522
+ reason: runtimeResolution.reason,
602
523
  };
603
524
  }
604
525
  return {
@@ -607,6 +528,7 @@ export async function detectLiveViewTarget(projectPath, options = {}) {
607
528
  label: processCommand.label,
608
529
  framework: processCommand.framework,
609
530
  command: processCommand,
531
+ runtime: runtimeResolution.runtime,
610
532
  };
611
533
  }
612
534
  const staticRoot = await detectStaticRoot(projectPath);
@@ -689,6 +611,7 @@ function publicSession(session) {
689
611
  label: session.command.label,
690
612
  displayCommand: session.command.displayCommand,
691
613
  } : null,
614
+ runtime: session.runtime || null,
692
615
  managedRuntime: session.managedRuntime || null,
693
616
  port: session.port,
694
617
  upstreamUrl: session.upstreamUrl,
@@ -750,6 +673,7 @@ export async function startLiveView(projectName, projectPath, options = {}) {
750
673
  label: target.label,
751
674
  staticRoot: target.staticRoot,
752
675
  command: null,
676
+ runtime: null,
753
677
  port: null,
754
678
  upstreamUrl: null,
755
679
  startedAt: new Date().toISOString(),
@@ -788,6 +712,7 @@ export async function startLiveView(projectName, projectPath, options = {}) {
788
712
  framework: target.framework,
789
713
  label: target.label,
790
714
  command,
715
+ runtime: target.runtime || null,
791
716
  managedRuntime: runtimeStatus,
792
717
  port,
793
718
  host: '127.0.0.1',
@@ -1 +1 @@
1
- {"version":3,"file":"live-view.js","sourceRoot":"","sources":["../../../server/services/live-view.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-view.js","sourceRoot":"","sources":["../../../server/services/live-view.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,312 @@
1
+ import { spawn } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import { buildCliSpawnEnv, findExecutableOnPath, resolveNpmCommand } from './install-jobs.js';
5
+ import { getManagedRuntimeStatus } from './managed-runtimes.js';
6
+ const RUNTIME_CHECK_TIMEOUT_MS = 1800;
7
+ export const RUNTIME_DEFINITIONS = {
8
+ node: {
9
+ id: 'node',
10
+ name: 'Node.js',
11
+ commands: ['node'],
12
+ versionArgs: ['--version'],
13
+ installAction: 'Install Node.js 22 or newer and ensure node is available on PATH.',
14
+ },
15
+ npm: {
16
+ id: 'npm',
17
+ name: 'Node package runner',
18
+ commands: ['npm'],
19
+ versionArgs: ['--version'],
20
+ managedRuntimeId: 'npm',
21
+ installAction: 'Install Node.js/npm or let Pixcode prepare its managed Node package runner.',
22
+ },
23
+ php: {
24
+ id: 'php',
25
+ name: 'PHP',
26
+ commands: ['php'],
27
+ versionArgs: ['--version'],
28
+ managedRuntimeId: 'frankenphp',
29
+ installAction: 'Install PHP or let Pixcode prepare its managed PHP runtime.',
30
+ },
31
+ python: {
32
+ id: 'python',
33
+ name: 'Python',
34
+ commands: process.platform === 'win32' ? ['python', 'py'] : ['python3', 'python'],
35
+ versionArgs: ['--version'],
36
+ installAction: 'Install Python 3 and ensure python3 or python is available on PATH.',
37
+ },
38
+ go: {
39
+ id: 'go',
40
+ name: 'Go',
41
+ commands: ['go'],
42
+ versionArgs: ['version'],
43
+ installAction: 'Install Go and ensure go is available on PATH.',
44
+ },
45
+ java: {
46
+ id: 'java',
47
+ name: 'Java',
48
+ commands: ['java'],
49
+ versionArgs: ['-version'],
50
+ installAction: 'Install a JDK and ensure java is available on PATH.',
51
+ },
52
+ rust: {
53
+ id: 'rust',
54
+ name: 'Rust',
55
+ commands: ['cargo', 'rustc'],
56
+ versionArgs: ['--version'],
57
+ installAction: 'Install Rust with rustup and ensure cargo is available on PATH.',
58
+ },
59
+ };
60
+ function runtimeDiagnostic(definition, status, detail) {
61
+ if (status === 'available') {
62
+ return {
63
+ message: `${definition.name} is available.`,
64
+ action: 'No action needed.',
65
+ };
66
+ }
67
+ if (status === 'too_old') {
68
+ return {
69
+ message: `${definition.name} is installed but does not meet the required version.`,
70
+ action: definition.installAction,
71
+ detail,
72
+ };
73
+ }
74
+ if (status === 'error') {
75
+ return {
76
+ message: `${definition.name} was found but could not be started.`,
77
+ action: definition.installAction,
78
+ detail,
79
+ };
80
+ }
81
+ return {
82
+ message: `${definition.name} is not available on this machine.`,
83
+ action: definition.installAction,
84
+ detail,
85
+ };
86
+ }
87
+ function normalizeVersion(output) {
88
+ const match = String(output || '').match(/(?:v|version\s*)?(\d+\.\d+\.\d+)/i);
89
+ return match?.[1];
90
+ }
91
+ function runVersion(command, args, env) {
92
+ return new Promise((resolve) => {
93
+ let output = '';
94
+ let settled = false;
95
+ const child = spawn(command, args, {
96
+ env,
97
+ stdio: ['ignore', 'pipe', 'pipe'],
98
+ windowsHide: true,
99
+ });
100
+ const finish = (result) => {
101
+ if (settled)
102
+ return;
103
+ settled = true;
104
+ clearTimeout(timer);
105
+ resolve(result);
106
+ };
107
+ const timer = setTimeout(() => {
108
+ try {
109
+ child.kill();
110
+ }
111
+ catch {
112
+ // Ignore a raced process exit.
113
+ }
114
+ finish({ ok: false, error: `${command} version check timed out.` });
115
+ }, RUNTIME_CHECK_TIMEOUT_MS);
116
+ child.stdout.on('data', (chunk) => {
117
+ output += chunk.toString();
118
+ });
119
+ child.stderr.on('data', (chunk) => {
120
+ output += chunk.toString();
121
+ });
122
+ child.on('error', (error) => {
123
+ finish({ ok: false, error: error.message });
124
+ });
125
+ child.on('exit', (code) => {
126
+ finish({
127
+ ok: code === 0,
128
+ output,
129
+ error: code === 0 ? undefined : `${command} exited with code ${code}.`,
130
+ });
131
+ });
132
+ });
133
+ }
134
+ function findExecutableOnDeclaredPath(name, env = process.env) {
135
+ const separator = process.platform === 'win32' ? ';' : ':';
136
+ const extensions = process.platform === 'win32'
137
+ ? ['.cmd', '.exe', '.bat', '.ps1', '']
138
+ : [''];
139
+ const pathDirs = (env.PATH || env.Path || '').split(separator).filter(Boolean);
140
+ for (const dir of pathDirs) {
141
+ for (const extension of extensions) {
142
+ const candidate = path.join(dir, `${name}${extension}`);
143
+ try {
144
+ if (candidate && fs.existsSync(candidate))
145
+ return candidate;
146
+ }
147
+ catch {
148
+ // Ignore invalid PATH entries.
149
+ }
150
+ }
151
+ }
152
+ return null;
153
+ }
154
+ function commandPathForRuntime(id, definition, env, strictPath = false) {
155
+ const spawnEnv = buildCliSpawnEnv(env);
156
+ if (id === 'node')
157
+ return process.execPath;
158
+ if (id === 'npm')
159
+ return resolveNpmCommand(spawnEnv);
160
+ for (const command of definition.commands) {
161
+ const executable = strictPath
162
+ ? findExecutableOnDeclaredPath(command, env)
163
+ : findExecutableOnPath(command, spawnEnv);
164
+ if (executable)
165
+ return executable;
166
+ }
167
+ return null;
168
+ }
169
+ async function discoverSystemRuntime(id, definition, env, options = {}) {
170
+ const executable = commandPathForRuntime(id, definition, env, Boolean(options.strictPath));
171
+ if (!executable) {
172
+ return {
173
+ id,
174
+ name: definition.name,
175
+ status: 'missing',
176
+ source: 'none',
177
+ installStatus: 'missing',
178
+ diagnostic: runtimeDiagnostic(definition, 'missing'),
179
+ };
180
+ }
181
+ const versionResult = await runVersion(executable, definition.versionArgs, env);
182
+ if (!versionResult.ok) {
183
+ return {
184
+ id,
185
+ name: definition.name,
186
+ status: 'error',
187
+ source: 'system',
188
+ path: executable,
189
+ installStatus: 'installed',
190
+ diagnostic: runtimeDiagnostic(definition, 'error', versionResult.error),
191
+ };
192
+ }
193
+ return {
194
+ id,
195
+ name: definition.name,
196
+ status: 'available',
197
+ source: 'system',
198
+ path: executable,
199
+ version: normalizeVersion(versionResult.output),
200
+ installStatus: 'installed',
201
+ diagnostic: runtimeDiagnostic(definition, 'available'),
202
+ };
203
+ }
204
+ async function discoverManagedRuntime(id, definition, env, preferManaged) {
205
+ if (!definition.managedRuntimeId || !preferManaged)
206
+ return null;
207
+ const managedRuntime = await getManagedRuntimeStatus(definition.managedRuntimeId, {
208
+ env,
209
+ preferManaged: true,
210
+ });
211
+ const available = managedRuntime.status === 'installed' || managedRuntime.status === 'system';
212
+ return {
213
+ id,
214
+ name: definition.name,
215
+ status: available ? 'available' : 'missing',
216
+ source: 'managed',
217
+ path: managedRuntime.executablePath,
218
+ version: managedRuntime.version,
219
+ installStatus: managedRuntime.status,
220
+ installable: managedRuntime.installable,
221
+ managedRuntime,
222
+ diagnostic: runtimeDiagnostic(definition, available ? 'available' : 'missing', managedRuntime.reason),
223
+ };
224
+ }
225
+ export async function discoverRuntime(id, options = {}) {
226
+ const definition = RUNTIME_DEFINITIONS[id];
227
+ if (!definition) {
228
+ return {
229
+ id,
230
+ name: id,
231
+ status: 'unsupported',
232
+ source: 'none',
233
+ installStatus: 'unsupported',
234
+ diagnostic: {
235
+ message: `${id} is not registered in the Pixcode runtime manager.`,
236
+ action: 'Add a runtime definition before using this stack.',
237
+ },
238
+ };
239
+ }
240
+ const env = options.env || process.env;
241
+ const managed = await discoverManagedRuntime(id, definition, env, Boolean(options.preferManaged));
242
+ if (managed)
243
+ return managed;
244
+ return discoverSystemRuntime(id, definition, env, options);
245
+ }
246
+ function isPackageManagerCommand(command) {
247
+ return command === 'npm' || command === 'pnpm' || command === 'yarn' || command === 'bun';
248
+ }
249
+ function runtimeIdForLiveViewCommand(command) {
250
+ if (!command)
251
+ return null;
252
+ if (isPackageManagerCommand(command.command) || command.packageManager)
253
+ return 'node';
254
+ if (command.framework === 'PHP' || command.command === 'php')
255
+ return 'php';
256
+ if (command.framework === 'Django' || command.framework === 'FastAPI' || command.framework === 'Flask')
257
+ return 'python';
258
+ if (command.framework === 'Go' || command.command === 'go')
259
+ return 'go';
260
+ if (command.framework === 'Rust' || command.command === 'cargo')
261
+ return 'rust';
262
+ if (command.framework === 'Java' || command.command === 'java')
263
+ return 'java';
264
+ return null;
265
+ }
266
+ export async function resolveLiveViewRuntime(command, options = {}) {
267
+ const env = options.env || process.env;
268
+ const runtimeId = runtimeIdForLiveViewCommand(command);
269
+ if (!runtimeId) {
270
+ return {
271
+ available: true,
272
+ reason: 'No dedicated runtime check is required for this Live View command.',
273
+ };
274
+ }
275
+ if (runtimeId === 'node') {
276
+ const runtime = await discoverRuntime('node', { env });
277
+ const managedRuntime = await getManagedRuntimeStatus('npm', {
278
+ env,
279
+ preferManaged: Boolean(options.preferManaged),
280
+ });
281
+ return {
282
+ available: true,
283
+ runtime,
284
+ managedRuntime,
285
+ reason: managedRuntime.reason || 'Pixcode will run this project with its managed Node package runner.',
286
+ };
287
+ }
288
+ if (runtimeId === 'php') {
289
+ const runtime = await discoverRuntime('php', {
290
+ env,
291
+ preferManaged: Boolean(options.preferManaged),
292
+ });
293
+ return {
294
+ available: Boolean(runtime.managedRuntime?.installable) || runtime.status === 'available',
295
+ runtime,
296
+ managedRuntime: runtime.managedRuntime,
297
+ reason: runtime.managedRuntime?.reason || runtime.diagnostic.message,
298
+ };
299
+ }
300
+ const runtime = await discoverRuntime(runtimeId, { env });
301
+ return {
302
+ available: runtime.status === 'available',
303
+ runtime,
304
+ reason: runtime.status === 'available' ? runtime.diagnostic.message : runtime.diagnostic.action,
305
+ };
306
+ }
307
+ export const runtimeManager = {
308
+ definitions: RUNTIME_DEFINITIONS,
309
+ discover: discoverRuntime,
310
+ resolveLiveViewRuntime,
311
+ };
312
+ //# sourceMappingURL=runtime-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-manager.js","sourceRoot":"","sources":["../../../server/services/runtime-manager.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,aAAa,EAAE,mEAAmE;KACnF;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,6EAA6E;KAC7F;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,gBAAgB,EAAE,YAAY;QAC9B,aAAa,EAAE,6DAA6D;KAC7E;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC;QACjF,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,aAAa,EAAE,qEAAqE;KACrF;IACD,EAAE,EAAE;QACF,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,WAAW,EAAE,CAAC,SAAS,CAAC;QACxB,aAAa,EAAE,gDAAgD;KAChE;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,aAAa,EAAE,qDAAqD;KACrE;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,CAAC,WAAW,CAAC;QAC1B,aAAa,EAAE,iEAAiE;KACjF;CACF,CAAC;AAEF,SAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM;IACnD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,gBAAgB;YAC3C,MAAM,EAAE,mBAAmB;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,uDAAuD;YAClF,MAAM,EAAE,UAAU,CAAC,aAAa;YAChC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,sCAAsC;YACjE,MAAM,EAAE,UAAU,CAAC,aAAa;YAChC,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,oCAAoC;QAC/D,MAAM,EAAE,UAAU,CAAC,aAAa;QAChC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAM;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC9E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE;YACxB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;YACD,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,2BAA2B,EAAE,CAAC,CAAC;QACtE,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAE7B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC;gBACL,EAAE,EAAE,IAAI,KAAK,CAAC;gBACd,MAAM;gBACN,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,qBAAqB,IAAI,GAAG;aACvE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC7C,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC;gBACH,IAAI,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,OAAO,SAAS,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,KAAK;IACpE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC3C,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAErD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC;YAC5C,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE;IACpE,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE;QACF,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC;QAC/C,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa;IACtE,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,gBAAgB,EAAE;QAChF,GAAG;QACH,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,KAAK,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC9F,OAAO;QACL,EAAE;QACF,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,cAAc,CAAC,cAAc;QACnC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,aAAa,EAAE,cAAc,CAAC,MAAM;QACpC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,cAAc;QACd,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC;KACtG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE;gBACV,OAAO,EAAE,GAAG,EAAE,oDAAoD;gBAClE,MAAM,EAAE,mDAAmD;aAC5D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAClG,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAO;IACtC,OAAO,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,CAAC;AAC5F,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAO;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC;IACtF,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IACxH,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAC/E,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,oEAAoE;SAC7E,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE;YAC1D,GAAG;YACH,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,IAAI;YACf,OAAO;YACP,cAAc;YACd,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,qEAAqE;SACvG,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;YAC3C,GAAG;YACH,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;YACzF,OAAO;YACP,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO;SACrE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW;QACzC,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;KAChG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,eAAe;IACzB,sBAAsB;CACvB,CAAC"}