tnp-core 13.0.13 → 13.0.19

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/lib/helpers.js CHANGED
@@ -81,6 +81,7 @@ var HelpersCore = /** @class */ (function (_super) {
81
81
  //#endregion
82
82
  //#region @backend
83
83
  HelpersCore.prototype.createSymLink = function (existedFileOrFolder, destinationPath, options) {
84
+ //#region fix parameters
84
85
  existedFileOrFolder = (0, core_imports_1.crossPlatformPath)(existedFileOrFolder);
85
86
  destinationPath = (0, core_imports_1.crossPlatformPath)(destinationPath);
86
87
  index_1.Helpers.log("[tnp-helpers][create link] exited -> dest\n ".concat(existedFileOrFolder, " ").concat(destinationPath));
@@ -97,16 +98,20 @@ var HelpersCore = /** @class */ (function (_super) {
97
98
  if (core_imports_1._.isUndefined(options.speedUpProcess)) {
98
99
  options.speedUpProcess = false;
99
100
  }
101
+ if (core_imports_1._.isUndefined(options.allowNotAbsolutePathes)) {
102
+ options.allowNotAbsolutePathes = false;
103
+ }
104
+ //#endregion
100
105
  var continueWhenExistedFolderDoesntExists = options.continueWhenExistedFolderDoesntExists, windowsHardLink = options.windowsHardLink, speedUpProcess = options.speedUpProcess;
101
106
  // console.log('Create link!')
102
- var target = existedFileOrFolder;
103
- var link = destinationPath;
107
+ var targetExisted = existedFileOrFolder;
108
+ var linkDest = destinationPath;
104
109
  if (!core_imports_1.fse.existsSync(existedFileOrFolder)) {
105
110
  if (continueWhenExistedFolderDoesntExists) {
106
111
  // just continue and create link to not existed folder
107
112
  }
108
113
  else {
109
- index_1.Helpers.error("[helpers.createLink] target path doesn't exist: ".concat(existedFileOrFolder));
114
+ index_1.Helpers.error("[helpers.createLink] target path doesn't exist: ".concat(existedFileOrFolder, "\n use option \"continueWhenExistedFolderDoesntExists\" to fix this if you know that\n file will be eventually in place\n "));
110
115
  }
111
116
  }
112
117
  /**
@@ -115,90 +120,63 @@ var HelpersCore = /** @class */ (function (_super) {
115
120
  * ln -s . /test/inside -> /test/inside/mysource
116
121
  * ln -s ./ /test/inside -> /test/inside/mysource
117
122
  */
118
- if (link === '.' || link === './') {
119
- link = (0, core_imports_1.crossPlatformPath)(process.cwd());
123
+ if (options.allowNotAbsolutePathes) {
124
+ if (linkDest === '.' || linkDest === './') {
125
+ linkDest = (0, core_imports_1.crossPlatformPath)(process.cwd());
126
+ }
127
+ if (!core_imports_1.path.isAbsolute(linkDest)) {
128
+ linkDest = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join((0, core_imports_1.crossPlatformPath)(process.cwd()), linkDest));
129
+ }
130
+ if (!core_imports_1.path.isAbsolute(targetExisted)) {
131
+ targetExisted = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join((0, core_imports_1.crossPlatformPath)(process.cwd()), targetExisted));
132
+ }
120
133
  }
121
- if (!core_imports_1.path.isAbsolute(link)) {
122
- link = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join((0, core_imports_1.crossPlatformPath)(process.cwd()), link));
134
+ else {
135
+ if (!core_imports_1.path.isAbsolute(linkDest)) {
136
+ index_1.Helpers.error("[createsymlink] path is not absolute:\n targetExisted: ".concat(targetExisted, "\n linkDest: ").concat(linkDest, "\n "));
137
+ }
138
+ if (!core_imports_1.path.isAbsolute(targetExisted)) {
139
+ index_1.Helpers.error("[createsymlink] path is not absolute:\n targetExisted: ".concat(targetExisted, "\n linkDest: ").concat(linkDest, "\n "));
140
+ }
123
141
  }
124
- if (!core_imports_1.path.isAbsolute(target)) {
125
- target = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join((0, core_imports_1.crossPlatformPath)(process.cwd()), target));
142
+ if (linkDest.endsWith('/')) {
143
+ linkDest = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join(linkDest, core_imports_1.path.basename(targetExisted)));
126
144
  }
127
- if (link.endsWith('/')) {
128
- link = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.join(link, core_imports_1.path.basename(target)));
145
+ var parentFolderLinkDest = core_imports_1.path.dirname(linkDest);
146
+ if (index_1.Helpers.isSymlinkFileExitedOrUnexisted(parentFolderLinkDest)) {
147
+ core_imports_1.fse.unlinkSync(parentFolderLinkDest);
129
148
  }
130
- if (!core_imports_1.fse.existsSync(core_imports_1.path.dirname(link))) {
131
- index_1.Helpers.mkdirp(core_imports_1.path.dirname(link));
149
+ if (!index_1.Helpers.isFolder(parentFolderLinkDest)) {
150
+ core_imports_1.rimraf.sync(parentFolderLinkDest);
151
+ index_1.Helpers.mkdirp(parentFolderLinkDest);
132
152
  }
133
- var resolvedLink = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.resolve(link));
134
- var resolvedTarget = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.resolve(target));
135
- var targetIsFile = index_1.Helpers.isFile(resolvedTarget);
136
153
  if (!speedUpProcess) {
137
- var exactSameLocations = (resolvedLink === resolvedTarget);
138
- // const tagetIsLink = Helpers.isLink(resolvedTarget);
139
- // const exactSameLinks = (tagetIsLink && (fse.readlinkSync(resolvedTarget) === resolvedLink));
140
- // const exactSameOverrideTargetLink = (tagetIsLink && (fse.readlinkSync(resolvedTarget) === resolvedTarget));
141
- var targetIsLink = index_1.Helpers.isLink(resolvedTarget);
142
- var exactSameOVerrideTarget = (!index_1.Helpers.isLink(resolvedLink)
143
- && index_1.Helpers.exists(resolvedLink)
144
- && !targetIsLink
145
- && index_1.Helpers.exists(resolvedTarget)
146
- && index_1.Helpers.isFile(resolvedLink)
147
- && targetIsFile // TODO refactor this
148
- && index_1.Helpers.readFile(resolvedLink) === index_1.Helpers.readFile(resolvedTarget));
149
- if (exactSameLocations) {
150
- index_1.Helpers.warn("[createSymLink] Trying to link same location");
151
- return;
152
- }
153
- // if (exactSameLinks) {
154
- // Helpers.warn(`[createSymLink] Trying to link same link`);
155
- // return;
156
- // }
157
- // if (exactSameOverrideTargetLink) {
158
- // Helpers.warn(`[createSymLink] Trying to override same link with link to itself`);
159
- // return;
160
- // }
161
- if (exactSameOVerrideTarget) {
162
- var linkContainerLink = index_1.Helpers.pathContainLink(resolvedLink);
163
- var targetContainerLink = index_1.Helpers.pathContainLink(resolvedTarget);
164
- if ((!linkContainerLink && targetContainerLink)
165
- || (linkContainerLink && !targetContainerLink)) {
166
- index_1.Helpers.warn("[createSymLink] Trying to override same file with link to itself:\n ".concat(resolvedLink, "\n to\n ").concat(resolvedTarget, "\n "));
167
- return;
168
- }
169
- }
170
- if (index_1.Helpers.exists(link)) {
171
- core_imports_1.rimraf.sync(link);
172
- }
173
- }
174
- if (index_1.Helpers.isFile(core_imports_1.path.dirname(link))) {
175
- core_imports_1.fse.unlinkSync(core_imports_1.path.dirname(link));
176
- }
177
- if (!index_1.Helpers.exists(core_imports_1.path.dirname(link))) {
178
- index_1.Helpers.mkdirp(core_imports_1.path.dirname(link));
154
+ core_imports_1.rimraf.sync(linkDest);
179
155
  }
180
156
  if (process.platform === 'win32') {
181
- if (index_1.Helpers.isLink(target)) {
182
- index_1.Helpers.info("FIXING TARGET FOR WINDOWS");
183
- target = (0, core_imports_1.crossPlatformPath)(core_imports_1.fse.realpathSync(target));
157
+ var resolvedTarget = (0, core_imports_1.crossPlatformPath)(core_imports_1.path.resolve(targetExisted));
158
+ var targetIsFile = index_1.Helpers.isFile(resolvedTarget);
159
+ if (index_1.Helpers.isSymlinkFileExitedOrUnexisted(targetExisted)) {
160
+ // Helpers.info(`FIXING TARGET FOR WINDOWS`)
161
+ targetExisted = (0, core_imports_1.crossPlatformPath)(core_imports_1.fse.realpathSync(targetExisted));
184
162
  // TODO QUICK_FIX on windows you can't create link to link
185
163
  }
186
- target = core_imports_1.path.win32.normalize(target).replace(/\\$/, '');
187
- link = core_imports_1.path.win32.normalize(link).replace(/\\$/, '');
164
+ targetExisted = core_imports_1.path.win32.normalize(targetExisted).replace(/\\$/, '');
165
+ linkDest = core_imports_1.path.win32.normalize(linkDest).replace(/\\$/, '');
188
166
  // const winLinkCommand = `cmd /c "mklink /D ${link} ${target}"`;
189
167
  // const winLinkCommand = `export MSYS=winsymlinks:nativestrict && ln -s ${target} ${link}`;
190
- var winLinkCommand = "mklink ".concat(windowsHardLink ? '/D' : (targetIsFile ? '/H' : '/j'), " \"").concat(link, "\" \"").concat(target, "\"");
191
- index_1.Helpers.log("windows link: lnk ".concat(target, " ").concat(link, "\n\n \"").concat(winLinkCommand, "'\n "));
168
+ var winLinkCommand = "mklink ".concat(windowsHardLink ? '/D' : (targetIsFile ? '/H' : '/j'), " \"").concat(linkDest, "\" \"").concat(targetExisted, "\"");
169
+ index_1.Helpers.log("windows link: lnk ".concat(targetExisted, " ").concat(linkDest, "\n\n \"").concat(winLinkCommand, "'\n "));
192
170
  try {
193
171
  index_1.Helpers.run(winLinkCommand, { biggerBuffer: false }).sync();
194
172
  }
195
173
  catch (error) {
196
174
  index_1.Helpers.error(error, true, false);
197
- index_1.Helpers.error("\n command: \"".concat(winLinkCommand, "\"\n [tnp-helpers] windows link error\n target: \"").concat(target, "\"\n link: \"").concat(link, "\"\n command: \"").concat(winLinkCommand, "\"\n "), true, false);
175
+ index_1.Helpers.error("\n command: \"".concat(winLinkCommand, "\"\n [tnp-helpers] windows link error\n target: \"").concat(targetExisted, "\"\n link: \"").concat(linkDest, "\"\n command: \"").concat(winLinkCommand, "\"\n "), true, false);
198
176
  }
199
177
  }
200
178
  else {
201
- core_imports_1.fse.symlinkSync(target, link);
179
+ core_imports_1.fse.symlinkSync(targetExisted, linkDest);
202
180
  }
203
181
  };
204
182
  //#endregion
@@ -223,45 +201,91 @@ var HelpersCore = /** @class */ (function (_super) {
223
201
  }
224
202
  };
225
203
  //#endregion
226
- //#region @backend
227
204
  /**
228
- * @param existedLink check if source of link exists
205
+ * symlink may have existed or unexisted destiantion url
206
+ * @param destUrl M
207
+ */
208
+ HelpersCore.prototype.isSymlinkThatMatchesUrl = function (possibleSymlink, destUrl, absoluteFileMatch) {
209
+ if (absoluteFileMatch === void 0) { absoluteFileMatch = false; }
210
+ //#region @backendFunc
211
+ destUrl = (0, core_imports_1.crossPlatformPath)(destUrl);
212
+ if (index_1.Helpers.exists(possibleSymlink)) {
213
+ if (index_1.Helpers.isExistedSymlink(possibleSymlink)) {
214
+ var fileLink = core_imports_1.fse.readlinkSync(possibleSymlink);
215
+ if (absoluteFileMatch) {
216
+ fileLink = core_imports_1.fse.realpathSync(fileLink);
217
+ }
218
+ fileLink = (0, core_imports_1.crossPlatformPath)(fileLink);
219
+ return fileLink === destUrl;
220
+ }
221
+ if (index_1.Helpers.isFolder(possibleSymlink)) {
222
+ return false;
223
+ }
224
+ }
225
+ try {
226
+ var linkToUnexitedLink = core_imports_1.fse.lstatSync(possibleSymlink).isSymbolicLink();
227
+ if (linkToUnexitedLink) {
228
+ var fileLink = core_imports_1.fse.readlinkSync(possibleSymlink);
229
+ if (absoluteFileMatch) {
230
+ fileLink = core_imports_1.fse.realpathSync(fileLink);
231
+ }
232
+ fileLink = (0, core_imports_1.crossPlatformPath)(fileLink);
233
+ return (fileLink === destUrl);
234
+ }
235
+ return false;
236
+ }
237
+ catch (error) {
238
+ return false;
239
+ }
240
+ //#endregion
241
+ };
242
+ HelpersCore.prototype.isSymlinkFileExitedOrUnexisted = function (filePath) {
243
+ //#region @backendFunc
244
+ try {
245
+ var linkToUnexitedLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink();
246
+ return linkToUnexitedLink;
247
+ }
248
+ catch (error) {
249
+ return false;
250
+ }
251
+ //#endregion
252
+ };
253
+ /**
254
+ * If symbolnk link that target file does not exits
229
255
  */
230
- HelpersCore.prototype.isLink = function (filePath, existedLink) {
231
- if (existedLink === void 0) { existedLink = false; }
232
- if (!core_imports_1.fse.existsSync(filePath)) {
256
+ HelpersCore.prototype.isUnexistedLink = function (filePath) {
257
+ //#region @backendFunc
258
+ filePath = index_1.Helpers.removeSlashAtEnd(filePath);
259
+ if (process.platform === 'win32') {
260
+ filePath = core_imports_1.path.win32.normalize(filePath);
261
+ }
262
+ try {
263
+ var linkToUnexitedLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink();
264
+ return linkToUnexitedLink && !core_imports_1.fse.existsSync(core_imports_1.fse.readlinkSync(filePath));
265
+ }
266
+ catch (error) {
233
267
  return false;
234
268
  }
269
+ //#endregion
270
+ };
271
+ /**
272
+ * @param existedLink check if source of link exists
273
+ */
274
+ HelpersCore.prototype.isExistedSymlink = function (filePath) {
275
+ //#region @backendFunc
235
276
  filePath = index_1.Helpers.removeSlashAtEnd(filePath);
236
- var isLink = false;
237
277
  if (process.platform === 'win32') {
238
278
  filePath = core_imports_1.path.win32.normalize(filePath);
239
- // console.log('extename: ', path.extname(filePath))
240
- isLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink() || core_imports_1.path.extname(filePath) === '.lnk';
241
279
  }
242
- else {
243
- if (process.platform === 'darwin') {
244
- isLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink();
245
- // try { // TODO Why would I want that ?
246
- // const command = `[[ -L "${filePath}" && -d "${filePath}" ]] && echo "symlink"`;
247
- // // console.log(command)
248
- // const res = Helpers.run(command, { output: false, biggerBuffer: false }).sync().toString()
249
- // return res.trim() === 'symlink'
250
- // } catch (error) {
251
- // return false;
252
- // }
253
- }
254
- else { // TODO QUICK FIX
255
- isLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink();
256
- }
280
+ try {
281
+ var linkToUnexitedLink = core_imports_1.fse.lstatSync(filePath).isSymbolicLink();
282
+ return linkToUnexitedLink && core_imports_1.fse.existsSync(core_imports_1.fse.readlinkSync(filePath));
257
283
  }
258
- if (existedLink) {
259
- var realPath = core_imports_1.fse.realpathSync(filePath);
260
- return index_1.Helpers.exists(realPath);
284
+ catch (error) {
285
+ return false;
261
286
  }
262
- return isLink;
287
+ //#endregion
263
288
  };
264
- //#endregion
265
289
  //#region @backend
266
290
  HelpersCore.prototype.pathContainLink = function (p) {
267
291
  var previous;
@@ -270,7 +294,7 @@ var HelpersCore = /** @class */ (function (_super) {
270
294
  if (p === previous) {
271
295
  return false;
272
296
  }
273
- if (index_1.Helpers.isLink(p)) {
297
+ if (index_1.Helpers.isExistedSymlink(p)) {
274
298
  return true;
275
299
  }
276
300
  if (!index_1.Helpers.exists(p)) {
@@ -644,6 +668,9 @@ var HelpersCore = /** @class */ (function (_super) {
644
668
  return [];
645
669
  };
646
670
  //#region @backend
671
+ /**
672
+ * does not make sense
673
+ */
647
674
  HelpersCore.prototype.isFile = function (pathToFileOrMaybeFolder) {
648
675
  return pathToFileOrMaybeFolder && core_imports_1.fse.existsSync(pathToFileOrMaybeFolder) &&
649
676
  !core_imports_1.fse.lstatSync(pathToFileOrMaybeFolder).isDirectory();
@@ -750,7 +777,7 @@ var HelpersCore = /** @class */ (function (_super) {
750
777
  absoluteFilePath = core_imports_1.path.join.apply(this, absoluteFilePath);
751
778
  }
752
779
  absoluteFilePath = absoluteFilePath;
753
- if (index_1.Helpers.isLink(absoluteFilePath)) {
780
+ if (index_1.Helpers.isExistedSymlink(absoluteFilePath)) {
754
781
  index_1.Helpers.warn("WRITTING JSON into real path");
755
782
  absoluteFilePath = core_imports_1.fse.realpathSync(absoluteFilePath);
756
783
  }
@@ -841,14 +868,11 @@ var HelpersCore = /** @class */ (function (_super) {
841
868
  /**
842
869
  * return absolute paths for folders inside folders
843
870
  */
844
- HelpersCore.prototype.linksFrom = function (pathToFolder, options) {
845
- options = (options || {});
846
- if (core_imports_1._.isUndefined(options.linksOnlyTo)) {
847
- options.linksOnlyTo = 'both';
848
- }
849
- if (core_imports_1._.isUndefined(options.onlyLinksToExistedFilesOrFolder)) {
850
- options.onlyLinksToExistedFilesOrFolder = true;
851
- }
871
+ HelpersCore.prototype.linksToFolderFrom = function (pathToFolder) {
872
+ // options = (options || {}) as any;
873
+ // if (_.isUndefined(options.linksOnlyTo)) {
874
+ // options.linksOnlyTo = 'both';
875
+ // }
852
876
  if (core_imports_1._.isArray(pathToFolder)) {
853
877
  pathToFolder = core_imports_1.path.join.apply(core_imports_1.path, pathToFolder);
854
878
  }
@@ -859,18 +883,9 @@ var HelpersCore = /** @class */ (function (_super) {
859
883
  .map(function (f) { return core_imports_1.path.join(pathToFolder, f); })
860
884
  .filter(function (f) {
861
885
  var res = false;
862
- if (index_1.Helpers.isLink(f)) {
863
- res = !options.onlyLinksToExistedFilesOrFolder;
886
+ if (index_1.Helpers.isExistedSymlink(f)) {
864
887
  var realPath = core_imports_1.fse.realpathSync(f);
865
- if (index_1.Helpers.exists(realPath)) {
866
- res = true;
867
- if (options.linksOnlyTo === 'folders') {
868
- res = index_1.Helpers.isFolder(realPath);
869
- }
870
- if (options.linksOnlyTo === 'files') {
871
- res = index_1.Helpers.isFile(realPath);
872
- }
873
- }
888
+ return index_1.Helpers.isFolder(realPath);
874
889
  }
875
890
  return res;
876
891
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/lib/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/lib/helpers.ts"],"names":[],"mappings":";;;;AAAA,+CAewB;AACxB,iCAAkC;AAClC,uDAAqD;AAIrD,IAAM,QAAQ,GAAG,MAAM,CAAC;AAExB;IAAiC,4CAAe;IAyB9C;QAAA,YACE,iBAAO,SAKR;QATD,YAAY;QAEH,kBAAY,GAAG,IAAI,GAAG,GAAG,CAAC;QAwCnC,kBAAkB;QACT,eAAS,GAAiC,EAAE,CAAC;;QAtCpD,qBAAqB;QACrB,wDAAwD;QACxD,uDAAuD;QACvD,eAAe;IACjB,CAAC;IA3BD,sBAAkB,2BAAY;aAA9B;YACE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC9B,WAAW,CAAC,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;aAC/C;YACD,OAAO,WAAW,CAAC,aAAa,CAAC;QACnC,CAAC;;;OAAA;IACD,YAAY;IAEZ,kBAAkB;IAClB,+BAAS,GAAT;QACE,eAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACjB,eAAO,CAAC,GAAG,CAAC,mCAA4B,CAAC,CAAC,GAAG,CAAE,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QACF,eAAO,CAAC,GAAG,CAAC,4BAAqB,OAAO,CAAC,GAAG,CAAE,CAAC,CAAA;QAC/C,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC;IAAA,CAAC;IAYF,sCAAgB,GAAhB,UAAiB,CAAS;QACxB,CAAC,GAAG,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,+BAAS,GAAT,UAAU,WAAgB;QACxB,iCAAiC;QACjC,wBAAwB;QACxB,IAAI;QACJ,iCAAiC;QACjC,4BAA4B;QAC5B,kFAAkF;QAClF,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEK,oCAAc,GAApB,UAAqB,EAA+B;QAAE,kBAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,iCAAkB;;;;;;gBACtE,IAAI,gBAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;oBACrB,sBAAO;iBACR;gBAGG,aAAa,GAAG,gBAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,KAAA,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,eAAI,QAAQ,CAAC,CAAC;gBAChF,IAAI,aAAa,YAAY,OAAO,EAAE;oBACpC,qBAAqB;oBACrB,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;iBAC/C;gBACD,yCAAyC;gBACzC,sBAAO,aAAa,EAAC;;;KACtB;IAID,YAAY;IAEZ,kBAAkB;IAClB,mCAAa,GAAb,UAAc,mBAA2B,EAAE,eAAuB,EAChE,OASC;QAED,wBAAwB;QACxB,mBAAmB,GAAG,IAAA,gCAAiB,EAAC,mBAAmB,CAAC,CAAC;QAC7D,eAAe,GAAG,IAAA,gCAAiB,EAAC,eAAe,CAAC,CAAC;QAErD,eAAO,CAAC,GAAG,CAAC,yDACV,mBAAmB,cAAI,eAAe,CAAE,CAAC,CAAC;QAE5C,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,qCAAqC,CAAC,EAAE;YAChE,OAAO,CAAC,qCAAqC,GAAG,KAAK,CAAC;SACvD;QACD,IAAI,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;YACnD,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;SAC1C;QACD,IAAI,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;SACjC;QACD,IAAI,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACzC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;SAChC;QACD,IAAI,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;YACjD,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACxC;QACD,YAAY;QAEJ,IAAA,qCAAqC,GAAsC,OAAO,sCAA7C,EAAE,eAAe,GAAqB,OAAO,gBAA5B,EAAE,cAAc,GAAK,OAAO,eAAZ,CAAa;QAE3F,8BAA8B;QAG9B,IAAI,aAAa,GAAG,mBAAmB,CAAC;QACxC,IAAI,QAAQ,GAAG,eAAe,CAAC;QAE/B,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;YACxC,IAAI,qCAAqC,EAAE;gBACzC,sDAAsD;aACvD;iBAAM;gBACL,eAAO,CAAC,KAAK,CAAC,0DAAmD,mBAAmB,wJAGnF,CAAC,CAAA;aACH;SACF;QAED;;;;;WAKG;QACH,IAAI,OAAO,CAAC,sBAAsB,EAAE;YAElC,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACzC,QAAQ,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;aAC7C;YAED,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC9B,QAAQ,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;aACrF;YAED,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,aAAa,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,IAAI,CAAC,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;aAC/F;SACF;aAAM;YACL,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC9B,eAAO,CAAC,KAAK,CAAC,wEACG,aAAa,iCAClB,QAAQ,eACnB,CAAC,CAAA;aACH;YACD,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,eAAO,CAAC,KAAK,CAAC,wEACG,aAAa,iCAClB,QAAQ,eACnB,CAAC,CAAA;aACH;SACF;QAGD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC1B,QAAQ,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;SAChF;QAED,IAAM,oBAAoB,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,eAAO,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,EAAE;YAChE,kBAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;SACrC;QAED,IAAI,CAAC,eAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YAC3C,qBAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClC,eAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,cAAc,EAAE;YACnB,qBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvB;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAEhC,IAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,IAAM,YAAY,GAAG,eAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEpD,IAAI,eAAO,CAAC,8BAA8B,CAAC,aAAa,CAAC,EAAE;gBACzD,8CAA8C;gBAC9C,aAAa,GAAG,IAAA,gCAAiB,EAAC,kBAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnE,0DAA0D;aAC3D;YACD,aAAa,GAAG,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvE,QAAQ,GAAG,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE7D,kEAAkE;YAClE,4FAA4F;YAC5F,IAAM,cAAc,GAAG,iBAAU,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAK,QAAQ,kBAAM,aAAa,OAAG,CAAC;YAC1H,eAAO,CAAC,GAAG,CAAC,4BAAqB,aAAa,cAAI,QAAQ,yBAEvD,cAAc,cAChB,CAAC,CAAC;YACH,IAAI;gBACF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7D;YAAC,OAAO,KAAK,EAAE;gBACd,eAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClC,eAAO,CAAC,KAAK,CAAC,+BACF,cAAc,6EAEf,aAAa,iCACf,QAAQ,oCACL,cAAc,iBACzB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;aAChB;SACF;aAAM;YACL,kBAAG,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;SACzC;IAEH,CAAC;IAGD,YAAY;IAEZ,kBAAkB;IAClB,4BAAM,GAAN,UAAO,UAA6B;QAClC,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACzB,UAAU,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,UAAU,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAChC,eAAO,CAAC,IAAI,CAAC,wDAAiD,UAAU,CAAE,EAAE,IAAI,CAAC,CAAC;YAClF,OAAO;SACR;QACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE;YAC1F,eAAO,CAAC,IAAI,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;YACpF,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SAC3D;QACD,IAAI,kBAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,eAAO,CAAC,IAAI,CAAC,wDAAiD,UAAU,CAAE,EAAE,KAAK,CAAC,CAAC;SACpF;aAAM;YACL,kBAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,YAAY;IAGZ;;;OAGG;IACH,6CAAuB,GAAvB,UAAwB,eAAuB,EAAE,OAAe,EAAE,iBAAyB;QAAzB,kCAAA,EAAA,yBAAyB;QACzF,sBAAsB;QACtB,OAAO,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,CAAC;QAErC,IAAI,eAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACnC,IAAI,eAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;gBAC7C,IAAI,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,iBAAiB,EAAE;oBACrB,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBACvC;gBACD,QAAQ,GAAG,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAA;gBACtC,OAAO,QAAQ,KAAK,OAAO,CAAC;aAC7B;YACD,IAAI,eAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI;YACF,IAAM,kBAAkB,GAAG,kBAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC;YAC3E,IAAI,kBAAkB,EAAE;gBACtB,IAAI,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,iBAAiB,EAAE;oBACrB,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBACvC;gBACD,QAAQ,GAAG,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAA;gBACtC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;aAC/B;YACD,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,YAAY;IACd,CAAC;IAED,oDAA8B,GAA9B,UAA+B,QAAgB;QAC7C,sBAAsB;QACtB,IAAI;YACF,IAAM,kBAAkB,GAAG,kBAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YACpE,OAAO,kBAAkB,CAAC;SAC3B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,YAAY;IACd,CAAC;IAED;;OAEG;IACH,qCAAe,GAAf,UAAgB,QAAgB;QAC9B,sBAAsB;QACtB,QAAQ,GAAG,eAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,QAAQ,GAAG,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAED,IAAI;YACF,IAAM,kBAAkB,GAAG,kBAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YACpE,OAAO,kBAAkB,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,kBAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1E;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,YAAY;IACd,CAAC;IAED;;OAEG;IACH,sCAAgB,GAAhB,UAAiB,QAAgB;QAE/B,sBAAsB;QACtB,QAAQ,GAAG,eAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,QAAQ,GAAG,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAED,IAAI;YACF,IAAM,kBAAkB,GAAG,kBAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YACpE,OAAO,kBAAkB,IAAI,kBAAG,CAAC,UAAU,CAAC,kBAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzE;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,YAAY;IACd,CAAC;IAED,kBAAkB;IAClB,qCAAe,GAAf,UAAgB,CAAS;QACvB,IAAI,QAAgB,CAAC;QACrB,OAAO,IAAI,EAAE;YACX,CAAC,GAAG,IAAA,gCAAiB,EAAC,mBAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAClB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,eAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACb;YACD,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC;aACd;YACD,QAAQ,GAAG,CAAC,CAAC;SACd;IACH,CAAC;IACD,YAAY;IAGZ,4BAAM,GAAN,UAAO,gBAAmC;IACxC,gCAAgC;;QAEhC,sBAAsB;QACtB,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/B,gBAAgB,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,gBAAgB,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,gBAAgB,EAAE;YACrB,eAAO,CAAC,IAAI,CAAC,4DAAoD,gBAAgB,OAAG,EAAE,IAAI,CAAC,CAAC;YAC5F,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACtC,eAAO,CAAC,IAAI,CAAC,oBAEX,gBAAgB,eAEjB,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,KAAK,CAAC;SACd;QAGD,OAAO,kBAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACxC,YAAY;IACd,CAAC;IAGD,yBAAG,GAAH,UAAI,OAAe,EACjB,OAAoB;QAEpB,kBAAkB;QAClB,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACxD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QACrE,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC7E,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACxB,eAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACtD;QACD,YAAY;QACZ,OAAO;YACL,kBAAkB;YAClB,IAAI;gBAEF,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBACtC,eAAO,CAAC,KAAK,CAAC,sIAKb,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;iBACjB;gBACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,qBAAqB,GAAG,CAAC,EAAE;oBAClF,2BAA2B;oBAC3B,QAAQ;oBACR,IAAM,IAAI,GAAG,eAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjD,OAAO,IAAI,CAAC;oBACZ,oBAAoB;oBAEpB,4BAA4B;oBAC5B,gDAAgD;oBAChD,IAAI;iBACL;gBACD,OAAO,eAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,YAAC,MAAc;gBAAd,uBAAA,EAAA,cAAc;gBAElB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,OAAO,eAAO,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9C,CAAC;YACD,cAAc,EAAd;gBAEE,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,OAAO,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;oBACtC,IAAM,IAAI,GAAG,eAAO,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAClD,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,UAAU,EAAE;4BACf,UAAU,GAAG,IAAI,CAAC;4BAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;yBACjB;oBAEH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;wBACf,IAAI,CAAC,UAAU,EAAE;4BACf,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM,EAAE,CAAC;yBACV;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,CAAC;YACD,mBAAmB,EAAnB,UAAoB,SAA4B,EAAE,QAA4B;gBAE5E,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,OAAO,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;oBAEtC,IAAI,gBAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBACzB,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;qBACzB;oBACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBACxB,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACvB;oBACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBACzB,MAAM,CAAC,2CAA2C,CAAC,CAAC;qBACrD;oBAED,IAAM,IAAI,GAAG,eAAO,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,OAAO;wBAC7B,IAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBAC/C,IAAI,CAAC,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gCACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oCACjC,eAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oCACpE,UAAU,GAAG,IAAI,CAAC;oCAClB,MAAM,EAAE,CAAC;oCACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCACpB,MAAM;iCACP;6BACF;yBACF;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,OAAO;wBAC7B,IAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBAE/C,IAAI,CAAC,UAAU,EAAE;4BACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gCACrD,IAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gCAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oCAC3B,eAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;oCAC1D,UAAU,GAAG,IAAI,CAAC;oCAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oCAChB,MAAM;iCACP;6BACF;yBACF;wBACD,IAAI,CAAC,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gCACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oCACjC,eAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oCACpE,UAAU,GAAG,IAAI,CAAC;oCAClB,MAAM,EAAE,CAAC;oCACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCACpB,MAAM;iCACP;6BACF;yBACF;oBAEH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,CAAC;YACD,YAAY;SACb,CAAA;IACH,CAAC;IAED,sBAAI,oCAAW;QADf,kBAAkB;aAClB;YACE,OAAO;gBACL,SAAS;oBACP,OAAO,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO;oBACL,OAAO,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;aACF,CAAA;QACH,CAAC;;;OAAA;IACD,YAAY;IAEZ,kBAAkB;IAClB,8BAAQ,GAAR,UAAS,OAAoB;QAEzB,IAAA,MAAM,GAGJ,OAAO,OAHH,EAAE,OAAO,GAGb,OAAO,QAHM,CAGL;QACZ,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,8BAA8B;QAC9B,6CAA6C;QAC7C,IAAI;QACJ,mCAAmC;QACnC,sDAAsD;QACtD,IAAI;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,+BAAS,GAAT,UAAU,OAAe,EAAE,OAAoB;QACrC,IAAA,GAAG,GAAmB,OAAO,IAA1B,EAAE,YAAY,GAAK,OAAO,aAAZ,CAAa;QACtC,IAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,eAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,KAAK,GAAG,eAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACrC,eAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,4BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,WAAA,EAAS,CAAC,CAAA;IAC1E,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,gCAAU,GAAV,UAAW,OAAe,EAAE,OAAoB;QACtC,IAAA,MAAM,GAAoE,OAAO,OAA3E,EAAE,GAAG,GAA+D,OAAO,IAAtE,EAAE,YAAY,GAAiD,OAAO,aAAxD,EAAE,iBAAiB,GAA8B,OAAO,kBAArC,EAAE,eAAe,GAAa,OAAO,gBAApB,EAAE,MAAM,GAAK,OAAO,OAAZ,CAAa;QAC1F,IAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,eAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,KAAK,GAAG,eAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACrC,eAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAGnC,IAAI,IAAgC,CAAC;QACrC,IAAI,MAAM,EAAE;YACV,IAAM,GAAG,GAAG,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,iBAAS,GAAG,0BAAc,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAG,CAAC,CAAA;YAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAChC,IAAI,GAAG,IAAA,oBAAK,EAAC,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,KAAA,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEvD,gDAAgD;gBAChD,SAAS;gBACT,oBAAoB;gBACpB,uCAAuC;gBACvC,iBAAiB;gBACjB,cAAc;gBACd,iCAAiC;gBACjC,gCAAgC;gBAChC,SAAS;gBACT,MAAM;aACP;iBAAM;gBACL,IAAI,GAAG,4BAAa,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,KAAA,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACtE;YACD,OAAO,CAAC,GAAG,CAAC,wDAE0B,IAAI,CAAC,GAAG,eAE7C,CAAC,CAAA;YACF,0DAA0D;SAC3D;aAAM;YACL,iDAAiD;YACjD,IAAM,GAAG,mDAAQ,OAAO,CAAC,GAAG,KAAE,WAAW,EAAE,GAAG,GAAE,CAAC;YACjD,IAAI,GAAG,4BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,KAAA,EAAE,SAAS,WAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;SAC7D;QACD,OAAO,eAAO,CAAC,OAAO,CAAC,IAAI,EACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACtB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACvB,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,6BAAO,GAAP,UAAQ,IAAgC,EAAE,MAAa,EAAE,KAAK,EAC5D,iBAAiD,EAAE,MAAc,EACjE,eAAuC;QAFC,uBAAA,EAAA,aAAa;QAGrD,eAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,KAAK,EAAE;YACT,aAAa;YACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAGD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,EAAE,CAAC;SACb;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;YAClG,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,IAAI;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;YAClG,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,IAAI;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAA;SAEH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAQ,GAAR,UAAS,IAAgC,EAAE,SAA6B,EAAE,QAA4B;QACpG,wBAAwB;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,gBAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACzB,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;SACzB;QACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACxB,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAEjC,sBAAsB;YACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAE/C,IAAI,CAAC,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACrD,IAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BAC3B,6DAA6D;4BAC7D,UAAU,GAAG,IAAI,CAAC;4BAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;4BAChB,MAAM;yBACP;qBACF;iBACF;gBACD,IAAI,CAAC,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BACjC,uEAAuE;4BACvE,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM,EAAE,CAAC;4BACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACpB,MAAM;yBACP;qBACF;iBACF;gBAED,gCAAgC;YAClC,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,IAAI;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1C,qBAAqB;YACvB,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,OAAO;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,gCAAgC;gBAChC,IAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC/C,IAAI,CAAC,UAAU,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BACjC,uEAAuE;4BACvE,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM,EAAE,CAAC;4BACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACpB,MAAM;yBACP;qBACF;iBACF;YAEH,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,IAAI;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1C,qBAAqB;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,kCAAY,GAAZ,UAAa,OAAe,EAAE,OAAe;QAC3C,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC5B,eAAO,CAAC,KAAK,CAAC,gDACkB,OAAO,wBAClC,OAAO,OACjB,CAAC,CAAC;SACE;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,eAAO,CAAC,KAAK,CAAC,uBAAgB,OAAO,CAAE,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,sCAAgB,GAAhB,UACE,IAA6B,EAC7B,iBAAiD,EACjD,MAAc,EACd,eAAuC;QAEvC,IAAM,YAAY,GAAG,CAAC,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,YAAY,GAAG,gBAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,YAAY,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACpC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iBAAiB,CAAC,IAAI,CAAC,EAAvB,CAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5E;QACD,IAAI,MAAM,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAA,UAAU;gBACpC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;oBAC9E,OAAO,UAAU,CAAC;iBACnB;gBACD,IAAI,YAAY,EAAE;oBAChB,IAAM,MAAM,GAAG,eAAe;yBAC3B,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAA;oBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,UAAU,CAAC,MAAM,CAAC,CAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAvC,CAAuC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;wBACxF,IAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;wBACvD,IAAI,GAAG,EAAE;4BACP,IAAI,GAAC,GAAG,UAAU,CAAC;4BACnB,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC,IAAM,GAAC,GAAG,GAAC,CAAC,OAAO,CAAC,CAAW,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;4BACvD,GAAgB,CAAC,GAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAC7B;qBACF;iBACF;gBACD,OAAO,UAAG,MAAM,cAAI,UAAU,CAAE,CAAA;YAClC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QACD,OAAO,IAAc,CAAC;IACxB,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,8BAAQ,GAAR,UAAS,uBAA+B;QACtC,OAAO,uBAAuB,IAAI,kBAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACvE,kBAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC;IACD,YAAY;IAEZ;;OAEG;IACH,4BAAM,GAAN,UAAO,GAAQ;QACb,IAAI,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAM,MAAM,GAAG,EAAE,CAAC;YAClB,KAAK,IAAM,GAAG,IAAI,GAAG,EAAE;gBACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBAClD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvB;aACF;YACD,OAAO,MAAM,CAAC;SACf;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;IAClB;;OAEG;IACK,4BAAM,GAAd,UAAe,uBAA+B;QAC5C,OAAO,uBAAuB,IAAI,kBAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACvE,CAAC,kBAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB;;QAEI;IACJ,8BAAQ,GAAR,UAAS,gBAAmC,EAAE,yBAA4C;QAA5C,0CAAA,EAAA,4BAA4B,KAAK,CAAW;QACxF,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/B,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D;QACD,gBAAgB,GAAG,gBAA0B,CAAC;QAE9C,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACrC,OAAO,yBAAyB,CAAC;SAClC;QACD,IAAI,kBAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE;YACjD,OAAO,yBAAyB,CAAC;SAClC;QACD,OAAO,kBAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACxC,QAAQ,UAAA;SACT,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,8BAAQ,GAAR,UAAS,gBAAmC,EAAE,YAAiB,EAAE,QAAgB;QAAnC,6BAAA,EAAA,iBAAiB;QAAE,yBAAA,EAAA,gBAAgB;QAC/E,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/B,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D;QACD,gBAAgB,GAAG,gBAA0B,CAAC;QAE9C,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YACrC,OAAO,EAAE,CAAC;SACX;QACD,IAAI;YACF,IAAM,WAAW,GAAG,eAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,IAAI,SAAA,CAAC;YACT,IAAI,GAAG,eAAO,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,YAAY,CAAC;SACrB;IACH,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB,2BAAK,GAAL,UAAe,YAAoB,EAAE,QAAgB;QAAhB,yBAAA,EAAA,gBAAgB;QACnD,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC7B,eAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACzB,eAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;YAC5D,OAAO,YAAY,CAAC;SACrB;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAM,CAAC;IAChF,CAAC;IACD,YAAY;IAEZ,kBAAkB;IACZ,wCAAkB,GAAxB,UAAyB,EAAc,EAAE,QAAyB,EAChE,aAAmF;QAD5C,yBAAA,EAAA,iBAAyB;QAChE,8BAAA,EAAA,gCAAmF;;YACnF,SAAS,WAAW;gBAClB,OAAO,WAAI,IAAA,yBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,UAAU,CAAC,MAAG,CAAC;YACnD,CAAC;;;;;wBACD,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;4BAC5B,eAAO,CAAC,KAAK,CAAC,UAAG,aAAa,yBAAc,EAAE,0BAAsB,CAAC,CAAA;4BACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;yBAChB;;;;wBAGC,eAAO,CAAC,GAAG,CAAC,UAAG,WAAW,EAAE,cAAI,aAAa,gBAAK,QAAQ,iBAAa,CAAC,CAAA;wBACxE,qBAAM,eAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAAA;;wBAAhC,SAAgC,CAAA;wBAChC,eAAO,CAAC,GAAG,CAAC,UAAG,WAAW,EAAE,cAAI,aAAa,gBAAK,QAAQ,kBAAc,CAAC,CAAA;;;;wBAEzE,eAAO,CAAC,KAAK,CAAC,oBAAK,CAAC,GAAG,CAAC,OAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC7C,eAAO,CAAC,GAAG,CAAC,UAAG,WAAW,EAAE,cAAI,aAAa,cAAI,QAAQ,WAAQ,CAAC,CAAC;wBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;KAGnB;IACD,YAAY;IAEZ,kBAAkB;IAClB;;OAEG;IACH,+BAAS,GAAT,UAAU,gBAAqC,EAAE,KAAsB,EAAE,iBAAwB;QAAxB,kCAAA,EAAA,wBAAwB;QAC/F,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/B,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D;QACD,gBAAgB,GAAG,gBAA0B,CAAC;QAC9C,IAAI,eAAO,CAAC,gBAAgB,CAAC,gBAAuB,CAAC,EAAE;YACrD,eAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,gBAAgB,GAAG,kBAAG,CAAC,YAAY,CAAC,gBAAuB,CAAC,CAAC;SAC9D;QAED,IAAI,CAAC,kBAAG,CAAC,UAAU,CAAC,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACnD,eAAO,CAAC,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAChD;QAED,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrB,KAAK,GAAG,eAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC7B,KAAK,GAAG,EAAE,CAAA;SACX;QACD,IAAI,iBAAiB,EAAE;YACrB,IAAI,kBAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBACpC,IAAM,YAAY,GAAG,eAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,YAAY,EAAE;oBAC1B,+FAA+F;oBAC/F,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QAED,kBAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,EAAE;YACzC,QAAQ,UAAA;SACT,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB;;OAEG;IACH,+BAAS,GAAT,UAAU,gBAAqC,EAAE,KAAa;QAC5D,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/B,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D;QACD,gBAAgB,GAAG,gBAA0B,CAAC;QAE9C,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACnD,eAAO,CAAC,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAChD;QAED,kBAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,EAAE;YACzC,QAAQ,UAAA;YACR,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB;;OAEG;IACH,iCAAW,GAAX,UAAY,YAA+B;QACzC,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC3B,YAAY,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,YAAY,CAAW,CAAC;SACrD;QACD,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACjC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,kBAAG,CAAC,WAAW,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,mBAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,CAAC,CAAC,EAApC,CAAoC,CAAC;aAC9C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,kBAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAA9B,CAA8B,CAAC,CAC3C;IACL,CAAC;IAGD,wCAAkB,GAAlB,UAAmB,YAA+B,EAAE,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QACxE,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC3B,YAAY,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,YAAY,CAAW,CAAC;SACrD;QACD,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACjC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,kBAAG,CAAC,WAAW,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,mBAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,CAAC,CAAC,EAApC,CAAoC,CAAC;aAC9C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,kBAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,kBAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAtD,CAAsD,CAAC;aACnE,GAAG,CAAC,UAAA,CAAC;YACJ,IAAM,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,IAAM,QAAQ,GAAG,eAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE;gBACZ,IAAI,cAAc,EAAE;oBAClB,OAAO,QAAQ,CAAC;iBACjB;qBAAM;oBACL,OAAO,CAAC,CAAC;iBACV;aACF;QACH,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;IACxB,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB;;OAEG;IACH,uCAAiB,GAAjB,UACE,YAA+B;QAK/B,oCAAoC;QACpC,4CAA4C;QAC5C,kCAAkC;QAClC,IAAI;QACJ,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC3B,YAAY,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,YAAY,CAAW,CAAC;SACrD;QACD,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACjC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,kBAAG,CAAC,WAAW,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,mBAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,CAAC,CAAC,EAApC,CAAoC,CAAC;aAC9C,MAAM,CAAC,UAAA,CAAC;YACP,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,IAAI,eAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBAC/B,IAAM,QAAQ,GAAG,kBAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,eAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACnC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;IACD,YAAY;IAEZ,kBAAkB;IAClB;;OAEG;IACH,+BAAS,GAAT,UAAU,YAA+B,EAAE,SAAiB;QAA5D,iBAgCC;QAhC0C,0BAAA,EAAA,iBAAiB;QAC1D,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC3B,YAAY,GAAG,mBAAI,CAAC,IAAI,OAAT,mBAAI,EAAS,YAAY,CAAW,CAAC;SACrD;QACD,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACjC,OAAO,EAAE,CAAC;SACX;QACD,IAAI,SAAS,EAAE;YACb,IAAM,GAAG,GAAG,kBAAG,CAAC,WAAW,CAAC,YAAY,CAAC;iBACtC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,mBAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;YAClD,IAAM,SAAO,GAAG,EAAc,CAAC;YAC/B,IAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAA,CAAC;gBACxB,IAAI,kBAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;oBAClC,SAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,iEACK,KAAK,SACL,SAAO;iBACP,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAA5B,CAA4B,CAAC;iBACtC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,EAAE,EAAE,CAAC,QACT;SACF;QACD,OAAO,kBAAG,CAAC,WAAW,CAAC,YAAY,CAAC;aACjC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,mBAAI,CAAC,IAAI,CAAC,YAAsB,EAAE,CAAC,CAAC,EAApC,CAAoC,CAAC;aAC9C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,kBAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAA/B,CAA+B,CAAC,CAC5C;IACL,CAAC;IAID,YAAY;IAEZ,kBAAkB;IAClB,6CAAuB,GAAvB,UAAwB,UAAkB;QACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,UAAU,GAAG,IAAA,wBAAS,EAAC,UAAU,CAAC,CAAA;SACnC;QACD,IAAI;YACF,eAAO,CAAC,IAAI,CAAC,2CAAmC,UAAU,OAAG,CAAC,CAAA;YAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAChC,eAAO,CAAC,GAAG,CAAC,mBAAY,UAAU,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO;aACR;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACjC,eAAO,CAAC,GAAG,CAAC,eAAQ,UAAU,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,OAAO;aACR;YACD,eAAO,CAAC,GAAG,CAAC,mBAAY,UAAU,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,EAAE,wDAAwD;gBAC1F,eAAO,CAAC,KAAK,CAAC,+CAAuC,UAAU,OAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aAClF;SAEF;IAEH,CAAC;IAGH,kBAAC;AAAD,CAAC,AArjCD,CAAiC,kCAAe,GAqjC/C;AArjCY,kCAAW"}