@rage-against-the-pixel/unity-cli 3.0.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -223
- package/dist/android-sdk.js +8 -1
- package/dist/android-sdk.js.map +1 -1
- package/dist/cli.js +195 -506
- package/dist/cli.js.map +1 -1
- package/dist/failure-markers.d.ts +17 -0
- package/dist/failure-markers.js +46 -0
- package/dist/failure-markers.js.map +1 -0
- package/dist/github-actions-ci.d.ts +1 -0
- package/dist/github-actions-ci.js +17 -3
- package/dist/github-actions-ci.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/license-client.d.ts +113 -2
- package/dist/license-client.js +715 -54
- package/dist/license-client.js.map +1 -1
- package/dist/logger-provider.d.ts +2 -0
- package/dist/logger-provider.js +3 -0
- package/dist/logger-provider.js.map +1 -1
- package/dist/logging.d.ts +6 -1
- package/dist/logging.js +66 -5
- package/dist/logging.js.map +1 -1
- package/dist/process-tracker.d.ts +71 -0
- package/dist/process-tracker.js +213 -0
- package/dist/process-tracker.js.map +1 -0
- package/dist/unity-cli.d.ts +97 -0
- package/dist/unity-cli.js +587 -0
- package/dist/unity-cli.js.map +1 -0
- package/dist/unity-editor.d.ts +25 -16
- package/dist/unity-editor.js +204 -107
- package/dist/unity-editor.js.map +1 -1
- package/dist/unity-installer.d.ts +134 -0
- package/dist/unity-installer.js +963 -0
- package/dist/unity-installer.js.map +1 -0
- package/dist/unity-logging.d.ts +16 -1
- package/dist/unity-logging.js +79 -40
- package/dist/unity-logging.js.map +1 -1
- package/dist/unity-project.d.ts +15 -0
- package/dist/unity-project.js +80 -0
- package/dist/unity-project.js.map +1 -1
- package/dist/unity-version.d.ts +4 -0
- package/dist/unity-version.js +40 -2
- package/dist/unity-version.js.map +1 -1
- package/dist/upm-cli.d.ts +8 -8
- package/dist/upm-cli.js +8 -8
- package/dist/upm-cli.js.map +1 -1
- package/dist/utilities.d.ts +27 -7
- package/dist/utilities.js +119 -63
- package/dist/utilities.js.map +1 -1
- package/dist/utp-benign.d.ts +13 -0
- package/dist/utp-benign.js +41 -0
- package/dist/utp-benign.js.map +1 -0
- package/dist/utp.d.ts +11 -2
- package/dist/utp.js +40 -3
- package/dist/utp.js.map +1 -1
- package/package.json +14 -15
- package/dist/unity-hub.d.ts +0 -127
- package/dist/unity-hub.js +0 -1327
- package/dist/unity-hub.js.map +0 -1
package/dist/unity-editor.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export interface EditorCommand {
|
|
|
4
4
|
projectPath?: string | undefined;
|
|
5
5
|
}
|
|
6
6
|
export declare class UnityEditor {
|
|
7
|
+
/** Editor flags whose values are never logged. */
|
|
8
|
+
private static readonly SENSITIVE_FLAGS;
|
|
7
9
|
readonly editorPath: string;
|
|
8
10
|
readonly editorRootPath: string;
|
|
9
11
|
readonly version: UnityVersion;
|
|
@@ -16,18 +18,6 @@ export declare class UnityEditor {
|
|
|
16
18
|
* @throws Will throw an error if the editor path is invalid or not executable.
|
|
17
19
|
*/
|
|
18
20
|
constructor(editorPath: string, version?: UnityVersion | undefined);
|
|
19
|
-
/**
|
|
20
|
-
* Get the full path to a Unity project template based on the provided template name or regex pattern.
|
|
21
|
-
* @param template The name or regex pattern of the template to find.
|
|
22
|
-
* @returns The full path to the matching template file.
|
|
23
|
-
* @throws If no templates are found, or no matching template is found.
|
|
24
|
-
*/
|
|
25
|
-
GetTemplatePath(template: string): string | undefined;
|
|
26
|
-
/**
|
|
27
|
-
* Get a list of available Unity project templates.
|
|
28
|
-
* @returns An array of available template file names.
|
|
29
|
-
*/
|
|
30
|
-
GetAvailableTemplates(): string[];
|
|
31
21
|
/**
|
|
32
22
|
* Scrubs sensitive command-line arguments for safe logging.
|
|
33
23
|
* Replaces values for sensitive flags like -username, -password, etc. with [REDACTED].
|
|
@@ -41,6 +31,29 @@ export declare class UnityEditor {
|
|
|
41
31
|
* @throws Will throw an error if the Unity Editor fails to start or exits with a non-zero code.
|
|
42
32
|
*/
|
|
43
33
|
Run(command: EditorCommand): Promise<void>;
|
|
34
|
+
private runEditor;
|
|
35
|
+
/**
|
|
36
|
+
* After a failed run, lists the error lines from the Editor log outside the collapsed log group, so the cause sits
|
|
37
|
+
* next to "Unity failed with exit code N". Stack frames are left out and the list is capped; with no error line,
|
|
38
|
+
* the log's last lines are printed instead. Annotations are not affected.
|
|
39
|
+
*/
|
|
40
|
+
private printFailureRecap;
|
|
41
|
+
/**
|
|
42
|
+
* Decides whether a run goes through the official CLI's `unity run`.
|
|
43
|
+
* It needs a project and a -quit argument, and is skipped for editors and hosts it is not verified with:
|
|
44
|
+
* editors older than 2019.1, Linux runs that need xvfb, and x86_64 editors under Rosetta.
|
|
45
|
+
* Set UNITY_CLI_DIRECT_LAUNCH=true to always launch the editor directly.
|
|
46
|
+
*/
|
|
47
|
+
private getUnityCliForRun;
|
|
48
|
+
/**
|
|
49
|
+
* Builds the `unity run` arguments for an editor command.
|
|
50
|
+
* `unity run` adds -batchmode, -quit, -projectPath and -logFile itself and rejects them after `--`, so those are not forwarded.
|
|
51
|
+
* @param editorPath The editor executable.
|
|
52
|
+
* @param projectPath The Unity project.
|
|
53
|
+
* @param logPath The editor log file, which unity-cli tails itself.
|
|
54
|
+
* @param args The editor arguments.
|
|
55
|
+
*/
|
|
56
|
+
static GetUnityRunArgs(editorPath: string, projectPath: string, logPath: string, args: string[]): string[];
|
|
44
57
|
/**
|
|
45
58
|
* Get or create the Logs directory within the Unity project or current working directory.
|
|
46
59
|
* @param projectPath The path to the Unity project. If undefined, uses the current working directory.
|
|
@@ -72,8 +85,4 @@ export declare class UnityEditor {
|
|
|
72
85
|
* @returns The path to the Unity Editor logs directory.
|
|
73
86
|
*/
|
|
74
87
|
static GetEditorLogsDirectory(): string;
|
|
75
|
-
/**
|
|
76
|
-
* Uninstall the Unity Editor.
|
|
77
|
-
*/
|
|
78
|
-
Uninstall(): Promise<void>;
|
|
79
88
|
}
|
package/dist/unity-editor.js
CHANGED
|
@@ -41,8 +41,15 @@ const logging_1 = require("./logging");
|
|
|
41
41
|
const unity_version_1 = require("./unity-version");
|
|
42
42
|
const child_process_1 = require("child_process");
|
|
43
43
|
const utilities_1 = require("./utilities");
|
|
44
|
+
const unity_cli_1 = require("./unity-cli");
|
|
45
|
+
const process_tracker_1 = require("./process-tracker");
|
|
44
46
|
const unity_logging_1 = require("./unity-logging");
|
|
47
|
+
/** Thrown when `unity run` refuses the editor arguments before it starts the editor. */
|
|
48
|
+
class UnityRunRejectedError extends Error {
|
|
49
|
+
}
|
|
45
50
|
class UnityEditor {
|
|
51
|
+
/** Editor flags whose values are never logged. */
|
|
52
|
+
static SENSITIVE_FLAGS = ['-username', '-password', '-cloudOrganization', '-serial'];
|
|
46
53
|
editorPath;
|
|
47
54
|
editorRootPath;
|
|
48
55
|
version;
|
|
@@ -113,75 +120,6 @@ class UnityEditor {
|
|
|
113
120
|
this.logger.debug(`No write access to Unity editor root path: ${this.editorRootPath}`);
|
|
114
121
|
}
|
|
115
122
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Get the full path to a Unity project template based on the provided template name or regex pattern.
|
|
118
|
-
* @param template The name or regex pattern of the template to find.
|
|
119
|
-
* @returns The full path to the matching template file.
|
|
120
|
-
* @throws If no templates are found, or no matching template is found.
|
|
121
|
-
*/
|
|
122
|
-
GetTemplatePath(template) {
|
|
123
|
-
const templates = this.GetAvailableTemplates();
|
|
124
|
-
if (templates.length === 0) {
|
|
125
|
-
this.logger.warn(`No Unity templates found for ${this.version.toString()}`);
|
|
126
|
-
return undefined;
|
|
127
|
-
}
|
|
128
|
-
// Build a regex to match the template name, an optional numeric version suffix, and required file extension
|
|
129
|
-
// Example input: com.unity.template.3d(-cross-platform)?.*
|
|
130
|
-
// Example match: com.unity.template.3d-cross-platform-1.2.3.tar.gz or com.unity.template.3d-1.2.3.tgz
|
|
131
|
-
let regex;
|
|
132
|
-
try {
|
|
133
|
-
regex = new RegExp(`^${template}(?:-\\d+\\.\\d+\\.\\d+)?(?:\\.tgz|\\.tar\\.gz)$`);
|
|
134
|
-
}
|
|
135
|
-
catch (e) {
|
|
136
|
-
throw new Error(`Invalid template regex: ${template}`);
|
|
137
|
-
}
|
|
138
|
-
// Filter files by regex
|
|
139
|
-
const matches = templates.filter(t => regex.test(path.basename(t)));
|
|
140
|
-
if (matches.length === 0) {
|
|
141
|
-
this.logger.warn(`No matching template path found for ${template}`);
|
|
142
|
-
return undefined;
|
|
143
|
-
}
|
|
144
|
-
// Pick the longest match (as in the shell script: sort by length descending)
|
|
145
|
-
matches.sort((a, b) => b.length - a.length);
|
|
146
|
-
const templatePath = matches[0];
|
|
147
|
-
if (!templatePath) {
|
|
148
|
-
this.logger.warn(`No matching template path found for ${template}`);
|
|
149
|
-
return undefined;
|
|
150
|
-
}
|
|
151
|
-
return path.normalize(templatePath);
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Get a list of available Unity project templates.
|
|
155
|
-
* @returns An array of available template file names.
|
|
156
|
-
*/
|
|
157
|
-
GetAvailableTemplates() {
|
|
158
|
-
if (this.version.isLessThan('2019.0.0')) {
|
|
159
|
-
this.logger.warn(`Unity version ${this.version.toString()} does not support project templates.`);
|
|
160
|
-
return [];
|
|
161
|
-
}
|
|
162
|
-
let templateDir;
|
|
163
|
-
let editorRoot = path.dirname(this.editorPath);
|
|
164
|
-
if (process.platform === 'darwin') {
|
|
165
|
-
templateDir = path.join(path.dirname(editorRoot), 'Resources', 'PackageManager', 'ProjectTemplates');
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
templateDir = path.join(editorRoot, 'Data', 'Resources', 'PackageManager', 'ProjectTemplates');
|
|
169
|
-
}
|
|
170
|
-
this.logger.debug(`Looking for templates in: ${templateDir}`);
|
|
171
|
-
if (!fs.existsSync(templateDir) ||
|
|
172
|
-
!fs.statSync(templateDir).isDirectory()) {
|
|
173
|
-
return [];
|
|
174
|
-
}
|
|
175
|
-
const templates = [];
|
|
176
|
-
const entries = fs.readdirSync(templateDir, { withFileTypes: true });
|
|
177
|
-
for (const entry of entries) {
|
|
178
|
-
if (entry.isFile() && (entry.name.endsWith('.tgz') || entry.name.endsWith('.tar.gz'))) {
|
|
179
|
-
templates.push(path.join(templateDir, entry.name));
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
this.logger.debug(`Found ${templates.length} templates:\n${templates.map(t => ` - ${t}`).join('\n')}`);
|
|
183
|
-
return templates;
|
|
184
|
-
}
|
|
185
123
|
/**
|
|
186
124
|
* Scrubs sensitive command-line arguments for safe logging.
|
|
187
125
|
* Replaces values for sensitive flags like -username, -password, etc. with [REDACTED].
|
|
@@ -189,7 +127,7 @@ class UnityEditor {
|
|
|
189
127
|
* @returns A new array with sensitive values redacted.
|
|
190
128
|
*/
|
|
191
129
|
scrubSensitiveArgs(args) {
|
|
192
|
-
const sensitiveFlags =
|
|
130
|
+
const sensitiveFlags = UnityEditor.SENSITIVE_FLAGS;
|
|
193
131
|
const scrubbedArgs = [];
|
|
194
132
|
for (let i = 0; i < args.length; i++) {
|
|
195
133
|
const arg = args[i];
|
|
@@ -210,17 +148,55 @@ class UnityEditor {
|
|
|
210
148
|
* @throws Will throw an error if the Unity Editor fails to start or exits with a non-zero code.
|
|
211
149
|
*/
|
|
212
150
|
async Run(command) {
|
|
151
|
+
try {
|
|
152
|
+
await this.runEditor(command, true);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
if (!(error instanceof UnityRunRejectedError)) {
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
// unity run refused the arguments before it started the editor, so launching directly runs it once
|
|
159
|
+
this.logger.warn(`${error.message}\nLaunching the editor directly instead.`);
|
|
160
|
+
await this.runEditor(command, false);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async runEditor(command, allowUnityRun) {
|
|
213
164
|
let isCancelled = false;
|
|
214
165
|
let exitCode = undefined;
|
|
215
166
|
let procInfo = null;
|
|
216
167
|
let logTail = null;
|
|
217
168
|
let unityProcess;
|
|
169
|
+
let unityRunOutput = undefined;
|
|
170
|
+
let editorLogPath = undefined;
|
|
171
|
+
const editorRootPath = this.editorRootPath;
|
|
172
|
+
let runStartedAt = 0;
|
|
173
|
+
let runPaths = [];
|
|
174
|
+
// the helpers the editor starts (shader compiler, bee_backend, licensing client) outlive it as orphans, so the
|
|
175
|
+
// sweep looks for this run's own process group (macOS, Linux) or descendants (Windows), never the whole machine:
|
|
176
|
+
// on a shared self-hosted runner another job's editor may run from the same install
|
|
218
177
|
async function tryKillEditorProcesses() {
|
|
219
178
|
try {
|
|
220
|
-
if (procInfo) {
|
|
221
|
-
|
|
222
|
-
|
|
179
|
+
if (!procInfo) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const root = { pid: procInfo.pid, startedAt: runStartedAt };
|
|
183
|
+
const processes = await (0, process_tracker_1.ListProcesses)();
|
|
184
|
+
const owned = new Map((0, process_tracker_1.SelectOwnedProcesses)([root], processes).map(proc => [proc.pid, proc]));
|
|
185
|
+
if (process.platform === 'win32') {
|
|
186
|
+
// a helper whose parent already exited can no longer be traced to the run, so on Windows an
|
|
187
|
+
// editor-folder process started during this run that names this run's project or log counts too
|
|
188
|
+
for (const proc of processes) {
|
|
189
|
+
if ((proc.createdAt ?? 0) >= runStartedAt - 2000 &&
|
|
190
|
+
proc.executablePath && (0, process_tracker_1.IsPathUnder)(proc.executablePath, editorRootPath) &&
|
|
191
|
+
runPaths.some(runPath => proc.commandLine.toLowerCase().includes(runPath.toLowerCase()))) {
|
|
192
|
+
owned.set(proc.pid, proc);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
223
195
|
}
|
|
196
|
+
// the licensing client is left alone: it may still be saving the license it just updated, and killing it
|
|
197
|
+
// then loses the license for the next run; return-license stops it at the end of the job instead
|
|
198
|
+
const leftovers = [...owned.values()].filter(proc => !(0, process_tracker_1.IsExecutableNamed)(proc, 'Unity.Licensing.Client'));
|
|
199
|
+
await Promise.all(leftovers.map(proc => (0, utilities_1.KillProcess)(proc).catch(() => undefined)));
|
|
224
200
|
}
|
|
225
201
|
catch (error) {
|
|
226
202
|
logging_1.Logger.instance.error(`Failed to kill Unity process: ${error}`);
|
|
@@ -268,7 +244,11 @@ class UnityEditor {
|
|
|
268
244
|
}
|
|
269
245
|
}
|
|
270
246
|
const logPath = (0, utilities_1.GetArgumentValueAsString)('-logFile', command.args);
|
|
271
|
-
|
|
247
|
+
editorLogPath = logPath;
|
|
248
|
+
// values of sensitive flags are masked in CI and redacted from everything printed from the Editor log
|
|
249
|
+
const sensitiveValues = command.args.filter((_, i) => i > 0 && UnityEditor.SENSITIVE_FLAGS.includes(command.args[i - 1]));
|
|
250
|
+
sensitiveValues.forEach(value => this.logger.maskCredential(value));
|
|
251
|
+
logTail = (0, unity_logging_1.TailLogFile)(logPath, command.projectPath, sensitiveValues);
|
|
272
252
|
// Scrub sensitive arguments before logging
|
|
273
253
|
const scrubbedArgs = this.scrubSensitiveArgs(command.args);
|
|
274
254
|
const commandStr = `\x1b[34m${this.editorPath} ${scrubbedArgs.join(' ')}\x1b[0m`;
|
|
@@ -281,14 +261,31 @@ class UnityEditor {
|
|
|
281
261
|
: undefined;
|
|
282
262
|
const baseEditorEnv = {
|
|
283
263
|
...process.env,
|
|
284
|
-
UNITY_THISISABUILDMACHINE: '1',
|
|
285
264
|
DISABLE_EMBEDDED_BUILD_PIPELINE_PLUGIN_LOGGING: '1',
|
|
286
265
|
...(linuxEnvOverrides ?? {})
|
|
287
266
|
};
|
|
288
|
-
|
|
267
|
+
const unityCli = allowUnityRun ? await this.getUnityCliForRun(command) : undefined;
|
|
268
|
+
runPaths = [logPath, ...(command.projectPath ? [command.projectPath] : [])];
|
|
269
|
+
runStartedAt = Date.now();
|
|
270
|
+
if (unityCli) {
|
|
271
|
+
const runArgs = UnityEditor.GetUnityRunArgs(this.editorPath, command.projectPath, logPath, command.args);
|
|
272
|
+
this.logger.debug(`Launching through the Unity CLI: ${unityCli.executable} ${this.scrubSensitiveArgs(runArgs).join(' ')}`);
|
|
273
|
+
unityRunOutput = '';
|
|
274
|
+
const child = (0, child_process_1.spawn)(unityCli.executable, runArgs, {
|
|
275
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
276
|
+
...(0, process_tracker_1.OwnedSpawnOptions)(),
|
|
277
|
+
env: baseEditorEnv
|
|
278
|
+
});
|
|
279
|
+
const collect = (data) => { unityRunOutput += data.toString(); };
|
|
280
|
+
child.stdout.on('data', collect);
|
|
281
|
+
child.stderr.on('data', collect);
|
|
282
|
+
unityProcess = child;
|
|
283
|
+
}
|
|
284
|
+
else if (process.platform === 'linux' &&
|
|
289
285
|
!command.args.includes('-nographics')) {
|
|
290
286
|
unityProcess = (0, child_process_1.spawn)('xvfb-run', [this.editorPath, ...command.args], {
|
|
291
287
|
stdio: ['ignore', 'ignore', 'ignore'],
|
|
288
|
+
...(0, process_tracker_1.OwnedSpawnOptions)(),
|
|
292
289
|
env: {
|
|
293
290
|
...baseEditorEnv,
|
|
294
291
|
DISPLAY: baseEditorEnv.DISPLAY || ':99'
|
|
@@ -300,12 +297,14 @@ class UnityEditor {
|
|
|
300
297
|
this.version.architecture === 'X86_64') { // Force the Unity Editor to run under Rosetta 2 on Apple Silicon Macs if the editor is x86_64
|
|
301
298
|
unityProcess = (0, child_process_1.spawn)('arch', ['-x86_64', this.editorPath, ...command.args], {
|
|
302
299
|
stdio: ['ignore', 'ignore', 'ignore'],
|
|
300
|
+
...(0, process_tracker_1.OwnedSpawnOptions)(),
|
|
303
301
|
env: baseEditorEnv
|
|
304
302
|
});
|
|
305
303
|
}
|
|
306
304
|
else {
|
|
307
305
|
unityProcess = (0, child_process_1.spawn)(this.editorPath, command.args, {
|
|
308
306
|
stdio: ['ignore', 'ignore', 'ignore'],
|
|
307
|
+
...(0, process_tracker_1.OwnedSpawnOptions)(),
|
|
309
308
|
env: baseEditorEnv
|
|
310
309
|
});
|
|
311
310
|
}
|
|
@@ -315,11 +314,29 @@ class UnityEditor {
|
|
|
315
314
|
process.once('SIGINT', onCancel);
|
|
316
315
|
process.once('SIGTERM', onCancel);
|
|
317
316
|
procInfo = { pid: unityProcess.pid, ppid: process.pid, name: this.editorPath };
|
|
317
|
+
// the licensing client the editor starts is left running after the run; recording the editor lets
|
|
318
|
+
// return-license find and stop it at the end of the job
|
|
319
|
+
(0, process_tracker_1.TrackOwnedProcess)(unityProcess, runStartedAt);
|
|
318
320
|
this.logger.debug(`Unity process started with pid: ${procInfo.pid}`);
|
|
319
321
|
exitCode = await new Promise((resolve, reject) => {
|
|
320
|
-
|
|
322
|
+
// the editor can start a licensing client that outlives it and inherits unity run's piped
|
|
323
|
+
// stdout and stderr, so 'close' may never fire; settle on 'exit' and stop reading the pipes shortly after
|
|
324
|
+
let settled = false;
|
|
325
|
+
const settle = (code) => {
|
|
326
|
+
if (settled) {
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
settled = true;
|
|
321
330
|
logTail?.stopLogTail();
|
|
322
331
|
resolve(code === null ? 1 : code);
|
|
332
|
+
};
|
|
333
|
+
unityProcess.on('close', settle);
|
|
334
|
+
unityProcess.on('exit', (code) => {
|
|
335
|
+
setTimeout(() => {
|
|
336
|
+
unityProcess.stdout?.destroy();
|
|
337
|
+
unityProcess.stderr?.destroy();
|
|
338
|
+
settle(code);
|
|
339
|
+
}, 1000);
|
|
323
340
|
});
|
|
324
341
|
unityProcess.on('error', (error) => {
|
|
325
342
|
this.logger.error(`Unity process error: ${error}`);
|
|
@@ -343,6 +360,21 @@ class UnityEditor {
|
|
|
343
360
|
this.logger.endGroup();
|
|
344
361
|
if (!isCancelled) {
|
|
345
362
|
await tryKillEditorProcesses();
|
|
363
|
+
if (exitCode !== undefined && exitCode !== 0 && unityRunOutput) {
|
|
364
|
+
// unity run can echo arguments back, so values of sensitive flags are redacted the same way as the logged command
|
|
365
|
+
const sensitiveValues = command.args.filter((_, i) => i > 0 && UnityEditor.SENSITIVE_FLAGS.includes(command.args[i - 1]));
|
|
366
|
+
const output = (0, utilities_1.redactSensitiveLiterals)(unityRunOutput, sensitiveValues)
|
|
367
|
+
.split(/\r?\n/).filter(line => line.length > 0 && !line.includes('<claude-code-hint')).join('\n');
|
|
368
|
+
if (output.includes('conflicts with a reserved Unity flag')) {
|
|
369
|
+
throw new UnityRunRejectedError(`unity run rejected the editor arguments:\n${output}`);
|
|
370
|
+
}
|
|
371
|
+
if (output.length > 0) {
|
|
372
|
+
this.logger.info(`unity run output:\n${output}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
if (exitCode !== undefined && exitCode !== 0) {
|
|
376
|
+
await this.printFailureRecap(logTail, editorLogPath);
|
|
377
|
+
}
|
|
346
378
|
if (exitCode === undefined) {
|
|
347
379
|
throw Error('Failed to start Unity!');
|
|
348
380
|
}
|
|
@@ -350,8 +382,103 @@ class UnityEditor {
|
|
|
350
382
|
throw Error(`Unity failed with exit code ${exitCode}`);
|
|
351
383
|
}
|
|
352
384
|
}
|
|
385
|
+
else {
|
|
386
|
+
// a cancelled run did not finish, so it must not end the command with exit code 0
|
|
387
|
+
throw Error('The Unity run was cancelled');
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* After a failed run, lists the error lines from the Editor log outside the collapsed log group, so the cause sits
|
|
393
|
+
* next to "Unity failed with exit code N". Stack frames are left out and the list is capped; with no error line,
|
|
394
|
+
* the log's last lines are printed instead. Annotations are not affected.
|
|
395
|
+
*/
|
|
396
|
+
async printFailureRecap(logTail, logPath) {
|
|
397
|
+
const maxLines = 100;
|
|
398
|
+
const errorLines = logTail?.errorLines ?? [];
|
|
399
|
+
if (errorLines.length > 0) {
|
|
400
|
+
const total = logTail.errorLineCount();
|
|
401
|
+
const shown = errorLines.slice(0, maxLines);
|
|
402
|
+
const more = total - shown.length;
|
|
403
|
+
this.logger.info(`Unity reported ${total} error line${total === 1 ? '' : 's'}:\n${shown.map(line => ` ${line}`).join('\n')}` +
|
|
404
|
+
(more > 0 ? `\n ... ${more} more in ${logPath ?? 'the Editor log'}` : ''));
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
if (!logPath) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
try {
|
|
411
|
+
const lines = (await fs.promises.readFile(logPath, 'utf-8')).split(/\r?\n/).filter(line => line.trim().length > 0);
|
|
412
|
+
const tail = lines.slice(-20);
|
|
413
|
+
if (tail.length > 0) {
|
|
414
|
+
this.logger.info(`No error lines found; the last ${tail.length} lines of ${logPath}:\n${tail.map(line => ` ${line}`).join('\n')}`);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
this.logger.debug(`Could not read ${logPath}: ${error}`);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Decides whether a run goes through the official CLI's `unity run`.
|
|
423
|
+
* It needs a project and a -quit argument, and is skipped for editors and hosts it is not verified with:
|
|
424
|
+
* editors older than 2019.1, Linux runs that need xvfb, and x86_64 editors under Rosetta.
|
|
425
|
+
* Set UNITY_CLI_DIRECT_LAUNCH=true to always launch the editor directly.
|
|
426
|
+
*/
|
|
427
|
+
async getUnityCliForRun(command) {
|
|
428
|
+
const directLaunch = process.env.UNITY_CLI_DIRECT_LAUNCH?.trim().toLowerCase();
|
|
429
|
+
// unity run always quits the editor, so commands that manage their own shutdown launch directly.
|
|
430
|
+
// Android builds start a Gradle daemon that inherits the editor's output, and unity run waits on that
|
|
431
|
+
// output until the daemon dies, so it never returns; those launch directly too
|
|
432
|
+
const buildTarget = command.args.indexOf('-buildTarget');
|
|
433
|
+
const isAndroidBuild = buildTarget >= 0 && command.args[buildTarget + 1]?.toLowerCase() === 'android';
|
|
434
|
+
if (!command.projectPath ||
|
|
435
|
+
!command.args.includes('-quit') ||
|
|
436
|
+
isAndroidBuild ||
|
|
437
|
+
directLaunch === 'true' || directLaunch === '1' ||
|
|
438
|
+
this.version.isLessThan('2019.1.0') ||
|
|
439
|
+
(process.platform === 'linux' && !command.args.includes('-nographics')) ||
|
|
440
|
+
(process.platform === 'darwin' && process.arch === 'arm64' && this.version.architecture === 'X86_64')) {
|
|
441
|
+
return undefined;
|
|
442
|
+
}
|
|
443
|
+
try {
|
|
444
|
+
return await unity_cli_1.UnityCli.Find();
|
|
445
|
+
}
|
|
446
|
+
catch (error) {
|
|
447
|
+
this.logger.debug(`Launching the editor directly, the Unity CLI was not found: ${error}`);
|
|
448
|
+
return undefined;
|
|
353
449
|
}
|
|
354
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* Builds the `unity run` arguments for an editor command.
|
|
453
|
+
* `unity run` adds -batchmode, -quit, -projectPath and -logFile itself and rejects them after `--`, so those are not forwarded.
|
|
454
|
+
* @param editorPath The editor executable.
|
|
455
|
+
* @param projectPath The Unity project.
|
|
456
|
+
* @param logPath The editor log file, which unity-cli tails itself.
|
|
457
|
+
* @param args The editor arguments.
|
|
458
|
+
*/
|
|
459
|
+
static GetUnityRunArgs(editorPath, projectPath, logPath, args) {
|
|
460
|
+
const forwarded = [];
|
|
461
|
+
for (let i = 0; i < args.length; i++) {
|
|
462
|
+
const arg = args[i];
|
|
463
|
+
if (arg === '-projectPath' || arg === '-logFile') {
|
|
464
|
+
i++;
|
|
465
|
+
continue;
|
|
466
|
+
}
|
|
467
|
+
if (arg === '-batchmode' || arg === '-quit') {
|
|
468
|
+
continue;
|
|
469
|
+
}
|
|
470
|
+
forwarded.push(arg);
|
|
471
|
+
}
|
|
472
|
+
return [
|
|
473
|
+
'run', projectPath,
|
|
474
|
+
// on macOS unity run wants the .app bundle, not the executable inside it
|
|
475
|
+
'--editor-path', editorPath.replace(/(\.app)[\\/]Contents[\\/]MacOS[\\/][^\\/]+$/, '$1'),
|
|
476
|
+
'--log-file', logPath,
|
|
477
|
+
'--no-tail',
|
|
478
|
+
'--',
|
|
479
|
+
...forwarded
|
|
480
|
+
];
|
|
481
|
+
}
|
|
355
482
|
/**
|
|
356
483
|
* Get or create the Logs directory within the Unity project or current working directory.
|
|
357
484
|
* @param projectPath The path to the Unity project. If undefined, uses the current working directory.
|
|
@@ -483,36 +610,6 @@ class UnityEditor {
|
|
|
483
610
|
throw new Error(`Unsupported platform: ${process.platform}`);
|
|
484
611
|
}
|
|
485
612
|
}
|
|
486
|
-
/**
|
|
487
|
-
* Uninstall the Unity Editor.
|
|
488
|
-
*/
|
|
489
|
-
async Uninstall() {
|
|
490
|
-
switch (process.platform) {
|
|
491
|
-
case 'darwin':
|
|
492
|
-
case 'linux':
|
|
493
|
-
await (0, utilities_1.Exec)('sudo', [
|
|
494
|
-
'rm', '-rf', this.editorRootPath
|
|
495
|
-
], { silent: true, showCommand: true });
|
|
496
|
-
break;
|
|
497
|
-
case 'win32':
|
|
498
|
-
const editorDir = path.dirname(this.editorPath);
|
|
499
|
-
const uninstallPath = path.join(editorDir, 'Uninstall.exe');
|
|
500
|
-
await fs.promises.access(uninstallPath, fs.constants.R_OK | fs.constants.X_OK);
|
|
501
|
-
await (0, utilities_1.Exec)('powershell', [
|
|
502
|
-
'-NoProfile',
|
|
503
|
-
'-Command',
|
|
504
|
-
`Start-Process -FilePath "${uninstallPath}" -ArgumentList "/S" -Wait`
|
|
505
|
-
], { silent: true, showCommand: true });
|
|
506
|
-
// delete the editor root directory if it still exists
|
|
507
|
-
await (0, utilities_1.DeleteDirectory)(editorDir);
|
|
508
|
-
if (this.version.isLegacy()) {
|
|
509
|
-
// delete the MonoDevelop that is a sibling of the Unity editor directory
|
|
510
|
-
const monoDevelopDir = path.join(path.dirname(editorDir), 'MonoDevelop');
|
|
511
|
-
await (0, utilities_1.DeleteDirectory)(monoDevelopDir);
|
|
512
|
-
}
|
|
513
|
-
break;
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
613
|
}
|
|
517
614
|
exports.UnityEditor = UnityEditor;
|
|
518
615
|
//# sourceMappingURL=unity-editor.js.map
|
package/dist/unity-editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unity-editor.js","sourceRoot":"","sources":["../src/unity-editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unity-editor.js","sourceRoot":"","sources":["../src/unity-editor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAmC;AACnC,mDAA+C;AAC/C,iDAGuB;AACvB,2CAMqB;AACrB,2CAAuC;AACvC,uDAQ2B;AAC3B,mDAGyB;AAEzB,wFAAwF;AACxF,MAAM,qBAAsB,SAAQ,KAAK;CAAI;AAO7C,MAAa,WAAW;IACpB,kDAAkD;IAC1C,MAAM,CAAU,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAEtF,UAAU,CAAS;IACnB,cAAc,CAAS;IACvB,OAAO,CAAe;IAErB,MAAM,GAAW,gBAAM,CAAC,QAAQ,CAAC;IACjC,iBAAiB,CAAU;IAE5C;;;;;OAKG;IACH,YACI,UAAkB,EAClB,OAAkC;QAElC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAE9E,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC;YAE9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,MAAM,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAY,CAAC,GAAG,KAAK,CAAC,MAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAGhE,8DAA8D;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC;YACD,qDAAqD;YACrD,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG;oBACb,WAAW,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;oBACvD,YAAY,EAAE,EAAE;oBAChB,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE,IAAI;iBACd,CAAC;gBACF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACJ,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAE7C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACxB,yCAAyC;oBACzC,MAAM,WAAW,GAAQ;wBACrB,WAAW,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;qBAC1D,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAChC,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACtC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,6DAA6D;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,IAAc;QACpC,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC;QACnD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvB,6DAA6D;YAC7D,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC,EAAE,CAAC,CAAC,6EAA6E;YACtF,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,OAAsB;QACnC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAqB,CAAC,EAAE,CAAC;gBAC5C,MAAM,KAAK,CAAC;YAChB,CAAC;YAED,mGAAmG;YACnG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,0CAA0C,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,OAAsB,EAAE,aAAsB;QAClE,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,GAAuB,SAAS,CAAC;QAC7C,IAAI,QAAQ,GAAoB,IAAI,CAAC;QACrC,IAAI,OAAO,GAAyB,IAAI,CAAC;QACzC,IAAI,YAA0B,CAAC;QAC/B,IAAI,cAAc,GAAuB,SAAS,CAAC;QACnD,IAAI,aAAa,GAAuB,SAAS,CAAC;QAElD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAa,EAAE,CAAC;QAE5B,+GAA+G;QAC/G,iHAAiH;QACjH,oFAAoF;QACpF,KAAK,UAAU,sBAAsB;YACjC,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,MAAM,IAAI,GAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gBACvE,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAa,GAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAA,sCAAoB,EAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAU,CAAC,CAAC,CAAC;gBAEtG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC/B,4FAA4F;oBAC5F,gGAAgG;oBAChG,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,YAAY,GAAG,IAAI;4BAC5C,IAAI,CAAC,cAAc,IAAI,IAAA,6BAAW,EAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC;4BACvE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;4BAC3F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC9B,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,yGAAyG;gBACzG,iGAAiG;gBACjG,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAA,mCAAiB,EAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC;gBACzG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,gBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;QAED,SAAS,QAAQ;YACb,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,sBAAsB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB;gBACtB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACrC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACJ,MAAM,eAAe,GAAG,IAAA,oCAAwB,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACJ,MAAM,YAAY,GAAG,IAAA,oCAAwB,EAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAE5E,IAAI,YAAY,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;wBACvC,MAAM,KAAK,CAAC,kDAAkD,YAAY,gBAAgB,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;oBACtH,CAAC;oBAED,4CAA4C;oBAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAW,IAAA,oCAAwB,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,aAAa,GAAG,OAAO,CAAC;YACxB,sGAAsG;YACtG,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC;YAC3H,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACpE,OAAO,GAAG,IAAA,2BAAW,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAErE,2CAA2C;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvF,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAClD,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,EAAE;gBAC3C,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,aAAa,GAAsB;gBACrC,GAAG,OAAO,CAAC,GAAG;gBACd,8CAA8C,EAAE,GAAG;gBACnD,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;aAC/B,CAAC;YAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,QAAQ,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5E,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE1B,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3H,cAAc,GAAG,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAA,qBAAK,EACf,QAAQ,CAAC,UAAU,EACnB,OAAO,EAAE;oBACT,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,GAAG,IAAA,mCAAiB,GAAE;oBACtB,GAAG,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjC,YAAY,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;gBACnC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EACvC,CAAC;gBACC,YAAY,GAAG,IAAA,qBAAK,EAChB,UAAU,EACV,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;oBACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACrC,GAAG,IAAA,mCAAiB,GAAE;oBACtB,GAAG,EAAE;wBACD,GAAG,aAAa;wBAChB,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,KAAK;qBAC1C;iBACJ,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAC/B,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,EACxC,CAAC,CAAC,8FAA8F;gBAC9F,YAAY,GAAG,IAAA,qBAAK,EAChB,MAAM,EACN,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC/C,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACrC,GAAG,IAAA,mCAAiB,GAAE;oBACtB,GAAG,EAAE,aAAa;iBACrB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,YAAY,GAAG,IAAA,qBAAK,EAChB,IAAI,CAAC,UAAU,EACf,OAAO,CAAC,IAAI,EAAE;oBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACrC,GAAG,IAAA,mCAAiB,GAAE;oBACtB,GAAG,EAAE,aAAa;iBACrB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClC,QAAQ,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/E,kGAAkG;YAClG,wDAAwD;YACxD,IAAA,mCAAiB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YACrE,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,0FAA0F;gBAC1F,0GAA0G;gBAC1G,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,EAAE;oBACnC,IAAI,OAAO,EAAE,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACxB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,EAAE,WAAW,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC,CAAC;gBACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC7B,UAAU,CAAC,GAAG,EAAE;wBACZ,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;wBAC/B,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;oBACnD,OAAO,EAAE,WAAW,EAAE,CAAC;oBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,2DAA2D;YAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,WAAW,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEvB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,sBAAsB,EAAE,CAAC;gBAE/B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC7D,kHAAkH;oBAClH,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC;oBAC3H,MAAM,MAAM,GAAG,IAAA,mCAAuB,EAAC,cAAc,EAAE,eAAe,CAAC;yBAClE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEtG,IAAI,MAAM,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE,CAAC;wBAC1D,MAAM,IAAI,qBAAqB,CAAC,6CAA6C,MAAM,EAAE,CAAC,CAAC;oBAC3F,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACzD,CAAC;gBAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,kFAAkF;gBAClF,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAA6B,EAAE,OAA2B;QACtF,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;QAE7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,OAAQ,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzH,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,YAAY,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnH,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,MAAM,aAAa,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxI,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE/E,iGAAiG;QACjG,sGAAsG;QACtG,+EAA+E;QAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,WAAW,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC;QAEtG,IAAI,CAAC,OAAO,CAAC,WAAW;YACpB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC/B,cAAc;YACd,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,GAAG;YAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;YACnC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACD,OAAO,MAAM,oBAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,KAAK,EAAE,CAAC,CAAC;YAC1F,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,eAAe,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe,EAAE,IAAc;QAClG,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YAErB,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC/C,CAAC,EAAE,CAAC;gBACJ,SAAS;YACb,CAAC;YAED,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC1C,SAAS;YACb,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO;YACH,KAAK,EAAE,WAAW;YAClB,yEAAyE;YACzE,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,6CAA6C,EAAE,IAAI,CAAC;YACxF,YAAY,EAAE,OAAO;YACrB,WAAW;YACX,IAAI;YACJ,GAAG,SAAS;SACf,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,WAA+B;QACnD,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS;YACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,GAAG,CAAC,CAAC;YAChE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,WAA+B,EAAE,SAA6B,SAAS;QAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,SAAS,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO,OAAO,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,mDAAmD,OAAO,6BAA6B,CAC1F,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,WAAW,GAAG,aAAa,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,WAAW,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,WAAW,6BAA6B,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,GAAG,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAE1D,MAAM,YAAY,GAAsB;YACpC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO;YACvD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO;YAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM;YAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa;YACnD,eAAe,EAAE,UAAU;SAC9B,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CACd,MAAM,EACN,CAAC,IAAI,EAAE,kFAAkF,CAAC,EAC1F,YAAY,CACf,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CACd,MAAM,EACN;YACI,IAAI;YACJ,2OAA2O;SAC9O,EACD,YAAY,CACf,CAAC;QAEF,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,IAAc,EAAE,GAAsB;QACzE,IAAI,CAAC;YACD,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QAC9C,IAAI,cAAc,GAAG,UAAU,CAAC;QAChC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACT,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACvD,MAAM;YACV,KAAK,OAAO;gBACR,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACjD,MAAM;YACV,KAAK,OAAO;gBACR,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACjD,MAAK;QACb,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,sBAAsB;QACzB,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxE,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzE,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7E;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;;AAjoBL,kCAkoBC"}
|