@n8n/expression-runtime 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/runtime.esm.js +17 -17
- package/dist/bundle/runtime.esm.js.map +3 -3
- package/dist/bundle/runtime.iife.js +17 -17
- package/dist/bundle/runtime.iife.js.map +3 -3
- package/dist/cjs/bridge/isolated-vm-bridge.d.ts +8 -0
- package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
- package/dist/cjs/bridge/isolated-vm-bridge.js +223 -117
- package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/evaluator/expression-evaluator.d.ts +8 -1
- package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
- package/dist/cjs/evaluator/expression-evaluator.js +60 -5
- package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
- package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
- package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/object-extensions.js +8 -4
- package/dist/cjs/extensions/object-extensions.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pool/isolate-pool.d.ts +34 -0
- package/dist/cjs/pool/isolate-pool.d.ts.map +1 -0
- package/dist/cjs/pool/isolate-pool.js +122 -0
- package/dist/cjs/pool/isolate-pool.js.map +1 -0
- package/dist/cjs/runtime/index.d.ts +9 -0
- package/dist/cjs/runtime/index.d.ts.map +1 -1
- package/dist/cjs/runtime/index.js.map +1 -1
- package/dist/cjs/runtime/lazy-proxy.d.ts +20 -1
- package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
- package/dist/cjs/runtime/lazy-proxy.js +70 -8
- package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
- package/dist/cjs/runtime/reset.d.ts.map +1 -1
- package/dist/cjs/runtime/reset.js +37 -21
- package/dist/cjs/runtime/reset.js.map +1 -1
- package/dist/cjs/types/bridge.d.ts +12 -7
- package/dist/cjs/types/bridge.d.ts.map +1 -1
- package/dist/cjs/types/bridge.js +7 -1
- package/dist/cjs/types/bridge.js.map +1 -1
- package/dist/cjs/types/evaluator.d.ts +24 -14
- package/dist/cjs/types/evaluator.d.ts.map +1 -1
- package/dist/cjs/types/evaluator.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/esm/bridge/isolated-vm-bridge.d.ts +8 -0
- package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
- package/dist/esm/bridge/isolated-vm-bridge.js +223 -117
- package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
- package/dist/esm/build.tsbuildinfo +1 -1
- package/dist/esm/evaluator/expression-evaluator.d.ts +8 -1
- package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
- package/dist/esm/evaluator/expression-evaluator.js +59 -4
- package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
- package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/object-extensions.js +8 -4
- package/dist/esm/extensions/object-extensions.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pool/isolate-pool.d.ts +34 -0
- package/dist/esm/pool/isolate-pool.d.ts.map +1 -0
- package/dist/esm/pool/isolate-pool.js +106 -0
- package/dist/esm/pool/isolate-pool.js.map +1 -0
- package/dist/esm/runtime/index.d.ts +9 -0
- package/dist/esm/runtime/index.d.ts.map +1 -1
- package/dist/esm/runtime/index.js.map +1 -1
- package/dist/esm/runtime/lazy-proxy.d.ts +20 -1
- package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
- package/dist/esm/runtime/lazy-proxy.js +69 -8
- package/dist/esm/runtime/lazy-proxy.js.map +1 -1
- package/dist/esm/runtime/reset.d.ts.map +1 -1
- package/dist/esm/runtime/reset.js +38 -22
- package/dist/esm/runtime/reset.js.map +1 -1
- package/dist/esm/types/bridge.d.ts +12 -7
- package/dist/esm/types/bridge.d.ts.map +1 -1
- package/dist/esm/types/bridge.js +7 -1
- package/dist/esm/types/bridge.js.map +1 -1
- package/dist/esm/types/evaluator.d.ts +24 -14
- package/dist/esm/types/evaluator.d.ts.map +1 -1
- package/dist/esm/types/evaluator.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/index.d.ts.map +1 -1
- package/package.json +6 -4
|
@@ -16,6 +16,7 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
16
16
|
private initialized;
|
|
17
17
|
private disposed;
|
|
18
18
|
private config;
|
|
19
|
+
private logger;
|
|
19
20
|
private scriptCache;
|
|
20
21
|
private valueAtPathRef?;
|
|
21
22
|
private arrayElementRef?;
|
|
@@ -117,6 +118,13 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
117
118
|
* @throws {Error} If bridge not initialized or execution fails
|
|
118
119
|
*/
|
|
119
120
|
execute(code: string, data: Record<string, unknown>, options?: ExecuteOptions): unknown;
|
|
121
|
+
/**
|
|
122
|
+
* Reconstruct an error from serialized isolate data.
|
|
123
|
+
*
|
|
124
|
+
* Maps error names back to their host-side classes and restores
|
|
125
|
+
* custom properties that would otherwise be lost crossing the boundary.
|
|
126
|
+
*/
|
|
127
|
+
private reconstructError;
|
|
120
128
|
/**
|
|
121
129
|
* Dispose of the isolate and free resources.
|
|
122
130
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0E5E;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;IAIjD,OAAO,CAAC,WAAW,CAAiC;IAIpD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IAKxC,OAAO,CAAC,mBAAmB,CAAC,CAAgB;gBAEhC,MAAM,GAAE,YAAiB;IAYrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAgCjC;;;;;;;;OAQG;YACW,iBAAiB;IA6B/B;;;;;;;;;;;OAWG;YACW,kBAAkB;IAwBhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAkLzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAiGvF;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
|
|
@@ -55,6 +55,33 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
55
55
|
return _ivm;
|
|
56
56
|
}
|
|
57
57
|
const BUNDLE_RELATIVE_PATH = path.join('dist', 'bundle', 'runtime.iife.js');
|
|
58
|
+
/** Check if a value is an error sentinel returned by serializeError. */
|
|
59
|
+
function isErrorSentinel(value) {
|
|
60
|
+
return (typeof value === 'object' &&
|
|
61
|
+
value !== null &&
|
|
62
|
+
value.__isError === true);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Serialize an error into a transferable metadata object.
|
|
66
|
+
*
|
|
67
|
+
* Host-side callbacks (getValueAtPath, etc.) catch errors and return this
|
|
68
|
+
* sentinel instead of letting the error cross the isolate boundary (which
|
|
69
|
+
* strips custom class identity and properties). The isolate-side proxy
|
|
70
|
+
* detects __isError and reconstructs a proper Error to throw.
|
|
71
|
+
*/
|
|
72
|
+
function serializeError(err) {
|
|
73
|
+
if (err instanceof Error) {
|
|
74
|
+
const extra = Object.fromEntries(Object.entries(err).filter(([key]) => key !== 'name' && key !== 'message' && key !== 'stack'));
|
|
75
|
+
return {
|
|
76
|
+
__isError: true,
|
|
77
|
+
name: err.name,
|
|
78
|
+
message: err.message,
|
|
79
|
+
stack: err.stack,
|
|
80
|
+
extra,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return { __isError: true, name: 'Error', message: String(err), extra: {} };
|
|
84
|
+
}
|
|
58
85
|
/**
|
|
59
86
|
* Read the runtime IIFE bundle by walking up from `__dirname` until
|
|
60
87
|
* `dist/bundle/runtime.iife.js` is found.
|
|
@@ -91,6 +118,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
91
118
|
initialized = false;
|
|
92
119
|
disposed = false;
|
|
93
120
|
config;
|
|
121
|
+
logger;
|
|
94
122
|
// Script compilation cache for performance
|
|
95
123
|
// Maps expression code -> compiled ivm.Script
|
|
96
124
|
scriptCache = new Map();
|
|
@@ -108,6 +136,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
108
136
|
...types_1.DEFAULT_BRIDGE_CONFIG,
|
|
109
137
|
...config,
|
|
110
138
|
};
|
|
139
|
+
this.logger = this.config.logger;
|
|
111
140
|
// Create isolate with memory limit
|
|
112
141
|
// Note: memoryLimit is in MB
|
|
113
142
|
this.isolate = new (getIvm().Isolate)({ memoryLimit: this.config.memoryLimit });
|
|
@@ -146,9 +175,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
146
175
|
reference: true,
|
|
147
176
|
});
|
|
148
177
|
this.initialized = true;
|
|
149
|
-
|
|
150
|
-
console.log('[IsolatedVmBridge] Initialized successfully');
|
|
151
|
-
}
|
|
178
|
+
this.logger.info('[IsolatedVmBridge] Initialized successfully');
|
|
152
179
|
}
|
|
153
180
|
/**
|
|
154
181
|
* Load runtime bundle into the isolate.
|
|
@@ -172,18 +199,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
172
199
|
// Evaluate bundle in isolate context
|
|
173
200
|
// This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, resetDataProxies, __data)
|
|
174
201
|
await this.context.eval(runtimeBundle);
|
|
175
|
-
|
|
176
|
-
console.log('[IsolatedVmBridge] Runtime bundle loaded');
|
|
177
|
-
}
|
|
202
|
+
this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
|
|
178
203
|
// Verify vendor libraries loaded correctly
|
|
179
204
|
const hasDateTime = await this.context.eval('typeof DateTime !== "undefined"');
|
|
180
205
|
const hasExtend = await this.context.eval('typeof extend !== "undefined"');
|
|
181
206
|
if (!hasDateTime || !hasExtend) {
|
|
182
207
|
throw new Error(`Library verification failed: DateTime=${hasDateTime}, extend=${hasExtend}`);
|
|
183
208
|
}
|
|
184
|
-
|
|
185
|
-
console.log('[IsolatedVmBridge] Vendor libraries verified successfully');
|
|
186
|
-
}
|
|
209
|
+
this.logger.info('[IsolatedVmBridge] Vendor libraries verified successfully');
|
|
187
210
|
}
|
|
188
211
|
catch (error) {
|
|
189
212
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -216,9 +239,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
216
239
|
`SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
|
|
217
240
|
`resetDataProxies=${hasResetFunction}`);
|
|
218
241
|
}
|
|
219
|
-
|
|
220
|
-
console.log('[IsolatedVmBridge] Proxy system verified successfully');
|
|
221
|
-
}
|
|
242
|
+
this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
|
|
222
243
|
}
|
|
223
244
|
catch (error) {
|
|
224
245
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -256,9 +277,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
256
277
|
};
|
|
257
278
|
}
|
|
258
279
|
`);
|
|
259
|
-
|
|
260
|
-
console.log('[IsolatedVmBridge] Error handler injected successfully');
|
|
261
|
-
}
|
|
280
|
+
this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
|
|
262
281
|
}
|
|
263
282
|
/**
|
|
264
283
|
* Reset data proxies in the isolate context.
|
|
@@ -282,9 +301,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
282
301
|
this.resetDataProxiesRef.applySync(null, [timezone ?? null], {
|
|
283
302
|
arguments: { copy: true },
|
|
284
303
|
});
|
|
285
|
-
|
|
286
|
-
console.log('[IsolatedVmBridge] Data proxies reset successfully');
|
|
287
|
-
}
|
|
304
|
+
this.logger.debug('[IsolatedVmBridge] Data proxies reset successfully');
|
|
288
305
|
}
|
|
289
306
|
catch (error) {
|
|
290
307
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -313,113 +330,148 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
313
330
|
// Callback 1: Get value/metadata at path
|
|
314
331
|
// Used by createDeepLazyProxy when accessing properties
|
|
315
332
|
const getValueAtPath = new (getIvm().Reference)((path) => {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
333
|
+
try {
|
|
334
|
+
// Navigate to value
|
|
335
|
+
// Special-case: paths starting with ['$item', index] call data.$item(index)
|
|
336
|
+
// to get the sub-proxy for that item, then continue navigating the rest.
|
|
337
|
+
let value = data;
|
|
338
|
+
let startIndex = 0;
|
|
339
|
+
const itemFn = data.$item;
|
|
340
|
+
if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
|
|
341
|
+
const itemIndex = parseInt(path[1], 10);
|
|
342
|
+
if (!isNaN(itemIndex)) {
|
|
343
|
+
value = itemFn(itemIndex);
|
|
344
|
+
startIndex = 2;
|
|
345
|
+
}
|
|
327
346
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
347
|
+
else {
|
|
348
|
+
const dollarFn = data.$;
|
|
349
|
+
if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
|
|
350
|
+
value = dollarFn(path[1]);
|
|
351
|
+
startIndex = 2;
|
|
352
|
+
}
|
|
333
353
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
if (fnString.includes('[native code]')) {
|
|
340
|
-
return undefined;
|
|
354
|
+
for (let i = startIndex; i < path.length; i++) {
|
|
355
|
+
value = value?.[path[i]];
|
|
356
|
+
if (value === undefined || value === null) {
|
|
357
|
+
return value;
|
|
358
|
+
}
|
|
341
359
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
}
|
|
360
|
+
// Handle functions - return metadata marker
|
|
361
|
+
if (typeof value === 'function') {
|
|
362
|
+
const fnString = value.toString();
|
|
363
|
+
// Block native functions for security
|
|
364
|
+
if (fnString.includes('[native code]')) {
|
|
365
|
+
return undefined;
|
|
366
|
+
}
|
|
367
|
+
return { __isFunction: true, __name: path[path.length - 1] };
|
|
368
|
+
}
|
|
369
|
+
// Handle arrays - always lazy, only transfer length
|
|
370
|
+
if (Array.isArray(value)) {
|
|
371
|
+
return {
|
|
372
|
+
__isArray: true,
|
|
373
|
+
__length: value.length,
|
|
374
|
+
__data: null,
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
// Handle objects - return metadata with keys
|
|
378
|
+
if (value !== null && typeof value === 'object') {
|
|
379
|
+
return {
|
|
380
|
+
__isObject: true,
|
|
381
|
+
__keys: Object.keys(value),
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
// Primitive value
|
|
385
|
+
return value;
|
|
351
386
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
return {
|
|
355
|
-
__isObject: true,
|
|
356
|
-
__keys: Object.keys(value),
|
|
357
|
-
};
|
|
387
|
+
catch (err) {
|
|
388
|
+
return serializeError(err);
|
|
358
389
|
}
|
|
359
|
-
// Primitive value
|
|
360
|
-
return value;
|
|
361
390
|
});
|
|
362
391
|
// Callback 2: Get array element at index
|
|
363
392
|
// Used by array proxy when accessing numeric indices
|
|
364
393
|
const getArrayElement = new (getIvm().Reference)((path, index) => {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
394
|
+
try {
|
|
395
|
+
// Navigate to array
|
|
396
|
+
// Special-case: paths starting with ['$item', index] call data.$item(index)
|
|
397
|
+
let arr = data;
|
|
398
|
+
let startIndex = 0;
|
|
399
|
+
const itemFn = data.$item;
|
|
400
|
+
if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
|
|
401
|
+
const itemIndex = parseInt(path[1], 10);
|
|
402
|
+
if (!isNaN(itemIndex)) {
|
|
403
|
+
arr = itemFn(itemIndex);
|
|
404
|
+
startIndex = 2;
|
|
405
|
+
}
|
|
375
406
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
407
|
+
else {
|
|
408
|
+
const dollarFn = data.$;
|
|
409
|
+
if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
|
|
410
|
+
arr = dollarFn(path[1]);
|
|
411
|
+
startIndex = 2;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
for (let i = startIndex; i < path.length; i++) {
|
|
415
|
+
arr = arr?.[path[i]];
|
|
416
|
+
if (arr === undefined || arr === null) {
|
|
417
|
+
return undefined;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
if (!Array.isArray(arr)) {
|
|
380
421
|
return undefined;
|
|
381
422
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
423
|
+
const element = arr[index];
|
|
424
|
+
// If element is object/array, return metadata
|
|
425
|
+
if (element !== null && typeof element === 'object') {
|
|
426
|
+
if (Array.isArray(element)) {
|
|
427
|
+
return {
|
|
428
|
+
__isArray: true,
|
|
429
|
+
__length: element.length,
|
|
430
|
+
__data: null,
|
|
431
|
+
};
|
|
432
|
+
}
|
|
390
433
|
return {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
__data: null,
|
|
434
|
+
__isObject: true,
|
|
435
|
+
__keys: Object.keys(element),
|
|
394
436
|
};
|
|
395
437
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
438
|
+
// Primitive element
|
|
439
|
+
return element;
|
|
440
|
+
}
|
|
441
|
+
catch (err) {
|
|
442
|
+
return serializeError(err);
|
|
400
443
|
}
|
|
401
|
-
// Primitive element
|
|
402
|
-
return element;
|
|
403
444
|
});
|
|
404
445
|
// Callback 3: Call function at path with arguments
|
|
405
446
|
// Used when expressions invoke functions from workflow data
|
|
406
447
|
const callFunctionAtPath = new (getIvm().Reference)((path, ...args) => {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
448
|
+
try {
|
|
449
|
+
// Navigate to function, tracking parent to preserve `this` context
|
|
450
|
+
let fn = data;
|
|
451
|
+
let parent = undefined;
|
|
452
|
+
let startIndex = 0;
|
|
453
|
+
const dollarFn = data.$;
|
|
454
|
+
if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
|
|
455
|
+
fn = dollarFn(path[1]);
|
|
456
|
+
startIndex = 2;
|
|
457
|
+
}
|
|
458
|
+
for (let i = startIndex; i < path.length; i++) {
|
|
459
|
+
parent = fn;
|
|
460
|
+
fn = fn?.[path[i]];
|
|
461
|
+
}
|
|
462
|
+
if (typeof fn !== 'function') {
|
|
463
|
+
throw new Error(`${path.join('.')} is not a function`);
|
|
464
|
+
}
|
|
465
|
+
// Block native functions for security (same check as getValueAtPath)
|
|
466
|
+
if (fn.toString().includes('[native code]')) {
|
|
467
|
+
throw new Error(`${path.join('.')} is a native function and cannot be called`);
|
|
468
|
+
}
|
|
469
|
+
// Execute function with parent as `this` to preserve method context
|
|
470
|
+
return fn.call(parent, ...args);
|
|
416
471
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
throw new Error(`${path.join('.')} is a native function and cannot be called`);
|
|
472
|
+
catch (err) {
|
|
473
|
+
return serializeError(err);
|
|
420
474
|
}
|
|
421
|
-
// Execute function with parent as `this` to preserve method context
|
|
422
|
-
return fn.call(parent, ...args);
|
|
423
475
|
});
|
|
424
476
|
// Release previous references before replacing to avoid accumulation
|
|
425
477
|
this.valueAtPathRef?.release();
|
|
@@ -433,9 +485,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
433
485
|
this.context.global.setSync('__getValueAtPath', getValueAtPath);
|
|
434
486
|
this.context.global.setSync('__getArrayElement', getArrayElement);
|
|
435
487
|
this.context.global.setSync('__callFunctionAtPath', callFunctionAtPath);
|
|
436
|
-
|
|
437
|
-
console.log('[IsolatedVmBridge] Callbacks registered successfully');
|
|
438
|
-
}
|
|
488
|
+
this.logger.debug('[IsolatedVmBridge] Callbacks registered successfully');
|
|
439
489
|
}
|
|
440
490
|
/**
|
|
441
491
|
* Execute JavaScript code in the isolated context.
|
|
@@ -465,26 +515,66 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
465
515
|
// Step 3: Wrap transformed code so 'this' === __data in the isolate.
|
|
466
516
|
// Tournament generates: this.$json.email, this.$items(), etc.
|
|
467
517
|
// __data has $json, $items, etc. as lazy proxies (set in resetDataProxies).
|
|
468
|
-
|
|
518
|
+
// The outer try-catch serializes errors into a sentinel object and returns
|
|
519
|
+
// it as the result. Errors from host callbacks arrive as sentinels already
|
|
520
|
+
// (via serializeError), so we pass them through. This avoids a round-trip
|
|
521
|
+
// callback and keeps Error reconstruction on the host side only.
|
|
522
|
+
const wrappedCode = `
|
|
523
|
+
(function() {
|
|
524
|
+
try {
|
|
525
|
+
var __result = (function() {
|
|
526
|
+
${code}
|
|
527
|
+
}).call(__data);
|
|
528
|
+
return __prepareForTransfer(__result);
|
|
529
|
+
} catch(e) {
|
|
530
|
+
if (e && e.__isError) return e;
|
|
531
|
+
if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
|
|
532
|
+
var extra = {};
|
|
533
|
+
for (var k in e) {
|
|
534
|
+
if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
|
|
535
|
+
}
|
|
536
|
+
return {
|
|
537
|
+
__isError: true,
|
|
538
|
+
name: e.name || "Error",
|
|
539
|
+
message: e.message || "",
|
|
540
|
+
stack: e.stack || "",
|
|
541
|
+
extra: extra
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
})()`;
|
|
545
|
+
// Cache key is `code` (tournament output), but the compiled script uses
|
|
546
|
+
// `wrappedCode` which adds the try-catch/reportError wrapper. This works
|
|
547
|
+
// because wrappedCode is a deterministic transform of code. If the wrapper
|
|
548
|
+
// ever becomes parameterized (e.g., different wrapping based on options),
|
|
549
|
+
// the cache key must include those parameters to avoid serving stale scripts.
|
|
469
550
|
let script = this.scriptCache.get(code);
|
|
470
551
|
if (!script) {
|
|
471
552
|
script = this.isolate.compileScriptSync(wrappedCode);
|
|
472
553
|
this.scriptCache.set(code, script);
|
|
473
|
-
|
|
474
|
-
console.log('[IsolatedVmBridge] Script compiled and cached');
|
|
475
|
-
}
|
|
554
|
+
this.logger.debug('[IsolatedVmBridge] Script compiled and cached');
|
|
476
555
|
}
|
|
477
|
-
// Step
|
|
556
|
+
// Step 5: Execute with timeout and copy result back
|
|
478
557
|
const result = script.runSync(this.context, {
|
|
479
558
|
timeout: this.config.timeout,
|
|
480
559
|
copy: true,
|
|
481
560
|
});
|
|
482
|
-
|
|
483
|
-
|
|
561
|
+
// Step 6: If the result is an error sentinel, reconstruct and throw
|
|
562
|
+
if (isErrorSentinel(result)) {
|
|
563
|
+
throw this.reconstructError(result);
|
|
484
564
|
}
|
|
565
|
+
this.logger.debug('[IsolatedVmBridge] Expression executed successfully');
|
|
485
566
|
return result;
|
|
486
567
|
}
|
|
487
568
|
catch (error) {
|
|
569
|
+
// Re-throw reconstructed errors as-is.
|
|
570
|
+
// Note: TypeError is intentionally NOT included here — the isolate's
|
|
571
|
+
// E() handler swallows TypeErrors (failed attack attempts return undefined),
|
|
572
|
+
// so TypeErrors from host callbacks should also go through the generic
|
|
573
|
+
// wrapping for consistent behavior.
|
|
574
|
+
if (error instanceof Error &&
|
|
575
|
+
(error.name === 'ExpressionError' || error.name === 'ExpressionExtensionError')) {
|
|
576
|
+
throw error;
|
|
577
|
+
}
|
|
488
578
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
489
579
|
if (errorMessage.includes('Script execution timed out')) {
|
|
490
580
|
throw new types_1.TimeoutError(`Expression timed out after ${this.config.timeout}ms`, {});
|
|
@@ -495,6 +585,24 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
495
585
|
throw new Error(`Expression evaluation failed: ${errorMessage}`);
|
|
496
586
|
}
|
|
497
587
|
}
|
|
588
|
+
/**
|
|
589
|
+
* Reconstruct an error from serialized isolate data.
|
|
590
|
+
*
|
|
591
|
+
* Maps error names back to their host-side classes and restores
|
|
592
|
+
* custom properties that would otherwise be lost crossing the boundary.
|
|
593
|
+
*/
|
|
594
|
+
reconstructError(data) {
|
|
595
|
+
const error = new Error(data.message);
|
|
596
|
+
error.name = data.name || 'Error';
|
|
597
|
+
if (data.stack) {
|
|
598
|
+
error.stack = data.stack;
|
|
599
|
+
}
|
|
600
|
+
// Restore custom properties transferred via copy: true
|
|
601
|
+
if (data.extra) {
|
|
602
|
+
Object.assign(error, data.extra);
|
|
603
|
+
}
|
|
604
|
+
return error;
|
|
605
|
+
}
|
|
498
606
|
/**
|
|
499
607
|
* Dispose of the isolate and free resources.
|
|
500
608
|
*
|
|
@@ -515,9 +623,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
515
623
|
this.disposed = true;
|
|
516
624
|
this.initialized = false;
|
|
517
625
|
this.scriptCache.clear();
|
|
518
|
-
|
|
519
|
-
console.log('[IsolatedVmBridge] Disposed');
|
|
520
|
-
}
|
|
626
|
+
this.logger.info('[IsolatedVmBridge] Disposed');
|
|
521
627
|
}
|
|
522
628
|
/**
|
|
523
629
|
* Check if the bridge has been disposed.
|
|
@@ -525,7 +631,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
525
631
|
* @returns true if disposed, false otherwise
|
|
526
632
|
*/
|
|
527
633
|
isDisposed() {
|
|
528
|
-
return this.disposed;
|
|
634
|
+
return this.disposed || this.isolate.isDisposed;
|
|
529
635
|
}
|
|
530
636
|
}
|
|
531
637
|
exports.IsolatedVmBridge = IsolatedVmBridge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACA,+CAA4C;IAC5C,gDAAkC;IAElC,oCAAiF;IAOjF,IAAI,IAAI,GAAsB,IAAI,CAAC;IAEnC,SAAS,MAAM;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,iEAAiE;YACjE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAe,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5E,wEAAwE;IACxE,SAAS,eAAe,CAAC,KAAc;QACtC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAiC,CAAC,SAAS,KAAK,IAAI,CACrD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,cAAc,CAAC,GAAY;QACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC,CAC7F,CAAC;YACF,OAAO;gBACN,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK;aACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,iBAAiB;QAC/B,IAAI,GAAG,GAAG,SAAS,CAAC;QACpB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACJ,OAAO,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,KAAK,CACd,kCAAkC,oBAAoB,sBAAsB,SAAS,EAAE,CACvF,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAa,gBAAgB;QACpB,OAAO,CAAc;QACrB,OAAO,CAAe;QACtB,WAAW,GAAG,KAAK,CAAC;QACpB,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,CAAyB;QAC/B,MAAM,CAAmC;QAEjD,2CAA2C;QAC3C,8CAA8C;QACtC,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAEpD,wEAAwE;QACxE,2DAA2D;QACnD,cAAc,CAAiB;QAC/B,eAAe,CAAiB;QAChC,eAAe,CAAiB;QAExC,mEAAmE;QACnE,4DAA4D;QAC5D,uDAAuD;QAC/C,mBAAmB,CAAiB;QAE5C,YAAY,SAAuB,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG;gBACb,GAAG,6BAAqB;gBACxB,GAAG,MAAM;aACT,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAEjC,mCAAmC;YACnC,6BAA6B;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;QAED;;;;;;;;;;WAUG;QACH,KAAK,CAAC,UAAU;YACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO;YACR,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAElD,uBAAuB;YACvB,qDAAqD;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAEjC,sDAAsD;YACtD,2DAA2D;YAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAE3C,mEAAmE;YACnE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjC,uCAAuC;YACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,yEAAyE;YACzE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,0EAA0E;YAC1E,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;gBAC5E,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED;;;;;;;;;;;WAWG;QACK,KAAK,CAAC,mBAAmB;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,iEAAiE;gBACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAEhD,qCAAqC;gBACrC,qJAAqJ;gBACrJ,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAE7D,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAE3E,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACd,yCAAyC,WAAW,YAAY,SAAS,EAAE,CAC3E,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED;;;;;;;;WAQG;QACK,KAAK,CAAC,iBAAiB;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,kDAAkD;gBAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC9F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACzE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACjF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAE5F,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1F,MAAM,IAAI,KAAK,CACd,oCAAoC;wBACnC,uBAAuB,eAAe,YAAY,OAAO,IAAI;wBAC7D,cAAc,aAAa,eAAe,YAAY,IAAI;wBAC1D,oBAAoB,gBAAgB,EAAE,CACvC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED;;;;;;;;;;;WAWG;QACK,KAAK,CAAC,kBAAkB;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcvB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED;;;;;;;;;;;;;WAaG;QACK,gBAAgB,CAAC,QAAiB;YACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE;oBAC5D,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACzB,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QAED;;;;;;;;;;;;;;WAcG;QACK,iBAAiB,CAAC,IAA6B;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,yCAAyC;YACzC,wDAAwD;YACxD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,EAAE;gBAClE,IAAI,CAAC;oBACJ,oBAAoB;oBACpB,4EAA4E;oBAC5E,yEAAyE;oBACzE,IAAI,KAAK,GAAY,IAAI,CAAC;oBAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;oBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvB,KAAK,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;4BACtD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;4BAC3E,KAAK,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;4BACzD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,KAAK,GAAI,KAAiC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC3C,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAClC,sCAAsC;wBACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;4BACxC,OAAO,SAAS,CAAC;wBAClB,CAAC;wBACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC9D,CAAC;oBAED,oDAAoD;oBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO;4BACN,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,KAAK,CAAC,MAAM;4BACtB,MAAM,EAAE,IAAI;yBACZ,CAAC;oBACH,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACjD,OAAO;4BACN,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;yBAC1B,CAAC;oBACH,CAAC;oBAED,kBAAkB;oBAClB,OAAO,KAAK,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,yCAAyC;YACzC,qDAAqD;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE;gBAClF,IAAI,CAAC;oBACJ,oBAAoB;oBACpB,4EAA4E;oBAC5E,IAAI,GAAG,GAAY,IAAI,CAAC;oBACxB,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;oBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvB,GAAG,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;4BACpD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;4BAC3E,GAAG,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,GAAG,GAAI,GAA+B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;4BACvC,OAAO,SAAS,CAAC;wBAClB,CAAC;oBACF,CAAC;oBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,OAAO,SAAS,CAAC;oBAClB,CAAC;oBAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBAE3B,8CAA8C;oBAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC5B,OAAO;gCACN,SAAS,EAAE,IAAI;gCACf,QAAQ,EAAE,OAAO,CAAC,MAAM;gCACxB,MAAM,EAAE,IAAI;6BACZ,CAAC;wBACH,CAAC;wBACD,OAAO;4BACN,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;yBAC5B,CAAC;oBACH,CAAC;oBAED,oBAAoB;oBACpB,OAAO,OAAO,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,mDAAmD;YACnD,4DAA4D;YAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,GAAG,IAAe,EAAE,EAAE;gBAC1F,IAAI,CAAC;oBACJ,mEAAmE;oBACnE,IAAI,EAAE,GAAY,IAAI,CAAC;oBACvB,IAAI,MAAM,GAAY,SAAS,CAAC;oBAChC,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC3E,EAAE,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,MAAM,GAAG,EAAE,CAAC;wBACZ,EAAE,GAAI,EAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC;oBAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBACxD,CAAC;oBAED,qEAAqE;oBACrE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAChF,CAAC;oBAED,oEAAoE;oBACpE,OAAQ,EAAwC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,qEAAqE;YACrE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAEhC,4EAA4E;YAC5E,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;YAE1C,mDAAmD;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QAED;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,IAAY,EAAE,IAA6B,EAAE,OAAwB;YAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC;gBACJ,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE7B,4CAA4C;gBAC5C,wDAAwD;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEzC,qEAAqE;gBACrE,8DAA8D;gBAC9D,4EAA4E;gBAC5E,2EAA2E;gBAC3E,2EAA2E;gBAC3E,0EAA0E;gBAC1E,iEAAiE;gBACjE,MAAM,WAAW,GAAG;;;;QAIf,IAAI;;;;;;;;;;;;;;;;;;KAkBP,CAAC;gBAEH,wEAAwE;gBACxE,yEAAyE;gBACzE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,8EAA8E;gBAC9E,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACpE,CAAC;gBAED,oDAAoD;gBACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC5B,IAAI,EAAE,IAAI;iBACV,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAEzE,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,uCAAuC;gBACvC,qEAAqE;gBACrE,6EAA6E;gBAC7E,uEAAuE;gBACvE,oCAAoC;gBACpC,IACC,KAAK,YAAY,KAAK;oBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAC9E,CAAC;oBACF,MAAM,KAAK,CAAC;gBACb,CAAC;gBACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,oBAAY,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,wBAAgB,CACzB,uCAAuC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAClE,EAAE,CACF,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QAED;;;;;WAKG;QACK,gBAAgB,CAAC,IAAmB;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,OAAO;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO;YACR,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED;;;;WAIG;QACH,UAAU;YACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,CAAC;KACD;IA/kBD,4CA+kBC"}
|