@modern-js/libuild
Version:
A tool for building modern JavaScript libraries
1,276 lines • 1.11 MB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var stdin_exports = {};
__export(stdin_exports, {
ChunkType: () => ChunkType,
ErrorLevel: () => ErrorLevel,
EsbuildError: () => import_esbuild.Message,
ILogger: () => ILogger,
LibuildError: () => LibuildError,
LibuildFailure: () => LibuildFailure,
Libuilder: () => Libuilder,
formatError: () => formatError,
insertSpace: () => insertSpace,
isLibuildErrorInstance: () => isLibuildErrorInstance,
toLevel: () => toLevel,
transform: () => transform,
warpErrors: () => warpErrors
});
module.exports = __toCommonJS(stdin_exports);
var import_chunk_PWETHX67 = require("./chunk-PWETHX67.js");
var import_chunk_4OWMOGCB = require("./chunk-4OWMOGCB.js");
var import_chunk_HYZYPRER = require("./chunk-HYZYPRER.js");
var import_esbuild = require("esbuild");
var import_util = __toESM(require("util"));
var import_path = __toESM(require("path"));
var import_fs = __toESM(require("fs"));
var import_path2 = __toESM(require("path"));
var import_path3 = __toESM(require("path"));
var import_fs2 = __toESM(require("fs"));
var import_module = __toESM(require("module"));
var import_path4 = require("path");
var import_path5 = __toESM(require("path"));
var import_fs3 = require("fs");
var import_path6 = __toESM(require("path"));
var import_fs4 = __toESM(require("fs"));
var import_fs5 = require("fs");
var import_path7 = __toESM(require("path"));
var import_terser = require("terser");
var import_esbuild2 = require("esbuild");
var import_path8 = __toESM(require("path"));
var import_util2 = require("util");
var require_Hook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/Hook.js"(exports, module22) {
"use strict";
var util2 = (0, import_chunk_HYZYPRER.__require)("util");
var deprecateContext = util2.deprecate(
() => {
},
"Hook.context is deprecated and will be removed"
);
var CALL_DELEGATE = function(...args) {
this.call = this._createCall("sync");
return this.call(...args);
};
var CALL_ASYNC_DELEGATE = function(...args) {
this.callAsync = this._createCall("async");
return this.callAsync(...args);
};
var PROMISE_DELEGATE = function(...args) {
this.promise = this._createCall("promise");
return this.promise(...args);
};
var Hook = class {
constructor(args = [], name = void 0) {
this._args = args;
this.name = name;
this.taps = [];
this.interceptors = [];
this._call = CALL_DELEGATE;
this.call = CALL_DELEGATE;
this._callAsync = CALL_ASYNC_DELEGATE;
this.callAsync = CALL_ASYNC_DELEGATE;
this._promise = PROMISE_DELEGATE;
this.promise = PROMISE_DELEGATE;
this._x = void 0;
this.compile = this.compile;
this.tap = this.tap;
this.tapAsync = this.tapAsync;
this.tapPromise = this.tapPromise;
}
compile(options) {
throw new Error("Abstract: should be overridden");
}
_createCall(type) {
return this.compile({
taps: this.taps,
interceptors: this.interceptors,
args: this._args,
type
});
}
_tap(type, options, fn) {
if (typeof options === "string") {
options = {
name: options.trim()
};
} else if (typeof options !== "object" || options === null) {
throw new Error("Invalid tap options");
}
if (typeof options.name !== "string" || options.name === "") {
throw new Error("Missing name for tap");
}
if (typeof options.context !== "undefined") {
deprecateContext();
}
options = Object.assign({ type, fn }, options);
options = this._runRegisterInterceptors(options);
this._insert(options);
}
tap(options, fn) {
this._tap("sync", options, fn);
}
tapAsync(options, fn) {
this._tap("async", options, fn);
}
tapPromise(options, fn) {
this._tap("promise", options, fn);
}
_runRegisterInterceptors(options) {
for (const interceptor of this.interceptors) {
if (interceptor.register) {
const newOptions = interceptor.register(options);
if (newOptions !== void 0) {
options = newOptions;
}
}
}
return options;
}
withOptions(options) {
const mergeOptions = (opt) => Object.assign({}, options, typeof opt === "string" ? { name: opt } : opt);
return {
name: this.name,
tap: (opt, fn) => this.tap(mergeOptions(opt), fn),
tapAsync: (opt, fn) => this.tapAsync(mergeOptions(opt), fn),
tapPromise: (opt, fn) => this.tapPromise(mergeOptions(opt), fn),
intercept: (interceptor) => this.intercept(interceptor),
isUsed: () => this.isUsed(),
withOptions: (opt) => this.withOptions(mergeOptions(opt))
};
}
isUsed() {
return this.taps.length > 0 || this.interceptors.length > 0;
}
intercept(interceptor) {
this._resetCompilation();
this.interceptors.push(Object.assign({}, interceptor));
if (interceptor.register) {
for (let i = 0; i < this.taps.length; i++) {
this.taps[i] = interceptor.register(this.taps[i]);
}
}
}
_resetCompilation() {
this.call = this._call;
this.callAsync = this._callAsync;
this.promise = this._promise;
}
_insert(item) {
this._resetCompilation();
let before;
if (typeof item.before === "string") {
before = /* @__PURE__ */ new Set([item.before]);
} else if (Array.isArray(item.before)) {
before = new Set(item.before);
}
let stage = 0;
if (typeof item.stage === "number") {
stage = item.stage;
}
let i = this.taps.length;
while (i > 0) {
i--;
const x = this.taps[i];
this.taps[i + 1] = x;
const xStage = x.stage || 0;
if (before) {
if (before.has(x.name)) {
before.delete(x.name);
continue;
}
if (before.size > 0) {
continue;
}
}
if (xStage > stage) {
continue;
}
i++;
break;
}
this.taps[i] = item;
}
};
Object.setPrototypeOf(Hook.prototype, null);
module22.exports = Hook;
}
});
var require_HookCodeFactory = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/HookCodeFactory.js"(exports, module22) {
"use strict";
var HookCodeFactory = class {
constructor(config) {
this.config = config;
this.options = void 0;
this._args = void 0;
}
create(options) {
this.init(options);
let fn;
switch (this.options.type) {
case "sync":
fn = new Function(
this.args(),
'"use strict";\n' + this.header() + this.contentWithInterceptors({
onError: (err) => `throw ${err};
`,
onResult: (result) => `return ${result};
`,
resultReturns: true,
onDone: () => "",
rethrowIfPossible: true
})
);
break;
case "async":
fn = new Function(
this.args({
after: "_callback"
}),
'"use strict";\n' + this.header() + this.contentWithInterceptors({
onError: (err) => `_callback(${err});
`,
onResult: (result) => `_callback(null, ${result});
`,
onDone: () => "_callback();\n"
})
);
break;
case "promise":
let errorHelperUsed = false;
const content = this.contentWithInterceptors({
onError: (err) => {
errorHelperUsed = true;
return `_error(${err});
`;
},
onResult: (result) => `_resolve(${result});
`,
onDone: () => "_resolve();\n"
});
let code = "";
code += '"use strict";\n';
code += this.header();
code += "return new Promise((function(_resolve, _reject) {\n";
if (errorHelperUsed) {
code += "var _sync = true;\n";
code += "function _error(_err) {\n";
code += "if(_sync)\n";
code += "_resolve(Promise.resolve().then((function() { throw _err; })));\n";
code += "else\n";
code += "_reject(_err);\n";
code += "};\n";
}
code += content;
if (errorHelperUsed) {
code += "_sync = false;\n";
}
code += "}));\n";
fn = new Function(this.args(), code);
break;
}
this.deinit();
return fn;
}
setup(instance, options) {
instance._x = options.taps.map((t) => t.fn);
}
/**
* @param {{ type: "sync" | "promise" | "async", taps: Array<Tap>, interceptors: Array<Interceptor> }} options
*/
init(options) {
this.options = options;
this._args = options.args.slice();
}
deinit() {
this.options = void 0;
this._args = void 0;
}
contentWithInterceptors(options) {
if (this.options.interceptors.length > 0) {
const onError = options.onError;
const onResult = options.onResult;
const onDone = options.onDone;
let code = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.call) {
code += `${this.getInterceptor(i)}.call(${this.args({
before: interceptor.context ? "_context" : void 0
})});
`;
}
}
code += this.content(
Object.assign(options, {
onError: onError && ((err) => {
let code2 = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.error) {
code2 += `${this.getInterceptor(i)}.error(${err});
`;
}
}
code2 += onError(err);
return code2;
}),
onResult: onResult && ((result) => {
let code2 = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.result) {
code2 += `${this.getInterceptor(i)}.result(${result});
`;
}
}
code2 += onResult(result);
return code2;
}),
onDone: onDone && (() => {
let code2 = "";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.done) {
code2 += `${this.getInterceptor(i)}.done();
`;
}
}
code2 += onDone();
return code2;
})
})
);
return code;
} else {
return this.content(options);
}
}
header() {
let code = "";
if (this.needContext()) {
code += "var _context = {};\n";
} else {
code += "var _context;\n";
}
code += "var _x = this._x;\n";
if (this.options.interceptors.length > 0) {
code += "var _taps = this.taps;\n";
code += "var _interceptors = this.interceptors;\n";
}
return code;
}
needContext() {
for (const tap of this.options.taps)
if (tap.context)
return true;
return false;
}
callTap(tapIndex, { onError, onResult, onDone, rethrowIfPossible }) {
let code = "";
let hasTapCached = false;
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.tap) {
if (!hasTapCached) {
code += `var _tap${tapIndex} = ${this.getTap(tapIndex)};
`;
hasTapCached = true;
}
code += `${this.getInterceptor(i)}.tap(${interceptor.context ? "_context, " : ""}_tap${tapIndex});
`;
}
}
code += `var _fn${tapIndex} = ${this.getTapFn(tapIndex)};
`;
const tap = this.options.taps[tapIndex];
switch (tap.type) {
case "sync":
if (!rethrowIfPossible) {
code += `var _hasError${tapIndex} = false;
`;
code += "try {\n";
}
if (onResult) {
code += `var _result${tapIndex} = _fn${tapIndex}(${this.args({
before: tap.context ? "_context" : void 0
})});
`;
} else {
code += `_fn${tapIndex}(${this.args({
before: tap.context ? "_context" : void 0
})});
`;
}
if (!rethrowIfPossible) {
code += "} catch(_err) {\n";
code += `_hasError${tapIndex} = true;
`;
code += onError("_err");
code += "}\n";
code += `if(!_hasError${tapIndex}) {
`;
}
if (onResult) {
code += onResult(`_result${tapIndex}`);
}
if (onDone) {
code += onDone();
}
if (!rethrowIfPossible) {
code += "}\n";
}
break;
case "async":
let cbCode = "";
if (onResult)
cbCode += `(function(_err${tapIndex}, _result${tapIndex}) {
`;
else
cbCode += `(function(_err${tapIndex}) {
`;
cbCode += `if(_err${tapIndex}) {
`;
cbCode += onError(`_err${tapIndex}`);
cbCode += "} else {\n";
if (onResult) {
cbCode += onResult(`_result${tapIndex}`);
}
if (onDone) {
cbCode += onDone();
}
cbCode += "}\n";
cbCode += "})";
code += `_fn${tapIndex}(${this.args({
before: tap.context ? "_context" : void 0,
after: cbCode
})});
`;
break;
case "promise":
code += `var _hasResult${tapIndex} = false;
`;
code += `var _promise${tapIndex} = _fn${tapIndex}(${this.args({
before: tap.context ? "_context" : void 0
})});
`;
code += `if (!_promise${tapIndex} || !_promise${tapIndex}.then)
`;
code += ` throw new Error('Tap function (tapPromise) did not return promise (returned ' + _promise${tapIndex} + ')');
`;
code += `_promise${tapIndex}.then((function(_result${tapIndex}) {
`;
code += `_hasResult${tapIndex} = true;
`;
if (onResult) {
code += onResult(`_result${tapIndex}`);
}
if (onDone) {
code += onDone();
}
code += `}), function(_err${tapIndex}) {
`;
code += `if(_hasResult${tapIndex}) throw _err${tapIndex};
`;
code += onError(`_err${tapIndex}`);
code += "});\n";
break;
}
return code;
}
callTapsSeries({
onError,
onResult,
resultReturns,
onDone,
doneReturns,
rethrowIfPossible
}) {
if (this.options.taps.length === 0)
return onDone();
const firstAsync = this.options.taps.findIndex((t) => t.type !== "sync");
const somethingReturns = resultReturns || doneReturns;
let code = "";
let current = onDone;
let unrollCounter = 0;
for (let j = this.options.taps.length - 1; j >= 0; j--) {
const i = j;
const unroll = current !== onDone && (this.options.taps[i].type !== "sync" || unrollCounter++ > 20);
if (unroll) {
unrollCounter = 0;
code += `function _next${i}() {
`;
code += current();
code += `}
`;
current = () => `${somethingReturns ? "return " : ""}_next${i}();
`;
}
const done = current;
const doneBreak = (skipDone) => {
if (skipDone)
return "";
return onDone();
};
const content = this.callTap(i, {
onError: (error) => onError(i, error, done, doneBreak),
onResult: onResult && ((result) => {
return onResult(i, result, done, doneBreak);
}),
onDone: !onResult && done,
rethrowIfPossible: rethrowIfPossible && (firstAsync < 0 || i < firstAsync)
});
current = () => content;
}
code += current();
return code;
}
callTapsLooping({ onError, onDone, rethrowIfPossible }) {
if (this.options.taps.length === 0)
return onDone();
const syncOnly = this.options.taps.every((t) => t.type === "sync");
let code = "";
if (!syncOnly) {
code += "var _looper = (function() {\n";
code += "var _loopAsync = false;\n";
}
code += "var _loop;\n";
code += "do {\n";
code += "_loop = false;\n";
for (let i = 0; i < this.options.interceptors.length; i++) {
const interceptor = this.options.interceptors[i];
if (interceptor.loop) {
code += `${this.getInterceptor(i)}.loop(${this.args({
before: interceptor.context ? "_context" : void 0
})});
`;
}
}
code += this.callTapsSeries({
onError,
onResult: (i, result, next, doneBreak) => {
let code2 = "";
code2 += `if(${result} !== undefined) {
`;
code2 += "_loop = true;\n";
if (!syncOnly)
code2 += "if(_loopAsync) _looper();\n";
code2 += doneBreak(true);
code2 += `} else {
`;
code2 += next();
code2 += `}
`;
return code2;
},
onDone: onDone && (() => {
let code2 = "";
code2 += "if(!_loop) {\n";
code2 += onDone();
code2 += "}\n";
return code2;
}),
rethrowIfPossible: rethrowIfPossible && syncOnly
});
code += "} while(_loop);\n";
if (!syncOnly) {
code += "_loopAsync = true;\n";
code += "});\n";
code += "_looper();\n";
}
return code;
}
callTapsParallel({
onError,
onResult,
onDone,
rethrowIfPossible,
onTap = (i, run) => run()
}) {
if (this.options.taps.length <= 1) {
return this.callTapsSeries({
onError,
onResult,
onDone,
rethrowIfPossible
});
}
let code = "";
code += "do {\n";
code += `var _counter = ${this.options.taps.length};
`;
if (onDone) {
code += "var _done = (function() {\n";
code += onDone();
code += "});\n";
}
for (let i = 0; i < this.options.taps.length; i++) {
const done = () => {
if (onDone)
return "if(--_counter === 0) _done();\n";
else
return "--_counter;";
};
const doneBreak = (skipDone) => {
if (skipDone || !onDone)
return "_counter = 0;\n";
else
return "_counter = 0;\n_done();\n";
};
code += "if(_counter <= 0) break;\n";
code += onTap(
i,
() => this.callTap(i, {
onError: (error) => {
let code2 = "";
code2 += "if(_counter > 0) {\n";
code2 += onError(i, error, done, doneBreak);
code2 += "}\n";
return code2;
},
onResult: onResult && ((result) => {
let code2 = "";
code2 += "if(_counter > 0) {\n";
code2 += onResult(i, result, done, doneBreak);
code2 += "}\n";
return code2;
}),
onDone: !onResult && (() => {
return done();
}),
rethrowIfPossible
}),
done,
doneBreak
);
}
code += "} while(false);\n";
return code;
}
args({ before, after } = {}) {
let allArgs = this._args;
if (before)
allArgs = [before].concat(allArgs);
if (after)
allArgs = allArgs.concat(after);
if (allArgs.length === 0) {
return "";
} else {
return allArgs.join(", ");
}
}
getTapFn(idx) {
return `_x[${idx}]`;
}
getTap(idx) {
return `_taps[${idx}]`;
}
getInterceptor(idx) {
return `_interceptors[${idx}]`;
}
};
module22.exports = HookCodeFactory;
}
});
var require_SyncHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/SyncHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var SyncHookCodeFactory = class extends HookCodeFactory {
content({ onError, onDone, rethrowIfPossible }) {
return this.callTapsSeries({
onError: (i, err) => onError(err),
onDone,
rethrowIfPossible
});
}
};
var factory = new SyncHookCodeFactory();
var TAP_ASYNC = () => {
throw new Error("tapAsync is not supported on a SyncHook");
};
var TAP_PROMISE = () => {
throw new Error("tapPromise is not supported on a SyncHook");
};
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function SyncHook2(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = SyncHook2;
hook.tapAsync = TAP_ASYNC;
hook.tapPromise = TAP_PROMISE;
hook.compile = COMPILE;
return hook;
}
SyncHook2.prototype = null;
module22.exports = SyncHook2;
}
});
var require_SyncBailHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/SyncBailHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var SyncBailHookCodeFactory = class extends HookCodeFactory {
content({ onError, onResult, resultReturns, onDone, rethrowIfPossible }) {
return this.callTapsSeries({
onError: (i, err) => onError(err),
onResult: (i, result, next) => `if(${result} !== undefined) {
${onResult(
result
)};
} else {
${next()}}
`,
resultReturns,
onDone,
rethrowIfPossible
});
}
};
var factory = new SyncBailHookCodeFactory();
var TAP_ASYNC = () => {
throw new Error("tapAsync is not supported on a SyncBailHook");
};
var TAP_PROMISE = () => {
throw new Error("tapPromise is not supported on a SyncBailHook");
};
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function SyncBailHook(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = SyncBailHook;
hook.tapAsync = TAP_ASYNC;
hook.tapPromise = TAP_PROMISE;
hook.compile = COMPILE;
return hook;
}
SyncBailHook.prototype = null;
module22.exports = SyncBailHook;
}
});
var require_SyncWaterfallHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/SyncWaterfallHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var SyncWaterfallHookCodeFactory = class extends HookCodeFactory {
content({ onError, onResult, resultReturns, rethrowIfPossible }) {
return this.callTapsSeries({
onError: (i, err) => onError(err),
onResult: (i, result, next) => {
let code = "";
code += `if(${result} !== undefined) {
`;
code += `${this._args[0]} = ${result};
`;
code += `}
`;
code += next();
return code;
},
onDone: () => onResult(this._args[0]),
doneReturns: resultReturns,
rethrowIfPossible
});
}
};
var factory = new SyncWaterfallHookCodeFactory();
var TAP_ASYNC = () => {
throw new Error("tapAsync is not supported on a SyncWaterfallHook");
};
var TAP_PROMISE = () => {
throw new Error("tapPromise is not supported on a SyncWaterfallHook");
};
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function SyncWaterfallHook(args = [], name = void 0) {
if (args.length < 1)
throw new Error("Waterfall hooks must have at least one argument");
const hook = new Hook(args, name);
hook.constructor = SyncWaterfallHook;
hook.tapAsync = TAP_ASYNC;
hook.tapPromise = TAP_PROMISE;
hook.compile = COMPILE;
return hook;
}
SyncWaterfallHook.prototype = null;
module22.exports = SyncWaterfallHook;
}
});
var require_SyncLoopHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/SyncLoopHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var SyncLoopHookCodeFactory = class extends HookCodeFactory {
content({ onError, onDone, rethrowIfPossible }) {
return this.callTapsLooping({
onError: (i, err) => onError(err),
onDone,
rethrowIfPossible
});
}
};
var factory = new SyncLoopHookCodeFactory();
var TAP_ASYNC = () => {
throw new Error("tapAsync is not supported on a SyncLoopHook");
};
var TAP_PROMISE = () => {
throw new Error("tapPromise is not supported on a SyncLoopHook");
};
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function SyncLoopHook(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = SyncLoopHook;
hook.tapAsync = TAP_ASYNC;
hook.tapPromise = TAP_PROMISE;
hook.compile = COMPILE;
return hook;
}
SyncLoopHook.prototype = null;
module22.exports = SyncLoopHook;
}
});
var require_AsyncParallelHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncParallelHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncParallelHookCodeFactory = class extends HookCodeFactory {
content({ onError, onDone }) {
return this.callTapsParallel({
onError: (i, err, done, doneBreak) => onError(err) + doneBreak(true),
onDone
});
}
};
var factory = new AsyncParallelHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncParallelHook(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = AsyncParallelHook;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncParallelHook.prototype = null;
module22.exports = AsyncParallelHook;
}
});
var require_AsyncParallelBailHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncParallelBailHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncParallelBailHookCodeFactory = class extends HookCodeFactory {
content({ onError, onResult, onDone }) {
let code = "";
code += `var _results = new Array(${this.options.taps.length});
`;
code += "var _checkDone = function() {\n";
code += "for(var i = 0; i < _results.length; i++) {\n";
code += "var item = _results[i];\n";
code += "if(item === undefined) return false;\n";
code += "if(item.result !== undefined) {\n";
code += onResult("item.result");
code += "return true;\n";
code += "}\n";
code += "if(item.error) {\n";
code += onError("item.error");
code += "return true;\n";
code += "}\n";
code += "}\n";
code += "return false;\n";
code += "}\n";
code += this.callTapsParallel({
onError: (i, err, done, doneBreak) => {
let code2 = "";
code2 += `if(${i} < _results.length && ((_results.length = ${i + 1}), (_results[${i}] = { error: ${err} }), _checkDone())) {
`;
code2 += doneBreak(true);
code2 += "} else {\n";
code2 += done();
code2 += "}\n";
return code2;
},
onResult: (i, result, done, doneBreak) => {
let code2 = "";
code2 += `if(${i} < _results.length && (${result} !== undefined && (_results.length = ${i + 1}), (_results[${i}] = { result: ${result} }), _checkDone())) {
`;
code2 += doneBreak(true);
code2 += "} else {\n";
code2 += done();
code2 += "}\n";
return code2;
},
onTap: (i, run, done, doneBreak) => {
let code2 = "";
if (i > 0) {
code2 += `if(${i} >= _results.length) {
`;
code2 += done();
code2 += "} else {\n";
}
code2 += run();
if (i > 0)
code2 += "}\n";
return code2;
},
onDone
});
return code;
}
};
var factory = new AsyncParallelBailHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncParallelBailHook(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = AsyncParallelBailHook;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncParallelBailHook.prototype = null;
module22.exports = AsyncParallelBailHook;
}
});
var require_AsyncSeriesHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncSeriesHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncSeriesHookCodeFactory = class extends HookCodeFactory {
content({ onError, onDone }) {
return this.callTapsSeries({
onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true),
onDone
});
}
};
var factory = new AsyncSeriesHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncSeriesHook2(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = AsyncSeriesHook2;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncSeriesHook2.prototype = null;
module22.exports = AsyncSeriesHook2;
}
});
var require_AsyncSeriesBailHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncSeriesBailHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncSeriesBailHookCodeFactory = class extends HookCodeFactory {
content({ onError, onResult, resultReturns, onDone }) {
return this.callTapsSeries({
onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true),
onResult: (i, result, next) => `if(${result} !== undefined) {
${onResult(
result
)}
} else {
${next()}}
`,
resultReturns,
onDone
});
}
};
var factory = new AsyncSeriesBailHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncSeriesBailHook2(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = AsyncSeriesBailHook2;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncSeriesBailHook2.prototype = null;
module22.exports = AsyncSeriesBailHook2;
}
});
var require_AsyncSeriesLoopHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncSeriesLoopHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncSeriesLoopHookCodeFactory = class extends HookCodeFactory {
content({ onError, onDone }) {
return this.callTapsLooping({
onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true),
onDone
});
}
};
var factory = new AsyncSeriesLoopHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncSeriesLoopHook(args = [], name = void 0) {
const hook = new Hook(args, name);
hook.constructor = AsyncSeriesLoopHook;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncSeriesLoopHook.prototype = null;
module22.exports = AsyncSeriesLoopHook;
}
});
var require_AsyncSeriesWaterfallHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var HookCodeFactory = require_HookCodeFactory();
var AsyncSeriesWaterfallHookCodeFactory = class extends HookCodeFactory {
content({ onError, onResult, onDone }) {
return this.callTapsSeries({
onError: (i, err, next, doneBreak) => onError(err) + doneBreak(true),
onResult: (i, result, next) => {
let code = "";
code += `if(${result} !== undefined) {
`;
code += `${this._args[0]} = ${result};
`;
code += `}
`;
code += next();
return code;
},
onDone: () => onResult(this._args[0])
});
}
};
var factory = new AsyncSeriesWaterfallHookCodeFactory();
var COMPILE = function(options) {
factory.setup(this, options);
return factory.create(options);
};
function AsyncSeriesWaterfallHook2(args = [], name = void 0) {
if (args.length < 1)
throw new Error("Waterfall hooks must have at least one argument");
const hook = new Hook(args, name);
hook.constructor = AsyncSeriesWaterfallHook2;
hook.compile = COMPILE;
hook._call = void 0;
hook.call = void 0;
return hook;
}
AsyncSeriesWaterfallHook2.prototype = null;
module22.exports = AsyncSeriesWaterfallHook2;
}
});
var require_HookMap = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/HookMap.js"(exports, module22) {
"use strict";
var util2 = (0, import_chunk_HYZYPRER.__require)("util");
var defaultFactory = (key, hook) => hook;
var HookMap = class {
constructor(factory, name = void 0) {
this._map = /* @__PURE__ */ new Map();
this.name = name;
this._factory = factory;
this._interceptors = [];
}
get(key) {
return this._map.get(key);
}
for(key) {
const hook = this.get(key);
if (hook !== void 0) {
return hook;
}
let newHook = this._factory(key);
const interceptors = this._interceptors;
for (let i = 0; i < interceptors.length; i++) {
newHook = interceptors[i].factory(key, newHook);
}
this._map.set(key, newHook);
return newHook;
}
intercept(interceptor) {
this._interceptors.push(
Object.assign(
{
factory: defaultFactory
},
interceptor
)
);
}
};
HookMap.prototype.tap = util2.deprecate(function(key, options, fn) {
return this.for(key).tap(options, fn);
}, "HookMap#tap(key,\u2026) is deprecated. Use HookMap#for(key).tap(\u2026) instead.");
HookMap.prototype.tapAsync = util2.deprecate(function(key, options, fn) {
return this.for(key).tapAsync(options, fn);
}, "HookMap#tapAsync(key,\u2026) is deprecated. Use HookMap#for(key).tapAsync(\u2026) instead.");
HookMap.prototype.tapPromise = util2.deprecate(function(key, options, fn) {
return this.for(key).tapPromise(options, fn);
}, "HookMap#tapPromise(key,\u2026) is deprecated. Use HookMap#for(key).tapPromise(\u2026) instead.");
module22.exports = HookMap;
}
});
var require_MultiHook = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/MultiHook.js"(exports, module22) {
"use strict";
var Hook = require_Hook();
var MultiHook = class {
constructor(hooks, name = void 0) {
this.hooks = hooks;
this.name = name;
}
tap(options, fn) {
for (const hook of this.hooks) {
hook.tap(options, fn);
}
}
tapAsync(options, fn) {
for (const hook of this.hooks) {
hook.tapAsync(options, fn);
}
}
tapPromise(options, fn) {
for (const hook of this.hooks) {
hook.tapPromise(options, fn);
}
}
isUsed() {
for (const hook of this.hooks) {
if (hook.isUsed())
return true;
}
return false;
}
intercept(interceptor) {
for (const hook of this.hooks) {
hook.intercept(interceptor);
}
}
withOptions(options) {
return new MultiHook(
this.hooks.map((h) => h.withOptions(options)),
this.name
);
}
};
module22.exports = MultiHook;
}
});
var require_lib2 = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/tapable@2.2.1/node_modules/tapable/lib/index.js"(exports) {
"use strict";
exports.__esModule = true;
exports.SyncHook = require_SyncHook();
exports.SyncBailHook = require_SyncBailHook();
exports.SyncWaterfallHook = require_SyncWaterfallHook();
exports.SyncLoopHook = require_SyncLoopHook();
exports.AsyncParallelHook = require_AsyncParallelHook();
exports.AsyncParallelBailHook = require_AsyncParallelBailHook();
exports.AsyncSeriesHook = require_AsyncSeriesHook();
exports.AsyncSeriesBailHook = require_AsyncSeriesBailHook();
exports.AsyncSeriesLoopHook = require_AsyncSeriesLoopHook();
exports.AsyncSeriesWaterfallHook = require_AsyncSeriesWaterfallHook();
exports.HookMap = require_HookMap();
exports.MultiHook = require_MultiHook();
}
});
var require_js_tokens = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/js-tokens@4.0.0/node_modules/js-tokens/index.js"(exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
exports.matchToToken = function(match) {
var token = { type: "invalid", value: match[0], closed: void 0 };
if (match[1])
token.type = "string", token.closed = !!(match[3] || match[4]);
else if (match[5])
token.type = "comment";
else if (match[6])
token.type = "comment", token.closed = !!match[7];
else if (match[8])
token.type = "regex";
else if (match[9])
token.type = "number";
else if (match[10])
token.type = "name";
else if (match[11])
token.type = "punctuator";
else if (match[12])
token.type = "whitespace";
return token;
};
}
});
var require_identifier = (0, import_chunk_HYZYPRER.__commonJS)({
"../../../node_modules/.pnpm/@babel+helper-validator-identifier@7.22.15/node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isIdentifierChar = isIdentifierChar;
exports.isIdentifierName = isIdentifierName;
exports.isIdentifierStart = isIdentifierStart;
var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u