threadsx 2.1.0 → 2.2.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/master/implementation.node.js +12 -16
- package/dist/master/pool.js +16 -5
- package/dist/master/spawn.js +24 -7
- package/dist/node-require.d.ts +13 -0
- package/dist/node-require.js +87 -0
- package/dist/worker_threads.d.ts +3 -7
- package/dist/worker_threads.js +35 -11
- package/dist-esm/common.js +1 -0
- package/dist-esm/common.js.map +1 -0
- package/dist-esm/errors.js +1 -0
- package/dist-esm/errors.js.map +1 -0
- package/dist-esm/index.js +1 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/master/get-bundle-url.browser.js +1 -0
- package/dist-esm/master/get-bundle-url.browser.js.map +1 -0
- package/dist-esm/master/implementation.browser.js +1 -0
- package/dist-esm/master/implementation.browser.js.map +1 -0
- package/dist-esm/master/implementation.js +1 -0
- package/dist-esm/master/implementation.js.map +1 -0
- package/dist-esm/master/implementation.node.js +13 -16
- package/dist-esm/master/implementation.node.js.map +1 -0
- package/dist-esm/master/index.js +1 -0
- package/dist-esm/master/index.js.map +1 -0
- package/dist-esm/master/invocation-proxy.js +1 -0
- package/dist-esm/master/invocation-proxy.js.map +1 -0
- package/dist-esm/master/pool-types.js +1 -0
- package/dist-esm/master/pool-types.js.map +1 -0
- package/dist-esm/master/pool.js +17 -5
- package/dist-esm/master/pool.js.map +1 -0
- package/dist-esm/master/register.js +1 -0
- package/dist-esm/master/register.js.map +1 -0
- package/dist-esm/master/spawn.js +25 -7
- package/dist-esm/master/spawn.js.map +1 -0
- package/dist-esm/master/thread.js +1 -0
- package/dist-esm/master/thread.js.map +1 -0
- package/dist-esm/node-require.js +50 -0
- package/dist-esm/node-require.js.map +1 -0
- package/dist-esm/observable-promise.js +1 -0
- package/dist-esm/observable-promise.js.map +1 -0
- package/dist-esm/observable.js +1 -0
- package/dist-esm/observable.js.map +1 -0
- package/dist-esm/ponyfills.js +1 -0
- package/dist-esm/ponyfills.js.map +1 -0
- package/dist-esm/promise.js +1 -0
- package/dist-esm/promise.js.map +1 -0
- package/dist-esm/serializers.js +1 -0
- package/dist-esm/serializers.js.map +1 -0
- package/dist-esm/symbols.js +1 -0
- package/dist-esm/symbols.js.map +1 -0
- package/dist-esm/transferable.js +1 -0
- package/dist-esm/transferable.js.map +1 -0
- package/dist-esm/types/master.js +1 -0
- package/dist-esm/types/master.js.map +1 -0
- package/dist-esm/types/messages.js +1 -0
- package/dist-esm/types/messages.js.map +1 -0
- package/dist-esm/types/worker.js +1 -0
- package/dist-esm/types/worker.js.map +1 -0
- package/dist-esm/worker/bundle-entry.js +1 -0
- package/dist-esm/worker/bundle-entry.js.map +1 -0
- package/dist-esm/worker/implementation.browser.js +1 -0
- package/dist-esm/worker/implementation.browser.js.map +1 -0
- package/dist-esm/worker/implementation.js +1 -0
- package/dist-esm/worker/implementation.js.map +1 -0
- package/dist-esm/worker/implementation.worker_threads.js +1 -0
- package/dist-esm/worker/implementation.worker_threads.js.map +1 -0
- package/dist-esm/worker/index.js +1 -0
- package/dist-esm/worker/index.js.map +1 -0
- package/dist-esm/worker_threads.js +3 -11
- package/dist-esm/worker_threads.js.map +1 -0
- package/esm/master/implementation.node.mjs +12 -16
- package/esm/master/pool.mjs +16 -5
- package/esm/master/spawn.mjs +24 -7
- package/esm/node-require.mjs +58 -0
- package/esm/worker/implementation.mjs +0 -1
- package/esm/worker/implementation.worker_threads.mjs +0 -2
- package/esm/worker_threads.mjs +3 -11
- package/package.json +15 -7
|
@@ -48,6 +48,8 @@ const callsites_1 = __importDefault(require("callsites"));
|
|
|
48
48
|
const os_1 = require("os");
|
|
49
49
|
const path = __importStar(require("path"));
|
|
50
50
|
const url_1 = require("url");
|
|
51
|
+
const node_require_1 = require("../node-require");
|
|
52
|
+
const worker_threads_1 = __importDefault(require("../worker_threads"));
|
|
51
53
|
let detectedTsRuntime;
|
|
52
54
|
exports.defaultPoolSize = (0, os_1.cpus)().length;
|
|
53
55
|
/**
|
|
@@ -65,7 +67,7 @@ function signalHandlersDisabled() {
|
|
|
65
67
|
* spawned directly during development. Prefers `tsx`, falls back to `ts-node`.
|
|
66
68
|
*/
|
|
67
69
|
function detectTsRuntime() {
|
|
68
|
-
if (
|
|
70
|
+
if ((0, node_require_1.isWebpackBundle)()) {
|
|
69
71
|
// Webpack build: => No TS runtime required or possible
|
|
70
72
|
return null;
|
|
71
73
|
}
|
|
@@ -75,7 +77,7 @@ function detectTsRuntime() {
|
|
|
75
77
|
detectedTsRuntime = null;
|
|
76
78
|
for (const candidate of ["tsx", "ts-node"]) {
|
|
77
79
|
try {
|
|
78
|
-
|
|
80
|
+
(0, node_require_1.getNodeRequire)().resolve(candidate);
|
|
79
81
|
detectedTsRuntime = candidate;
|
|
80
82
|
break;
|
|
81
83
|
}
|
|
@@ -123,19 +125,17 @@ function rebaseScriptPath(scriptPath, ignoreRegex) {
|
|
|
123
125
|
}
|
|
124
126
|
function resolveScriptPath(scriptPath, baseURL) {
|
|
125
127
|
const makeRelative = (filePath) => {
|
|
126
|
-
|
|
127
|
-
return path.isAbsolute(filePath) ? filePath : path.join(baseURL || eval("__dirname"), filePath);
|
|
128
|
+
return path.isAbsolute(filePath) ? filePath : path.join(baseURL || (0, node_require_1.getModuleDirname)(), filePath);
|
|
128
129
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
// In a webpack bundle, walking the call stack is useless (every caller lives
|
|
131
|
+
// inside the bundle), so relative paths resolve without rebasing.
|
|
132
|
+
const workerFilePath = (0, node_require_1.isWebpackBundle)()
|
|
133
|
+
? (0, node_require_1.getNodeRequire)().resolve(makeRelative(scriptPath))
|
|
134
|
+
: (0, node_require_1.getNodeRequire)().resolve(makeRelative(rebaseScriptPath(scriptPath, /[/\\]worker_threads[/\\]/)));
|
|
132
135
|
return workerFilePath;
|
|
133
136
|
}
|
|
134
137
|
function initWorkerThreadsWorker() {
|
|
135
|
-
|
|
136
|
-
const NativeWorker = typeof __non_webpack_require__ === "function"
|
|
137
|
-
? __non_webpack_require__("worker_threads").Worker
|
|
138
|
-
: eval("require")("worker_threads").Worker;
|
|
138
|
+
const NativeWorker = (0, worker_threads_1.default)().Worker;
|
|
139
139
|
let allWorkers = [];
|
|
140
140
|
class Worker extends NativeWorker {
|
|
141
141
|
constructor(scriptPath, options) {
|
|
@@ -214,9 +214,5 @@ function getWorkerImplementation() {
|
|
|
214
214
|
return implementation;
|
|
215
215
|
}
|
|
216
216
|
function isWorkerRuntime() {
|
|
217
|
-
|
|
218
|
-
const isMainThread = typeof __non_webpack_require__ === "function"
|
|
219
|
-
? __non_webpack_require__("worker_threads").isMainThread
|
|
220
|
-
: eval("require")("worker_threads").isMainThread;
|
|
221
|
-
return !isMainThread;
|
|
217
|
+
return !(0, worker_threads_1.default)().isMainThread;
|
|
222
218
|
}
|
package/dist/master/pool.js
CHANGED
|
@@ -147,6 +147,13 @@ class WorkerPool {
|
|
|
147
147
|
eventSubscription.unsubscribe();
|
|
148
148
|
reject(event.error);
|
|
149
149
|
}
|
|
150
|
+
else if (event.type === pool_types_1.PoolEventType.taskCanceled && event.taskID === taskID) {
|
|
151
|
+
// Without this branch a canceled task would keep its event
|
|
152
|
+
// subscription alive for the pool's whole lifetime and its promise
|
|
153
|
+
// would never settle.
|
|
154
|
+
eventSubscription.unsubscribe();
|
|
155
|
+
reject(Error("Task has been canceled."));
|
|
156
|
+
}
|
|
150
157
|
else if (event.type === pool_types_1.PoolEventType.terminated) {
|
|
151
158
|
eventSubscription.unsubscribe();
|
|
152
159
|
reject(Error("Pool has been terminated before task was run."));
|
|
@@ -164,10 +171,12 @@ class WorkerPool {
|
|
|
164
171
|
}
|
|
165
172
|
});
|
|
166
173
|
if (this.initErrors.length > 0) {
|
|
174
|
+
failureSubscription.unsubscribe();
|
|
167
175
|
return Promise.reject(this.initErrors[0]);
|
|
168
176
|
}
|
|
169
177
|
if (allowResolvingImmediately && this.taskQueue.length === 0) {
|
|
170
178
|
yield (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks());
|
|
179
|
+
failureSubscription.unsubscribe();
|
|
171
180
|
return taskFailures;
|
|
172
181
|
}
|
|
173
182
|
yield new Promise((resolve, reject) => {
|
|
@@ -234,6 +243,13 @@ class WorkerPool {
|
|
|
234
243
|
if (this.initErrors.length > 0) {
|
|
235
244
|
throw this.initErrors[0];
|
|
236
245
|
}
|
|
246
|
+
// Check the queue limit before taskCompletion() below subscribes to the
|
|
247
|
+
// pool events — throwing after would leak that subscription.
|
|
248
|
+
if (this.taskQueue.length >= maxQueuedJobs) {
|
|
249
|
+
throw Error("Maximum number of pool tasks queued. Refusing to queue another one.\n" +
|
|
250
|
+
"This usually happens for one of two reasons: We are either at peak " +
|
|
251
|
+
"workload right now or some tasks just won't finish, thus blocking the pool.");
|
|
252
|
+
}
|
|
237
253
|
const taskID = this.nextTaskID++;
|
|
238
254
|
const taskCompletion = this.taskCompletion(taskID);
|
|
239
255
|
taskCompletion.catch((error) => {
|
|
@@ -255,11 +271,6 @@ class WorkerPool {
|
|
|
255
271
|
},
|
|
256
272
|
then: taskCompletion.then.bind(taskCompletion)
|
|
257
273
|
};
|
|
258
|
-
if (this.taskQueue.length >= maxQueuedJobs) {
|
|
259
|
-
throw Error("Maximum number of pool tasks queued. Refusing to queue another one.\n" +
|
|
260
|
-
"This usually happens for one of two reasons: We are either at peak " +
|
|
261
|
-
"workload right now or some tasks just won't finish, thus blocking the pool.");
|
|
262
|
-
}
|
|
263
274
|
this.debug(`Queueing task #${task.id}...`);
|
|
264
275
|
this.taskQueue.push(task);
|
|
265
276
|
this.eventSubject.next({
|
package/dist/master/spawn.js
CHANGED
|
@@ -81,17 +81,32 @@ function createEventObservable(worker, workerTermination) {
|
|
|
81
81
|
};
|
|
82
82
|
observer.next(workerEvent);
|
|
83
83
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
let finished = false;
|
|
85
|
+
const removeListeners = () => {
|
|
86
|
+
worker.removeEventListener("message", messageHandler);
|
|
87
|
+
worker.removeEventListener("unhandledrejection", rejectionHandler);
|
|
88
|
+
worker.removeEventListener("exit", exitHandler);
|
|
89
|
+
};
|
|
90
|
+
const finish = () => {
|
|
91
|
+
if (finished)
|
|
92
|
+
return;
|
|
93
|
+
finished = true;
|
|
87
94
|
const terminationEvent = {
|
|
88
95
|
type: master_1.WorkerEventType.termination
|
|
89
96
|
};
|
|
90
|
-
|
|
91
|
-
worker.removeEventListener("unhandledrejection", rejectionHandler);
|
|
97
|
+
removeListeners();
|
|
92
98
|
observer.next(terminationEvent);
|
|
93
99
|
observer.complete();
|
|
94
|
-
}
|
|
100
|
+
};
|
|
101
|
+
// A worker can also go away without Thread.terminate() being called (crash,
|
|
102
|
+
// process.exit() in the worker). Complete the observable and detach the
|
|
103
|
+
// listeners in that case, too, instead of leaving them behind forever.
|
|
104
|
+
const exitHandler = (() => finish());
|
|
105
|
+
worker.addEventListener("message", messageHandler);
|
|
106
|
+
worker.addEventListener("unhandledrejection", rejectionHandler);
|
|
107
|
+
worker.addEventListener("exit", exitHandler);
|
|
108
|
+
workerTermination.then(finish);
|
|
109
|
+
return removeListeners;
|
|
95
110
|
});
|
|
96
111
|
}
|
|
97
112
|
function createTerminator(worker) {
|
|
@@ -126,7 +141,7 @@ function setPrivateThreadProps(raw, worker, workerEvents, terminate) {
|
|
|
126
141
|
*/
|
|
127
142
|
function spawn(worker, options) {
|
|
128
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
-
var _a, _b;
|
|
144
|
+
var _a, _b, _c, _d;
|
|
130
145
|
debugSpawn("Initializing new thread");
|
|
131
146
|
const timeout = options && options.timeout ? options.timeout : initMessageTimeout;
|
|
132
147
|
let initMessage;
|
|
@@ -153,6 +168,8 @@ function spawn(worker, options) {
|
|
|
153
168
|
}
|
|
154
169
|
else {
|
|
155
170
|
const type = exposed.type;
|
|
171
|
+
// Same teardown as a failed init: don't leak a live worker handle.
|
|
172
|
+
yield Promise.resolve((_d = (_c = worker).terminate) === null || _d === void 0 ? void 0 : _d.call(_c)).catch(() => undefined);
|
|
156
173
|
throw Error(`Worker init message states unexpected type of expose(): ${type}`);
|
|
157
174
|
}
|
|
158
175
|
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Whether this code is running inside a webpack bundle. */
|
|
2
|
+
export declare function isWebpackBundle(): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Returns a `require` that resolves against the real filesystem at runtime,
|
|
5
|
+
* even inside a bundle.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getNodeRequire(): NodeRequire;
|
|
8
|
+
/**
|
|
9
|
+
* Directory to resolve relative worker paths against when no caller path and
|
|
10
|
+
* no base URL are available. Matches this module's directory where the runtime
|
|
11
|
+
* provides one, and falls back to the current working directory.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getModuleDirname(): string;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.isWebpackBundle = isWebpackBundle;
|
|
37
|
+
exports.getNodeRequire = getNodeRequire;
|
|
38
|
+
exports.getModuleDirname = getModuleDirname;
|
|
39
|
+
/*
|
|
40
|
+
* Runtime module/path resolution for the Node.js implementation.
|
|
41
|
+
*
|
|
42
|
+
* Spawning a worker needs real filesystem paths at runtime, but webpack
|
|
43
|
+
* rewrites `require`, `require.resolve` and `__dirname` at compile time.
|
|
44
|
+
* `__non_webpack_require__` is webpack's documented escape hatch: it compiles
|
|
45
|
+
* to the untouched `require` of the output bundle, so resolution happens at
|
|
46
|
+
* runtime against the real filesystem. Every other environment (plain Node,
|
|
47
|
+
* esbuild, rollup, Vite) keeps `createRequire` and `__dirname` intact, so no
|
|
48
|
+
* `eval()` tricks are needed there.
|
|
49
|
+
*
|
|
50
|
+
* This module is only ever loaded on Node targets: the package.json "browser"
|
|
51
|
+
* field maps its sole importers to `false` for browser bundles.
|
|
52
|
+
*/
|
|
53
|
+
const module_1 = require("module");
|
|
54
|
+
const path = __importStar(require("path"));
|
|
55
|
+
/** Whether this code is running inside a webpack bundle. */
|
|
56
|
+
function isWebpackBundle() {
|
|
57
|
+
return typeof __non_webpack_require__ === "function";
|
|
58
|
+
}
|
|
59
|
+
let nodeRequire;
|
|
60
|
+
/**
|
|
61
|
+
* Returns a `require` that resolves against the real filesystem at runtime,
|
|
62
|
+
* even inside a bundle.
|
|
63
|
+
*/
|
|
64
|
+
function getNodeRequire() {
|
|
65
|
+
if (typeof __non_webpack_require__ === "function") {
|
|
66
|
+
return __non_webpack_require__;
|
|
67
|
+
}
|
|
68
|
+
if (!nodeRequire) {
|
|
69
|
+
// CJS build: `__filename` is this module's real path. ESM build (esm/):
|
|
70
|
+
// the build banner derives `__filename` from `import.meta.url`. In an
|
|
71
|
+
// environment that defines neither (dist-esm bundled straight to ESM by a
|
|
72
|
+
// non-webpack bundler), resolve from the current working directory.
|
|
73
|
+
const base = typeof __filename !== "undefined"
|
|
74
|
+
? __filename
|
|
75
|
+
: path.join(process.cwd(), "__threadsx_resolve__.js");
|
|
76
|
+
nodeRequire = (0, module_1.createRequire)(base);
|
|
77
|
+
}
|
|
78
|
+
return nodeRequire;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Directory to resolve relative worker paths against when no caller path and
|
|
82
|
+
* no base URL are available. Matches this module's directory where the runtime
|
|
83
|
+
* provides one, and falls back to the current working directory.
|
|
84
|
+
*/
|
|
85
|
+
function getModuleDirname() {
|
|
86
|
+
return typeof __dirname !== "undefined" ? __dirname : process.cwd();
|
|
87
|
+
}
|
package/dist/worker_threads.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
isMainThread: boolean;
|
|
5
|
-
parentPort: MessagePort;
|
|
6
|
-
}
|
|
7
|
-
export default function getImplementation(): WorkerThreadsModule;
|
|
1
|
+
import * as WorkerThreadsModule from "worker_threads";
|
|
2
|
+
type WorkerThreadsInterface = typeof WorkerThreadsModule;
|
|
3
|
+
export default function getImplementation(): WorkerThreadsInterface;
|
|
8
4
|
export {};
|
package/dist/worker_threads.js
CHANGED
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
3
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
36
|
exports.default = getImplementation;
|
|
5
|
-
|
|
6
|
-
function selectImplementation() {
|
|
7
|
-
return typeof __non_webpack_require__ === "function"
|
|
8
|
-
? __non_webpack_require__("worker_threads")
|
|
9
|
-
: eval("require")("worker_threads");
|
|
10
|
-
}
|
|
37
|
+
const WorkerThreadsModule = __importStar(require("worker_threads"));
|
|
11
38
|
function getImplementation() {
|
|
12
|
-
|
|
13
|
-
implementation = selectImplementation();
|
|
14
|
-
}
|
|
15
|
-
return implementation;
|
|
39
|
+
return WorkerThreadsModule;
|
|
16
40
|
}
|
package/dist-esm/common.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,eAAe,CAAA;AAEtB,IAAI,oBAAoB,GAAiC,iBAAiB,CAAA;AAE1E,MAAM,UAAU,kBAAkB,CAAC,UAAsD;IACvF,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAyB;IACnD,OAAO,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC"}
|
package/dist-esm/errors.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGzC,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,wEAAwE;QACxE,6CAA6C;QAC7C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACzD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,CACZ,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA4B,CAAC,IAAI,KAAK,gBAAgB,CACxD,CAAA;AACH,CAAC"}
|
package/dist-esm/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAA0D,MAAM,eAAe,CAAA;AACzG,OAAO,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAA"}
|
|
@@ -23,3 +23,4 @@ function getBaseURL(url) {
|
|
|
23
23
|
return ("" + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)?\/[^/]+(?:\?.*)?$/, '$1') + '/';
|
|
24
24
|
}
|
|
25
25
|
export { getBaseURL, getBundleURLCached as getBundleURL };
|
|
26
|
+
//# sourceMappingURL=get-bundle-url.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-bundle-url.browser.js","sourceRoot":"","sources":["../../src/master/get-bundle-url.browser.ts"],"names":[],"mappings":"AAAA,yHAAyH;AAEzH,IAAI,SAA6B,CAAA;AAEjC,SAAS,kBAAkB;IACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,YAAY,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY;IACnB,6EAA6E;IAC7E,IAAI,CAAC;QACH,MAAM,IAAI,KAAK,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,EAAE,GAAI,GAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,gFAAgF,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;AAC1H,CAAC;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,IAAI,YAAY,EACnC,CAAA"}
|
|
@@ -65,3 +65,4 @@ export function isWorkerRuntime() {
|
|
|
65
65
|
const isWindowContext = typeof self !== "undefined" && typeof Window !== "undefined" && self instanceof Window;
|
|
66
66
|
return typeof self !== "undefined" && typeof self.postMessage === "function" && !isWindowContext;
|
|
67
67
|
}
|
|
68
|
+
//# sourceMappingURL=implementation.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementation.browser.js","sourceRoot":"","sources":["../../src/master/implementation.browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,mBAAmB;IAC9F,CAAC,CAAC,SAAS,CAAC,mBAAmB;IAC/B,CAAC,CAAC,CAAC,CAAA;AAEL,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEhF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,CAAC,IAAI,CAAC,EACN,EAAE,IAAI,EAAE,wBAAwB,EAAE,CACnC,CAAA;IACD,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,uCAAuC;QACvC,+DAA+D;QAC/D,OAAO,MAAM,WAAW;YACtB;gBACE,MAAM,KAAK,CAAC,sJAAsJ,CAAC,CAAA;YACrK,CAAC;SACK,CAAA;IACV,CAAC;IAED,MAAM,SAAU,SAAQ,MAAM;QAC5B,YAAY,GAAiB,EAAE,OAA8B;;YAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3D,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjG,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;gBAC3D,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,IAAI,EAAE,CAAC;oBACpC,GAAG,GAAG,mBAAmB,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,gEAAgE;gBAChE,yCAAyC;gBACzC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,IAAI,EAAE,CAAC;oBACpC,GAAG,GAAG,mBAAmB,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;YACD,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACrB,CAAC;KACF;IAED,MAAM,UAAW,SAAQ,SAAS;QAChC,YAAY,IAAU,EAAE,OAA8B;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC5C,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACrB,CAAC;QAEM,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,OAA8B;YACnE,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;YACnE,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;KACF;IAED,OAAO;QACL,IAAI,EAAE,UAAiB;QACvB,OAAO,EAAE,SAAgB;KAC1B,CAAA;AACH,CAAC;AAED,IAAI,cAAoC,CAAA;AAExC,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,0BAA0B,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,YAAY,MAAM,CAAA;IAC9G,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,eAAe,CAAA;AAClG,CAAC"}
|
|
@@ -13,3 +13,4 @@ export const defaultPoolSize = implementation.defaultPoolSize;
|
|
|
13
13
|
export const getWorkerImplementation = implementation.getWorkerImplementation;
|
|
14
14
|
/** Returns `true` if this code is currently running in a worker. */
|
|
15
15
|
export const isWorkerRuntime = implementation.isWorkerRuntime;
|
|
16
|
+
//# sourceMappingURL=implementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/master/implementation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sFAAsF;AACtF,sFAAsF;AACtF,sBAAsB;AAEtB,OAAO,KAAK,qBAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAA;AAE3D,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,WAAW,IAAK,OAAO,CAAC,IAAe,KAAK,SAAS,IAAI,KAAK,IAAI,OAAO,CAAA;AAClH,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAA;AAEjF,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC,uBAAuB,CAAA;AAE7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA"}
|
|
@@ -7,6 +7,8 @@ import getCallsites from "callsites";
|
|
|
7
7
|
import { cpus } from 'os';
|
|
8
8
|
import * as path from "path";
|
|
9
9
|
import { fileURLToPath } from "url";
|
|
10
|
+
import { getModuleDirname, getNodeRequire, isWebpackBundle } from "../node-require";
|
|
11
|
+
import getWorkerThreads from "../worker_threads";
|
|
10
12
|
let detectedTsRuntime;
|
|
11
13
|
export const defaultPoolSize = cpus().length;
|
|
12
14
|
/**
|
|
@@ -24,7 +26,7 @@ function signalHandlersDisabled() {
|
|
|
24
26
|
* spawned directly during development. Prefers `tsx`, falls back to `ts-node`.
|
|
25
27
|
*/
|
|
26
28
|
function detectTsRuntime() {
|
|
27
|
-
if (
|
|
29
|
+
if (isWebpackBundle()) {
|
|
28
30
|
// Webpack build: => No TS runtime required or possible
|
|
29
31
|
return null;
|
|
30
32
|
}
|
|
@@ -34,7 +36,7 @@ function detectTsRuntime() {
|
|
|
34
36
|
detectedTsRuntime = null;
|
|
35
37
|
for (const candidate of ["tsx", "ts-node"]) {
|
|
36
38
|
try {
|
|
37
|
-
|
|
39
|
+
getNodeRequire().resolve(candidate);
|
|
38
40
|
detectedTsRuntime = candidate;
|
|
39
41
|
break;
|
|
40
42
|
}
|
|
@@ -82,19 +84,17 @@ function rebaseScriptPath(scriptPath, ignoreRegex) {
|
|
|
82
84
|
}
|
|
83
85
|
function resolveScriptPath(scriptPath, baseURL) {
|
|
84
86
|
const makeRelative = (filePath) => {
|
|
85
|
-
|
|
86
|
-
return path.isAbsolute(filePath) ? filePath : path.join(baseURL || eval("__dirname"), filePath);
|
|
87
|
+
return path.isAbsolute(filePath) ? filePath : path.join(baseURL || getModuleDirname(), filePath);
|
|
87
88
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
// In a webpack bundle, walking the call stack is useless (every caller lives
|
|
90
|
+
// inside the bundle), so relative paths resolve without rebasing.
|
|
91
|
+
const workerFilePath = isWebpackBundle()
|
|
92
|
+
? getNodeRequire().resolve(makeRelative(scriptPath))
|
|
93
|
+
: getNodeRequire().resolve(makeRelative(rebaseScriptPath(scriptPath, /[/\\]worker_threads[/\\]/)));
|
|
91
94
|
return workerFilePath;
|
|
92
95
|
}
|
|
93
96
|
function initWorkerThreadsWorker() {
|
|
94
|
-
|
|
95
|
-
const NativeWorker = typeof __non_webpack_require__ === "function"
|
|
96
|
-
? __non_webpack_require__("worker_threads").Worker
|
|
97
|
-
: eval("require")("worker_threads").Worker;
|
|
97
|
+
const NativeWorker = getWorkerThreads().Worker;
|
|
98
98
|
let allWorkers = [];
|
|
99
99
|
class Worker extends NativeWorker {
|
|
100
100
|
constructor(scriptPath, options) {
|
|
@@ -173,9 +173,6 @@ export function getWorkerImplementation() {
|
|
|
173
173
|
return implementation;
|
|
174
174
|
}
|
|
175
175
|
export function isWorkerRuntime() {
|
|
176
|
-
|
|
177
|
-
const isMainThread = typeof __non_webpack_require__ === "function"
|
|
178
|
-
? __non_webpack_require__("worker_threads").isMainThread
|
|
179
|
-
: eval("require")("worker_threads").isMainThread;
|
|
180
|
-
return !isMainThread;
|
|
176
|
+
return !getWorkerThreads().isMainThread;
|
|
181
177
|
}
|
|
178
|
+
//# sourceMappingURL=implementation.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementation.node.js","sourceRoot":"","sources":["../../src/master/implementation.node.ts"],"names":[],"mappings":"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"}
|
package/dist-esm/master/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/master/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG3E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,CAAA;AAK1B,yEAAyE;AACzE,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC,IAAI,CAAA;AAExD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-proxy.js","sourceRoot":"","sources":["../../src/master/invocation-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-types.js","sourceRoot":"","sources":["../../src/master/pool-types.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,sDAAqC,CAAA;IACrC,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;AAC3B,CAAC,EATW,aAAa,KAAb,aAAa,QASxB"}
|
package/dist-esm/master/pool.js
CHANGED
|
@@ -140,6 +140,13 @@ class WorkerPool {
|
|
|
140
140
|
eventSubscription.unsubscribe();
|
|
141
141
|
reject(event.error);
|
|
142
142
|
}
|
|
143
|
+
else if (event.type === PoolEventType.taskCanceled && event.taskID === taskID) {
|
|
144
|
+
// Without this branch a canceled task would keep its event
|
|
145
|
+
// subscription alive for the pool's whole lifetime and its promise
|
|
146
|
+
// would never settle.
|
|
147
|
+
eventSubscription.unsubscribe();
|
|
148
|
+
reject(Error("Task has been canceled."));
|
|
149
|
+
}
|
|
143
150
|
else if (event.type === PoolEventType.terminated) {
|
|
144
151
|
eventSubscription.unsubscribe();
|
|
145
152
|
reject(Error("Pool has been terminated before task was run."));
|
|
@@ -157,10 +164,12 @@ class WorkerPool {
|
|
|
157
164
|
}
|
|
158
165
|
});
|
|
159
166
|
if (this.initErrors.length > 0) {
|
|
167
|
+
failureSubscription.unsubscribe();
|
|
160
168
|
return Promise.reject(this.initErrors[0]);
|
|
161
169
|
}
|
|
162
170
|
if (allowResolvingImmediately && this.taskQueue.length === 0) {
|
|
163
171
|
yield allSettled(getCurrentlyRunningTasks());
|
|
172
|
+
failureSubscription.unsubscribe();
|
|
164
173
|
return taskFailures;
|
|
165
174
|
}
|
|
166
175
|
yield new Promise((resolve, reject) => {
|
|
@@ -227,6 +236,13 @@ class WorkerPool {
|
|
|
227
236
|
if (this.initErrors.length > 0) {
|
|
228
237
|
throw this.initErrors[0];
|
|
229
238
|
}
|
|
239
|
+
// Check the queue limit before taskCompletion() below subscribes to the
|
|
240
|
+
// pool events — throwing after would leak that subscription.
|
|
241
|
+
if (this.taskQueue.length >= maxQueuedJobs) {
|
|
242
|
+
throw Error("Maximum number of pool tasks queued. Refusing to queue another one.\n" +
|
|
243
|
+
"This usually happens for one of two reasons: We are either at peak " +
|
|
244
|
+
"workload right now or some tasks just won't finish, thus blocking the pool.");
|
|
245
|
+
}
|
|
230
246
|
const taskID = this.nextTaskID++;
|
|
231
247
|
const taskCompletion = this.taskCompletion(taskID);
|
|
232
248
|
taskCompletion.catch((error) => {
|
|
@@ -248,11 +264,6 @@ class WorkerPool {
|
|
|
248
264
|
},
|
|
249
265
|
then: taskCompletion.then.bind(taskCompletion)
|
|
250
266
|
};
|
|
251
|
-
if (this.taskQueue.length >= maxQueuedJobs) {
|
|
252
|
-
throw Error("Maximum number of pool tasks queued. Refusing to queue another one.\n" +
|
|
253
|
-
"This usually happens for one of two reasons: We are either at peak " +
|
|
254
|
-
"workload right now or some tasks just won't finish, thus blocking the pool.");
|
|
255
|
-
}
|
|
256
267
|
this.debug(`Queueing task #${task.id}...`);
|
|
257
268
|
this.taskQueue.push(task);
|
|
258
269
|
this.eventSubject.next({
|
|
@@ -303,3 +314,4 @@ PoolConstructor.EventType = PoolEventType;
|
|
|
303
314
|
* Thread pool constructor. Creates a new pool and spawns its worker threads.
|
|
304
315
|
*/
|
|
305
316
|
export const Pool = PoolConstructor;
|
|
317
|
+
//# sourceMappingURL=pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/master/pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/master/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAIxD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACjC,MAAc,CAAC,MAAM,GAAG,oBAAoB,CAAA;AAC/C,CAAC;KAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACxC,MAAc,CAAC,MAAM,GAAG,oBAAoB,CAAA;AAC/C,CAAC"}
|