brighterscript 0.65.2 → 0.65.3
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/CHANGELOG.md +9 -0
- package/dist/BusyStatusTracker.d.ts +31 -0
- package/dist/BusyStatusTracker.js +83 -0
- package/dist/BusyStatusTracker.js.map +1 -0
- package/dist/LanguageServer.d.ts +17 -0
- package/dist/LanguageServer.js +118 -52
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/Throttler.d.ts +12 -0
- package/dist/Throttler.js +39 -0
- package/dist/Throttler.js.map +1 -1
- package/dist/deferred.d.ts +1 -1
- package/dist/deferred.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [0.65.3](https://github.com/rokucommunity/brighterscript/compare/v0.65.2...0.65.3) - 2023-07-22
|
|
10
|
+
### Changed
|
|
11
|
+
- Show busy spinner for lsp builds. Remove `build-status` event in favor of new `busy-status` ([#852](https://github.com/rokucommunity/brighterscript/pull/852))
|
|
12
|
+
- upgrade to [roku-deploy@3.10.3](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3103---2023-07-22). Notable changes since 3.10.2:
|
|
13
|
+
- Bump word-wrap from 1.2.3 to 1.2.4 ([roku-deploy#117](https://github.com/rokucommunity/roku-deploy/pull/117))
|
|
14
|
+
- Bump word-wrap from 1.2.3 to 1.2.4 ([#851](https://github.com/rokucommunity/brighterscript/pull/851))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
9
18
|
## [0.65.2](https://github.com/rokucommunity/brighterscript/compare/v0.65.1...v0.65.2) - 2023-07-17
|
|
10
19
|
### Added
|
|
11
20
|
- beforeProgramDispose event ([#844](https://github.com/rokucommunity/brighterscript/pull/844)), ([#845](https://github.com/rokucommunity/brighterscript/pull/845))
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks the busy/idle status of various sync or async tasks
|
|
3
|
+
* Reports the overall status to the client
|
|
4
|
+
*/
|
|
5
|
+
export declare class BusyStatusTracker {
|
|
6
|
+
/**
|
|
7
|
+
* @readonly
|
|
8
|
+
*/
|
|
9
|
+
activeRuns: Set<{
|
|
10
|
+
label?: string;
|
|
11
|
+
startTime?: Date;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* Start a new piece of work
|
|
15
|
+
*/
|
|
16
|
+
run<T, R = T | Promise<T>>(callback: (finalize?: FinalizeBuildStatusRun) => R, label?: string): R;
|
|
17
|
+
private emitter;
|
|
18
|
+
on(eventName: 'change', handler: (status: BusyStatus) => void): () => void;
|
|
19
|
+
private emit;
|
|
20
|
+
destroy(): void;
|
|
21
|
+
/**
|
|
22
|
+
* The current status of the busy tracker.
|
|
23
|
+
* @readonly
|
|
24
|
+
*/
|
|
25
|
+
get status(): BusyStatus;
|
|
26
|
+
}
|
|
27
|
+
export declare type FinalizeBuildStatusRun = (status?: BusyStatus) => void;
|
|
28
|
+
export declare enum BusyStatus {
|
|
29
|
+
busy = "busy",
|
|
30
|
+
idle = "idle"
|
|
31
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BusyStatus = exports.BusyStatusTracker = void 0;
|
|
4
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
5
|
+
/**
|
|
6
|
+
* Tracks the busy/idle status of various sync or async tasks
|
|
7
|
+
* Reports the overall status to the client
|
|
8
|
+
*/
|
|
9
|
+
class BusyStatusTracker {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* @readonly
|
|
13
|
+
*/
|
|
14
|
+
this.activeRuns = new Set();
|
|
15
|
+
this.emitter = new eventemitter3_1.EventEmitter();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Start a new piece of work
|
|
19
|
+
*/
|
|
20
|
+
run(callback, label) {
|
|
21
|
+
const run = {
|
|
22
|
+
label: label,
|
|
23
|
+
startTime: new Date()
|
|
24
|
+
};
|
|
25
|
+
this.activeRuns.add(run);
|
|
26
|
+
if (this.activeRuns.size === 1) {
|
|
27
|
+
this.emit('change', BusyStatus.busy);
|
|
28
|
+
}
|
|
29
|
+
let isFinalized = false;
|
|
30
|
+
const finalizeRun = () => {
|
|
31
|
+
if (isFinalized === false) {
|
|
32
|
+
isFinalized = true;
|
|
33
|
+
this.activeRuns.delete(run);
|
|
34
|
+
if (this.activeRuns.size <= 0) {
|
|
35
|
+
this.emit('change', BusyStatus.idle);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
let result;
|
|
40
|
+
//call the callback function
|
|
41
|
+
try {
|
|
42
|
+
result = callback(finalizeRun);
|
|
43
|
+
//if the result is a promise, don't finalize until it completes
|
|
44
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
45
|
+
return Promise.resolve(result).finally(finalizeRun).then(() => result);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
finalizeRun();
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
finalizeRun();
|
|
54
|
+
throw e;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
on(eventName, handler) {
|
|
58
|
+
this.emitter.on(eventName, handler);
|
|
59
|
+
return () => {
|
|
60
|
+
this.emitter.off(eventName, handler);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
emit(eventName, value) {
|
|
64
|
+
this.emitter.emit(eventName, value);
|
|
65
|
+
}
|
|
66
|
+
destroy() {
|
|
67
|
+
this.emitter.removeAllListeners();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The current status of the busy tracker.
|
|
71
|
+
* @readonly
|
|
72
|
+
*/
|
|
73
|
+
get status() {
|
|
74
|
+
return this.activeRuns.size === 0 ? BusyStatus.idle : BusyStatus.busy;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.BusyStatusTracker = BusyStatusTracker;
|
|
78
|
+
var BusyStatus;
|
|
79
|
+
(function (BusyStatus) {
|
|
80
|
+
BusyStatus["busy"] = "busy";
|
|
81
|
+
BusyStatus["idle"] = "idle";
|
|
82
|
+
})(BusyStatus = exports.BusyStatus || (exports.BusyStatus = {}));
|
|
83
|
+
//# sourceMappingURL=BusyStatusTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BusyStatusTracker.js","sourceRoot":"","sources":["../src/BusyStatusTracker.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C;;;GAGG;AACH,MAAa,iBAAiB;IAA9B;QACI;;WAEG;QACI,eAAU,GAAG,IAAI,GAAG,EAGvB,CAAC;QA4CG,YAAO,GAAG,IAAI,4BAAY,EAAsB,CAAC;IAwB7D,CAAC;IAlEG;;OAEG;IACI,GAAG,CAAwB,QAAkD,EAAE,KAAc;QAChG,MAAM,GAAG,GAAG;YACR,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;SACxC;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,IAAI,WAAW,KAAK,KAAK,EAAE;gBACvB,WAAW,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;iBACxC;aACJ;QACL,CAAC,CAAC;QAEF,IAAI,MAA0B,CAAC;QAC/B,4BAA4B;QAC5B,IAAI;YACA,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/B,+DAA+D;YAC/D,IAAI,OAAO,CAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,IAAI,CAAA,KAAK,UAAU,EAAE;gBAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAQ,CAAC;aACjF;iBAAM;gBACH,WAAW,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC;aACjB;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,CAAC;SACX;IACL,CAAC;IAIM,EAAE,CAAC,SAAmB,EAAE,OAAqC;QAChE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;IACN,CAAC;IAEO,IAAI,CAAC,SAAmB,EAAE,KAAiB;QAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1E,CAAC;CACJ;AA3ED,8CA2EC;AAID,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;AACjB,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB"}
|
package/dist/LanguageServer.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { InitializeParams, ServerCapabilities, ExecuteCommandParams, Worksp
|
|
|
3
3
|
import { FileChangeType } from 'vscode-languageserver/node';
|
|
4
4
|
import { ProgramBuilder } from './ProgramBuilder';
|
|
5
5
|
import { Throttler } from './Throttler';
|
|
6
|
+
import { BusyStatusTracker } from './BusyStatusTracker';
|
|
6
7
|
export declare class LanguageServer {
|
|
7
8
|
private connection;
|
|
8
9
|
projects: Project[];
|
|
@@ -34,7 +35,10 @@ export declare class LanguageServer {
|
|
|
34
35
|
private sendDiagnosticsThrottler;
|
|
35
36
|
private boundValidateAll;
|
|
36
37
|
private validateAllThrottled;
|
|
38
|
+
busyStatusTracker: BusyStatusTracker;
|
|
37
39
|
run(): void;
|
|
40
|
+
private busyStatusIndex;
|
|
41
|
+
private sendBusyStatus;
|
|
38
42
|
/**
|
|
39
43
|
* Called when the client starts initialization
|
|
40
44
|
*/
|
|
@@ -84,6 +88,11 @@ export declare class LanguageServer {
|
|
|
84
88
|
* A unique project counter to help distinguish log entries in lsp mode
|
|
85
89
|
*/
|
|
86
90
|
private projectCounter;
|
|
91
|
+
/**
|
|
92
|
+
* @param projectPath path to the project
|
|
93
|
+
* @param workspacePath path to the workspace in which all project should reside or are referenced by
|
|
94
|
+
* @param projectNumber an optional project number to assign to the project. Used when reloading projects that should keep the same number
|
|
95
|
+
*/
|
|
87
96
|
private createProject;
|
|
88
97
|
private createStandaloneFileProject;
|
|
89
98
|
private getProjects;
|
|
@@ -143,6 +152,7 @@ export declare class LanguageServer {
|
|
|
143
152
|
private onDefinition;
|
|
144
153
|
private onSignatureHelp;
|
|
145
154
|
private onReferences;
|
|
155
|
+
private onValidateSettled;
|
|
146
156
|
private onFullSemanticTokens;
|
|
147
157
|
private diagnosticCollection;
|
|
148
158
|
private sendDiagnostics;
|
|
@@ -151,6 +161,10 @@ export declare class LanguageServer {
|
|
|
151
161
|
dispose(): void;
|
|
152
162
|
}
|
|
153
163
|
export interface Project {
|
|
164
|
+
/**
|
|
165
|
+
* A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
|
|
166
|
+
*/
|
|
167
|
+
projectNumber: number;
|
|
154
168
|
firstRunPromise: Promise<any>;
|
|
155
169
|
builder: ProgramBuilder;
|
|
156
170
|
/**
|
|
@@ -169,3 +183,6 @@ export interface Project {
|
|
|
169
183
|
export declare enum CustomCommands {
|
|
170
184
|
TranspileFile = "TranspileFile"
|
|
171
185
|
}
|
|
186
|
+
export declare enum NotificationName {
|
|
187
|
+
busyStatus = "busyStatus"
|
|
188
|
+
}
|
package/dist/LanguageServer.js
CHANGED
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.CustomCommands = exports.LanguageServer = void 0;
|
|
9
|
+
exports.NotificationName = exports.CustomCommands = exports.LanguageServer = void 0;
|
|
10
10
|
require("array-flat-polyfill");
|
|
11
11
|
const fastGlob = require("fast-glob");
|
|
12
12
|
const path = require("path");
|
|
@@ -24,6 +24,7 @@ const KeyedThrottler_1 = require("./KeyedThrottler");
|
|
|
24
24
|
const DiagnosticCollection_1 = require("./DiagnosticCollection");
|
|
25
25
|
const reflection_1 = require("./astUtils/reflection");
|
|
26
26
|
const SemanticTokenUtils_1 = require("./SemanticTokenUtils");
|
|
27
|
+
const BusyStatusTracker_1 = require("./BusyStatusTracker");
|
|
27
28
|
class LanguageServer {
|
|
28
29
|
constructor() {
|
|
29
30
|
this.connection = undefined;
|
|
@@ -53,6 +54,8 @@ class LanguageServer {
|
|
|
53
54
|
this.validateThrottler = new Throttler_1.Throttler(0);
|
|
54
55
|
this.sendDiagnosticsThrottler = new Throttler_1.Throttler(0);
|
|
55
56
|
this.boundValidateAll = this.validateAll.bind(this);
|
|
57
|
+
this.busyStatusTracker = new BusyStatusTracker_1.BusyStatusTracker();
|
|
58
|
+
this.busyStatusIndex = -1;
|
|
56
59
|
/**
|
|
57
60
|
* A unique project counter to help distinguish log entries in lsp mode
|
|
58
61
|
*/
|
|
@@ -70,6 +73,10 @@ class LanguageServer {
|
|
|
70
73
|
// Create a connection for the server. The connection uses Node's IPC as a transport.
|
|
71
74
|
// Also include all preview / proposed LSP features.
|
|
72
75
|
this.connection = this.createConnection();
|
|
76
|
+
// Send the current status of the busyStatusTracker anytime it changes
|
|
77
|
+
this.busyStatusTracker.on('change', (status) => {
|
|
78
|
+
this.sendBusyStatus(status);
|
|
79
|
+
});
|
|
73
80
|
//listen to all of the output log events and pipe them into the debug channel in the extension
|
|
74
81
|
this.loggerSubscription = Logger_1.Logger.subscribe((text) => {
|
|
75
82
|
this.connection.tracer.log(text);
|
|
@@ -124,6 +131,15 @@ class LanguageServer {
|
|
|
124
131
|
// Listen on the connection
|
|
125
132
|
this.connection.listen();
|
|
126
133
|
}
|
|
134
|
+
sendBusyStatus(status) {
|
|
135
|
+
this.busyStatusIndex = ++this.busyStatusIndex <= 0 ? 0 : this.busyStatusIndex;
|
|
136
|
+
this.connection.sendNotification(NotificationName.busyStatus, {
|
|
137
|
+
status: status,
|
|
138
|
+
timestamp: Date.now(),
|
|
139
|
+
index: this.busyStatusIndex,
|
|
140
|
+
activeRuns: [...this.busyStatusTracker.activeRuns]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
127
143
|
/**
|
|
128
144
|
* Called when the client starts initialization
|
|
129
145
|
*/
|
|
@@ -326,7 +342,6 @@ class LanguageServer {
|
|
|
326
342
|
if (waitForFirstProject) {
|
|
327
343
|
await this.initialProjectsCreated;
|
|
328
344
|
}
|
|
329
|
-
let status;
|
|
330
345
|
for (let project of this.getProjects()) {
|
|
331
346
|
try {
|
|
332
347
|
await project.firstRunPromise;
|
|
@@ -339,7 +354,6 @@ class LanguageServer {
|
|
|
339
354
|
this.sendCriticalFailure(`BrighterScript language server failed to start: \n${e.message}`);
|
|
340
355
|
}
|
|
341
356
|
}
|
|
342
|
-
this.connection.sendNotification('build-status', status ? status : 'success');
|
|
343
357
|
}
|
|
344
358
|
/**
|
|
345
359
|
* Event handler for when the program wants to load file contents.
|
|
@@ -394,7 +408,12 @@ class LanguageServer {
|
|
|
394
408
|
//no config file could be found
|
|
395
409
|
return undefined;
|
|
396
410
|
}
|
|
397
|
-
|
|
411
|
+
/**
|
|
412
|
+
* @param projectPath path to the project
|
|
413
|
+
* @param workspacePath path to the workspace in which all project should reside or are referenced by
|
|
414
|
+
* @param projectNumber an optional project number to assign to the project. Used when reloading projects that should keep the same number
|
|
415
|
+
*/
|
|
416
|
+
async createProject(projectPath, workspacePath = projectPath, projectNumber) {
|
|
398
417
|
workspacePath !== null && workspacePath !== void 0 ? workspacePath : (workspacePath = projectPath);
|
|
399
418
|
let project = this.projects.find((x) => x.projectPath === projectPath);
|
|
400
419
|
//skip this project if we already have it
|
|
@@ -402,7 +421,7 @@ class LanguageServer {
|
|
|
402
421
|
return;
|
|
403
422
|
}
|
|
404
423
|
let builder = new ProgramBuilder_1.ProgramBuilder();
|
|
405
|
-
|
|
424
|
+
projectNumber !== null && projectNumber !== void 0 ? projectNumber : (projectNumber = this.projectCounter++);
|
|
406
425
|
builder.logger.prefix = `[prj${projectNumber}]`;
|
|
407
426
|
builder.logger.log(`Created project #${projectNumber} for: "${projectPath}"`);
|
|
408
427
|
//flush diagnostics every time the program finishes validating
|
|
@@ -426,21 +445,11 @@ class LanguageServer {
|
|
|
426
445
|
//config file doesn't exist...let `brighterscript` resolve the default way
|
|
427
446
|
configFilePath = undefined;
|
|
428
447
|
}
|
|
429
|
-
|
|
430
|
-
cwd: cwd,
|
|
431
|
-
project: configFilePath,
|
|
432
|
-
watch: false,
|
|
433
|
-
createPackage: false,
|
|
434
|
-
deploy: false,
|
|
435
|
-
copyToStaging: false,
|
|
436
|
-
showDiagnosticsInConsole: false
|
|
437
|
-
});
|
|
438
|
-
firstRunPromise.catch((err) => {
|
|
439
|
-
console.error(err);
|
|
440
|
-
});
|
|
448
|
+
const firstRunDeferred = new deferred_1.Deferred();
|
|
441
449
|
let newProject = {
|
|
450
|
+
projectNumber: projectNumber,
|
|
442
451
|
builder: builder,
|
|
443
|
-
firstRunPromise:
|
|
452
|
+
firstRunPromise: firstRunDeferred.promise,
|
|
444
453
|
projectPath: projectPath,
|
|
445
454
|
workspacePath: workspacePath,
|
|
446
455
|
isFirstRunComplete: false,
|
|
@@ -449,19 +458,31 @@ class LanguageServer {
|
|
|
449
458
|
isStandaloneFileProject: false
|
|
450
459
|
};
|
|
451
460
|
this.projects.push(newProject);
|
|
452
|
-
|
|
461
|
+
try {
|
|
462
|
+
await builder.run({
|
|
463
|
+
cwd: cwd,
|
|
464
|
+
project: configFilePath,
|
|
465
|
+
watch: false,
|
|
466
|
+
createPackage: false,
|
|
467
|
+
deploy: false,
|
|
468
|
+
copyToStaging: false,
|
|
469
|
+
showDiagnosticsInConsole: false
|
|
470
|
+
});
|
|
453
471
|
newProject.isFirstRunComplete = true;
|
|
454
472
|
newProject.isFirstRunSuccessful = true;
|
|
455
|
-
|
|
473
|
+
firstRunDeferred.resolve();
|
|
474
|
+
}
|
|
475
|
+
catch (e) {
|
|
476
|
+
builder.logger.error(e);
|
|
477
|
+
firstRunDeferred.reject(e);
|
|
456
478
|
newProject.isFirstRunComplete = true;
|
|
457
479
|
newProject.isFirstRunSuccessful = false;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
});
|
|
480
|
+
}
|
|
481
|
+
//if we found a deprecated brsconfig.json, add a diagnostic warning the user
|
|
482
|
+
if (configFilePath && path.basename(configFilePath) === 'brsconfig.json') {
|
|
483
|
+
builder.addDiagnostic(configFilePath, Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.brsConfigJsonIsDeprecated()), { range: util_1.util.createRange(0, 0, 0, 0) }));
|
|
484
|
+
return this.sendDiagnostics();
|
|
485
|
+
}
|
|
465
486
|
}
|
|
466
487
|
async createStandaloneFileProject(srcPath) {
|
|
467
488
|
//skip this workspace if we already have it
|
|
@@ -494,6 +515,7 @@ class LanguageServer {
|
|
|
494
515
|
console.error(err);
|
|
495
516
|
});
|
|
496
517
|
let newProject = {
|
|
518
|
+
projectNumber: this.projectCounter++,
|
|
497
519
|
builder: builder,
|
|
498
520
|
firstRunPromise: firstRunPromise,
|
|
499
521
|
projectPath: srcPath,
|
|
@@ -595,7 +617,7 @@ class LanguageServer {
|
|
|
595
617
|
if (project.isStandaloneFileProject === false) {
|
|
596
618
|
this.removeProject(project);
|
|
597
619
|
//create a new workspace/brs program
|
|
598
|
-
await this.createProject(project.projectPath, project.workspacePath);
|
|
620
|
+
await this.createProject(project.projectPath, project.workspacePath, project.projectNumber);
|
|
599
621
|
//handle temp workspace
|
|
600
622
|
}
|
|
601
623
|
else {
|
|
@@ -676,7 +698,6 @@ class LanguageServer {
|
|
|
676
698
|
async onDidChangeWatchedFiles(params) {
|
|
677
699
|
//ensure programs are initialized
|
|
678
700
|
await this.waitAllProjectFirstRuns();
|
|
679
|
-
this.connection.sendNotification('build-status', 'building');
|
|
680
701
|
let projects = this.getProjects();
|
|
681
702
|
//convert all file paths to absolute paths
|
|
682
703
|
let changes = params.changes.map(x => {
|
|
@@ -745,7 +766,6 @@ class LanguageServer {
|
|
|
745
766
|
//give every workspace the chance to handle file changes
|
|
746
767
|
await Promise.all(projects.map((project) => this.handleFileChanges(project, changes)));
|
|
747
768
|
}
|
|
748
|
-
this.connection.sendNotification('build-status', 'success');
|
|
749
769
|
}
|
|
750
770
|
/**
|
|
751
771
|
* This only operates on files that match the specified files globs, so it is safe to throw
|
|
@@ -870,7 +890,6 @@ class LanguageServer {
|
|
|
870
890
|
//throttle file processing. first call is run immediately, and then the last call is processed.
|
|
871
891
|
await this.keyedThrottler.run(filePath, () => {
|
|
872
892
|
var _a;
|
|
873
|
-
this.connection.sendNotification('build-status', 'building');
|
|
874
893
|
let documentText = document.getText();
|
|
875
894
|
for (const project of this.getProjects()) {
|
|
876
895
|
//only add or replace existing files. All of the files in the project should
|
|
@@ -899,13 +918,15 @@ class LanguageServer {
|
|
|
899
918
|
await this.synchronizeStandaloneProjects();
|
|
900
919
|
let projects = this.getProjects();
|
|
901
920
|
//validate all programs
|
|
902
|
-
await Promise.all(projects.map((
|
|
921
|
+
await Promise.all(projects.map((project) => {
|
|
922
|
+
project.builder.program.validate();
|
|
923
|
+
return project;
|
|
924
|
+
}));
|
|
903
925
|
}
|
|
904
926
|
catch (e) {
|
|
905
927
|
this.connection.console.error(e);
|
|
906
928
|
this.sendCriticalFailure(`Critical error validating project: ${e.message}${(_a = e.stack) !== null && _a !== void 0 ? _a : ''}`);
|
|
907
929
|
}
|
|
908
|
-
this.connection.sendNotification('build-status', 'success');
|
|
909
930
|
}
|
|
910
931
|
async onWorkspaceSymbol(params) {
|
|
911
932
|
await this.waitAllProjectFirstRuns();
|
|
@@ -973,15 +994,20 @@ class LanguageServer {
|
|
|
973
994
|
})), c => c);
|
|
974
995
|
return results.filter((r) => r);
|
|
975
996
|
}
|
|
997
|
+
onValidateSettled() {
|
|
998
|
+
return Promise.all([
|
|
999
|
+
//wait for the validator to start running (or timeout if it never did)
|
|
1000
|
+
this.validateThrottler.onRunOnce(100),
|
|
1001
|
+
//wait for the validator to stop running (or resolve immediately if it's already idle)
|
|
1002
|
+
this.validateThrottler.onIdleOnce(true)
|
|
1003
|
+
]);
|
|
1004
|
+
}
|
|
976
1005
|
async onFullSemanticTokens(params) {
|
|
977
1006
|
await this.waitAllProjectFirstRuns();
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
// If we don't wait, then fetching semantic tokens can cause some invalid cache
|
|
983
|
-
this.validateThrottler.onIdleOnce(false)
|
|
984
|
-
]);
|
|
1007
|
+
//wait for the file to settle (in case there are multiple file changes in quick succession)
|
|
1008
|
+
await this.keyedThrottler.onIdleOnce(util_1.util.uriToPath(params.textDocument.uri), true);
|
|
1009
|
+
//wait for the validation cycle to settle
|
|
1010
|
+
await this.onValidateSettled();
|
|
985
1011
|
const srcPath = util_1.util.uriToPath(params.textDocument.uri);
|
|
986
1012
|
for (const project of this.projects) {
|
|
987
1013
|
//find the first program that has this file, since it would be incredibly inefficient to generate semantic tokens for the same file multiple times.
|
|
@@ -1038,22 +1064,35 @@ __decorate([
|
|
|
1038
1064
|
AddStackToErrorMessage
|
|
1039
1065
|
], LanguageServer.prototype, "onInitialize", null);
|
|
1040
1066
|
__decorate([
|
|
1041
|
-
|
|
1067
|
+
TrackBusyStatus
|
|
1068
|
+
], LanguageServer.prototype, "getProjectPaths", null);
|
|
1069
|
+
__decorate([
|
|
1070
|
+
TrackBusyStatus
|
|
1071
|
+
], LanguageServer.prototype, "syncProjects", null);
|
|
1072
|
+
__decorate([
|
|
1073
|
+
AddStackToErrorMessage,
|
|
1074
|
+
TrackBusyStatus
|
|
1042
1075
|
], LanguageServer.prototype, "onInitialized", null);
|
|
1043
1076
|
__decorate([
|
|
1044
|
-
|
|
1077
|
+
TrackBusyStatus
|
|
1078
|
+
], LanguageServer.prototype, "createProject", null);
|
|
1079
|
+
__decorate([
|
|
1080
|
+
AddStackToErrorMessage,
|
|
1081
|
+
TrackBusyStatus
|
|
1045
1082
|
], LanguageServer.prototype, "onCompletion", null);
|
|
1046
1083
|
__decorate([
|
|
1047
1084
|
AddStackToErrorMessage
|
|
1048
1085
|
], LanguageServer.prototype, "onCompletionResolve", null);
|
|
1049
1086
|
__decorate([
|
|
1050
|
-
AddStackToErrorMessage
|
|
1087
|
+
AddStackToErrorMessage,
|
|
1088
|
+
TrackBusyStatus
|
|
1051
1089
|
], LanguageServer.prototype, "onCodeAction", null);
|
|
1052
1090
|
__decorate([
|
|
1053
1091
|
AddStackToErrorMessage
|
|
1054
1092
|
], LanguageServer.prototype, "onDidChangeConfiguration", null);
|
|
1055
1093
|
__decorate([
|
|
1056
|
-
AddStackToErrorMessage
|
|
1094
|
+
AddStackToErrorMessage,
|
|
1095
|
+
TrackBusyStatus
|
|
1057
1096
|
], LanguageServer.prototype, "onDidChangeWatchedFiles", null);
|
|
1058
1097
|
__decorate([
|
|
1059
1098
|
AddStackToErrorMessage
|
|
@@ -1062,34 +1101,49 @@ __decorate([
|
|
|
1062
1101
|
AddStackToErrorMessage
|
|
1063
1102
|
], LanguageServer.prototype, "onDocumentClose", null);
|
|
1064
1103
|
__decorate([
|
|
1065
|
-
AddStackToErrorMessage
|
|
1104
|
+
AddStackToErrorMessage,
|
|
1105
|
+
TrackBusyStatus
|
|
1066
1106
|
], LanguageServer.prototype, "validateTextDocument", null);
|
|
1067
1107
|
__decorate([
|
|
1068
|
-
|
|
1108
|
+
TrackBusyStatus
|
|
1109
|
+
], LanguageServer.prototype, "validateAll", null);
|
|
1110
|
+
__decorate([
|
|
1111
|
+
AddStackToErrorMessage,
|
|
1112
|
+
TrackBusyStatus
|
|
1069
1113
|
], LanguageServer.prototype, "onWorkspaceSymbol", null);
|
|
1070
1114
|
__decorate([
|
|
1071
|
-
AddStackToErrorMessage
|
|
1115
|
+
AddStackToErrorMessage,
|
|
1116
|
+
TrackBusyStatus
|
|
1072
1117
|
], LanguageServer.prototype, "onDocumentSymbol", null);
|
|
1073
1118
|
__decorate([
|
|
1074
|
-
AddStackToErrorMessage
|
|
1119
|
+
AddStackToErrorMessage,
|
|
1120
|
+
TrackBusyStatus
|
|
1075
1121
|
], LanguageServer.prototype, "onDefinition", null);
|
|
1076
1122
|
__decorate([
|
|
1077
|
-
AddStackToErrorMessage
|
|
1123
|
+
AddStackToErrorMessage,
|
|
1124
|
+
TrackBusyStatus
|
|
1078
1125
|
], LanguageServer.prototype, "onSignatureHelp", null);
|
|
1079
1126
|
__decorate([
|
|
1080
|
-
AddStackToErrorMessage
|
|
1127
|
+
AddStackToErrorMessage,
|
|
1128
|
+
TrackBusyStatus
|
|
1081
1129
|
], LanguageServer.prototype, "onReferences", null);
|
|
1082
1130
|
__decorate([
|
|
1083
|
-
AddStackToErrorMessage
|
|
1131
|
+
AddStackToErrorMessage,
|
|
1132
|
+
TrackBusyStatus
|
|
1084
1133
|
], LanguageServer.prototype, "onFullSemanticTokens", null);
|
|
1085
1134
|
__decorate([
|
|
1086
|
-
AddStackToErrorMessage
|
|
1135
|
+
AddStackToErrorMessage,
|
|
1136
|
+
TrackBusyStatus
|
|
1087
1137
|
], LanguageServer.prototype, "onExecuteCommand", null);
|
|
1088
1138
|
exports.LanguageServer = LanguageServer;
|
|
1089
1139
|
var CustomCommands;
|
|
1090
1140
|
(function (CustomCommands) {
|
|
1091
1141
|
CustomCommands["TranspileFile"] = "TranspileFile";
|
|
1092
1142
|
})(CustomCommands = exports.CustomCommands || (exports.CustomCommands = {}));
|
|
1143
|
+
var NotificationName;
|
|
1144
|
+
(function (NotificationName) {
|
|
1145
|
+
NotificationName["busyStatus"] = "busyStatus";
|
|
1146
|
+
})(NotificationName = exports.NotificationName || (exports.NotificationName = {}));
|
|
1093
1147
|
/**
|
|
1094
1148
|
* Wraps a method. If there's an error (either sync or via a promise),
|
|
1095
1149
|
* this appends the error's stack trace at the end of the error message so that the connection will
|
|
@@ -1121,4 +1175,16 @@ function AddStackToErrorMessage(target, propertyKey, descriptor) {
|
|
|
1121
1175
|
}
|
|
1122
1176
|
};
|
|
1123
1177
|
}
|
|
1178
|
+
/**
|
|
1179
|
+
* An annotation used to wrap the method in a busyStatus tracking call
|
|
1180
|
+
*/
|
|
1181
|
+
function TrackBusyStatus(target, propertyKey, descriptor) {
|
|
1182
|
+
let originalMethod = descriptor.value;
|
|
1183
|
+
//wrapping the original method
|
|
1184
|
+
descriptor.value = function value(...args) {
|
|
1185
|
+
return this.busyStatusTracker.run(() => {
|
|
1186
|
+
return originalMethod.apply(this, args);
|
|
1187
|
+
}, originalMethod.name);
|
|
1188
|
+
};
|
|
1189
|
+
}
|
|
1124
1190
|
//# sourceMappingURL=LanguageServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA6B;AAC7B,sCAAsC;AACtC,6BAA6B;AAC7B,6CAAiE;AAsBjE,qDASoC;AACpC,2CAAiC;AACjC,2FAAkE;AAElE,yCAAsC;AACtC,6DAA0D;AAC1D,qDAAkD;AAClD,iCAAoD;AACpD,qCAAkC;AAClC,2CAAwC;AACxC,qDAAkD;AAClD,iEAA8D;AAC9D,sDAAkD;AAClD,6DAAkF;AAElF,MAAa,cAAc;IAA3B;QACY,eAAU,GAAG,SAAuB,CAAC;QAEtC,aAAQ,GAAG,EAAe,CAAC;QAElC;;WAEG;QACK,oBAAe,GAAG,GAAG,CAAC;QAE9B;;;;;WAKG;QACI,2BAAsB,GAAG,EAA6B,CAAC;QAEtD,+BAA0B,GAAG,KAAK,CAAC;QAE3C;;WAEG;QACK,uCAAkC,GAAG,KAAK,CAAC;QAEnD;;;WAGG;QACK,cAAS,GAAG,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;QAQ5C,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3D,sBAAiB,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC;QAEpC,6BAAwB,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC;QAE5C,qBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QA0YvD;;WAEG;QACK,mBAAc,GAAG,CAAC,CAAC;QA2uBnB,yBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAkD9D,CAAC;IAtrCW,gBAAgB;QACpB,OAAO,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAYO,oBAAoB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IACT,GAAG;QACN,qFAAqF;QACrF,oDAAoD;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE1C,8FAA8F;QAC9F,IAAI,CAAC,kBAAkB,GAAG,eAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEnF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEzG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAEvG,oEAAoE;QACpE,wEAAwE;QACxE,qFAAqF;QACrF,EAAE;QACF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,kEAAkE;QAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,wEAAwE;QACxE,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,mFAAmF;QACnF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F;;;;;;;;;;;;;;;;;;UAkBE;QAEF,yDAAyD;QACzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IAEI,YAAY,CAAC,MAAwB;QACxC,IAAI,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;QAE7C,iEAAiE;QACjE,kDAAkD;QAClD,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACnH,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE9H,uCAAuC;QACvC,OAAO;YACH,YAAY,EAAE;gBACV,gBAAgB,EAAE,2BAAoB,CAAC,IAAI;gBAC3C,2DAA2D;gBAC3D,kBAAkB,EAAE;oBAChB,eAAe,EAAE,IAAI;oBACrB,mEAAmE;oBACnE,iBAAiB,EAAE,CAAC,GAAG,CAAC;oBACxB,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAClC;gBACD,sBAAsB,EAAE,IAAI;gBAC5B,uBAAuB,EAAE,IAAI;gBAC7B,sBAAsB,EAAE;oBACpB,MAAM,EAAE,yCAAoB;oBAC5B,IAAI,EAAE,IAAI;iBACY;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,kBAAkB,EAAE;oBAChB,eAAe,EAAE,CAAC,qBAAc,CAAC,QAAQ,CAAC;iBAC7C;gBACD,qBAAqB,EAAE;oBACnB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;iBAChC;gBACD,kBAAkB,EAAE,IAAI;gBACxB,aAAa,EAAE,IAAI;gBACnB,sBAAsB,EAAE;oBACpB,QAAQ,EAAE;wBACN,cAAc,CAAC,aAAa;qBAC/B;iBACJ;aACkB;SAC1B,CAAC;IACN,CAAC;IAID;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,eAAuB;;QAC1D,IAAI,MAAM,GAAG;YACT,OAAO,EAAE,EAA6B;SACzC,CAAC;QACF,gEAAgE;QAChE,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,gDAAgD;YAChD,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBACtD,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;SACN;QACD,OAAO,MAAM;aACR,IAAI,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAG,CAAC,CAAC,CAAA,EAAA,CAAC;YAClC,uHAAuH;YACvH,wEAAwE;aACvE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACZ,0EAA0E;YAC1E,OAAO;YACP,6HAA6H;YAC7H,GAAG,OAAO,OAAO;SACpB,CAAC;aACD,IAAI,CAAC,CAAC,CAAC;aACP,MAAM,CAAC;YACJ,0CAA0C;YAC1C,sBAAsB;SACzB,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,eAAuB;QACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,sBAAC,EAAA,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,MAAM,wBAAU,CAAC,YAAY,CAAC;YACxC,kBAAkB;YAClB,4CAA4C;YAC5C,GAAG,QAAQ;SACd,EAAE,eAAe,CAAC,CAAC;QACpB,sFAAsF;QACtF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,sBAAC,EAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC1D;QAED,+BAA+B;QAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG;QACnC,+CAA+C;QAC/C,CAAC,MAAM,wBAAU,CAAC,YAAY,CAAC;YAC3B,aAAa;YACb,GAAG,QAAQ;YAEX,iEAAiE;SACpE,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,aAAa,EAAC,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,wBAAU,CAAC,YAAY,CAAC;gBACxC,sBAAsB;gBACtB,GAAG,QAAQ;aACd,EAAE,WAAW,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,OAAO,WAAW,CAAC;aACtB;QACL,CAAC,CAAC;QACF,iBAAiB;SACpB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,OAAO,YAAY,CAAC;SACvB;QAED,6DAA6D;QAC7D,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY;QACtB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,IAAI,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACjC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,aAAa,EAAC,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC/D,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CACL,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEX,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE;gBAChE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC/B;SACJ;QAED,2CAA2C;QAC3C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACnC,qEAAqE;YACrE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,YAAY,GAAG;YACX,GAAG,YAAY,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EACrC,IAAI,GAAG,EAAkC,CAC5C,CAAC,MAAM,EAAE;SACb,CAAC;QAEF,yBAAyB;QACzB,MAAM,OAAO,CAAC,GAAG,CACb,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAC5E,CAAC;QACF,mBAAmB;QACnB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;;QAC3B,IAAI,gBAAgB,GAAG,MAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,mCAAI,EAAE,CAAC;QACnF,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,OAAO,WAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IAEK,KAAK,CAAC,aAAa;QACvB,IAAI,sBAAsB,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC;QAE7D,IAAI;YACA,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACjC,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CACjC,yCAAkC,CAAC,IAAI,EACvC,SAAS,CACZ,CAAC;aACL;YAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,kCAAkC,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAChE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACN;YACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC1C,sBAAsB,CAAC,OAAO,EAAE,CAAC;SACpC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CACpB;;;iCAGiB,CAAC,CAAC,OAAO,EAAE,CAC/B,CAAC;YACF,MAAM,CAAC,CAAC;SACX;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAe;QACvC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,mBAAmB,GAAG,IAAI;QAC5D,IAAI,mBAAmB,EAAE;YACrB,MAAM,IAAI,CAAC,sBAAsB,CAAC;SACrC;QAED,IAAI,MAAc,CAAC;QACnB,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACpC,IAAI;gBACA,MAAM,OAAO,CAAC,eAAe,CAAC;aACjC;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,GAAG,gBAAgB,CAAC;gBAC1B,2GAA2G;gBAC3G,mCAAmC;gBACnC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,mBAAmB,CAAC,qDAAqD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9F;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,OAAe;QACxC,IAAI,OAAO,GAAG,gBAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;SAC7B;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QACjD,IAAI,QAAgB,CAAC;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnC,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SAClD;aAAM;YACH,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjD;QACD,IAAI,MAAM,GAAG;YACT,UAAU,EAAE,SAAS;SACxB,CAAC;QACF,mFAAmF;QACnF,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBACtD,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,cAAc;aAC1B,CAAC,CAAC;SACN;QACD,IAAI,cAAsB,CAAC;QAE3B,mFAAmF;QACnF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;YACpB,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACvC,OAAO,cAAc,CAAC;aACzB;iBAAM;gBACH,IAAI,CAAC,mBAAmB,CAAC,sEAAsE,cAAc,GAAG,CAAC,CAAC;aACrH;SACJ;QAED,gEAAgE;QAChE,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+CAA+C;QAC/C,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC/D,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACvC,OAAO,cAAc,CAAC;SACzB;QAED,+BAA+B;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAOO,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,aAAa,GAAG,WAAW;QACxE,aAAa,aAAb,aAAa,cAAb,aAAa,IAAb,aAAa,GAAK,WAAW,EAAC;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QACvE,yCAAyC;QACzC,IAAI,OAAO,EAAE;YACT,OAAO;SACV;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,aAAa,GAAG,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,aAAa,UAAU,WAAW,GAAG,CAAC,CAAC;QAE9E,8DAA8D;QAC9D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,EAAE,qBAAqB;YAC3B,oBAAoB,EAAE,GAAG,EAAE;gBACvB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,CAAC;SACJ,CAAC,CAAC;QAEH,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,GAAG,GAAG,WAAW,CAAC;QAEtB,yDAAyD;QACzD,IAAI,cAAc,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YACzD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACtC;aAAM;YACH,0EAA0E;YAC1E,cAAc,GAAG,SAAS,CAAC;SAC9B;QAED,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,KAAK;YACpB,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAY;YACtB,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,uBAAuB,EAAE,KAAK;SACjC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACrC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACrC,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,4EAA4E;YAC5E,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,gBAAgB,EAAE;gBACtE,OAAO,CAAC,aAAa,CAAC,cAAc,kCAC7B,uCAAkB,CAAC,yBAAyB,EAAE,KACjD,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IACrC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;aACjC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAe;QACrD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;SAC/C;QAED,IAAI,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEnC,sGAAsG;QACtG,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAErC,uEAAuE;QACvE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,uDAAuD;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhC,oEAAoE;QACpE,IAAI,cAAc,GAAG,MAAM,WAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,cAAc,EAAE;YAChB,OAAO,GAAG,WAAI,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;SACzE;QACD,sCAAsC;QACtC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,CAAC;gBACb,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,iCAC1B,OAAO,KACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,KAAK,EACpB,MAAM,EAAE,KAAK,EACb,aAAa,EAAE,KAAK,EACpB,iBAAiB,EAAE;gBACf,+FAA+F;gBAC/F,IAAI;aACP,IACH,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAY;YACtB,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,OAAO;YACtB,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,cAAc;YAC9B,uBAAuB,EAAE,IAAI;SAChC,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;QAElD,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACrC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACV,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACrC,UAAU,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,WAAW;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IAEK,KAAK,CAAC,YAAY,CAAC,MAAkC;QACzD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEvD,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,WAAW,GAAG,IAAI;aACjB,WAAW,EAAE;aACb,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/F,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;YAChC,UAAU,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IAEK,mBAAmB,CAAC,IAAoB;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAwB;QAC/C,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEtD,iCAAiC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,IAAI;aACnB,WAAW,EAAE;YACd,yCAAyC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAA,EAAA,CAAC;aACjD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3F,0JAA0J;QAC1J,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,CAAC,WAAW,EAAE;gBACxB,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3G;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAgB;;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAChC;QACD,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,OAAO,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAmB;QAC5C,MAAM,OAAO,CAAC,GAAG,CACb,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,+CAA+C;YAC/C,IAAI;gBACA,MAAM,OAAO,CAAC,eAAe,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE,GAAG;YAEf,2BAA2B;YAC3B,IAAI,OAAO,CAAC,uBAAuB,KAAK,KAAK,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAE5B,oCAAoC;gBACpC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAErE,uBAAuB;aAC1B;iBAAM;gBACH,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aAC/D;QACL,CAAC,CAAC,CACL,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,oDAAoD;YACpD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,0BAA0B;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,qBAAqB;SACrD;IACL,CAAC;IAEO,UAAU,CAAC,SAAkB;;QACjC,IAAI,OAAO,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC;QACnD,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,6BAA6B;;QAEvC,gEAAgE;QAChE,KAAK,IAAI,kBAAkB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACxD,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YACxE,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,MAAM,iBAAiB,CAAC,eAAe,CAAC;gBAExC,IAAI,IAAI,GAAG,wBAAU,CAAC,WAAW,CAC7B,kBAAkB,EAClB,MAAA,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,CAAC;gBACF,kGAAkG;gBAClG,oCAAoC;gBACpC,IAAI,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,kBAAkB,CAAC,KAAI,IAAI,EAAE;oBAChE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;iBAC1D;aACJ;SACJ;QAED,yEAAyE;QACzE,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzC,KAAK,EAAE,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;YAC3C,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAClD,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACpC,IAAI,IAAI,GAAG,wBAAU,CAAC,WAAW,CAC7B,QAAQ,EACR,MAAA,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE,EAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,CAAC;gBACF,mGAAmG;gBACnG,IAAI,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC,QAAQ,CAAC,KAAI,IAAI,EAAE;oBACtD,SAAS,KAAK,CAAC;iBAClB;aACJ;YACD,iFAAiF;YACjF,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,OAAO,CAAC,eAAe,CAAC;SACjC;IACL,CAAC;IAGO,KAAK,CAAC,wBAAwB;QAClC,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACjC,qEAAqE;YACrE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,qCAAqC;SACxC;aAAM;YACH,2CAA2C;YAC3C,sEAAsE;YACtE,KAAK;SACR;IACL,CAAC;IAED;;;;;OAKG;IAEK,KAAK,CAAC,uBAAuB,CAAC,MAAmC;QACrE,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,0CAA0C;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjC,OAAO;gBACH,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,IAAA,sBAAC,EAAA,GAAG,gBAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;aACzC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEvC,yFAAyF;QACzF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,iCAAiC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAEpB,+GAA+G;YAC/G,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAAE;gBAC3J,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;aAC9B;YAED,2DAA2D;YAC3D;gBACI,IAAI,gBAAgB,GAAG,EAAe,CAAC;gBACvC,sCAAsC;gBACtC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAE9C,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;oBAC1B,IAAI,OAAO,CAAC,cAAc,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;wBACtE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAClC;iBACJ;gBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,+IAA+I;oBAC/I,8CAA8C;oBAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;iBAC/C;gBAED,kDAAkD;gBAClD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aAClE;YAED,gEAAgE;YAChE,MAAM,gBAAgB,GAAG,OAAO;gBAC5B,yBAAyB;iBACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,CAAC;gBACzD,2BAA2B;iBAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAE5D,mGAAmG;YACnG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,2DAA2D;YAC3D,MAAM,cAAc,GAAG,gBAAgB;gBACnC,oBAAoB;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpB,wCAAwC;iBACvC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAC7D,2CAA2C;iBAC1C,OAAO,CAAC,OAAO,CAAC,EAAE;gBACf,mBAAmB;gBACnB,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC9B,QAAQ,EAAE,IAAI;oBACd,GAAG,EAAE,kBAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;iBAChD,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO;wBACH,IAAI,EAAE,qBAAc,CAAC,OAAO;wBAC5B,OAAO,EAAE,IAAA,sBAAC,EAAA,GAAG,CAAC,EAAE;qBACnB,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEP,gDAAgD;YAChD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAqB,CAAC,CAAC;YAEvC,wDAAwD;YACxD,MAAM,OAAO,CAAC,GAAG,CACb,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CACtE,CAAC;SACL;QACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAAgB,EAAE,OAAoD;QACjG,oGAAoG;QACpG,iIAAiI;QACjI,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACrD,YAAY,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,YAAY,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,MAAiD;QAC9F,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAEtD,SAAS;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YACxC,wCAAwC;YACxC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpD,oDAAoD;YACpD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACjC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAc,CAAC,OAAO,EAAE;YAC/C,yHAAyH;YAEzH,kCAAkC;YAClC,IAAI,QAAQ,GAAG,wBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE9E,yDAAyD;YACzD,IAAI,QAAQ,EAAE;gBACV,OAAO,CAAC,OAAO,CACX;oBACI,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,IAAI,EAAE,wBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvE,EACD,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CACxD,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,uDAAuD;gBACvD,OAAO,KAAK,CAAC;aAChB;YAED,SAAS;SACZ;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACxC,6EAA6E;YAC7E,iDAAiD;YACjD,IAAI,MAAM,WAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACvC,OAAO,CAAC,OAAO,CACX;oBACI,GAAG,EAAE,MAAM,CAAC,OAAO;oBACnB,IAAI,EAAE,wBAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvE,EACD,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CACxD,CAAC;aACL;iBAAM;gBACH,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACtC;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAGO,KAAK,CAAC,OAAO,CAAC,MAAkC;;QACpD,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,QAAQ;YACjB,8BAA8B;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjE,0BAA0B;aACzB,IAAI,EAAE,CAAC;QAEZ,MAAM,QAAQ,GAAG;YACb,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;gBACb,0DAA0D;iBACzD,GAAG,CAAC,CAAC,CAAC,EAAE;gBACL,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC,IAAI,EAAE;gBACT,cAAc;iBACb,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjB,mCAAmC;iBAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC,MAAM,EAAE;SAC9E,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,KAAK,GAAU;gBACf,oCAAoC;gBACpC,KAAK,EAAE,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,KAAK;gBACvB,4BAA4B;gBAC5B,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,KAA4C;QACtE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC9C,IAAI,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAClE,mCAAmC;QACnC,IAAI,qBAAqB,EAAE;YACvB,MAAM,qBAAqB,CAAC,eAAe,CAAC;YAC5C,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;SAChC;IACL,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,KAA4C;QAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,iCAAiC;QACjC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9C,IAAI;YAEA,+FAA+F;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBAEzC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAE7D,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACtC,4EAA4E;oBAC5E,yCAAyC;oBACzC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC3C,IAAI,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;wBAC7F,IAAI,IAAI,GAAG,wBAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC5F,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC5B,GAAG,EAAE,QAAQ;4BACb,IAAI,EAAE,IAAI;yBACb,EAAE,YAAY,CAAC,CAAC;qBACpB;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,wBAAwB;YACxB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrC;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,mBAAmB,CAAC,qCAAqC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC3F;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;;QACrB,IAAI;YACA,8EAA8E;YAC9E,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAE3C,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAElC,uBAAuB;YACvB,MAAM,OAAO,CAAC,GAAG,CACb,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CACpD,CAAC;SACL;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,sCAAsC,CAAC,CAAC,OAAO,GAAG,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC,CAAC;SAC/F;QAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAGM,KAAK,CAAC,iBAAiB,CAAC,MAA6B;QACxD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QAEF,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAClB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACR,OAAO,UAAiC,CAAC;IAC7C,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAEpF,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACpC;SACJ;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAkC;QACzD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAGO,KAAK,CAAC,eAAe,CAAC,MAA2B;;QACrD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI;YACA,MAAM,UAAU,GAAG,WAAI,CAAC,OAAO,CAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CACtH,CAAC,EACF,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;YAEF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,MAAM,eAAe,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,eAAe,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzF,IAAI,OAAO,GAAkB;gBACzB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,eAAe,EAAE,eAAe;gBAChC,eAAe,EAAE,eAAe;aACnC,CAAC;YACF,OAAO,OAAO,CAAC;SAClB;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,OAAO,mCAAI,CAAC,EAAE,CAAC,CAAC;YACxF,OAAO;gBACH,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;aACrB,CAAC;SACL;IACL,CAAC;IAGO,KAAK,CAAC,YAAY,CAAC,MAAuB;QAC9C,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAI,CAAC,OAAO,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAGO,KAAK,CAAC,oBAAoB,CAAC,MAA4B;QAC3D,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,2FAA2F;YAC3F,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;YAC7E,8IAA8I;YAC9I,+EAA+E;YAC/E,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,mJAAmJ;YACnJ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1C,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACxE,OAAO;oBACH,IAAI,EAAE,IAAA,yCAAoB,EAAC,cAAc,CAAC;iBAC3B,CAAC;aACvB;SACJ;IACL,CAAC;IAIO,KAAK,CAAC,eAAe;QACzB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC/C,6EAA6E;YAC7E,MAAM,OAAO,CAAC,GAAG,CACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAC5C,CAAC;YAEF,oFAAoF;YACpF,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEhE,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE;gBACxB,MAAM,GAAG,GAAG,gBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAExE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;oBAC5B,GAAG,EAAE,GAAG;oBACR,WAAW,EAAE,WAAW;iBAC3B,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QACtD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,aAAa,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,kFAAkF;YACjF,MAAc,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9C,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAe;QACvC,6BAA6B;QAC7B,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,2CAA2C;QAC3C,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACpC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;aACrE;SACJ;IACL,CAAC;IAEM,OAAO;;QACV,MAAA,IAAI,CAAC,kBAAkB,oDAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CACJ;AA/kCG;IADC,sBAAsB;kDA0CtB;AA8ID;IADC,sBAAsB;mDAgCtB;AAkQD;IADC,sBAAsB;kDAmBtB;AAMD;IADC,sBAAsB;yDAUtB;AAGD;IADC,sBAAsB;kDAuBtB;AAwGD;IADC,sBAAsB;8DAWtB;AASD;IADC,sBAAsB;6DA2FtB;AAmFD;IADC,sBAAsB;6CAkCtB;AAGD;IADC,sBAAsB;qDAYtB;AAGD;IADC,sBAAsB;0DAkCtB;AAsBD;IADC,sBAAsB;uDAkBtB;AAGD;IADC,sBAAsB;sDAatB;AAGD;IADC,sBAAsB;kDAatB;AAGD;IADC,sBAAsB;qDAgCtB;AAGD;IADC,sBAAsB;kDActB;AAGD;IADC,sBAAsB;0DAqBtB;AA2BD;IADC,sBAAsB;sDAStB;AApsCL,wCAqtCC;AAmBD,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,iDAA+B,CAAA;AACnC,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B;IAC5F,IAAI,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAEtC,8BAA8B;IAC9B,UAAU,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,GAAG,IAAW;QAC5C,IAAI;YACA,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,gEAAgE;YAChE,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;oBAC9C,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;wBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;qBACvB;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,MAAM,CAAC;aACjB;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE;gBACV,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;aACvB;YACD,MAAM,CAAC,CAAC;SACX;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":"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"}
|
package/dist/Logger.d.ts
CHANGED
package/dist/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAC1B,iCAAiC;AACjC,iDAA6C;AAC7C,2CAAwC;AAExC,MAAa,MAAM;IAef,YACI,QAAmB,EACZ,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;QAP1B;;WAEG;QACK,WAAM,GAAG,EAAE,CAAC;QAmBZ,cAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;QAb7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAlBM,MAAM,CAAC,SAAS,CAAC,QAAQ;QAC5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IAeD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAW,QAAQ,CAAC,KAAe;QAC/B,iDAAiD;QACjD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAQ,CAAC;SAClC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,QAAQ,CAAC,GAAG,CAAC;IAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
|
package/dist/Throttler.d.ts
CHANGED
|
@@ -5,6 +5,18 @@ export declare class Throttler {
|
|
|
5
5
|
private pendingJob;
|
|
6
6
|
private emitter;
|
|
7
7
|
private get isIdle();
|
|
8
|
+
on(eventName: 'idle' | 'run', callback: () => any): () => void;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a promise the next time the event fires
|
|
11
|
+
* @param eventName the name of the event to subscribe to
|
|
12
|
+
* @param timeout if the event doesn't fire within the specified time, the promise will auto-resolve itself
|
|
13
|
+
*/
|
|
14
|
+
once(eventName: 'idle' | 'run', timeout?: number): Promise<any>;
|
|
15
|
+
/**
|
|
16
|
+
* Wait for the next 'run' event. Or resolve immediately if already running.
|
|
17
|
+
* @param timeout after this timeout, the promise resolves even if the 'run' event never fired
|
|
18
|
+
*/
|
|
19
|
+
onRunOnce(timeout?: number): Promise<any>;
|
|
8
20
|
/**
|
|
9
21
|
* Get a promise that resolves the next time the throttler becomes idle
|
|
10
22
|
*/
|
package/dist/Throttler.js
CHANGED
|
@@ -12,6 +12,42 @@ class Throttler {
|
|
|
12
12
|
get isIdle() {
|
|
13
13
|
return !this.runningJobPromise;
|
|
14
14
|
}
|
|
15
|
+
on(eventName, callback) {
|
|
16
|
+
this.emitter.on(eventName, callback);
|
|
17
|
+
return () => {
|
|
18
|
+
this.emitter.off(eventName, callback);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve a promise the next time the event fires
|
|
23
|
+
* @param eventName the name of the event to subscribe to
|
|
24
|
+
* @param timeout if the event doesn't fire within the specified time, the promise will auto-resolve itself
|
|
25
|
+
*/
|
|
26
|
+
once(eventName, timeout) {
|
|
27
|
+
const promises = [];
|
|
28
|
+
//register a timeout if specified
|
|
29
|
+
if (timeout > 0) {
|
|
30
|
+
promises.push(util_1.default.sleep(timeout));
|
|
31
|
+
}
|
|
32
|
+
//wait for the event
|
|
33
|
+
promises.push(new Promise((resolve) => {
|
|
34
|
+
const disconnect = this.on(eventName, () => {
|
|
35
|
+
disconnect();
|
|
36
|
+
resolve();
|
|
37
|
+
});
|
|
38
|
+
}));
|
|
39
|
+
return Promise.race(promises);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Wait for the next 'run' event. Or resolve immediately if already running.
|
|
43
|
+
* @param timeout after this timeout, the promise resolves even if the 'run' event never fired
|
|
44
|
+
*/
|
|
45
|
+
async onRunOnce(timeout = 0) {
|
|
46
|
+
if (!this.isIdle) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
return this.once('run', timeout);
|
|
50
|
+
}
|
|
15
51
|
/**
|
|
16
52
|
* Get a promise that resolves the next time the throttler becomes idle
|
|
17
53
|
*/
|
|
@@ -55,6 +91,9 @@ class Throttler {
|
|
|
55
91
|
* Private method to run a job after a delay.
|
|
56
92
|
*/
|
|
57
93
|
async runInternal(job) {
|
|
94
|
+
if (!this.pendingJob) {
|
|
95
|
+
this.emitter.emit('run');
|
|
96
|
+
}
|
|
58
97
|
this.runningJobPromise = util_1.default.sleep(this.delay).then(() => {
|
|
59
98
|
//run the job
|
|
60
99
|
return job();
|
package/dist/Throttler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Throttler.js","sourceRoot":"","sources":["../src/Throttler.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAC1B,iDAA6C;AAC7C,yCAAsC;AAEtC,MAAa,SAAS;IAClB,YACa,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAMlB,YAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;IAJrC,CAAC;IAMD,IAAY,MAAM;QACd,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI;QACnD,IAAI,wBAAwB,IAAI,IAAI,CAAC,MAAM,EAAE;YACzC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACnC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,QAAQ;QAClB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,GAAG;QAChB,kDAAkD;QAClD,mCAAmC;QACnC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,yDAAyD;YACzD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;SAC5B;aAAM;YACH,0BAA0B;YAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAChC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,GAAG;QACzB,IAAI,CAAC,iBAAiB,GAAG,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACtD,aAAa;YACb,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,gCAAgC;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,4CAA4C;YAC5C,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,kCAAkC;gBAClC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACjC,kFAAkF;gBAClF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;aACvC;iBAAM;gBACH,yBAAyB;gBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;QACH,qCAAqC;QACrC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"Throttler.js","sourceRoot":"","sources":["../src/Throttler.ts"],"names":[],"mappings":"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"}
|
package/dist/deferred.d.ts
CHANGED
package/dist/deferred.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACjB;QAiBQ,iBAAY,GAAG,KAAK,CAAC;QAQrB,gBAAW,GAAG,KAAK,CAAC;QAQpB,gBAAW,GAAG,KAAK,CAAC;QAhCxB,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACjB;QAiBQ,iBAAY,GAAG,KAAK,CAAC;QAQrB,gBAAW,GAAG,KAAK,CAAC;QAQpB,gBAAW,GAAG,KAAK,CAAC;QAhCxB,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACI,OAAO,CAAC,KAAS;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAGD;;OAEG;IACI,MAAM,CAAC,KAAQ;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CAEJ;AA7DD,4BA6DC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -52,4 +52,6 @@ __exportStar(require("./astUtils/reflection"), exports);
|
|
|
52
52
|
__exportStar(require("./astUtils/creators"), exports);
|
|
53
53
|
__exportStar(require("./astUtils/xml"), exports);
|
|
54
54
|
__exportStar(require("./astUtils/AstEditor"), exports);
|
|
55
|
+
__exportStar(require("./BusyStatusTracker"), exports);
|
|
56
|
+
__exportStar(require("./Logger"), exports);
|
|
55
57
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,0CAAwB;AACxB,kDAAgC;AAChC,kDAAgC;AAChC,yCAAuB;AACvB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,6CAA2B;AAC3B,oDAAkC;AAClC,gDAA8B;AAC9B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,oCAAoC;AACpC,+DAAuK;AAA9J,8GAAA,KAAK,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,0HAAA,iBAAiB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAAE,sHAAA,aAAa,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAAE,mHAAA,UAAU,OAAA;AACvI,sDAAoC;AACpC,4DAA0C;AAC1C,wDAAsC;AACtC,sDAAoC;AACpC,iDAA+B;AAC/B,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,0CAAwB;AACxB,kDAAgC;AAChC,kDAAgC;AAChC,yCAAuB;AACvB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,6CAA2B;AAC3B,oDAAkC;AAClC,gDAA8B;AAC9B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,oCAAoC;AACpC,+DAAuK;AAA9J,8GAAA,KAAK,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,0HAAA,iBAAiB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAAE,sHAAA,aAAa,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAAE,mHAAA,UAAU,OAAA;AACvI,sDAAoC;AACpC,4DAA0C;AAC1C,wDAAsC;AACtC,sDAAoC;AACpC,iDAA+B;AAC/B,uDAAqC;AACrC,sDAAoC;AACpC,2CAAyB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brighterscript",
|
|
3
|
-
"version": "0.65.
|
|
3
|
+
"version": "0.65.3",
|
|
4
4
|
"description": "A superset of Roku's BrightScript language.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"preversion": "npm run build && npm run lint && npm run test",
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"parse-ms": "^2.1.0",
|
|
145
145
|
"readline": "^1.3.0",
|
|
146
146
|
"require-relative": "^0.8.7",
|
|
147
|
-
"roku-deploy": "^3.10.
|
|
147
|
+
"roku-deploy": "^3.10.3",
|
|
148
148
|
"serialize-error": "^7.0.1",
|
|
149
149
|
"source-map": "^0.7.4",
|
|
150
150
|
"v8-profiler-next": "^1.9.0",
|