From 63cc8072465ddbb944ba140a1ea782be5fa23085 Mon Sep 17 00:00:00 2001 From: Robert Konrad Date: Sun, 14 Apr 2024 14:16:01 +0200 Subject: [PATCH] Add an open option to open things --- kmake/src/Exporters/Exporter.ts | 2 ++ kmake/src/Exporters/VisualStudioExporter.ts | 5 +++++ kmake/src/main.ts | 18 +++++++++++++----- lib/internal/main/run_main_module.js | 5 +++++ lib/kmake/Exporters/Exporter.js | 1 + lib/kmake/Exporters/Exporter.js.map | 2 +- lib/kmake/Exporters/VisualStudioExporter.js | 4 ++++ .../Exporters/VisualStudioExporter.js.map | 2 +- lib/kmake/main.js | 12 +++++++++--- lib/kmake/main.js.map | 2 +- 10 files changed, 42 insertions(+), 11 deletions(-) diff --git a/kmake/src/Exporters/Exporter.ts b/kmake/src/Exporters/Exporter.ts index 340c0510d2..b242c53cc0 100644 --- a/kmake/src/Exporters/Exporter.ts +++ b/kmake/src/Exporters/Exporter.ts @@ -74,4 +74,6 @@ export abstract class Exporter { reject('Called an abstract function'); }); } + + open(project: Project, to: string) {} } diff --git a/kmake/src/Exporters/VisualStudioExporter.ts b/kmake/src/Exporters/VisualStudioExporter.ts index 38bb5a94d7..8ad62cf869 100644 --- a/kmake/src/Exporters/VisualStudioExporter.ts +++ b/kmake/src/Exporters/VisualStudioExporter.ts @@ -10,6 +10,7 @@ import { VrApi } from 'kmake/VrApi'; import * as log from 'kmake/log'; import * as fs from 'kmake/fsextra'; import * as path from 'path'; +import * as child_process from 'child_process'; import * as crypto from 'crypto'; import { CLionExporter } from 'kmake/Exporters/CLionExporter'; @@ -184,6 +185,10 @@ export class VisualStudioExporter extends Exporter { } } + open(project: Project, to: string) { + child_process.spawn('start', [path.resolve(to, project.getSafeName() + '.sln')]); + } + async exportSolution(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) { this.clion.exportSolution(project, from, to, platform, vrApi, options); diff --git a/kmake/src/main.ts b/kmake/src/main.ts index 412a210966..7ba726a749 100644 --- a/kmake/src/main.ts +++ b/kmake/src/main.ts @@ -497,7 +497,7 @@ function compileKong(project: Project, from: string, to: string, platform: strin let consoleCompilePlatform: string = null; -async function exportKoremakeProject(from: string, to: string, platform: string, korefile: string, retro: boolean, veryretro: boolean, options: any) { +async function exportKoremakeProject(from: string, to: string, platform: string, korefile: string, retro: boolean, veryretro: boolean, options: any): Promise<[Project, Exporter]> { log.info('kfile found.'); if (options.onlyshaders) { log.info('Only compiling shaders.'); @@ -605,7 +605,7 @@ async function exportKoremakeProject(from: string, to: string, platform: string, } if (options.onlyshaders) { - return project; + return [project, null]; } // Run again to find new shader files for Metal @@ -679,14 +679,14 @@ async function exportKoremakeProject(from: string, to: string, platform: string, }); }*/ - return project; + return [project, exporter] } function isKoremakeProject(directory: string, korefile: string): boolean { return fs.existsSync(path.resolve(directory, korefile)); } -async function exportProject(from: string, to: string, platform: string, korefile: string, options: any): Promise { +async function exportProject(from: string, to: string, platform: string, korefile: string, options: any): Promise<[Project, Exporter]> { if (isKoremakeProject(from, korefile)) { return exportKoremakeProject(from, to, platform, korefile, false, false, options); } @@ -950,8 +950,11 @@ export async function run(options: any, loglog: any): Promise { options.buildPath = options.debug ? 'Debug' : 'Release'; let project: Project = null; + let exporter: Exporter = null; try { - project = await exportProject(options.from, options.to, options.target, options.kfile, options); + const value = await exportProject(options.from, options.to, options.target, options.kfile, options); + project = value[0]; + exporter = value[1]; } catch (error) { throw error; @@ -1081,5 +1084,10 @@ export async function run(options: any, loglog: any): Promise { process.exit(1); } } + + if (options.open) { + exporter.open(project, options.to); + } + return solutionName; } diff --git a/lib/internal/main/run_main_module.js b/lib/internal/main/run_main_module.js index 8f1213d667..daca11a99e 100644 --- a/lib/internal/main/run_main_module.js +++ b/lib/internal/main/run_main_module.js @@ -253,6 +253,11 @@ let options = [ description: 'Use the JavaScript from the kmake repo that path points to', metavar: 'path', default: '' + }, + { + full: 'open', + value: false, + description: 'Open the created project in its default application (usually your IDE)' } ]; diff --git a/lib/kmake/Exporters/Exporter.js b/lib/kmake/Exporters/Exporter.js index 59b553cd62..a0982710e0 100644 --- a/lib/kmake/Exporters/Exporter.js +++ b/lib/kmake/Exporters/Exporter.js @@ -65,6 +65,7 @@ class Exporter { reject('Called an abstract function'); }); } + open(project, to) { } } exports.Exporter = Exporter; //# sourceMappingURL=Exporter.js.map \ No newline at end of file diff --git a/lib/kmake/Exporters/Exporter.js.map b/lib/kmake/Exporters/Exporter.js.map index 3680854654..88c12b9b73 100644 --- a/lib/kmake/Exporters/Exporter.js.map +++ b/lib/kmake/Exporters/Exporter.js.map @@ -1 +1 @@ -{"version":3,"file":"Exporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/Exporter.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AACpC,6BAA6B;AAC7B,iCAAiC;AAEjC,IAAK,SAIJ;AAJD,WAAK,SAAS;IACb,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,6CAAM,CAAA;AACP,CAAC,EAJI,SAAS,KAAT,SAAS,QAIb;AAED,MAAsB,QAAQ;IAK7B,YAAY,OAAY;QAJxB,cAAS,GAAc,SAAS,CAAC,IAAI,CAAC;QACtC,YAAO,GAAW,CAAC,CAAC;QACpB,cAAS,GAAW,IAAI,CAAC;IAIzB,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,SAAS;QACR,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,WAAW;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,CAAC,CAAC,OAAe,EAAE,EAAE,SAAiB,CAAC;QACtC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAChC,IAAI,IAAI,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;SACtB;aACI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;YAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACvD;aACI;YACJ,MAAM,oCAAoC,CAAC;SAC3C;IACF,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,QAAgB;QAClD,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC/B,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,KAAU,EAAE,OAAY;QAC1G,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAjED,4BAiEC"} \ No newline at end of file +{"version":3,"file":"Exporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/Exporter.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AACpC,6BAA6B;AAC7B,iCAAiC;AAEjC,IAAK,SAIJ;AAJD,WAAK,SAAS;IACb,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,6CAAM,CAAA;AACP,CAAC,EAJI,SAAS,KAAT,SAAS,QAIb;AAED,MAAsB,QAAQ;IAK7B,YAAY,OAAY;QAJxB,cAAS,GAAc,SAAS,CAAC,IAAI,CAAC;QACtC,YAAO,GAAW,CAAC,CAAC;QACpB,cAAS,GAAW,IAAI,CAAC;IAIzB,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,SAAS;QACR,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,WAAW;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,CAAC,CAAC,OAAe,EAAE,EAAE,SAAiB,CAAC;QACtC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAChC,IAAI,IAAI,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;SACtB;aACI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;YAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;YAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACvD;aACI;YACJ,MAAM,oCAAoC,CAAC;SAC3C;IACF,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,QAAgB;QAClD,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC/B,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,KAAU,EAAE,OAAY;QAC1G,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAgB,EAAE,EAAU,IAAG,CAAC;CACrC;AAnED,4BAmEC"} \ No newline at end of file diff --git a/lib/kmake/Exporters/VisualStudioExporter.js b/lib/kmake/Exporters/VisualStudioExporter.js index 76ea0205bd..2a33517b53 100644 --- a/lib/kmake/Exporters/VisualStudioExporter.js +++ b/lib/kmake/Exporters/VisualStudioExporter.js @@ -13,6 +13,7 @@ const VrApi_1 = require("kmake/VrApi"); const log = require("kmake/log"); const fs = require("kmake/fsextra"); const path = require("path"); +const child_process = require("child_process"); const crypto = require("crypto"); const CLionExporter_1 = require("kmake/Exporters/CLionExporter"); function isGitPath(aPath) { @@ -174,6 +175,9 @@ class VisualStudioExporter extends Exporter_1.Exporter { return 'Application'; } } + open(project, to) { + child_process.spawn('start', [path.resolve(to, project.getSafeName() + '.sln')]); + } async exportSolution(project, from, to, platform, vrApi, options) { this.clion.exportSolution(project, from, to, platform, vrApi, options); this.writeFile(path.resolve(to, project.getSafeName() + '.sln')); diff --git a/lib/kmake/Exporters/VisualStudioExporter.js.map b/lib/kmake/Exporters/VisualStudioExporter.js.map index 55bf6ee08c..3aae99de6e 100644 --- a/lib/kmake/Exporters/VisualStudioExporter.js.map +++ b/lib/kmake/Exporters/VisualStudioExporter.js.map @@ -1 +1 @@ -{"version":3,"file":"VisualStudioExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/VisualStudioExporter.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,mDAAgD;AAChD,mCAAmC;AACnC,6CAA0C;AAC1C,2CAA8C;AAC9C,2CAAwC;AACxC,mEAAgE;AAChE,uDAAoD;AACpD,uCAAoC;AACpC,iCAAiC;AACjC,oCAAoC;AACpC,6BAA6B;AAC7B,iCAAiC;AACjC,iEAA8D;AAE9D,SAAS,SAAS,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9H,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrE;SACI;QACJ,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAED,SAAS,MAAM,CAAC,IAAU;IACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY,EAAE,OAAY;IAC3C,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE;QAC/B,IAAI,YAAY,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;KAC1C;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC3B,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,6BAAa,CAAC,KAAK,CAAC;IAChD,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,6BAAa,CAAC,YAAY,CAAC;IAC9D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,6BAAa,CAAC,OAAO,CAAC;IACpD,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,6BAAa,CAAC,eAAe,CAAC;IACpE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,6BAAa,CAAC,OAAO,CAAC;IACpD,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,6BAAa,CAAC,YAAY,CAAC;IAC9D,MAAM,uBAAuB,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa;IACrB,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IACjE,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,UAAU,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,UAAU,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IACpK,IAAI,iBAAO,CAAC,WAAW,KAAK,yBAAW,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC/D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC5C,CAAC;AAED,MAAa,oBAAqB,SAAQ,mBAAQ;IAGjD,YAAY,OAAY;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YAChD,iBAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACjE;IACF,CAAC;IAED,2BAA2B;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAgB;QACzC,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC9B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACzC;aACI;YACJ,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC7D;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,EAAU,EAAE,OAAgB,EAAE,QAAgB;QAC1E,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE;YAAE,OAAO;QAEzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,gEAAgE,CAAC,CAAC;QAC3H,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,CAAC,CAAC,iCAAiC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,kCAAkC,EAAE,CAAC,CAAC,CAAC;YACpH,IAAI,CAAC,CAAC,CAAC,uDAAuD,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,CAAC,CAAC,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,kCAAkC,EAAE,CAAC,CAAC,CAAC;aAC9G;YAED,yDAAyD;YACzD,gLAAgL;SAChL;aACI;YACJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAE9B,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,MAAc;IAElD,CAAC;IAED,wBAAwB,CAAC,OAAgB,EAAE,YAAoB;QAC9D,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7L,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,CAAC,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;YAC/D,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;gBAC1C,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;aACnH;YACD,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;IAED,UAAU,CAAC,QAAgB;QAC1B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAC5B;aACI;YACJ,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACvC;IACF,CAAC;IAED,UAAU,CAAC,QAAgB;QAC1B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC/B;aACI;YACJ,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACxB;IACF,CAAC;IAED,MAAM,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,OAAgB,EAAE,QAAgB;QACpD,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;gBACxJ,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,aAAa,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtJ,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACrB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;iBACvJ;aACD;SACD;QACD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,IAAI,MAAM,KAAK,OAAO,EAAE;YACvB,OAAO,KAAK,CAAC;SACb;aACI;YACJ,OAAO,MAAM,CAAC;SACd;IACF,CAAC;IAED,mBAAmB,CAAC,IAAS;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,eAAe,CAAC;SACvB;aACI,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3B,OAAO,gBAAgB,CAAC;SACxB;aACI;YACJ,OAAO,aAAa,CAAC;SACrB;IACF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,KAAU,EAAE,OAAY;QAC1G,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QAEjE,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YAC/D,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;SACpD;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;SACpD;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;SACpD;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;SACpD;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;SACpD;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;SAC/B;aACI;YACJ,IAAI,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;SAC/B;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,6DAA6D,EAAE,CAAC,CAAC,CAAC;QACzE,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACvG;SACD;QACD,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,6DAA6D,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAEjC,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,4BAA4B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1G,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACtG;aACI,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;SACvE;aACI;YACJ,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9D;IACF,CAAC;IAED,YAAY;IAEZ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAS,EAAE,IAAY,EAAE,EAAU,EAAE,OAAgB,EAAE,QAAgB;IAE7F,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,OAAgB;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,sPAAsP,CAAC,CAAC;QAC/P,IAAI,CAAC,CAAC,CAAC,kGAAkG,EAAE,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,CAAC,CAAC,mIAAmI,EAAE,CAAC,CAAC,CAAC;QAC/I,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,CAAC,qDAAqD,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,mGAAmG,EAAE,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,uEAAuE,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtH,IAAI,CAAC,CAAC,CAAC,mCAAmC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,8EAA8E,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,8BAA8B,EAAE,CAAC,CAAC,CAAC;QACzM,IAAI,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,iBAAO,CAAC,KAAK,KAAK,aAAK,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,CAAC,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,oBAAoB,CAAC,EAAU;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,IAAc,EAAE,MAAgB;QACxE,IAAI,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACjC,IAAI,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACf;QACD,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;;gBACrH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SAC/D;IACF,CAAC;IAED,SAAS,CAAC,GAAW;QACpB,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACnC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,EAAU,EAAE,OAAgB,EAAE,IAAY,EAAE,MAAkB,EAAE,MAA+B;QACtH,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,GAAG,GAAG,CAAC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/D;qBACI;oBACJ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9C;gBAED,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;aAC7B;SACD;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,OAAgB,EAAE,QAAgB;QACzE,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,gEAAgE,CAAC,CAAC;QAE3H,4BAA4B;QAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,OAAO,EAAE;gBACpB,IAAI,MAAM,GAAG,GAAG,CAAC;gBACjB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;wBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC/C;gBACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACf,OAAO,GAAG,GAAG,CAAC;aACd;SACD;QACD,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,QAAQ;YAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1G,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBACzG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACvB;SACD;QACD,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,wBAAwB,CAAC,CAAC;YACpJ,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBACzB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;aAC1B;SACD;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1H,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE;YACzE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE;YAClE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE;YACrB,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAChD,IAAI,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAC/C,IAAI,GAAG,KAAK,OAAO;wBAAE,OAAO,GAAG,GAAG,CAAC;oBACnC,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC/D,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBACrB;aACD;YACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE;gBACzD,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACH;QAED,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,wBAAiC,EAAE,QAAgB,EAAE,OAAgB,EAAE,OAAY;QACtH,IAAI,CAAC,CAAC,CAAC,gEAAgE,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,4BAA4B,EAAE,CAAC,CAAC,CAAC;QACrJ,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,CAAC,CAAC,4BAA4B,GAAG,CAAC,CAAC,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC1J,IAAI,CAAC,CAAC,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,kBAAkB;QACjB,QAAQ,iBAAO,CAAC,mBAAmB,EAAE;YACpC,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf;gBACC,MAAM,+BAA+B,CAAC;SACvC;IACF,CAAC;IAED,oBAAoB,CAAC,KAAc,EAAE,QAAgB,EAAE,OAAgB,EAAE,OAAY;QACpF,IAAI,CAAC,CAAC,CAAC,gEAAgE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,QAAQ,GAAG,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC5J,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,oBAAoB;YAAE,IAAI,CAAC,CAAC,CAAC,2DAA2D,EAAE,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,CAAC,CAAC,2DAA2D,EAAE,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,OAAgB,EAAE,OAAY;QAC3F,IAAI,CAAC,CAAC,CAAC,oDAAoD,GAAG,MAAM,GAAG,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAC7G,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,sBAAsB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,oBAAoB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,CAAC,4DAA4D,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,oBAAoB,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,2DAA2D,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAChF;QACD,IAAI,CAAC,CAAC,CAAC,sCAAsC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc;IAE5D,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc;IAErD,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,MAAc,EAAE,QAAgB,EAAE,MAAc;IAExE,CAAC;IAED,eAAe,CAAC,MAAc;QAC7B,QAAQ,MAAM,EAAE;YACf,KAAK,OAAO,CAAC;YACb;gBACC,OAAO,UAAU,CAAC;YACnB,KAAK,SAAS;gBACb,OAAO,MAAM,CAAC;YACf,KAAK,SAAS;gBACb,OAAO,UAAU,CAAC;SACnB;IACF,CAAC;IAED,IAAI,CAAC,OAAgB;QACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACnC,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACT,OAAO,EAAE,CAAC;YACX,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACT,OAAO,QAAQ,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACT,OAAO,QAAQ,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,KAAK;gBACT,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;gBACtE,OAAO,QAAQ,CAAC;YACjB;gBACC,MAAM,mBAAmB,CAAA;SAC1B;IACF,CAAC;IAED,MAAM,CAAC,OAAgB;QACtB,QAAQ,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;YACrC,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACX,OAAO,EAAE,CAAC;YACX,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACX,OAAO,UAAU,CAAC;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACX,OAAO,UAAU,CAAC;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACX,OAAO,UAAU,CAAC;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACX,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;gBAC9E,OAAO,cAAc,CAAC;YACvB;gBACC,MAAM,qBAAqB,CAAA;SAC5B;IACF,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,QAAgB,EAAE,YAAoB,EAAE,cAAsB,EAAE,MAAc,EAC5H,SAAiB,EAAE,WAAmB,EAAE,IAAY,EAAE,OAAgB;QAEtE,IAAI,CAAC,CAAC,CAAC,sEAAsE,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;QACxH,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAElC,IAAI,iBAAO,CAAC,kBAAkB;YAAE,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,CAAC,CAAC,gCAAgC,GAAG,QAAQ,GAAG,iCAAiC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACpG,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,CAAC,CAAC,yEAAyE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC9F;aACI;YACJ,IAAI,CAAC,CAAC,CAAC,qEAAqE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1F;QAED,IAAI,CAAC,CAAC,CAAC,qCAAqC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,iBAAiB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,CAAC,CAAC,mDAAmD,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,MAAM,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,CAAC,CAAC,+CAA+C,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,qEAAqE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACzN,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,mBAAmB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,CAAC,CAAC,6DAA6D,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,CAAC,CAAC,wCAAwC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,yGAAyG;QACzG,IAAI,MAAM,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,CAAC,CAAC,kDAAkD,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,IAAI,GAAG,uBAAuB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;aAC5E;SACD;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,GAAG,qBAAqB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;aAC1E;SACD;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,CAAC,CAAC,kEAAkE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACvF;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,KAAK,EAAE;YAAE,IAAI,CAAC,CAAC,CAAC,gCAAgC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;;YACrE,IAAI,CAAC,CAAC,CAAC,gCAAgC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,CAAC,CAAC,gEAAgE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACrF;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,2DAA2D,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAChF;QACD,IAAI,MAAM,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,CAAC,CAAC,iDAAiD,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,CAAC,+CAA+C,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACpE;QACD;YACC,IAAI,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,EAAE;gBAC5F,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;;oBAC1F,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC;aAC3B;YACD,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;;oBAC1F,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC;aAC3B;YACD,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;gBAC/E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;;oBAC1F,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC;aAC3B;YAED,IAAI,CAAC,CAAC,CAAC,0BAA0B,GAAG,IAAI,GAAG,iMAAiM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1P,IAAI,OAAO,CAAC,SAAS,EAAE;gBACtB,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,GAAG,qBAAqB,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;aACrF;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;gBAC3C,IAAI,CAAC,CAAC,CAAC,4DAA4D,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,CAAC,CAAC,gDAAgD,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,CAAC,CAAC,kDAAkD,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;aACvE;SACD;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,iEAAiE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,CAAC,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,MAAc,EAAE,IAAY,EAAE,EAAU,EAAE,OAAgB;IAE/E,CAAC;IAEF,uCAAuC;IACvC,0DAA0D;IAC1D,+CAA+C;IAC/C,4BAA4B;IAC5B,IAAI;IAEH,YAAY;QACX,QAAQ,iBAAO,CAAC,mBAAmB,EAAE;YACpC,KAAK,yCAAmB,CAAC,MAAM,CAAC;YAChC,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,KAAK,CAAC;YACd,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf,KAAK,yCAAmB,CAAC,MAAM;gBAC9B,OAAO,MAAM,CAAC;YACf;gBACC,OAAO,SAAS,CAAC;SAClB;IACF,CAAC;IAED,cAAc;QACb,MAAM,YAAY,GAAG,wFAAwF,CAAC;QAC9G,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI;gBACH,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBACrB,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;4BAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;yBACzB;wBACD,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;4BACtB,IAAI,GAAG,IAAI,CAAC;yBACZ;6BACI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;4BAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;gCACtB,IAAI,GAAG,IAAI,CAAC;6BACZ;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;gCAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;oCACtB,IAAI,GAAG,IAAI,CAAC;iCACZ;qCACI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;oCAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;wCACtB,IAAI,GAAG,IAAI,CAAC;qCACZ;iCACD;6BACD;yBACD;qBACD;iBACD;gBACD,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE;qBACI;oBACJ,OAAO,CAAC,IAAI,CAAC,CAAC;iBACd;aACD;YACD,OAAO,GAAG,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,4DAA4D,GAAG,GAAG,CAAC,CAAC;gBAC9E,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;aACd;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,MAAc;QAC7C,IAAI,oBAAoB,GAAG,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QAExH,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YAC7H,IAAI,CAAC,CAAC,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;SAC5D;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,CAAC,CAAC,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;SAC5D;QAED,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,YAAY,EAAE;gBACjB,oBAAoB,GAAG,YAAY,CAAC;aACpC;YAED,IAAI,CAAC,CAAC,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,CAAC,+DAA+D,EAAE,MAAM,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,CAAC,yDAAyD,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,CAAC,kDAAkD,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,CAAC,CAAC,wDAAwD,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,CAAC,gCAAgC,GAAG,oBAAoB,GAAG,iCAAiC,EAAE,MAAM,CAAC,CAAC;YAC5G,IAAI,CAAC,CAAC,CAAC,mCAAmC,GAAG,oBAAoB,GAAG,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAClH,IAAI,CAAC,CAAC,CAAC,yDAAyD,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,CAAC,iFAAiF,EAAE,MAAM,CAAC,CAAC;SAClG;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YACpE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,YAAY,EAAE;gBACjB,oBAAoB,GAAG,YAAY,CAAC;aACpC;YAED,IAAI,CAAC,CAAC,CAAC,gCAAgC,GAAG,oBAAoB,GAAG,iCAAiC,EAAE,MAAM,CAAC,CAAC;SAC5G;aACI,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,IAAI,iBAAO,CAAC,mBAAmB,KAAK,yCAAmB,CAAC,MAAM,EAAE;YAClI,IAAI,CAAC,CAAC,CAAC,mEAAmE,EAAE,MAAM,CAAC,CAAC;SACpF;IACF,CAAC;IAED,gBAAgB,CAAC,MAAc;IAE/B,CAAC;IAED,wBAAwB,CAAC,MAAc;IAEvC,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC/B,IAAI,CAAC,CAAC,CAAC,wEAAwE,CAAC,CAAC;IAClF,CAAC;IAED,sBAAsB,CAAC,MAAc;IAErC,CAAC;IAED,gBAAgB,CAAC,MAAc;QAC9B,IAAI,CAAC,CAAC,CAAC,yEAAyE,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,OAAgB,EAAE,QAAgB,EAAE,GAAY,EAAE,SAAkB,EAAE,OAAY;QAC/H,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEvH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;QAC5G,IAAI,CAAC,CAAC,CAAC,kCAAkC,GAAG,YAAY,GAAG,8DAA8D,CAAC,CAAC;QAC3H,IAAI,CAAC,CAAC,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,CAAC,CAAC,iCAAiC,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,MAAM,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;aACrC;SACD;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7F,wCAAwC;QACxC,+DAA+D;QAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,oEAAoE,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC1D;aACI;YACJ,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;iBACxD;aACD;SACD;QACD,IAAI,CAAC,CAAC,CAAC,4DAA4D,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,CAAC,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;SAC9B;QAED,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC5C,KAAK,IAAI,aAAa,IAAI,cAAc,EAAE;gBACzC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,IAAI,CAAC,CAAC,CAAC,qFAAqF,GAAG,aAAa,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;oBACzI,IAAI,CAAC,CAAC,CAAC,qLAAqL,EAAE,CAAC,CAAC,CAAC;oBACjM,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBAC5B;aACD;SACD;aACI,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;YACvC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,CAAC,CAAC,oEAAoE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClG,IAAI,CAAC,CAAC,CAAC,qLAAqL,EAAE,CAAC,CAAC,CAAC;gBACjM,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;aAC5B;SACD;aACI;YACJ,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;iBACtC;aACD;SACD;QAED,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;aAC/B;SACD;QAED,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aACjE;SACD;QAED,IAAI,YAAY,GAAG,SAAS,CAAC;QAC7B,IAAI,cAAc,GAAG,SAAS,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBAC7D,YAAY,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;aACnC;iBACI,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;gBACpE,cAAc,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;aACrC;iBACI;gBACJ,YAAY,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnC,cAAc,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;aACrC;SACD;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACpC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACjD;iBACI;gBACJ,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC1D;YACD,YAAY,IAAI,iCAAiC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;SAC7F;QAED,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjC;QACD,KAAK,IAAI,OAAO,IAAI,WAAW,EAAE;YAChC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,IAAI,WAAW,KAAK,EAAE,EAAE;gBACvB,WAAW,GAAG,GAAG,CAAC;aAClB;YACD,SAAS,IAAI,WAAW,GAAG,GAAG,CAAC;SAC/B;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhF,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,IAAI,OAAO,CAAC,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;aACtF;iBACI;gBACJ,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;aACtD;SAED;QACD,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE;gBACpD,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;aAClE;iBACI;gBACJ,SAAS,IAAI,GAAG,GAAG,OAAO,CAAC;aAC3B;SACD;QAED,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;aAC1F;iBACI;gBACJ,WAAW,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;aAC1D;SAED;QACD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;YAAE,WAAW,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC;QACrG,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE;gBACpD,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;aACpE;iBACI;gBACJ,WAAW,IAAI,GAAG,GAAG,OAAO,CAAC;aAC7B;SACD;QAED,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC;;;;;;mDAMuC;YAEvC,MAAM,OAAO,GAAG;gBACf,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC;gBACtG,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAC,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAC;gBAChG,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAC,EAAE;oBACpD,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,SAAS;iBACjB;aACD,CAAC;YAEF,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,QAAQ,MAAM,CAAC,MAAM,EAAE;oBACtB,KAAK,KAAK,CAAC,CAAC;wBACX,MAAM,GAAG,OAAO,CAAC;wBACjB,MAAM;qBACN;oBACD,KAAK,KAAK,CAAC,CAAC;wBACX,MAAM,GAAG,SAAS,CAAC;wBACnB,UAAU,GAAG,SAAS,CAAC;wBACvB,MAAM;qBACN;iBACD;gBACD,IAAI,CAAC,CAAC,CAAC,sEAAsE,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjI,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAEpB,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,4JAA4J,EAAE,CAAC,CAAC,CAAC;oBACxK,IAAI,CAAC,CAAC,CAAC,qFAAqF,EAAE,CAAC,CAAC,CAAC;iBACjG;qBACI;oBACJ,IAAI,CAAC,CAAC,CAAC,0JAA0J,EAAE,CAAC,CAAC,CAAC;oBACtK,IAAI,CAAC,CAAC,CAAC,mFAAmF,EAAE,CAAC,CAAC,CAAC;iBAC/F;gBACD,IAAI,CAAC,CAAC,CAAC,8FAA8F,GAAG,MAAM,GAAG,0BAA0B,GAAG,MAAM,GAAG,iCAAiC,EAAE,CAAC,CAAC,CAAC;gBAC7L,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,CAAC,CAAC,gCAAgC,GAAG,SAAS,GAAG,iEAAiE,EAAE,CAAC,CAAC,CAAC;gBAC5H,IAAI,CAAC,CAAC,CAAC,qEAAqE,EAAE,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,CAAC,CAAC,+DAA+D,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,GAAG,sDAAsD,EAAE,CAAC,CAAC,CAAC;gBAC3K,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC,CAAC,iEAAiE,EAAE,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;aACpC;SACD;aACI;YACJ,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;iBACvH;aACD;SACD;QAED,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3D;iBACI;gBACJ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;SAClH;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAEzB,MAAM,MAAM,GAAG,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,wBAAwB,CAAC,CAAC;YACpJ,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBACzB,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;aAC/C;YAED,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACrB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,KAAK,IAAI,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC1C,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3G,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aAChD;SACD;QACD,KAAK,IAAI,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChG,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBAChD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;iBACtD;qBACI;oBACJ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;iBACzC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACnB,IAAI,UAAU,GAAW,IAAI,CAAC;oBAC9B,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;wBACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE;4BAChE,UAAU,GAAG,MAAM,CAAC;4BACpB,MAAM;yBACN;qBACD;oBAED,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;wBACzD,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;wBACnE,IAAI,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;wBAC3D,IAAI,CAAC,CAAC,CAAC,yBAAyB,GAAG,UAAU,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAC;wBAChF,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;qBAC1B;yBACI,IAAI,CAAC,QAAQ,KAAK,mBAAQ,CAAC,UAAU,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;wBAC7G,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,CAAC,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;qBAC1B;yBACI;wBACJ,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;4BAClF,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;4BACnD,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;4BACxD,IAAI,CAAC,CAAC,CAAC,yBAAyB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAC;4BAC5F,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;yBAC1B;6BACI;4BACJ,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;yBACtD;qBACD;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBACrB;qBACI;oBACJ,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE;wBACrB,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;qBAClB;oBACD,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpD,IAAI,CAAC,CAAC,CAAC,6BAA6B,GAAG,IAAI,GAAG,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBAC1E,IAAI,CAAC,QAAQ,KAAK,mBAAQ,CAAC,UAAU,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;wBACxG,IAAI,CAAC,CAAC,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;qBACpD;oBACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBACrB;aACD;SACD;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5E;SACD;QACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAE1B,IAAI,QAAQ,KAAK,mBAAQ,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,iBAAO,CAAC,OAAO,IAAI,iBAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACtG,IAAI,CAAC,CAAC,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;oBAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC1H,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBAElD,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,aAAa,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;oBAC3N,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBAC/H,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;oBACxD,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;iBAC5B;aACD;YACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC/B,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;iBACvE;aACD;YACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,CAAC,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;YACxD,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;iBACtF;aACD;YACD,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,8DAA8D,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,CAAC,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,OAAgB,EAAE,IAAY,EAAE,EAAU,EAAE,SAAiB;QAC5E,IAAI,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACjC,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YACpB,IAAI,SAAS,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBACvD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;aACjE;iBACI;gBACJ,IAAI,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvF,IAAI,CAAC,CAAC,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;gBAChG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aACrB;SACD;IACF,CAAC;CACD;AAhrCD,oDAgrCC"} \ No newline at end of file +{"version":3,"file":"VisualStudioExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/VisualStudioExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/kmake/main.js b/lib/kmake/main.js index 4154cc5a5b..1968c5a05c 100644 --- a/lib/kmake/main.js +++ b/lib/kmake/main.js @@ -545,7 +545,7 @@ async function exportKoremakeProject(from, to, platform, korefile, retro, veryre } } if (options.onlyshaders) { - return project; + return [project, null]; } // Run again to find new shader files for Metal project.searchFiles(undefined); @@ -619,7 +619,7 @@ async function exportKoremakeProject(from, to, platform, korefile, retro, veryre langExporter.exportWrapper(tree, from, to, options, project.IDLfiles[index]); }); }*/ - return project; + return [project, exporter]; } function isKoremakeProject(directory, korefile) { return fs.existsSync(path.resolve(directory, korefile)); @@ -850,8 +850,11 @@ async function run(options, loglog) { } options.buildPath = options.debug ? 'Debug' : 'Release'; let project = null; + let exporter = null; try { - project = await exportProject(options.from, options.to, options.target, options.kfile, options); + const value = await exportProject(options.from, options.to, options.target, options.kfile, options); + project = value[0]; + exporter = value[1]; } catch (error) { throw error; @@ -972,6 +975,9 @@ async function run(options, loglog) { process.exit(1); } } + if (options.open) { + exporter.open(project, options.to); + } return solutionName; } exports.run = run; diff --git a/lib/kmake/main.js.map b/lib/kmake/main.js.map index b944efaf33..fa1a3a23f2 100644 --- a/lib/kmake/main.js.map +++ b/lib/kmake/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../../kmake/src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../../kmake/src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file