From c1bb1d990d901f007ddc790e8cd6319b9d913bec Mon Sep 17 00:00:00 2001 From: = Date: Fri, 22 Sep 2023 12:49:23 +0100 Subject: [PATCH 1/4] Fix behaviour around templates --- packages/create-astro/src/actions/template.ts | 11 +- packages/webapi/mod.js | 2421 +++++++++++++++++ packages/webapi/mod.js.map | 1 + 3 files changed, 2427 insertions(+), 6 deletions(-) create mode 100644 packages/webapi/mod.js create mode 100644 packages/webapi/mod.js.map diff --git a/packages/create-astro/src/actions/template.ts b/packages/create-astro/src/actions/template.ts index 253c9fab1f75..eaebe236073e 100644 --- a/packages/create-astro/src/actions/template.ts +++ b/packages/create-astro/src/actions/template.ts @@ -9,10 +9,11 @@ import { error, info, spinner, title } from '../messages.js'; export async function template( ctx: Pick ) { - if (ctx.yes) { - ctx.template = 'basics'; - await info('tmpl', `Using ${color.reset(ctx.template)}${color.dim(' as project template')}`); - } else if (!ctx.template) { + if (!ctx.template && ctx.yes) ctx.template = 'basics'; + + if (ctx.template) { + await info('tmpl', `Using ${color.reset(ctx.template)}${color.dim(' as project template')}`); + } else { const { template: tmpl } = await ctx.prompt({ name: 'template', type: 'select', @@ -26,8 +27,6 @@ export async function template( ], }); ctx.template = tmpl; - } else { - await info('tmpl', `Using ${color.reset(ctx.template)}${color.dim(' as project template')}`); } if (ctx.dryRun) { diff --git a/packages/webapi/mod.js b/packages/webapi/mod.js new file mode 100644 index 000000000000..6da59eae10eb --- /dev/null +++ b/packages/webapi/mod.js @@ -0,0 +1,2421 @@ +import { performance } from 'node:perf_hooks'; +import { webcrypto } from 'node:crypto'; +export { webcrypto as crypto } from 'node:crypto'; +import { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web'; +export { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web'; +import { File, FormData, Headers, Request, Response, fetch } from 'undici'; +export { File, FormData, Headers, Request, Response, fetch } from 'undici'; +import { setTimeout as setTimeout$1, clearTimeout as clearTimeout$1 } from 'node:timers'; + +/** Returns the function bound to the given object. */ +const __function_bind = Function.bind.bind(Function.call); +/** Returns whether the object prototype exists in another object. */ +const __object_isPrototypeOf = Function.call.bind(Object.prototype.isPrototypeOf); +/** Current high resolution millisecond timestamp. */ +const __performance_now = performance.now; +// @ts-expect-error +const INTERNALS = new WeakMap(); +const internalsOf = (target, className, propName) => { + const internals = INTERNALS.get(target); + if (!internals) + throw new TypeError(`${className}.${propName} can only be used on instances of ${className}`); + return internals; +}; +const allowStringTag = (value) => (value.prototype[Symbol.toStringTag] = value.name); +/** Returns any kind of path as a posix path. */ +const pathToPosix = (pathname) => String(pathname == null ? '' : pathname) + .replace( +// convert slashes +/\\+/g, '/') + .replace( +// prefix a slash to drive letters +/^(?=[A-Za-z]:\/)/, '/') + .replace( +// encode path characters +/%/g, '%25') + .replace(/\n/g, '%0A') + .replace(/\r/g, '%0D') + .replace(/\t/g, '%09'); + +class DOMException extends Error { + constructor(message = '', name = 'Error') { + super(message); + this.code = 0; + this.name = name; + } +} +DOMException.INDEX_SIZE_ERR = 1; +DOMException.DOMSTRING_SIZE_ERR = 2; +DOMException.HIERARCHY_REQUEST_ERR = 3; +DOMException.WRONG_DOCUMENT_ERR = 4; +DOMException.INVALID_CHARACTER_ERR = 5; +DOMException.NO_DATA_ALLOWED_ERR = 6; +DOMException.NO_MODIFICATION_ALLOWED_ERR = 7; +DOMException.NOT_FOUND_ERR = 8; +DOMException.NOT_SUPPORTED_ERR = 9; +DOMException.INUSE_ATTRIBUTE_ERR = 10; +DOMException.INVALID_STATE_ERR = 11; +DOMException.SYNTAX_ERR = 12; +DOMException.INVALID_MODIFICATION_ERR = 13; +DOMException.NAMESPACE_ERR = 14; +DOMException.INVALID_ACCESS_ERR = 15; +DOMException.VALIDATION_ERR = 16; +DOMException.TYPE_MISMATCH_ERR = 17; +DOMException.SECURITY_ERR = 18; +DOMException.NETWORK_ERR = 19; +DOMException.ABORT_ERR = 20; +DOMException.URL_MISMATCH_ERR = 21; +DOMException.QUOTA_EXCEEDED_ERR = 22; +DOMException.TIMEOUT_ERR = 23; +DOMException.INVALID_NODE_TYPE_ERR = 24; +DOMException.DATA_CLONE_ERR = 25; +allowStringTag(DOMException); + +/** + * Assert a condition. + * @param condition The condition that it should satisfy. + * @param message The error message. + * @param args The arguments for replacing placeholders in the message. + */ +function assertType(condition, message, ...args) { + if (!condition) { + throw new TypeError(format(message, args)); + } +} +/** + * Convert a text and arguments to one string. + * @param message The formating text + * @param args The arguments. + */ +function format(message, args) { + let i = 0; + return message.replace(/%[os]/gu, () => anyToString(args[i++])); +} +/** + * Convert a value to a string representation. + * @param x The value to get the string representation. + */ +function anyToString(x) { + if (typeof x !== "object" || x === null) { + return String(x); + } + return Object.prototype.toString.call(x); +} + +let currentErrorHandler; +/** + * Print a error message. + * @param maybeError The error object. + */ +function reportError(maybeError) { + try { + const error = maybeError instanceof Error + ? maybeError + : new Error(anyToString(maybeError)); + // Call the user-defined error handler if exists. + if (currentErrorHandler) ; + // Dispatch an `error` event if this is on a browser. + if (typeof dispatchEvent === "function" && + typeof ErrorEvent === "function") { + dispatchEvent(new ErrorEvent("error", { error, message: error.message })); + } + // Emit an `uncaughtException` event if this is on Node.js. + //istanbul ignore else + else if (typeof process !== "undefined" && + typeof process.emit === "function") { + process.emit("uncaughtException", error); + return; + } + // Otherwise, print the error. + console.error(error); + } + catch (_a) { + // ignore. + } +} + +let currentWarnHandler; +/** + * The warning information. + */ +class Warning { + constructor(code, message) { + this.code = code; + this.message = message; + } + /** + * Report this warning. + * @param args The arguments of the warning. + */ + warn(...args) { + var _a; + try { + // Call the user-defined warning handler if exists. + if (currentWarnHandler) ; + // Otherwise, print the warning. + const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : "").replace(/^(?:.+?\n){2}/gu, "\n"); + console.warn(this.message, ...args, stack); + } + catch (_b) { + // Ignore. + } + } +} + +const InitEventWasCalledWhileDispatching = new Warning("W01", "Unable to initialize event under dispatching."); +const FalsyWasAssignedToCancelBubble = new Warning("W02", "Assigning any falsy value to 'cancelBubble' property has no effect."); +const TruthyWasAssignedToReturnValue = new Warning("W03", "Assigning any truthy value to 'returnValue' property has no effect."); +const NonCancelableEventWasCanceled = new Warning("W04", "Unable to preventDefault on non-cancelable events."); +const CanceledInPassiveListener = new Warning("W05", "Unable to preventDefault inside passive event listener invocation."); +const EventListenerWasDuplicated = new Warning("W06", "An event listener wasn't added because it has been added already: %o, %o"); +const OptionWasIgnored = new Warning("W07", "The %o option value was abandoned because the event listener wasn't added as duplicated."); +const InvalidEventListener = new Warning("W08", "The 'callback' argument must be a function or an object that has 'handleEvent' method: %o"); +new Warning("W09", "Event attribute handler must be a function: %o"); + +/*eslint-disable class-methods-use-this */ +/** + * An implementation of `Event` interface, that wraps a given event object. + * `EventTarget` shim can control the internal state of this `Event` objects. + * @see https://dom.spec.whatwg.org/#event + */ +class Event { + /** + * @see https://dom.spec.whatwg.org/#dom-event-none + */ + static get NONE() { + return NONE; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase + */ + static get CAPTURING_PHASE() { + return CAPTURING_PHASE; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-at_target + */ + static get AT_TARGET() { + return AT_TARGET; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase + */ + static get BUBBLING_PHASE() { + return BUBBLING_PHASE; + } + /** + * Initialize this event instance. + * @param type The type of this event. + * @param eventInitDict Options to initialize. + * @see https://dom.spec.whatwg.org/#dom-event-event + */ + constructor(type, eventInitDict) { + Object.defineProperty(this, "isTrusted", { + value: false, + enumerable: true, + }); + const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {}; + internalDataMap.set(this, { + type: String(type), + bubbles: Boolean(opts.bubbles), + cancelable: Boolean(opts.cancelable), + composed: Boolean(opts.composed), + target: null, + currentTarget: null, + stopPropagationFlag: false, + stopImmediatePropagationFlag: false, + canceledFlag: false, + inPassiveListenerFlag: false, + dispatchFlag: false, + timeStamp: Date.now(), + }); + } + /** + * The type of this event. + * @see https://dom.spec.whatwg.org/#dom-event-type + */ + get type() { + return $(this).type; + } + /** + * The event target of the current dispatching. + * @see https://dom.spec.whatwg.org/#dom-event-target + */ + get target() { + return $(this).target; + } + /** + * The event target of the current dispatching. + * @deprecated Use the `target` property instead. + * @see https://dom.spec.whatwg.org/#dom-event-srcelement + */ + get srcElement() { + return $(this).target; + } + /** + * The event target of the current dispatching. + * @see https://dom.spec.whatwg.org/#dom-event-currenttarget + */ + get currentTarget() { + return $(this).currentTarget; + } + /** + * The event target of the current dispatching. + * This doesn't support node tree. + * @see https://dom.spec.whatwg.org/#dom-event-composedpath + */ + composedPath() { + const currentTarget = $(this).currentTarget; + if (currentTarget) { + return [currentTarget]; + } + return []; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-none + */ + get NONE() { + return NONE; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase + */ + get CAPTURING_PHASE() { + return CAPTURING_PHASE; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-at_target + */ + get AT_TARGET() { + return AT_TARGET; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase + */ + get BUBBLING_PHASE() { + return BUBBLING_PHASE; + } + /** + * The current event phase. + * @see https://dom.spec.whatwg.org/#dom-event-eventphase + */ + get eventPhase() { + return $(this).dispatchFlag ? 2 : 0; + } + /** + * Stop event bubbling. + * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value. + * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation + */ + stopPropagation() { + $(this).stopPropagationFlag = true; + } + /** + * `true` if event bubbling was stopped. + * @deprecated + * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble + */ + get cancelBubble() { + return $(this).stopPropagationFlag; + } + /** + * Stop event bubbling if `true` is set. + * @deprecated Use the `stopPropagation()` method instead. + * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble + */ + set cancelBubble(value) { + if (value) { + $(this).stopPropagationFlag = true; + } + else { + FalsyWasAssignedToCancelBubble.warn(); + } + } + /** + * Stop event bubbling and subsequent event listener callings. + * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation + */ + stopImmediatePropagation() { + const data = $(this); + data.stopPropagationFlag = data.stopImmediatePropagationFlag = true; + } + /** + * `true` if this event will bubble. + * @see https://dom.spec.whatwg.org/#dom-event-bubbles + */ + get bubbles() { + return $(this).bubbles; + } + /** + * `true` if this event can be canceled by the `preventDefault()` method. + * @see https://dom.spec.whatwg.org/#dom-event-cancelable + */ + get cancelable() { + return $(this).cancelable; + } + /** + * `true` if the default behavior will act. + * @deprecated Use the `defaultPrevented` proeprty instead. + * @see https://dom.spec.whatwg.org/#dom-event-returnvalue + */ + get returnValue() { + return !$(this).canceledFlag; + } + /** + * Cancel the default behavior if `false` is set. + * @deprecated Use the `preventDefault()` method instead. + * @see https://dom.spec.whatwg.org/#dom-event-returnvalue + */ + set returnValue(value) { + if (!value) { + setCancelFlag($(this)); + } + else { + TruthyWasAssignedToReturnValue.warn(); + } + } + /** + * Cancel the default behavior. + * @see https://dom.spec.whatwg.org/#dom-event-preventdefault + */ + preventDefault() { + setCancelFlag($(this)); + } + /** + * `true` if the default behavior was canceled. + * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented + */ + get defaultPrevented() { + return $(this).canceledFlag; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-composed + */ + get composed() { + return $(this).composed; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-istrusted + */ + //istanbul ignore next + get isTrusted() { + return false; + } + /** + * @see https://dom.spec.whatwg.org/#dom-event-timestamp + */ + get timeStamp() { + return $(this).timeStamp; + } + /** + * @deprecated Don't use this method. The constructor did initialization. + */ + initEvent(type, bubbles = false, cancelable = false) { + const data = $(this); + if (data.dispatchFlag) { + InitEventWasCalledWhileDispatching.warn(); + return; + } + internalDataMap.set(this, { + ...data, + type: String(type), + bubbles: Boolean(bubbles), + cancelable: Boolean(cancelable), + target: null, + currentTarget: null, + stopPropagationFlag: false, + stopImmediatePropagationFlag: false, + canceledFlag: false, + }); + } +} +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ +const NONE = 0; +const CAPTURING_PHASE = 1; +const AT_TARGET = 2; +const BUBBLING_PHASE = 3; +/** + * Private data for event wrappers. + */ +const internalDataMap = new WeakMap(); +/** + * Get private data. + * @param event The event object to get private data. + * @param name The variable name to report. + * @returns The private data of the event. + */ +function $(event, name = "this") { + const retv = internalDataMap.get(event); + assertType(retv != null, "'%s' must be an object that Event constructor created, but got another one: %o", name, event); + return retv; +} +/** + * https://dom.spec.whatwg.org/#set-the-canceled-flag + * @param data private data. + */ +function setCancelFlag(data) { + if (data.inPassiveListenerFlag) { + CanceledInPassiveListener.warn(); + return; + } + if (!data.cancelable) { + NonCancelableEventWasCanceled.warn(); + return; + } + data.canceledFlag = true; +} +// Set enumerable +Object.defineProperty(Event, "NONE", { enumerable: true }); +Object.defineProperty(Event, "CAPTURING_PHASE", { enumerable: true }); +Object.defineProperty(Event, "AT_TARGET", { enumerable: true }); +Object.defineProperty(Event, "BUBBLING_PHASE", { enumerable: true }); +const keys$1 = Object.getOwnPropertyNames(Event.prototype); +for (let i = 0; i < keys$1.length; ++i) { + if (keys$1[i] === "constructor") { + continue; + } + Object.defineProperty(Event.prototype, keys$1[i], { enumerable: true }); +} + +/** + * An implementation of `Event` interface, that wraps a given event object. + * This class controls the internal state of `Event`. + * @see https://dom.spec.whatwg.org/#interface-event + */ +class EventWrapper extends Event { + /** + * Wrap a given event object to control states. + * @param event The event-like object to wrap. + */ + static wrap(event) { + return new (getWrapperClassOf(event))(event); + } + constructor(event) { + super(event.type, { + bubbles: event.bubbles, + cancelable: event.cancelable, + composed: event.composed, + }); + if (event.cancelBubble) { + super.stopPropagation(); + } + if (event.defaultPrevented) { + super.preventDefault(); + } + internalDataMap$1.set(this, { original: event }); + // Define accessors + const keys = Object.keys(event); + for (let i = 0; i < keys.length; ++i) { + const key = keys[i]; + if (!(key in this)) { + Object.defineProperty(this, key, defineRedirectDescriptor(event, key)); + } + } + } + stopPropagation() { + super.stopPropagation(); + const { original } = $$1(this); + if ("stopPropagation" in original) { + original.stopPropagation(); + } + } + get cancelBubble() { + return super.cancelBubble; + } + set cancelBubble(value) { + super.cancelBubble = value; + const { original } = $$1(this); + if ("cancelBubble" in original) { + original.cancelBubble = value; + } + } + stopImmediatePropagation() { + super.stopImmediatePropagation(); + const { original } = $$1(this); + if ("stopImmediatePropagation" in original) { + original.stopImmediatePropagation(); + } + } + get returnValue() { + return super.returnValue; + } + set returnValue(value) { + super.returnValue = value; + const { original } = $$1(this); + if ("returnValue" in original) { + original.returnValue = value; + } + } + preventDefault() { + super.preventDefault(); + const { original } = $$1(this); + if ("preventDefault" in original) { + original.preventDefault(); + } + } + get timeStamp() { + const { original } = $$1(this); + if ("timeStamp" in original) { + return original.timeStamp; + } + return super.timeStamp; + } +} +/** + * Private data for event wrappers. + */ +const internalDataMap$1 = new WeakMap(); +/** + * Get private data. + * @param event The event object to get private data. + * @returns The private data of the event. + */ +function $$1(event) { + const retv = internalDataMap$1.get(event); + assertType(retv != null, "'this' is expected an Event object, but got", event); + return retv; +} +/** + * Cache for wrapper classes. + * @type {WeakMap} + * @private + */ +const wrapperClassCache = new WeakMap(); +// Make association for wrappers. +wrapperClassCache.set(Object.prototype, EventWrapper); +/** + * Get the wrapper class of a given prototype. + * @param originalEvent The event object to wrap. + */ +function getWrapperClassOf(originalEvent) { + const prototype = Object.getPrototypeOf(originalEvent); + if (prototype == null) { + return EventWrapper; + } + let wrapper = wrapperClassCache.get(prototype); + if (wrapper == null) { + wrapper = defineWrapper(getWrapperClassOf(prototype), prototype); + wrapperClassCache.set(prototype, wrapper); + } + return wrapper; +} +/** + * Define new wrapper class. + * @param BaseEventWrapper The base wrapper class. + * @param originalPrototype The prototype of the original event. + */ +function defineWrapper(BaseEventWrapper, originalPrototype) { + class CustomEventWrapper extends BaseEventWrapper { + } + const keys = Object.keys(originalPrototype); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(CustomEventWrapper.prototype, keys[i], defineRedirectDescriptor(originalPrototype, keys[i])); + } + return CustomEventWrapper; +} +/** + * Get the property descriptor to redirect a given property. + */ +function defineRedirectDescriptor(obj, key) { + const d = Object.getOwnPropertyDescriptor(obj, key); + return { + get() { + const original = $$1(this).original; + const value = original[key]; + if (typeof value === "function") { + return value.bind(original); + } + return value; + }, + set(value) { + const original = $$1(this).original; + original[key] = value; + }, + configurable: d.configurable, + enumerable: d.enumerable, + }; +} + +/** + * Create a new listener. + * @param callback The callback function. + * @param capture The capture flag. + * @param passive The passive flag. + * @param once The once flag. + * @param signal The abort signal. + * @param signalListener The abort event listener for the abort signal. + */ +function createListener(callback, capture, passive, once, signal, signalListener) { + return { + callback, + flags: (capture ? 1 /* Capture */ : 0) | + (passive ? 2 /* Passive */ : 0) | + (once ? 4 /* Once */ : 0), + signal, + signalListener, + }; +} +/** + * Set the `removed` flag to the given listener. + * @param listener The listener to check. + */ +function setRemoved(listener) { + listener.flags |= 8 /* Removed */; +} +/** + * Check if the given listener has the `capture` flag or not. + * @param listener The listener to check. + */ +function isCapture(listener) { + return (listener.flags & 1 /* Capture */) === 1 /* Capture */; +} +/** + * Check if the given listener has the `passive` flag or not. + * @param listener The listener to check. + */ +function isPassive(listener) { + return (listener.flags & 2 /* Passive */) === 2 /* Passive */; +} +/** + * Check if the given listener has the `once` flag or not. + * @param listener The listener to check. + */ +function isOnce(listener) { + return (listener.flags & 4 /* Once */) === 4 /* Once */; +} +/** + * Check if the given listener has the `removed` flag or not. + * @param listener The listener to check. + */ +function isRemoved(listener) { + return (listener.flags & 8 /* Removed */) === 8 /* Removed */; +} +/** + * Call an event listener. + * @param listener The listener to call. + * @param target The event target object for `thisArg`. + * @param event The event object for the first argument. + * @param attribute `true` if this callback is an event attribute handler. + */ +function invokeCallback({ callback }, target, event) { + try { + if (typeof callback === "function") { + callback.call(target, event); + } + else if (typeof callback.handleEvent === "function") { + callback.handleEvent(event); + } + } + catch (thrownError) { + reportError(thrownError); + } +} + +/** + * Find the index of given listener. + * This returns `-1` if not found. + * @param list The listener list. + * @param callback The callback function to find. + * @param capture The capture flag to find. + */ +function findIndexOfListener({ listeners }, callback, capture) { + for (let i = 0; i < listeners.length; ++i) { + if (listeners[i].callback === callback && + isCapture(listeners[i]) === capture) { + return i; + } + } + return -1; +} +/** + * Add the given listener. + * Does copy-on-write if needed. + * @param list The listener list. + * @param callback The callback function. + * @param capture The capture flag. + * @param passive The passive flag. + * @param once The once flag. + * @param signal The abort signal. + */ +function addListener(list, callback, capture, passive, once, signal) { + let signalListener; + if (signal) { + signalListener = removeListener.bind(null, list, callback, capture); + signal.addEventListener("abort", signalListener); + } + const listener = createListener(callback, capture, passive, once, signal, signalListener); + if (list.cow) { + list.cow = false; + list.listeners = [...list.listeners, listener]; + } + else { + list.listeners.push(listener); + } + return listener; +} +/** + * Remove a listener. + * @param list The listener list. + * @param callback The callback function to find. + * @param capture The capture flag to find. + * @returns `true` if it mutated the list directly. + */ +function removeListener(list, callback, capture) { + const index = findIndexOfListener(list, callback, capture); + if (index !== -1) { + return removeListenerAt(list, index); + } + return false; +} +/** + * Remove a listener. + * @param list The listener list. + * @param index The index of the target listener. + * @param disableCow Disable copy-on-write if true. + * @returns `true` if it mutated the `listeners` array directly. + */ +function removeListenerAt(list, index, disableCow = false) { + const listener = list.listeners[index]; + // Set the removed flag. + setRemoved(listener); + // Dispose the abort signal listener if exists. + if (listener.signal) { + listener.signal.removeEventListener("abort", listener.signalListener); + } + // Remove it from the array. + if (list.cow && !disableCow) { + list.cow = false; + list.listeners = list.listeners.filter((_, i) => i !== index); + return false; + } + list.listeners.splice(index, 1); + return true; +} + +/** + * Create a new `ListenerListMap` object. + */ +function createListenerListMap() { + return Object.create(null); +} +/** + * Get the listener list of the given type. + * If the listener list has not been initialized, initialize and return it. + * @param listenerMap The listener list map. + * @param type The event type to get. + */ +function ensureListenerList(listenerMap, type) { + var _a; + return ((_a = listenerMap[type]) !== null && _a !== void 0 ? _a : (listenerMap[type] = { + attrCallback: undefined, + attrListener: undefined, + cow: false, + listeners: [], + })); +} + +/** + * An implementation of the `EventTarget` interface. + * @see https://dom.spec.whatwg.org/#eventtarget + */ +class EventTarget { + /** + * Initialize this instance. + */ + constructor() { + internalDataMap$2.set(this, createListenerListMap()); + } + // Implementation + addEventListener(type0, callback0, options0) { + const listenerMap = $$2(this); + const { callback, capture, once, passive, signal, type, } = normalizeAddOptions(type0, callback0, options0); + if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) { + return; + } + const list = ensureListenerList(listenerMap, type); + // Find existing listener. + const i = findIndexOfListener(list, callback, capture); + if (i !== -1) { + warnDuplicate(list.listeners[i], passive, once, signal); + return; + } + // Add the new listener. + addListener(list, callback, capture, passive, once, signal); + } + // Implementation + removeEventListener(type0, callback0, options0) { + const listenerMap = $$2(this); + const { callback, capture, type } = normalizeOptions(type0, callback0, options0); + const list = listenerMap[type]; + if (callback != null && list) { + removeListener(list, callback, capture); + } + } + // Implementation + dispatchEvent(e) { + const list = $$2(this)[String(e.type)]; + if (list == null) { + return true; + } + const event = e instanceof Event ? e : EventWrapper.wrap(e); + const eventData = $(event, "event"); + if (eventData.dispatchFlag) { + throw new DOMException("This event has been in dispatching."); + } + eventData.dispatchFlag = true; + eventData.target = eventData.currentTarget = this; + if (!eventData.stopPropagationFlag) { + const { cow, listeners } = list; + // Set copy-on-write flag. + list.cow = true; + // Call listeners. + for (let i = 0; i < listeners.length; ++i) { + const listener = listeners[i]; + // Skip if removed. + if (isRemoved(listener)) { + continue; + } + // Remove this listener if has the `once` flag. + if (isOnce(listener) && removeListenerAt(list, i, !cow)) { + // Because this listener was removed, the next index is the + // same as the current value. + i -= 1; + } + // Call this listener with the `passive` flag. + eventData.inPassiveListenerFlag = isPassive(listener); + invokeCallback(listener, this, event); + eventData.inPassiveListenerFlag = false; + // Stop if the `event.stopImmediatePropagation()` method was called. + if (eventData.stopImmediatePropagationFlag) { + break; + } + } + // Restore copy-on-write flag. + if (!cow) { + list.cow = false; + } + } + eventData.target = null; + eventData.currentTarget = null; + eventData.stopImmediatePropagationFlag = false; + eventData.stopPropagationFlag = false; + eventData.dispatchFlag = false; + return !eventData.canceledFlag; + } +} +/** + * Internal data. + */ +const internalDataMap$2 = new WeakMap(); +/** + * Get private data. + * @param target The event target object to get private data. + * @param name The variable name to report. + * @returns The private data of the event. + */ +function $$2(target, name = "this") { + const retv = internalDataMap$2.get(target); + assertType(retv != null, "'%s' must be an object that EventTarget constructor created, but got another one: %o", name, target); + return retv; +} +/** + * Normalize options. + * @param options The options to normalize. + */ +function normalizeAddOptions(type, callback, options) { + var _a; + assertCallback(callback); + if (typeof options === "object" && options !== null) { + return { + type: String(type), + callback: callback !== null && callback !== void 0 ? callback : undefined, + capture: Boolean(options.capture), + passive: Boolean(options.passive), + once: Boolean(options.once), + signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined, + }; + } + return { + type: String(type), + callback: callback !== null && callback !== void 0 ? callback : undefined, + capture: Boolean(options), + passive: false, + once: false, + signal: undefined, + }; +} +/** + * Normalize options. + * @param options The options to normalize. + */ +function normalizeOptions(type, callback, options) { + assertCallback(callback); + if (typeof options === "object" && options !== null) { + return { + type: String(type), + callback: callback !== null && callback !== void 0 ? callback : undefined, + capture: Boolean(options.capture), + }; + } + return { + type: String(type), + callback: callback !== null && callback !== void 0 ? callback : undefined, + capture: Boolean(options), + }; +} +/** + * Assert the type of 'callback' argument. + * @param callback The callback to check. + */ +function assertCallback(callback) { + if (typeof callback === "function" || + (typeof callback === "object" && + callback !== null && + typeof callback.handleEvent === "function")) { + return; + } + if (callback == null || typeof callback === "object") { + InvalidEventListener.warn(callback); + return; + } + throw new TypeError(format(InvalidEventListener.message, [callback])); +} +/** + * Print warning for duplicated. + * @param listener The current listener that is duplicated. + * @param passive The passive flag of the new duplicated listener. + * @param once The once flag of the new duplicated listener. + * @param signal The signal object of the new duplicated listener. + */ +function warnDuplicate(listener, passive, once, signal) { + EventListenerWasDuplicated.warn(isCapture(listener) ? "capture" : "bubble", listener.callback); + if (isPassive(listener) !== passive) { + OptionWasIgnored.warn("passive"); + } + if (isOnce(listener) !== once) { + OptionWasIgnored.warn("once"); + } + if (listener.signal !== signal) { + OptionWasIgnored.warn("signal"); + } +} +// Set enumerable +const keys$1$1 = Object.getOwnPropertyNames(EventTarget.prototype); +for (let i = 0; i < keys$1$1.length; ++i) { + if (keys$1$1[i] === "constructor") { + continue; + } + Object.defineProperty(EventTarget.prototype, keys$1$1[i], { enumerable: true }); +} + +function u(u,D){for(var t=0;tu.length)&&(D=u.length);for(var t=0,F=new Array(D);t=u.length?{done:!0}:{done:!1,value:u[e++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var e=/(?:[\$A-Z_a-z\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\u08A0-\u08B4\u08B6-\u08C7\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\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\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-\u170C\u170E-\u1711\u1720-\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-\u1B4B\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-\u2C2E\u2C30-\u2C5E\u2C60-\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-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/,C=/(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])/;function A(u,D){return (D?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(u)}function E(u,D){void 0===D&&(D=!1);for(var t=[],F=0;F-1:void 0===g;A||(c+="(?:"+p+"(?="+h+"))?"),x||(c+="(?="+p+"|"+h+")");}return new RegExp(c,i(t))}function a(u,D,t){return u instanceof RegExp?function(u,D){if(!D)return u;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,F=0,e=t.exec(u.source);e;)D.push({name:e[1]||F++,prefix:"",suffix:"",modifier:"",pattern:""}),e=t.exec(u.source);return u}(u,D):Array.isArray(u)?function(u,D,t){var F=u.map(function(u){return a(u,D,t).source});return new RegExp("(?:"+F.join("|")+")",i(t))}(u,D,t):function(u,D,t){return s(n(u,t),D,t)}(u,D,t)}var B={delimiter:"",prefixes:"",sensitive:!0,strict:!0},o={delimiter:".",prefixes:"",sensitive:!0,strict:!0},h={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function p(u,D){return u.startsWith(D)?u.substring(D.length,u.length):u}function c(u){return !(!u||u.length<2||"["!==u[0]&&("\\"!==u[0]&&"{"!==u[0]||"["!==u[1]))}var f,l=["ftp","file","http","https","ws","wss"];function m(u){if(!u)return !0;for(var D,t=F(l);!(D=t()).done;)if(u.test(D.value))return !0;return !1}function d(u){switch(u){case"ws":case"http":return "80";case"wws":case"https":return "443";case"ftp":return "21";default:return ""}}function g(u){if(""===u)return u;if(/^[-+.A-Za-z0-9]*$/.test(u))return u.toLowerCase();throw new TypeError("Invalid protocol '"+u+"'.")}function x(u){if(""===u)return u;var D=new URL("https://example.com");return D.username=u,D.username}function S(u){if(""===u)return u;var D=new URL("https://example.com");return D.password=u,D.password}function v(u){if(""===u)return u;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(u))throw new TypeError("Invalid hostname '"+u+"'");var D=new URL("https://example.com");return D.hostname=u,D.hostname}function y(u){if(""===u)return u;if(/[^0-9a-fA-F[\]:]/g.test(u))throw new TypeError("Invalid IPv6 hostname '"+u+"'");return u.toLowerCase()}function R(u){if(""===u)return u;if(/^[0-9]*$/.test(u)&&parseInt(u)<=65535)return u;throw new TypeError("Invalid port '"+u+"'.")}function k(u){if(""===u)return u;var D=new URL("https://example.com");return D.pathname="/"!==u[0]?"/-"+u:u,"/"!==u[0]?D.pathname.substring(2,D.pathname.length):D.pathname}function w(u){return ""===u?u:new URL("data:"+u).pathname}function P(u){if(""===u)return u;var D=new URL("https://example.com");return D.search=u,D.search.substring(1,D.search.length)}function T(u){if(""===u)return u;var D=new URL("https://example.com");return D.hash=u,D.hash.substring(1,D.hash.length)}!function(u){u[u.INIT=0]="INIT",u[u.PROTOCOL=1]="PROTOCOL",u[u.AUTHORITY=2]="AUTHORITY",u[u.USERNAME=3]="USERNAME",u[u.PASSWORD=4]="PASSWORD",u[u.HOSTNAME=5]="HOSTNAME",u[u.PORT=6]="PORT",u[u.PATHNAME=7]="PATHNAME",u[u.SEARCH=8]="SEARCH",u[u.HASH=9]="HASH",u[u.DONE=10]="DONE";}(f||(f={}));var b=function(){function u(u){this.input=void 0,this.tokenList=[],this.internalResult={},this.tokenIndex=0,this.tokenIncrement=1,this.componentStart=0,this.state=f.INIT,this.groupDepth=0,this.hostnameIPv6BracketDepth=0,this.shouldTreatAsStandardURL=!1,this.input=u;}var t=u.prototype;return t.parse=function(){for(this.tokenList=E(this.input,!0);this.tokenIndex0){if(!this.isGroupClose())continue;this.groupDepth-=1;}if(this.isGroupOpen())this.groupDepth+=1;else switch(this.state){case f.INIT:this.isProtocolSuffix()&&(this.internalResult.username="",this.internalResult.password="",this.internalResult.hostname="",this.internalResult.port="",this.internalResult.pathname="",this.internalResult.search="",this.internalResult.hash="",this.rewindAndSetState(f.PROTOCOL));break;case f.PROTOCOL:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();var u=f.PATHNAME,D=1;this.shouldTreatAsStandardURL&&(this.internalResult.pathname="/"),this.nextIsAuthoritySlashes()?(u=f.AUTHORITY,D=3):this.shouldTreatAsStandardURL&&(u=f.AUTHORITY),this.changeState(u,D);}break;case f.AUTHORITY:this.isIdentityTerminator()?this.rewindAndSetState(f.USERNAME):(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix())&&this.rewindAndSetState(f.HOSTNAME);break;case f.USERNAME:this.isPasswordPrefix()?this.changeState(f.PASSWORD,1):this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.PASSWORD:this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.HOSTNAME:this.isIPv6Open()?this.hostnameIPv6BracketDepth+=1:this.isIPv6Close()&&(this.hostnameIPv6BracketDepth-=1),this.isPortPrefix()&&!this.hostnameIPv6BracketDepth?this.changeState(f.PORT,1):this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PORT:this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PATHNAME:this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.SEARCH:this.isHashPrefix()&&this.changeState(f.HASH,1);}}},t.changeState=function(u,D){switch(this.state){case f.INIT:break;case f.PROTOCOL:this.internalResult.protocol=this.makeComponentString();break;case f.AUTHORITY:break;case f.USERNAME:this.internalResult.username=this.makeComponentString();break;case f.PASSWORD:this.internalResult.password=this.makeComponentString();break;case f.HOSTNAME:this.internalResult.hostname=this.makeComponentString();break;case f.PORT:this.internalResult.port=this.makeComponentString();break;case f.PATHNAME:this.internalResult.pathname=this.makeComponentString();break;case f.SEARCH:this.internalResult.search=this.makeComponentString();break;case f.HASH:this.internalResult.hash=this.makeComponentString();}this.changeStateWithoutSettingComponent(u,D);},t.changeStateWithoutSettingComponent=function(u,D){this.state=u,this.componentStart=this.tokenIndex+D,this.tokenIndex+=D,this.tokenIncrement=0;},t.rewind=function(){this.tokenIndex=this.componentStart,this.tokenIncrement=0;},t.rewindAndSetState=function(u){this.rewind(),this.state=u;},t.safeToken=function(u){return u<0&&(u=this.tokenList.length-u),u=0&&(u.pathname=F.pathname.substring(0,e+1)+u.pathname);}u.pathname=function(u,D,t){if(t||""===u)return u;if(D&&!l.includes(D))return new URL(D+":"+u).pathname;var F="/"==u[0];return u=new URL(F?u:"/-"+u,"https://example.com").pathname,F||(u=u.substring(2,u.length)),u}(u.pathname,u.protocol,t);}return "string"==typeof D.search&&(u.search=function(u,D){if(u=p(u,"?"),D||""===u)return u;var t=new URL("https://example.com");return t.search=u,t.search?t.search.substring(1,t.search.length):""}(D.search,t)),"string"==typeof D.hash&&(u.hash=function(u,D){if(u=p(u,"#"),D||""===u)return u;var t=new URL("https://example.com");return t.hash=u,t.hash?t.hash.substring(1,t.hash.length):""}(D.hash,t)),u}function N(u){return u.replace(/([+*?:{}()\\])/g,"\\$1")}function L(u,D){for(var t="[^"+(D.delimiter||"/#?").replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")+"]+?",F=/(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])/,e="",C=0;C0?u[C-1]:null,n=C0?n[0]:""):"number"==typeof n.name),!s&&""===A.prefix&&E&&"string"==typeof E&&E.length>0&&(s=i.includes(E[E.length-1])),s&&(e+="{"),e+=N(A.prefix),r&&(e+=":"+A.name),".*"===A.pattern?e+=r||E&&"string"!=typeof E&&!E.modifier&&!s&&""===A.prefix?"(.*)":"*":A.pattern===t?r||(e+="("+t+")"):e+="("+A.pattern+")",A.pattern===t&&r&&""!==A.suffix&&F.test(A.suffix[0])&&(e+="\\"),e+=N(A.suffix),s&&(e+="}"),e+=A.modifier;}else {if(""===A.modifier){e+=N(A.prefix);continue}e+="{"+N(A.prefix)+"}"+A.modifier;}else e+=N(A);}return e}var U=function(){function u(u,D){void 0===u&&(u={}),this.pattern=void 0,this.regexp={},this.keys={},this.component_pattern={};try{if("string"==typeof u){var t=new b(u);if(t.parse(),u=t.result,D){if("string"!=typeof D)throw new TypeError("'baseURL' parameter is not of type 'string'.");u.baseURL=D;}else if("string"!=typeof u.protocol)throw new TypeError("A base URL must be provided for a relative constructor string.")}else if(D)throw new TypeError("parameter 1 is not of type 'string'.");if(!u||"object"!=typeof u)throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");var e;this.pattern=H({pathname:"*",protocol:"*",username:"*",password:"*",hostname:"*",port:"*",search:"*",hash:"*"},u,!0),d(this.pattern.protocol)===this.pattern.port&&(this.pattern.port="");for(var C,A=F(I);!(C=A()).done;)if((e=C.value)in this.pattern){var E={},r=this.pattern[e];switch(this.keys[e]=[],e){case"protocol":Object.assign(E,B),E.encodePart=g;break;case"username":Object.assign(E,B),E.encodePart=x;break;case"password":Object.assign(E,B),E.encodePart=S;break;case"hostname":Object.assign(E,o),E.encodePart=c(r)?y:v;break;case"port":Object.assign(E,B),E.encodePart=R;break;case"pathname":m(this.regexp.protocol)?(Object.assign(E,h),E.encodePart=k):(Object.assign(E,B),E.encodePart=w);break;case"search":Object.assign(E,B),E.encodePart=P;break;case"hash":Object.assign(E,B),E.encodePart=T;}try{var i=n(r,E);this.regexp[e]=s(i,this.keys[e],E),this.component_pattern[e]=L(i,E);}catch(u){throw new TypeError("invalid "+e+" pattern '"+this.pattern[e]+"'.")}}}catch(u){throw new TypeError("Failed to construct 'URLPattern': "+u.message)}}var t=u.prototype;return t.test=function(u,D){void 0===u&&(u={});var t,F={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof u&&D)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0===u)return !1;try{F=H(F,"object"==typeof u?u:O(u,D),!1);}catch(u){return !1}for(t in this.pattern)if(!this.regexp[t].exec(F[t]))return !1;return !0},t.exec=function(u,D){void 0===u&&(u={});var t={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof u&&D)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0!==u){try{t=H(t,"object"==typeof u?u:O(u,D),!1);}catch(u){return null}var e,C={};for(e in C.inputs=D?[u,D]:[u],this.pattern){var A=this.regexp[e].exec(t[e]);if(!A)return null;for(var E,n={},r=F(this.keys[e].entries());!(E=r()).done;){var i=E.value,s=i[1];"string"!=typeof s.name&&"number"!=typeof s.name||(n[s.name]=A[i[0]+1]||"");}C[e]={input:t[e]||"",groups:n};}return C}},D(u,[{key:"protocol",get:function(){return this.component_pattern.protocol}},{key:"username",get:function(){return this.component_pattern.username}},{key:"password",get:function(){return this.component_pattern.password}},{key:"hostname",get:function(){return this.component_pattern.hostname}},{key:"port",get:function(){return this.component_pattern.port}},{key:"pathname",get:function(){return this.component_pattern.pathname}},{key:"search",get:function(){return this.component_pattern.search}},{key:"hash",get:function(){return this.component_pattern.hash}}]),u}(); + +const INTERNAL$2 = { tick: 0, pool: new Map() }; +function requestAnimationFrame(callback) { + if (!INTERNAL$2.pool.size) { + setTimeout$1(() => { + const next = __performance_now(); + for (const func of INTERNAL$2.pool.values()) { + func(next); + } + INTERNAL$2.pool.clear(); + }, 1000 / 16); + } + const func = __function_bind(callback, undefined); + const tick = ++INTERNAL$2.tick; + INTERNAL$2.pool.set(tick, func); + return tick; +} +function cancelAnimationFrame(requestId) { + const timeout = INTERNAL$2.pool.get(requestId); + if (timeout) { + clearTimeout$1(timeout); + INTERNAL$2.pool.delete(requestId); + } +} + +class Node extends EventTarget { + append(...nodesOrDOMStrings) { + } + appendChild(childNode) { + return childNode; + } + after(...nodesOrDOMStrings) { + } + before(...nodesOrDOMStrings) { + } + prepend(...nodesOrDOMStrings) { + } + replaceChild(newChild, oldChild) { + return oldChild; + } + removeChild(childNode) { + return childNode; + } + get attributes() { + return {}; + } + get childNodes() { + return []; + } + get children() { + return []; + } + get ownerDocument() { + return null; + } + get nodeValue() { + return ''; + } + set nodeValue(value) { + } + get textContent() { + return ''; + } + set textContent(value) { + } + get previousElementSibling() { + return null; + } + get nextElementSibling() { + return null; + } + [Symbol.for('nodejs.util.inspect.custom')](depth, options) { + return `${this.constructor.name}`; + } +} +class DocumentFragment extends Node { +} +class ShadowRoot extends DocumentFragment { + get innerHTML() { + return ''; + } + set innerHTML(value) { + } +} +const NodeFilter$1 = Object.assign({ + NodeFilter() { + throw new TypeError('Illegal constructor'); + }, +}.NodeFilter, { + FILTER_ACCEPT: 1, + FILTER_REJECT: 2, + FILTER_SKIP: 3, + SHOW_ALL: 4294967295, + SHOW_ELEMENT: 1, + SHOW_ATTRIBUTE: 2, + SHOW_TEXT: 4, + SHOW_CDATA_SECTION: 8, + SHOW_ENTITY_REFERENCE: 16, + SHOW_ENTITY: 32, + SHOW_PROCESSING_INSTRUCTION: 64, + SHOW_COMMENT: 128, + SHOW_DOCUMENT: 256, + SHOW_DOCUMENT_TYPE: 512, + SHOW_DOCUMENT_FRAGMENT: 1024, + SHOW_NOTATION: 2048, +}); +class NodeIterator$1 { + nextNode() { + return null; + } + previousNode() { + return null; + } + get filter() { + const internals = internalsOf(this, 'NodeIterator', 'filter'); + return internals.filter; + } + get pointerBeforeReferenceNode() { + const internals = internalsOf(this, 'NodeIterator', 'pointerBeforeReferenceNode'); + return internals.pointerBeforeReferenceNode; + } + get referenceNode() { + const internals = internalsOf(this, 'NodeIterator', 'referenceNode'); + return internals.referenceNode; + } + get root() { + const internals = internalsOf(this, 'NodeIterator', 'root'); + return internals.root; + } + get whatToShow() { + const internals = internalsOf(this, 'NodeIterator', 'whatToShow'); + return internals.whatToShow; + } +} +allowStringTag(Node); +allowStringTag(NodeIterator$1); +allowStringTag(DocumentFragment); +allowStringTag(ShadowRoot); + +class CharacterData extends Node { + constructor(data) { + INTERNALS.set(super(), { + data: String(data), + }); + } + get data() { + return internalsOf(this, 'CharacterData', 'data') + .data; + } + get textContent() { + return internalsOf(this, 'CharacterData', 'textContent').data; + } +} +class Comment extends CharacterData { +} +class Text extends CharacterData { + get assignedSlot() { + return null; + } + get wholeText() { + return internalsOf(this, 'CharacterData', 'textContent').data; + } +} +allowStringTag(CharacterData); +allowStringTag(Text); +allowStringTag(Comment); + +class CustomEvent extends Event { + constructor(type, params) { + params = Object(params); + super(type, params); + if ('detail' in params) + this.detail = params.detail; + } +} +allowStringTag(CustomEvent); + +const INTERNAL$1 = { tick: 0, pool: new Map() }; +function requestIdleCallback(callback) { + if (!INTERNAL$1.pool.size) { + setTimeout$1(() => { + const next = __performance_now(); + for (const func of INTERNAL$1.pool.values()) { + func(next); + } + INTERNAL$1.pool.clear(); + }, 1000 / 16); + } + const func = __function_bind(callback, undefined); + const tick = ++INTERNAL$1.tick; + INTERNAL$1.pool.set(tick, func); + return tick; +} +function cancelIdleCallback(requestId) { + const timeout = INTERNAL$1.pool.get(requestId); + if (timeout) { + clearTimeout$1(timeout); + INTERNAL$1.pool.delete(requestId); + } +} + +const PRIMITIVE = 0; +const ARRAY = 1; +const OBJECT = 2; +const DATE = 3; +const REGEXP = 4; +const MAP = 5; +const SET = 6; +const ERROR = 7; +const BIGINT = 8; +// export const SYMBOL = 9; + +const env = typeof self === 'object' ? self : globalThis; + +const deserializer = ($, _) => { + const as = (out, index) => { + $.set(index, out); + return out; + }; + + const unpair = index => { + if ($.has(index)) + return $.get(index); + + const [type, value] = _[index]; + switch (type) { + case PRIMITIVE: + return as(value, index); + case ARRAY: { + const arr = as([], index); + for (const index of value) + arr.push(unpair(index)); + return arr; + } + case OBJECT: { + const object = as({}, index); + for (const [key, index] of value) + object[unpair(key)] = unpair(index); + return object; + } + case DATE: + return as(new Date(value), index); + case REGEXP: { + const {source, flags} = value; + return as(new RegExp(source, flags), index); + } + case MAP: { + const map = as(new Map, index); + for (const [key, index] of value) + map.set(unpair(key), unpair(index)); + return map; + } + case SET: { + const set = as(new Set, index); + for (const index of value) + set.add(unpair(index)); + return set; + } + case ERROR: { + const {name, message} = value; + return as(new env[name](message), index); + } + case BIGINT: + return as(BigInt(value), index); + case 'BigInt': + return as(Object(BigInt(value)), index); + } + return as(new env[type](value), index); + }; + + return unpair; +}; + +/** + * @typedef {Array} Record a type representation + */ + +/** + * Returns a deserialized value from a serialized array of Records. + * @param {Record[]} serialized a previously serialized value. + * @returns {any} + */ +const deserialize = serialized => deserializer(new Map, serialized)(0); + +const EMPTY = ''; + +const {toString} = {}; +const {keys} = Object; + +const typeOf = value => { + const type = typeof value; + if (type !== 'object' || !value) + return [PRIMITIVE, type]; + + const asString = toString.call(value).slice(8, -1); + switch (asString) { + case 'Array': + return [ARRAY, EMPTY]; + case 'Object': + return [OBJECT, EMPTY]; + case 'Date': + return [DATE, EMPTY]; + case 'RegExp': + return [REGEXP, EMPTY]; + case 'Map': + return [MAP, EMPTY]; + case 'Set': + return [SET, EMPTY]; + } + + if (asString.includes('Array')) + return [ARRAY, asString]; + + if (asString.includes('Error')) + return [ERROR, asString]; + + return [OBJECT, asString]; +}; + +const shouldSkip = ([TYPE, type]) => ( + TYPE === PRIMITIVE && + (type === 'function' || type === 'symbol') +); + +const serializer = (strict, json, $, _) => { + + const as = (out, value) => { + const index = _.push(out) - 1; + $.set(value, index); + return index; + }; + + const pair = value => { + if ($.has(value)) + return $.get(value); + + let [TYPE, type] = typeOf(value); + switch (TYPE) { + case PRIMITIVE: { + let entry = value; + switch (type) { + case 'bigint': + TYPE = BIGINT; + entry = value.toString(); + break; + case 'function': + case 'symbol': + if (strict) + throw new TypeError('unable to serialize ' + type); + entry = null; + break; + } + return as([TYPE, entry], value); + } + case ARRAY: { + if (type) + return as([type, [...value]], value); + + const arr = []; + const index = as([TYPE, arr], value); + for (const entry of value) + arr.push(pair(entry)); + return index; + } + case OBJECT: { + if (type) { + switch (type) { + case 'BigInt': + return as([type, value.toString()], value); + case 'Boolean': + case 'Number': + case 'String': + return as([type, value.valueOf()], value); + } + } + + if (json && ('toJSON' in value)) + return pair(value.toJSON()); + + const entries = []; + const index = as([TYPE, entries], value); + for (const key of keys(value)) { + if (strict || !shouldSkip(typeOf(value[key]))) + entries.push([pair(key), pair(value[key])]); + } + return index; + } + case DATE: + return as([TYPE, value.toISOString()], value); + case REGEXP: { + const {source, flags} = value; + return as([TYPE, {source, flags}], value); + } + case MAP: { + const entries = []; + const index = as([TYPE, entries], value); + for (const [key, entry] of value) { + if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) + entries.push([pair(key), pair(entry)]); + } + return index; + } + case SET: { + const entries = []; + const index = as([TYPE, entries], value); + for (const entry of value) { + if (strict || !shouldSkip(typeOf(entry))) + entries.push(pair(entry)); + } + return index; + } + } + + const {message} = value; + return as([TYPE, {name: type, message}], value); + }; + + return pair; +}; + +/** + * @typedef {Array} Record a type representation + */ + +/** + * Returns an array of serialized Records. + * @param {any} value a serializable value. + * @param {{lossy?: boolean}?} options an object with a `lossy` property that, + * if `true`, will not throw errors on incompatible types, and behave more + * like JSON stringify would behave. Symbol and Function will be discarded. + * @returns {Record[]} + */ + const serialize = (value, {json, lossy} = {}) => { + const _ = []; + return serializer(!(json || lossy), !!json, new Map, _)(value), _; +}; + +var structuredClone = (any, options) => deserialize(serialize(any, options)); + +const INTERNAL = { tick: 0, pool: new Map() }; +function setTimeout(callback, delay = 0, ...args) { + const func = __function_bind(callback, globalThis); + const tick = ++INTERNAL.tick; + const timeout = setTimeout$1(func, delay, ...args); + INTERNAL.pool.set(tick, timeout); + return tick; +} +function clearTimeout(timeoutId) { + const timeout = INTERNAL.pool.get(timeoutId); + if (timeout) { + clearTimeout$1(timeout); + INTERNAL.pool.delete(timeoutId); + } +} + +class TreeWalker { + parentNode() { + return null; + } + firstChild() { + return null; + } + lastChild() { + return null; + } + previousSibling() { + return null; + } + nextSibling() { + return null; + } + previousNode() { + return null; + } + nextNode() { + return null; + } + get currentNode() { + const internals = internalsOf(this, 'TreeWalker', 'currentNode'); + return internals.currentNode; + } + get root() { + const internals = internalsOf(this, 'TreeWalker', 'root'); + return internals.root; + } + get whatToShow() { + const internals = internalsOf(this, 'TreeWalker', 'whatToShow'); + return internals.whatToShow; + } +} +allowStringTag(TreeWalker); + +class ImageData { + constructor(arg0, arg1, ...args) { + if (arguments.length < 2) + throw new TypeError(`Failed to construct 'ImageData': 2 arguments required.`); + /** Whether Uint8ClampedArray data is provided. */ + const hasData = __object_isPrototypeOf(Uint8ClampedArray.prototype, arg0); + /** Image data, either provided or calculated. */ + const d = hasData + ? arg0 + : new Uint8ClampedArray(asNumber(arg0, 'width') * asNumber(arg1, 'height') * 4); + /** Image width. */ + const w = asNumber(hasData ? arg1 : arg0, 'width'); + /** Image height. */ + const h = d.length / w / 4; + /** Image color space. */ + const c = String(Object(hasData ? args[1] : args[0]).colorSpace || 'srgb'); + // throw if a provided height does not match the calculated height + if (args.length && asNumber(args[0], 'height') !== h) + throw new DOMException('height is not equal to (4 * width * height)', 'IndexSizeError'); + // throw if a provided colorspace does not match a known colorspace + if (c !== 'srgb' && c !== 'rec2020' && c !== 'display-p3') + throw new TypeError('colorSpace is not known value'); + Object.defineProperty(this, 'data', { + configurable: true, + enumerable: true, + value: d, + }); + INTERNALS.set(this, { + width: w, + height: h, + colorSpace: c, + }); + } + get data() { + internalsOf(this, 'ImageData', 'data'); + return Object.getOwnPropertyDescriptor(this, 'data').value; + } + get width() { + return internalsOf(this, 'ImageData', 'width').width; + } + get height() { + return internalsOf(this, 'ImageData', 'height').height; + } +} +allowStringTag(ImageData); +/** Returns a coerced number, optionally throwing if the number is zero-ish. */ +const asNumber = (value, axis) => { + value = Number(value) || 0; + if (value === 0) + throw new TypeError(`The source ${axis} is zero or not a number.`); + return value; +}; + +class CanvasRenderingContext2D { + get canvas() { + return internalsOf(this, 'CanvasRenderingContext2D', 'canvas').canvas; + } + get direction() { + return internalsOf(this, 'CanvasRenderingContext2D', 'direction') + .direction; + } + get fillStyle() { + return internalsOf(this, 'CanvasRenderingContext2D', 'fillStyle') + .fillStyle; + } + get filter() { + return internalsOf(this, 'CanvasRenderingContext2D', 'filter').filter; + } + get globalAlpha() { + return internalsOf(this, 'CanvasRenderingContext2D', 'globalAlpha') + .globalAlpha; + } + get globalCompositeOperation() { + return internalsOf(this, 'CanvasRenderingContext2D', 'globalCompositeOperation').globalCompositeOperation; + } + get font() { + return internalsOf(this, 'CanvasRenderingContext2D', 'font').font; + } + get imageSmoothingEnabled() { + return internalsOf(this, 'CanvasRenderingContext2D', 'imageSmoothingEnabled').imageSmoothingEnabled; + } + get imageSmoothingQuality() { + return internalsOf(this, 'CanvasRenderingContext2D', 'imageSmoothingQuality').imageSmoothingQuality; + } + get lineCap() { + return internalsOf(this, 'CanvasRenderingContext2D', 'lineCap').lineCap; + } + get lineDashOffset() { + return internalsOf(this, 'CanvasRenderingContext2D', 'lineDashOffset') + .lineDashOffset; + } + get lineJoin() { + return internalsOf(this, 'CanvasRenderingContext2D', 'lineJoin').lineJoin; + } + get lineWidth() { + return internalsOf(this, 'CanvasRenderingContext2D', 'lineWidth') + .lineWidth; + } + get miterLimit() { + return internalsOf(this, 'CanvasRenderingContext2D', 'miterLimit') + .miterLimit; + } + get strokeStyle() { + return internalsOf(this, 'CanvasRenderingContext2D', 'strokeStyle') + .strokeStyle; + } + get shadowOffsetX() { + return internalsOf(this, 'CanvasRenderingContext2D', 'shadowOffsetX') + .shadowOffsetX; + } + get shadowOffsetY() { + return internalsOf(this, 'CanvasRenderingContext2D', 'shadowOffsetY') + .shadowOffsetY; + } + get shadowBlur() { + return internalsOf(this, 'CanvasRenderingContext2D', 'shadowBlur') + .shadowBlur; + } + get shadowColor() { + return internalsOf(this, 'CanvasRenderingContext2D', 'shadowColor') + .shadowColor; + } + get textAlign() { + return internalsOf(this, 'CanvasRenderingContext2D', 'textAlign') + .textAlign; + } + get textBaseline() { + return internalsOf(this, 'CanvasRenderingContext2D', 'textBaseline') + .textBaseline; + } + arc() { } + arcTo() { } + beginPath() { } + bezierCurveTo() { } + clearRect() { } + clip() { } + closePath() { } + createImageData(arg0, arg1) { + /** Whether ImageData is provided. */ + const hasData = __object_isPrototypeOf(ImageData.prototype, arg0); + const w = hasData ? arg0.width : arg0; + const h = hasData ? arg0.height : arg1; + const d = hasData + ? arg0.data + : new Uint8ClampedArray(w * h * 4); + return new ImageData(d, w, h); + } + createLinearGradient() { } + createPattern() { } + createRadialGradient() { } + drawFocusIfNeeded() { } + drawImage() { } + ellipse() { } + fill() { } + fillRect() { } + fillText() { } + getContextAttributes() { } + getImageData() { } + getLineDash() { } + getTransform() { } + isPointInPath() { } + isPointInStroke() { } + lineTo() { } + measureText() { } + moveTo() { } + putImageData() { } + quadraticCurveTo() { } + rect() { } + resetTransform() { } + restore() { } + rotate() { } + save() { } + scale() { } + setLineDash() { } + setTransform() { } + stroke() { } + strokeRect() { } + strokeText() { } + transform() { } + translate() { } +} +allowStringTag(CanvasRenderingContext2D); +const __createCanvasRenderingContext2D = (canvas) => { + const renderingContext2D = Object.create(CanvasRenderingContext2D.prototype); + INTERNALS.set(renderingContext2D, { + canvas, + direction: 'inherit', + fillStyle: '#000', + filter: 'none', + font: '10px sans-serif', + globalAlpha: 0, + globalCompositeOperation: 'source-over', + imageSmoothingEnabled: false, + imageSmoothingQuality: 'high', + lineCap: 'butt', + lineDashOffset: 0.0, + lineJoin: 'miter', + lineWidth: 1.0, + miterLimit: 10.0, + shadowBlur: 0, + shadowColor: '#000', + shadowOffsetX: 0, + shadowOffsetY: 0, + strokeStyle: '#000', + textAlign: 'start', + textBaseline: 'alphabetic', + }); + return renderingContext2D; +}; + +class CustomElementRegistry { + /** Defines a new custom element using the given tag name and HTMLElement constructor. */ + define(name, constructor, options) { + const internals = internalsOf(this, 'CustomElementRegistry', 'define'); + name = String(name); + if (/[A-Z]/.test(name)) + throw new SyntaxError('Custom element name cannot contain an uppercase ASCII letter'); + if (!/^[a-z]/.test(name)) + throw new SyntaxError('Custom element name must have a lowercase ASCII letter as its first character'); + if (!/-/.test(name)) + throw new SyntaxError('Custom element name must contain a hyphen'); + INTERNALS.set(constructor, { + attributes: {}, + localName: name, + }); + internals.constructorByName.set(name, constructor); + internals.nameByConstructor.set(constructor, name); + } + /** Returns the constructor associated with the given tag name. */ + get(name) { + const internals = internalsOf(this, 'CustomElementRegistry', 'get'); + name = String(name).toLowerCase(); + return internals.constructorByName.get(name); + } + getName(constructor) { + const internals = internalsOf(this, 'CustomElementRegistry', 'getName'); + return internals.nameByConstructor.get(constructor); + } +} +allowStringTag(CustomElementRegistry); +const initCustomElementRegistry = (target, exclude) => { + if (exclude.has('customElements')) + return; + const CustomElementRegistry = target.CustomElementRegistry || globalThis.CustomElementRegistry; + const customElements = target.customElements || + (target.customElements = new CustomElementRegistry()); + INTERNALS.set(customElements, { + constructorByName: new Map(), + nameByConstructor: new Map(), + }); +}; + +class Element extends Node { + constructor() { + super(); + if (INTERNALS.has(new.target)) { + const internals = internalsOf(new.target, 'Element', 'localName'); + INTERNALS.set(this, { + attributes: {}, + localName: internals.localName, + ownerDocument: this.ownerDocument, + shadowInit: null, + shadowRoot: null, + }); + } + } + hasAttribute(name) { + return false; + } + getAttribute(name) { + return null; + } + setAttribute(name, value) { + } + removeAttribute(name) { + } + attachShadow(init) { + if (arguments.length < 1) + throw new TypeError(`Failed to execute 'attachShadow' on 'Element': 1 argument required, but only 0 present.`); + if (init !== Object(init)) + throw new TypeError(`Failed to execute 'attachShadow' on 'Element': The provided value is not of type 'ShadowRootInit'.`); + if (init.mode !== 'open' && init.mode !== 'closed') + throw new TypeError(`Failed to execute 'attachShadow' on 'Element': Failed to read the 'mode' property from 'ShadowRootInit': The provided value '${init.mode}' is not a valid enum value of type ShadowRootMode.`); + const internals = internalsOf(this, 'Element', 'attachShadow'); + if (internals.shadowRoot) + throw new Error('The operation is not supported.'); + internals.shadowInit = internals.shadowInit || { + mode: init.mode, + delegatesFocus: Boolean(init.delegatesFocus), + }; + internals.shadowRoot = + internals.shadowRoot || + (/^open$/.test(internals.shadowInit.mode) + ? Object.setPrototypeOf(new EventTarget(), ShadowRoot.prototype) + : null); + return internals.shadowRoot; + } + get assignedSlot() { + return null; + } + get innerHTML() { + internalsOf(this, 'Element', 'innerHTML'); + return ''; + } + set innerHTML(value) { + internalsOf(this, 'Element', 'innerHTML'); + } + get shadowRoot() { + const internals = internalsOf(this, 'Element', 'shadowRoot'); + return Object(internals.shadowInit).mode === 'open' + ? internals.shadowRoot + : null; + } + get localName() { + return internalsOf(this, 'Element', 'localName') + .localName; + } + get nodeName() { + return internalsOf(this, 'Element', 'nodeName') + .localName.toUpperCase(); + } + get tagName() { + return internalsOf(this, 'Element', 'tagName') + .localName.toUpperCase(); + } +} +class HTMLElement extends Element { +} +class HTMLBodyElement extends HTMLElement { +} +class HTMLDivElement extends HTMLElement { +} +class HTMLHeadElement extends HTMLElement { +} +class HTMLHtmlElement extends HTMLElement { +} +class HTMLSpanElement extends HTMLElement { +} +class HTMLStyleElement extends HTMLElement { +} +class HTMLTemplateElement extends HTMLElement { +} +class HTMLUnknownElement extends HTMLElement { +} +allowStringTag(Element); +allowStringTag(HTMLElement); +allowStringTag(HTMLBodyElement); +allowStringTag(HTMLDivElement); +allowStringTag(HTMLHeadElement); +allowStringTag(HTMLHtmlElement); +allowStringTag(HTMLSpanElement); +allowStringTag(HTMLStyleElement); +allowStringTag(HTMLTemplateElement); +allowStringTag(HTMLUnknownElement); + +class Document extends Node { + createElement(name) { + const internals = internalsOf(this, 'Document', 'createElement'); + const customElementInternals = INTERNALS.get(internals.target.customElements); + name = String(name).toLowerCase(); + const TypeOfHTMLElement = internals.constructorByName.get(name) || + (customElementInternals && + customElementInternals.constructorByName.get(name)) || + HTMLUnknownElement; + const element = Object.setPrototypeOf(new EventTarget(), TypeOfHTMLElement.prototype); + INTERNALS.set(element, { + attributes: {}, + localName: name, + ownerDocument: this, + shadowInit: null, + shadowRoot: null, + }); + return element; + } + createNodeIterator(root, whatToShow = NodeFilter.SHOW_ALL, filter) { + const target = Object.create(NodeIterator.prototype); + INTERNALS.set(target, { + filter, + pointerBeforeReferenceNode: false, + referenceNode: root, + root, + whatToShow, + }); + return target; + } + createTextNode(data) { + return new Text(data); + } + createTreeWalker(root, whatToShow = NodeFilter.SHOW_ALL, filter, expandEntityReferences) { + const target = Object.create(TreeWalker.prototype); + INTERNALS.set(target, { + filter, + currentNode: root, + root, + whatToShow, + }); + return target; + } + get adoptedStyleSheets() { + return []; + } + get styleSheets() { + return []; + } +} +class HTMLDocument extends Document { +} +allowStringTag(Document); +allowStringTag(HTMLDocument); +const initDocument = (target, exclude) => { + if (exclude.has('document')) + return; + const EventTarget = target.EventTarget || globalThis.EventTarget; + const HTMLDocument = target.HTMLDocument || globalThis.HTMLDocument; + const document = (target.document = Object.setPrototypeOf(new EventTarget(), HTMLDocument.prototype)); + INTERNALS.set(document, { + target, + constructorByName: new Map([ + ['body', target.HTMLBodyElement], + ['canvas', target.HTMLCanvasElement], + ['div', target.HTMLDivElement], + ['head', target.HTMLHeadElement], + ['html', target.HTMLHtmlElement], + ['img', target.HTMLImageElement], + ['span', target.HTMLSpanElement], + ['style', target.HTMLStyleElement], + ]), + nameByConstructor: new Map(), + }); + const initElement = (name, Class) => { + const target = Object.setPrototypeOf(new EventTarget(), Class.prototype); + INTERNALS.set(target, { + attributes: {}, + localName: name, + ownerDocument: document, + shadowRoot: null, + shadowInit: null, + }); + return target; + }; + document.body = initElement('body', target.HTMLBodyElement); + document.head = initElement('head', target.HTMLHeadElement); + document.documentElement = initElement('html', target.HTMLHtmlElement); +}; + +class HTMLCanvasElement extends HTMLElement { + get height() { + return internalsOf(this, 'HTMLCanvasElement', 'height').height; + } + set height(value) { + internalsOf(this, 'HTMLCanvasElement', 'height').height = + Number(value) || 0; + } + get width() { + return internalsOf(this, 'HTMLCanvasElement', 'width').width; + } + set width(value) { + internalsOf(this, 'HTMLCanvasElement', 'width').width = Number(value) || 0; + } + captureStream() { + return null; + } + getContext(contextType) { + const internals = internalsOf(this, 'HTMLCanvasElement', 'getContext'); + switch (contextType) { + case '2d': + if (internals.renderingContext2D) + return internals.renderingContext2D; + internals.renderingContext2D = __createCanvasRenderingContext2D(this); + return internals.renderingContext2D; + default: + return null; + } + } + toBlob() { } + toDataURL() { } + transferControlToOffscreen() { } +} +allowStringTag(HTMLCanvasElement); + +class HTMLImageElement extends HTMLElement { + get src() { + return internalsOf(this, 'HTMLImageElement', 'src').src; + } + set src(value) { + const internals = internalsOf(this, 'HTMLImageElement', 'src'); + internals.src = String(value); + } +} +allowStringTag(HTMLImageElement); + +function Image() { + // @ts-expect-error + INTERNALS.set(this, { + attributes: {}, + localName: 'img', + innerHTML: '', + shadowRoot: null, + shadowInit: null, + }); +} +Image.prototype = HTMLImageElement.prototype; + +class MediaQueryList extends EventTarget { + get matches() { + return internalsOf(this, 'MediaQueryList', 'matches').matches; + } + get media() { + return internalsOf(this, 'MediaQueryList', 'media').media; + } +} +allowStringTag(MediaQueryList); +const initMediaQueryList = (target, exclude) => { + if (exclude.has('MediaQueryList') || exclude.has('matchMedia')) + return; + const EventTarget = target.EventTarget || globalThis.EventTarget; + const MediaQueryList = target.MediaQueryList || globalThis.MediaQueryList; + target.matchMedia = function matchMedia(media) { + const mql = Object.setPrototypeOf(new EventTarget(), MediaQueryList.prototype); + INTERNALS.set(mql, { + matches: false, + media, + }); + return mql; + }; +}; + +class IntersectionObserver { + disconnect() { } + observe() { } + takeRecords() { + return []; + } + unobserve() { } +} +class MutationObserver { + disconnect() { } + observe() { } + takeRecords() { + return []; + } + unobserve() { } +} +class ResizeObserver { + disconnect() { } + observe() { } + takeRecords() { + return []; + } + unobserve() { } +} +allowStringTag(MutationObserver); +allowStringTag(IntersectionObserver); +allowStringTag(ResizeObserver); + +class OffscreenCanvas extends EventTarget { + constructor(width, height) { + super(); + if (arguments.length < 2) + throw new TypeError(`Failed to construct 'OffscreenCanvas': 2 arguments required.`); + width = Number(width) || 0; + height = Number(height) || 0; + INTERNALS.set(this, { width, height }); + } + get height() { + return internalsOf(this, 'OffscreenCanvas', 'height').height; + } + set height(value) { + internalsOf(this, 'OffscreenCanvas', 'height').height = Number(value) || 0; + } + get width() { + return internalsOf(this, 'OffscreenCanvas', 'width').width; + } + set width(value) { + internalsOf(this, 'OffscreenCanvas', 'width').width = Number(value) || 0; + } + getContext(contextType) { + const internals = internalsOf(this, 'HTMLCanvasElement', 'getContext'); + switch (contextType) { + case '2d': + if (internals.renderingContext2D) + return internals.renderingContext2D; + internals.renderingContext2D = __createCanvasRenderingContext2D(this); + return internals.renderingContext2D; + default: + return null; + } + } + convertToBlob(options) { + options = Object(options); + Number(options.quality) || 0; + const type = getImageType(String(options.type).trim().toLowerCase()); + return Promise.resolve(new Blob([], { type })); + } +} +allowStringTag(OffscreenCanvas); +const getImageType = (type) => type === 'image/avif' || + type === 'image/jpeg' || + type === 'image/png' || + type === 'image/webp' + ? type + : 'image/png'; + +class Storage { + clear() { + internalsOf(this, 'Storage', 'clear').storage.clear(); + } + getItem(key) { + return getStringOrNull(internalsOf(this, 'Storage', 'getItem').storage.get(String(key))); + } + key(index) { + return getStringOrNull([ + ...internalsOf(this, 'Storage', 'key').storage.keys(), + ][Number(index) || 0]); + } + removeItem(key) { + internalsOf(this, 'Storage', 'getItem').storage.delete(String(key)); + } + setItem(key, value) { + internalsOf(this, 'Storage', 'getItem').storage.set(String(key), String(value)); + } + get length() { + return internalsOf(this, 'Storage', 'size').storage.size; + } +} +const getStringOrNull = (value) => typeof value === 'string' ? value : null; +const initStorage = (target, exclude) => { + if (exclude.has('Storage') || exclude.has('localStorage')) + return; + target.localStorage = Object.create(Storage.prototype); + const storageInternals = new Map(); + INTERNALS.set(target.localStorage, { + storage: storageInternals, + }); +}; + +class StyleSheet { +} +class CSSStyleSheet extends StyleSheet { + async replace(text) { + return new CSSStyleSheet(); + } + replaceSync(text) { + return new CSSStyleSheet(); + } + get cssRules() { + return []; + } +} +allowStringTag(StyleSheet); +allowStringTag(CSSStyleSheet); + +class Window extends EventTarget { + get self() { + return this; + } + get top() { + return this; + } + get window() { + return this; + } + get innerHeight() { + return 0; + } + get innerWidth() { + return 0; + } + get scrollX() { + return 0; + } + get scrollY() { + return 0; + } +} +allowStringTag(Window); +const initWindow = (target, exclude) => { + if (exclude.has('Window') || exclude.has('window')) + return; + target.window = target; +}; + +function alert(...messages) { + console.log(...messages); +} + +const exclusionsForHTMLElement = [ + 'CustomElementsRegistry', + 'HTMLElement', + 'HTMLBodyElement', + 'HTMLCanvasElement', + 'HTMLDivElement', + 'HTMLHeadElement', + 'HTMLHtmlElement', + 'HTMLImageElement', + 'HTMLStyleElement', + 'HTMLTemplateElement', + 'HTMLUnknownElement', + 'Image', +]; +const exclusionsForElement = ['Element', ...exclusionsForHTMLElement]; +const exclusionsForDocument = [ + 'CustomElementsRegistry', + 'Document', + 'HTMLDocument', + 'document', + 'customElements', +]; +const exclusionsForNode = [ + 'Node', + 'DocumentFragment', + 'ShadowRoot', + ...exclusionsForDocument, + ...exclusionsForElement, +]; +const exclusionsForEventTarget = [ + 'Event', + 'CustomEvent', + 'EventTarget', + 'OffscreenCanvas', + 'MediaQueryList', + 'Window', + ...exclusionsForNode, +]; +const exclusionsForEvent = [ + 'Event', + 'CustomEvent', + 'EventTarget', + 'MediaQueryList', + 'OffscreenCanvas', + 'Window', + ...exclusionsForNode, +]; +const exclusions = { + 'Document+': exclusionsForDocument, + 'Element+': exclusionsForElement, + 'Event+': exclusionsForEvent, + 'EventTarget+': exclusionsForEventTarget, + 'HTMLElement+': exclusionsForHTMLElement, + 'Node+': exclusionsForNode, + 'StyleSheet+': ['StyleSheet', 'CSSStyleSheet'], +}; + +const inheritance = { + CSSStyleSheet: 'StyleSheet', + CustomEvent: 'Event', + DOMException: 'Error', + Document: 'Node', + DocumentFragment: 'Node', + Element: 'Node', + HTMLDocument: 'Document', + HTMLElement: 'Element', + HTMLBodyElement: 'HTMLElement', + HTMLCanvasElement: 'HTMLElement', + HTMLDivElement: 'HTMLElement', + HTMLHeadElement: 'HTMLElement', + HTMLHtmlElement: 'HTMLElement', + HTMLImageElement: 'HTMLElement', + HTMLSpanElement: 'HTMLElement', + HTMLStyleElement: 'HTMLElement', + HTMLTemplateElement: 'HTMLElement', + HTMLUnknownElement: 'HTMLElement', + Image: 'HTMLElement', + MediaQueryList: 'EventTarget', + Node: 'EventTarget', + OffscreenCanvas: 'EventTarget', + ShadowRoot: 'DocumentFragment', + Window: 'EventTarget', +}; + +const polyfill = (target, options) => { + const webAPIs = { + ByteLengthQueuingStrategy, + CanvasRenderingContext2D, + CharacterData, + Comment, + CountQueuingStrategy, + CSSStyleSheet, + CustomElementRegistry, + CustomEvent, + Document, + DocumentFragment, + DOMException, + Element, + Event, + EventTarget, + File, + FormData, + HTMLDocument, + HTMLElement, + HTMLBodyElement, + HTMLCanvasElement, + HTMLDivElement, + HTMLHeadElement, + HTMLHtmlElement, + HTMLImageElement, + HTMLSpanElement, + HTMLStyleElement, + HTMLTemplateElement, + HTMLUnknownElement, + Headers, + IntersectionObserver, + Image, + ImageData, + MediaQueryList, + MutationObserver, + Node, + NodeFilter: NodeFilter$1, + NodeIterator: NodeIterator$1, + OffscreenCanvas, + ReadableByteStreamController, + ReadableStream, + ReadableStreamBYOBReader, + ReadableStreamBYOBRequest, + ReadableStreamDefaultController, + ReadableStreamDefaultReader, + Request, + ResizeObserver, + Response, + ShadowRoot, + Storage, + StyleSheet, + Text, + TransformStream, + TreeWalker, + URLPattern: U, + WritableStream, + WritableStreamDefaultController, + WritableStreamDefaultWriter, + Window, + alert, + cancelAnimationFrame, + cancelIdleCallback, + clearTimeout, + crypto: webcrypto, + fetch, + requestAnimationFrame, + requestIdleCallback, + setTimeout, + structuredClone, + }; + // initialize exclude options + const excludeOptions = new Set(typeof Object(options).exclude === 'string' + ? String(Object(options).exclude).trim().split(/\s+/) + : Array.isArray(Object(options).exclude) + ? Object(options).exclude.reduce((array, entry) => array.splice(array.length, 0, ...(typeof entry === 'string' ? entry.trim().split(/\s+/) : [])) && array, []) + : []); + // expand exclude options using exclusion shorthands + for (const excludeOption of excludeOptions) { + if (excludeOption in exclusions) { + for (const exclusion of exclusions[excludeOption]) { + excludeOptions.add(exclusion); + } + } + } + // apply each WebAPI + for (const name of Object.keys(webAPIs)) { + // skip WebAPIs that are excluded + if (excludeOptions.has(name)) + continue; + // skip WebAPIs that are built-in + if (Object.hasOwnProperty.call(target, name)) + continue; + // define WebAPIs on the target + Object.defineProperty(target, name, { + configurable: true, + enumerable: true, + writable: true, + value: webAPIs[name], + }); + } + // ensure WebAPIs correctly inherit other WebAPIs + for (const name of Object.keys(webAPIs)) { + // skip WebAPIs that are excluded + if (excludeOptions.has(name)) + continue; + // skip WebAPIs that do not extend other WebAPIs + if (!Object.hasOwnProperty.call(inheritance, name)) + continue; + const Class = target[name]; + const Super = target[inheritance[name]]; + // skip WebAPIs that are not available + if (!Class || !Super) + continue; + // skip WebAPIs that are already inherited correctly + if (Object.getPrototypeOf(Class.prototype) === Super.prototype) + continue; + // define WebAPIs inheritance + Object.setPrototypeOf(Class.prototype, Super.prototype); + } + if (!excludeOptions.has('HTMLDocument') && + !excludeOptions.has('HTMLElement')) { + initDocument(target, excludeOptions); + if (!excludeOptions.has('CustomElementRegistry')) { + initCustomElementRegistry(target, excludeOptions); + } + } + initMediaQueryList(target, excludeOptions); + initStorage(target, excludeOptions); + initWindow(target, excludeOptions); + return target; +}; +polyfill.internals = (target, name) => { + const init = { + CustomElementRegistry: initCustomElementRegistry, + Document: initDocument, + MediaQueryList: initMediaQueryList, + Storage: initStorage, + Window: initWindow, + }; + init[name](target, new Set()); + return target; +}; + +export { CSSStyleSheet, CanvasRenderingContext2D, CharacterData, Comment, CustomElementRegistry, CustomEvent, DOMException, Document, DocumentFragment, Element, Event, EventTarget, HTMLBodyElement, HTMLCanvasElement, HTMLDivElement, HTMLDocument, HTMLElement, HTMLHeadElement, HTMLHtmlElement, HTMLImageElement, HTMLSpanElement, HTMLStyleElement, HTMLTemplateElement, HTMLUnknownElement, Image, ImageData, IntersectionObserver, MediaQueryList, MutationObserver, Node, NodeFilter$1 as NodeFilter, NodeIterator$1 as NodeIterator, OffscreenCanvas, ResizeObserver, ShadowRoot, StyleSheet, Text, TreeWalker, U as URLPattern, Window, alert, cancelAnimationFrame, cancelIdleCallback, clearTimeout, pathToPosix, polyfill, requestAnimationFrame, requestIdleCallback, setTimeout, structuredClone }; +//# sourceMappingURL=mod.js.map diff --git a/packages/webapi/mod.js.map b/packages/webapi/mod.js.map new file mode 100644 index 000000000000..3f490916bffb --- /dev/null +++ b/packages/webapi/mod.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mod.js","sources":["src/lib/utils.ts","src/lib/DOMException.ts","node_modules/event-target-shim/index.mjs","../../node_modules/.pnpm/urlpattern-polyfill@1.0.0-rc5/node_modules/urlpattern-polyfill/dist/index.js","src/lib/AnimationFrame.ts","src/lib/Node.ts","src/lib/CharacterData.ts","src/lib/CustomEvent.ts","src/lib/IdleCallback.ts","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/types.js","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/deserialize.js","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/serialize.js","src/lib/structuredClone.ts","src/lib/Timeout.ts","src/lib/TreeWalker.ts","src/lib/ImageData.ts","src/lib/CanvasRenderingContext2D.ts","src/lib/CustomElementRegistry.ts","src/lib/Element.ts","src/lib/Document.ts","src/lib/HTMLCanvasElement.ts","src/lib/HTMLImageElement.ts","src/lib/Image.ts","src/lib/MediaQueryList.ts","src/lib/Observer.ts","src/lib/OffscreenCanvas.ts","src/lib/Storage.ts","src/lib/StyleSheet.ts","src/lib/Window.ts","src/lib/Alert.ts","src/exclusions.ts","src/inheritance.ts","src/polyfill.ts"],"sourcesContent":[null,null,"/**\n * Assert a condition.\n * @param condition The condition that it should satisfy.\n * @param message The error message.\n * @param args The arguments for replacing placeholders in the message.\n */\nfunction assertType(condition, message, ...args) {\n if (!condition) {\n throw new TypeError(format(message, args));\n }\n}\n/**\n * Convert a text and arguments to one string.\n * @param message The formating text\n * @param args The arguments.\n */\nfunction format(message, args) {\n let i = 0;\n return message.replace(/%[os]/gu, () => anyToString(args[i++]));\n}\n/**\n * Convert a value to a string representation.\n * @param x The value to get the string representation.\n */\nfunction anyToString(x) {\n if (typeof x !== \"object\" || x === null) {\n return String(x);\n }\n return Object.prototype.toString.call(x);\n}\n\nlet currentErrorHandler;\n/**\n * Set the error handler.\n * @param value The error handler to set.\n */\nfunction setErrorHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The error handler must be a function or undefined, but got %o.\", value);\n currentErrorHandler = value;\n}\n/**\n * Print a error message.\n * @param maybeError The error object.\n */\nfunction reportError(maybeError) {\n try {\n const error = maybeError instanceof Error\n ? maybeError\n : new Error(anyToString(maybeError));\n // Call the user-defined error handler if exists.\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n }\n // Dispatch an `error` event if this is on a browser.\n if (typeof dispatchEvent === \"function\" &&\n typeof ErrorEvent === \"function\") {\n dispatchEvent(new ErrorEvent(\"error\", { error, message: error.message }));\n }\n // Emit an `uncaughtException` event if this is on Node.js.\n //istanbul ignore else\n else if (typeof process !== \"undefined\" &&\n typeof process.emit === \"function\") {\n process.emit(\"uncaughtException\", error);\n return;\n }\n // Otherwise, print the error.\n console.error(error);\n }\n catch (_a) {\n // ignore.\n }\n}\n\n/**\n * The global object.\n */\n//istanbul ignore next\nconst Global = typeof window !== \"undefined\"\n ? window\n : typeof self !== \"undefined\"\n ? self\n : typeof global !== \"undefined\"\n ? global\n : typeof globalThis !== \"undefined\"\n ? globalThis\n : undefined;\n\nlet currentWarnHandler;\n/**\n * Set the warning handler.\n * @param value The warning handler to set.\n */\nfunction setWarningHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The warning handler must be a function or undefined, but got %o.\", value);\n currentWarnHandler = value;\n}\n/**\n * The warning information.\n */\nclass Warning {\n constructor(code, message) {\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n warn(...args) {\n var _a;\n try {\n // Call the user-defined warning handler if exists.\n if (currentWarnHandler) {\n currentWarnHandler({ ...this, args });\n return;\n }\n // Otherwise, print the warning.\n const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : \"\").replace(/^(?:.+?\\n){2}/gu, \"\\n\");\n console.warn(this.message, ...args, stack);\n }\n catch (_b) {\n // Ignore.\n }\n }\n}\n\nconst InitEventWasCalledWhileDispatching = new Warning(\"W01\", \"Unable to initialize event under dispatching.\");\nconst FalsyWasAssignedToCancelBubble = new Warning(\"W02\", \"Assigning any falsy value to 'cancelBubble' property has no effect.\");\nconst TruthyWasAssignedToReturnValue = new Warning(\"W03\", \"Assigning any truthy value to 'returnValue' property has no effect.\");\nconst NonCancelableEventWasCanceled = new Warning(\"W04\", \"Unable to preventDefault on non-cancelable events.\");\nconst CanceledInPassiveListener = new Warning(\"W05\", \"Unable to preventDefault inside passive event listener invocation.\");\nconst EventListenerWasDuplicated = new Warning(\"W06\", \"An event listener wasn't added because it has been added already: %o, %o\");\nconst OptionWasIgnored = new Warning(\"W07\", \"The %o option value was abandoned because the event listener wasn't added as duplicated.\");\nconst InvalidEventListener = new Warning(\"W08\", \"The 'callback' argument must be a function or an object that has 'handleEvent' method: %o\");\nconst InvalidAttributeHandler = new Warning(\"W09\", \"Event attribute handler must be a function: %o\");\n\n/*eslint-disable class-methods-use-this */\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * `EventTarget` shim can control the internal state of this `Event` objects.\n * @see https://dom.spec.whatwg.org/#event\n */\nclass Event {\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n static get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n static get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n static get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n static get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n constructor(type, eventInitDict) {\n Object.defineProperty(this, \"isTrusted\", {\n value: false,\n enumerable: true,\n });\n const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now(),\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n get type() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n get target() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n get srcElement() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n get currentTarget() {\n return $(this).currentTarget;\n }\n /**\n * The event target of the current dispatching.\n * This doesn't support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n composedPath() {\n const currentTarget = $(this).currentTarget;\n if (currentTarget) {\n return [currentTarget];\n }\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n get eventPhase() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n /**\n * Stop event bubbling.\n * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n get cancelBubble() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n set cancelBubble(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n }\n else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n stopImmediatePropagation() {\n const data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n get bubbles() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n get cancelable() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n get returnValue() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n set returnValue(value) {\n if (!value) {\n setCancelFlag($(this));\n }\n else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n get defaultPrevented() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n get composed() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n get isTrusted() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n get timeStamp() {\n return $(this).timeStamp;\n }\n /**\n * @deprecated Don't use this method. The constructor did initialization.\n */\n initEvent(type, bubbles = false, cancelable = false) {\n const data = $(this);\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n internalDataMap.set(this, {\n ...data,\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n });\n }\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n/**\n * Private data for event wrappers.\n */\nconst internalDataMap = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\nfunction $(event, name = \"this\") {\n const retv = internalDataMap.get(event);\n assertType(retv != null, \"'%s' must be an object that Event constructor created, but got another one: %o\", name, event);\n return retv;\n}\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data private data.\n */\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n data.canceledFlag = true;\n}\n// Set enumerable\nObject.defineProperty(Event, \"NONE\", { enumerable: true });\nObject.defineProperty(Event, \"CAPTURING_PHASE\", { enumerable: true });\nObject.defineProperty(Event, \"AT_TARGET\", { enumerable: true });\nObject.defineProperty(Event, \"BUBBLING_PHASE\", { enumerable: true });\nconst keys = Object.getOwnPropertyNames(Event.prototype);\nfor (let i = 0; i < keys.length; ++i) {\n if (keys[i] === \"constructor\") {\n continue;\n }\n Object.defineProperty(Event.prototype, keys[i], { enumerable: true });\n}\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\n\n/**\n * Create a new InvalidStateError instance.\n * @param message The error message.\n */\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, \"InvalidStateError\");\n }\n if (DOMException == null) {\n DOMException = class DOMException extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DOMException);\n }\n }\n // eslint-disable-next-line class-methods-use-this\n get code() {\n return 11;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return \"InvalidStateError\";\n }\n };\n Object.defineProperties(DOMException.prototype, {\n code: { enumerable: true },\n name: { enumerable: true },\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n return new DOMException(message);\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\nlet DOMException;\nconst ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25,\n};\nfunction defineErrorCodeProperties(obj) {\n const keys = Object.keys(ErrorCodeMap);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n const value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get() {\n return value;\n },\n configurable: true,\n enumerable: true,\n });\n }\n}\n\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * This class controls the internal state of `Event`.\n * @see https://dom.spec.whatwg.org/#interface-event\n */\nclass EventWrapper extends Event {\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n static wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n constructor(event) {\n super(event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed,\n });\n if (event.cancelBubble) {\n super.stopPropagation();\n }\n if (event.defaultPrevented) {\n super.preventDefault();\n }\n internalDataMap$1.set(this, { original: event });\n // Define accessors\n const keys = Object.keys(event);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(event, key));\n }\n }\n }\n stopPropagation() {\n super.stopPropagation();\n const { original } = $$1(this);\n if (\"stopPropagation\" in original) {\n original.stopPropagation();\n }\n }\n get cancelBubble() {\n return super.cancelBubble;\n }\n set cancelBubble(value) {\n super.cancelBubble = value;\n const { original } = $$1(this);\n if (\"cancelBubble\" in original) {\n original.cancelBubble = value;\n }\n }\n stopImmediatePropagation() {\n super.stopImmediatePropagation();\n const { original } = $$1(this);\n if (\"stopImmediatePropagation\" in original) {\n original.stopImmediatePropagation();\n }\n }\n get returnValue() {\n return super.returnValue;\n }\n set returnValue(value) {\n super.returnValue = value;\n const { original } = $$1(this);\n if (\"returnValue\" in original) {\n original.returnValue = value;\n }\n }\n preventDefault() {\n super.preventDefault();\n const { original } = $$1(this);\n if (\"preventDefault\" in original) {\n original.preventDefault();\n }\n }\n get timeStamp() {\n const { original } = $$1(this);\n if (\"timeStamp\" in original) {\n return original.timeStamp;\n }\n return super.timeStamp;\n }\n}\n/**\n * Private data for event wrappers.\n */\nconst internalDataMap$1 = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @returns The private data of the event.\n */\nfunction $$1(event) {\n const retv = internalDataMap$1.get(event);\n assertType(retv != null, \"'this' is expected an Event object, but got\", event);\n return retv;\n}\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrapperClassCache = new WeakMap();\n// Make association for wrappers.\nwrapperClassCache.set(Object.prototype, EventWrapper);\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\n/**\n * Get the wrapper class of a given prototype.\n * @param originalEvent The event object to wrap.\n */\nfunction getWrapperClassOf(originalEvent) {\n const prototype = Object.getPrototypeOf(originalEvent);\n if (prototype == null) {\n return EventWrapper;\n }\n let wrapper = wrapperClassCache.get(prototype);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n return wrapper;\n}\n/**\n * Define new wrapper class.\n * @param BaseEventWrapper The base wrapper class.\n * @param originalPrototype The prototype of the original event.\n */\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n class CustomEventWrapper extends BaseEventWrapper {\n }\n const keys = Object.keys(originalPrototype);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(CustomEventWrapper.prototype, keys[i], defineRedirectDescriptor(originalPrototype, keys[i]));\n }\n return CustomEventWrapper;\n}\n/**\n * Get the property descriptor to redirect a given property.\n */\nfunction defineRedirectDescriptor(obj, key) {\n const d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get() {\n const original = $$1(this).original;\n const value = original[key];\n if (typeof value === \"function\") {\n return value.bind(original);\n }\n return value;\n },\n set(value) {\n const original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable,\n };\n}\n\n/**\n * Create a new listener.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n * @param signalListener The abort event listener for the abort signal.\n */\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback,\n flags: (capture ? 1 /* Capture */ : 0) |\n (passive ? 2 /* Passive */ : 0) |\n (once ? 4 /* Once */ : 0),\n signal,\n signalListener,\n };\n}\n/**\n * Set the `removed` flag to the given listener.\n * @param listener The listener to check.\n */\nfunction setRemoved(listener) {\n listener.flags |= 8 /* Removed */;\n}\n/**\n * Check if the given listener has the `capture` flag or not.\n * @param listener The listener to check.\n */\nfunction isCapture(listener) {\n return (listener.flags & 1 /* Capture */) === 1 /* Capture */;\n}\n/**\n * Check if the given listener has the `passive` flag or not.\n * @param listener The listener to check.\n */\nfunction isPassive(listener) {\n return (listener.flags & 2 /* Passive */) === 2 /* Passive */;\n}\n/**\n * Check if the given listener has the `once` flag or not.\n * @param listener The listener to check.\n */\nfunction isOnce(listener) {\n return (listener.flags & 4 /* Once */) === 4 /* Once */;\n}\n/**\n * Check if the given listener has the `removed` flag or not.\n * @param listener The listener to check.\n */\nfunction isRemoved(listener) {\n return (listener.flags & 8 /* Removed */) === 8 /* Removed */;\n}\n/**\n * Call an event listener.\n * @param listener The listener to call.\n * @param target The event target object for `thisArg`.\n * @param event The event object for the first argument.\n * @param attribute `true` if this callback is an event attribute handler.\n */\nfunction invokeCallback({ callback }, target, event) {\n try {\n if (typeof callback === \"function\") {\n callback.call(target, event);\n }\n else if (typeof callback.handleEvent === \"function\") {\n callback.handleEvent(event);\n }\n }\n catch (thrownError) {\n reportError(thrownError);\n }\n}\n\n/**\n * Find the index of given listener.\n * This returns `-1` if not found.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n */\nfunction findIndexOfListener({ listeners }, callback, capture) {\n for (let i = 0; i < listeners.length; ++i) {\n if (listeners[i].callback === callback &&\n isCapture(listeners[i]) === capture) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Add the given listener.\n * Does copy-on-write if needed.\n * @param list The listener list.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n */\nfunction addListener(list, callback, capture, passive, once, signal) {\n let signalListener;\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener(\"abort\", signalListener);\n }\n const listener = createListener(callback, capture, passive, once, signal, signalListener);\n if (list.cow) {\n list.cow = false;\n list.listeners = [...list.listeners, listener];\n }\n else {\n list.listeners.push(listener);\n }\n return listener;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n * @returns `true` if it mutated the list directly.\n */\nfunction removeListener(list, callback, capture) {\n const index = findIndexOfListener(list, callback, capture);\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n return false;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param index The index of the target listener.\n * @param disableCow Disable copy-on-write if true.\n * @returns `true` if it mutated the `listeners` array directly.\n */\nfunction removeListenerAt(list, index, disableCow = false) {\n const listener = list.listeners[index];\n // Set the removed flag.\n setRemoved(listener);\n // Dispose the abort signal listener if exists.\n if (listener.signal) {\n listener.signal.removeEventListener(\"abort\", listener.signalListener);\n }\n // Remove it from the array.\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter((_, i) => i !== index);\n return false;\n }\n list.listeners.splice(index, 1);\n return true;\n}\n\n/**\n * Create a new `ListenerListMap` object.\n */\nfunction createListenerListMap() {\n return Object.create(null);\n}\n/**\n * Get the listener list of the given type.\n * If the listener list has not been initialized, initialize and return it.\n * @param listenerMap The listener list map.\n * @param type The event type to get.\n */\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n return ((_a = listenerMap[type]) !== null && _a !== void 0 ? _a : (listenerMap[type] = {\n attrCallback: undefined,\n attrListener: undefined,\n cow: false,\n listeners: [],\n }));\n}\n\n/**\n * An implementation of the `EventTarget` interface.\n * @see https://dom.spec.whatwg.org/#eventtarget\n */\nclass EventTarget {\n /**\n * Initialize this instance.\n */\n constructor() {\n internalDataMap$2.set(this, createListenerListMap());\n }\n // Implementation\n addEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, once, passive, signal, type, } = normalizeAddOptions(type0, callback0, options0);\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n const list = ensureListenerList(listenerMap, type);\n // Find existing listener.\n const i = findIndexOfListener(list, callback, capture);\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n }\n // Add the new listener.\n addListener(list, callback, capture, passive, once, signal);\n }\n // Implementation\n removeEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, type } = normalizeOptions(type0, callback0, options0);\n const list = listenerMap[type];\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n }\n // Implementation\n dispatchEvent(e) {\n const list = $$2(this)[String(e.type)];\n if (list == null) {\n return true;\n }\n const event = e instanceof Event ? e : EventWrapper.wrap(e);\n const eventData = $(event, \"event\");\n if (eventData.dispatchFlag) {\n throw createInvalidStateError(\"This event has been in dispatching.\");\n }\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n if (!eventData.stopPropagationFlag) {\n const { cow, listeners } = list;\n // Set copy-on-write flag.\n list.cow = true;\n // Call listeners.\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n // Skip if removed.\n if (isRemoved(listener)) {\n continue;\n }\n // Remove this listener if has the `once` flag.\n if (isOnce(listener) && removeListenerAt(list, i, !cow)) {\n // Because this listener was removed, the next index is the\n // same as the current value.\n i -= 1;\n }\n // Call this listener with the `passive` flag.\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false;\n // Stop if the `event.stopImmediatePropagation()` method was called.\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n }\n // Restore copy-on-write flag.\n if (!cow) {\n list.cow = false;\n }\n }\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n}\n/**\n * Internal data.\n */\nconst internalDataMap$2 = new WeakMap();\n/**\n * Get private data.\n * @param target The event target object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\nfunction $$2(target, name = \"this\") {\n const retv = internalDataMap$2.get(target);\n assertType(retv != null, \"'%s' must be an object that EventTarget constructor created, but got another one: %o\", name, target);\n return retv;\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n assertCallback(callback);\n if (typeof options === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined,\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: undefined,\n };\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n if (typeof options === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n };\n}\n/**\n * Assert the type of 'callback' argument.\n * @param callback The callback to check.\n */\nfunction assertCallback(callback) {\n if (typeof callback === \"function\" ||\n (typeof callback === \"object\" &&\n callback !== null &&\n typeof callback.handleEvent === \"function\")) {\n return;\n }\n if (callback == null || typeof callback === \"object\") {\n InvalidEventListener.warn(callback);\n return;\n }\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n/**\n * Print warning for duplicated.\n * @param listener The current listener that is duplicated.\n * @param passive The passive flag of the new duplicated listener.\n * @param once The once flag of the new duplicated listener.\n * @param signal The signal object of the new duplicated listener.\n */\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? \"capture\" : \"bubble\", listener.callback);\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn(\"passive\");\n }\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn(\"once\");\n }\n if (listener.signal !== signal) {\n OptionWasIgnored.warn(\"signal\");\n }\n}\n// Set enumerable\nconst keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\nfor (let i = 0; i < keys$1.length; ++i) {\n if (keys$1[i] === \"constructor\") {\n continue;\n }\n Object.defineProperty(EventTarget.prototype, keys$1[i], { enumerable: true });\n}\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (typeof Global !== \"undefined\" &&\n typeof Global.EventTarget !== \"undefined\") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n\n/**\n * Get the current value of a given event attribute.\n * @param target The `EventTarget` object to get.\n * @param type The event type.\n */\nfunction getEventAttributeValue(target, type) {\n var _a, _b;\n const listMap = $$2(target, \"target\");\n return (_b = (_a = listMap[type]) === null || _a === void 0 ? void 0 : _a.attrCallback) !== null && _b !== void 0 ? _b : null;\n}\n/**\n * Set an event listener to a given event attribute.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction setEventAttributeValue(target, type, callback) {\n if (callback != null && typeof callback !== \"function\") {\n InvalidAttributeHandler.warn(callback);\n }\n if (typeof callback === \"function\" ||\n (typeof callback === \"object\" && callback !== null)) {\n upsertEventAttributeListener(target, type, callback);\n }\n else {\n removeEventAttributeListener(target, type);\n }\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n/**\n * Update or insert the given event attribute handler.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction upsertEventAttributeListener(target, type, callback) {\n const list = ensureListenerList($$2(target, \"target\"), String(type));\n list.attrCallback = callback;\n if (list.attrListener == null) {\n list.attrListener = addListener(list, defineEventAttributeCallback(list), false, false, false, undefined);\n }\n}\n/**\n * Remove the given event attribute handler.\n * @param target The `EventTarget` object to remove.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction removeEventAttributeListener(target, type) {\n const listMap = $$2(target, \"target\");\n const list = listMap[String(type)];\n if (list && list.attrListener) {\n removeListener(list, list.attrListener.callback, false);\n list.attrCallback = list.attrListener = undefined;\n }\n}\n/**\n * Define the callback function for the given listener list object.\n * It calls `attrCallback` property if the property value is a function.\n * @param list The `ListenerList` object.\n */\nfunction defineEventAttributeCallback(list) {\n return function (event) {\n const callback = list.attrCallback;\n if (typeof callback === \"function\") {\n callback.call(this, event);\n }\n };\n}\n\n/**\n * Define an `EventTarget` class that has event attibutes.\n * @param types The types to define event attributes.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\nfunction defineCustomEventTarget(...types) {\n class CustomEventTarget extends EventTarget {\n }\n for (let i = 0; i < types.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, types[i]);\n }\n return CustomEventTarget;\n}\n/**\n * Define an event attribute.\n * @param target The `EventTarget` object to define an event attribute.\n * @param type The event type to define.\n * @param _eventClass Unused, but to infer `Event` class type.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\nfunction defineEventAttribute(target, type, _eventClass) {\n Object.defineProperty(target, `on${type}`, {\n get() {\n return getEventAttributeValue(this, type);\n },\n set(value) {\n setEventAttributeValue(this, type, value);\n },\n configurable: true,\n enumerable: true,\n });\n}\n\nexport default EventTarget;\nexport { Event, EventTarget, defineCustomEventTarget, defineEventAttribute, getEventAttributeValue, setErrorHandler, setEventAttributeValue, setWarningHandler };\n//# sourceMappingURL=index.mjs.map\n","function u(u,D){for(var t=0;tu.length)&&(D=u.length);for(var t=0,F=new Array(D);t=u.length?{done:!0}:{done:!1,value:u[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var e=/(?:[\\$A-Z_a-z\\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\\u08A0-\\u08B4\\u08B6-\\u08C7\\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\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\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-\\u170C\\u170E-\\u1711\\u1720-\\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-\\u1B4B\\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-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\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-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDEC0-\\uDEEB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/,C=/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/;function A(u,D){return(D?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(u)}function E(u,D){void 0===D&&(D=!1);for(var t=[],F=0;F-1:void 0===g;A||(c+=\"(?:\"+p+\"(?=\"+h+\"))?\"),x||(c+=\"(?=\"+p+\"|\"+h+\")\")}return new RegExp(c,i(t))}function a(u,D,t){return u instanceof RegExp?function(u,D){if(!D)return u;for(var t=/\\((?:\\?<(.*?)>)?(?!\\?)/g,F=0,e=t.exec(u.source);e;)D.push({name:e[1]||F++,prefix:\"\",suffix:\"\",modifier:\"\",pattern:\"\"}),e=t.exec(u.source);return u}(u,D):Array.isArray(u)?function(u,D,t){var F=u.map(function(u){return a(u,D,t).source});return new RegExp(\"(?:\"+F.join(\"|\")+\")\",i(t))}(u,D,t):function(u,D,t){return s(n(u,t),D,t)}(u,D,t)}var B={delimiter:\"\",prefixes:\"\",sensitive:!0,strict:!0},o={delimiter:\".\",prefixes:\"\",sensitive:!0,strict:!0},h={delimiter:\"/\",prefixes:\"/\",sensitive:!0,strict:!0};function p(u,D){return u.startsWith(D)?u.substring(D.length,u.length):u}function c(u){return!(!u||u.length<2||\"[\"!==u[0]&&(\"\\\\\"!==u[0]&&\"{\"!==u[0]||\"[\"!==u[1]))}var f,l=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function m(u){if(!u)return!0;for(var D,t=F(l);!(D=t()).done;)if(u.test(D.value))return!0;return!1}function d(u){switch(u){case\"ws\":case\"http\":return\"80\";case\"wws\":case\"https\":return\"443\";case\"ftp\":return\"21\";default:return\"\"}}function g(u){if(\"\"===u)return u;if(/^[-+.A-Za-z0-9]*$/.test(u))return u.toLowerCase();throw new TypeError(\"Invalid protocol '\"+u+\"'.\")}function x(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.username=u,D.username}function S(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.password=u,D.password}function v(u){if(\"\"===u)return u;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(u))throw new TypeError(\"Invalid hostname '\"+u+\"'\");var D=new URL(\"https://example.com\");return D.hostname=u,D.hostname}function y(u){if(\"\"===u)return u;if(/[^0-9a-fA-F[\\]:]/g.test(u))throw new TypeError(\"Invalid IPv6 hostname '\"+u+\"'\");return u.toLowerCase()}function R(u){if(\"\"===u)return u;if(/^[0-9]*$/.test(u)&&parseInt(u)<=65535)return u;throw new TypeError(\"Invalid port '\"+u+\"'.\")}function k(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.pathname=\"/\"!==u[0]?\"/-\"+u:u,\"/\"!==u[0]?D.pathname.substring(2,D.pathname.length):D.pathname}function w(u){return\"\"===u?u:new URL(\"data:\"+u).pathname}function P(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.search=u,D.search.substring(1,D.search.length)}function T(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.hash=u,D.hash.substring(1,D.hash.length)}!function(u){u[u.INIT=0]=\"INIT\",u[u.PROTOCOL=1]=\"PROTOCOL\",u[u.AUTHORITY=2]=\"AUTHORITY\",u[u.USERNAME=3]=\"USERNAME\",u[u.PASSWORD=4]=\"PASSWORD\",u[u.HOSTNAME=5]=\"HOSTNAME\",u[u.PORT=6]=\"PORT\",u[u.PATHNAME=7]=\"PATHNAME\",u[u.SEARCH=8]=\"SEARCH\",u[u.HASH=9]=\"HASH\",u[u.DONE=10]=\"DONE\"}(f||(f={}));var b=function(){function u(u){this.input=void 0,this.tokenList=[],this.internalResult={},this.tokenIndex=0,this.tokenIncrement=1,this.componentStart=0,this.state=f.INIT,this.groupDepth=0,this.hostnameIPv6BracketDepth=0,this.shouldTreatAsStandardURL=!1,this.input=u}var t=u.prototype;return t.parse=function(){for(this.tokenList=E(this.input,!0);this.tokenIndex0){if(!this.isGroupClose())continue;this.groupDepth-=1}if(this.isGroupOpen())this.groupDepth+=1;else switch(this.state){case f.INIT:this.isProtocolSuffix()&&(this.internalResult.username=\"\",this.internalResult.password=\"\",this.internalResult.hostname=\"\",this.internalResult.port=\"\",this.internalResult.pathname=\"\",this.internalResult.search=\"\",this.internalResult.hash=\"\",this.rewindAndSetState(f.PROTOCOL));break;case f.PROTOCOL:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();var u=f.PATHNAME,D=1;this.shouldTreatAsStandardURL&&(this.internalResult.pathname=\"/\"),this.nextIsAuthoritySlashes()?(u=f.AUTHORITY,D=3):this.shouldTreatAsStandardURL&&(u=f.AUTHORITY),this.changeState(u,D)}break;case f.AUTHORITY:this.isIdentityTerminator()?this.rewindAndSetState(f.USERNAME):(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix())&&this.rewindAndSetState(f.HOSTNAME);break;case f.USERNAME:this.isPasswordPrefix()?this.changeState(f.PASSWORD,1):this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.PASSWORD:this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.HOSTNAME:this.isIPv6Open()?this.hostnameIPv6BracketDepth+=1:this.isIPv6Close()&&(this.hostnameIPv6BracketDepth-=1),this.isPortPrefix()&&!this.hostnameIPv6BracketDepth?this.changeState(f.PORT,1):this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PORT:this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PATHNAME:this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.SEARCH:this.isHashPrefix()&&this.changeState(f.HASH,1)}}},t.changeState=function(u,D){switch(this.state){case f.INIT:break;case f.PROTOCOL:this.internalResult.protocol=this.makeComponentString();break;case f.AUTHORITY:break;case f.USERNAME:this.internalResult.username=this.makeComponentString();break;case f.PASSWORD:this.internalResult.password=this.makeComponentString();break;case f.HOSTNAME:this.internalResult.hostname=this.makeComponentString();break;case f.PORT:this.internalResult.port=this.makeComponentString();break;case f.PATHNAME:this.internalResult.pathname=this.makeComponentString();break;case f.SEARCH:this.internalResult.search=this.makeComponentString();break;case f.HASH:this.internalResult.hash=this.makeComponentString()}this.changeStateWithoutSettingComponent(u,D)},t.changeStateWithoutSettingComponent=function(u,D){this.state=u,this.componentStart=this.tokenIndex+D,this.tokenIndex+=D,this.tokenIncrement=0},t.rewind=function(){this.tokenIndex=this.componentStart,this.tokenIncrement=0},t.rewindAndSetState=function(u){this.rewind(),this.state=u},t.safeToken=function(u){return u<0&&(u=this.tokenList.length-u),u=0&&(u.pathname=F.pathname.substring(0,e+1)+u.pathname)}u.pathname=function(u,D,t){if(t||\"\"===u)return u;if(D&&!l.includes(D))return new URL(D+\":\"+u).pathname;var F=\"/\"==u[0];return u=new URL(F?u:\"/-\"+u,\"https://example.com\").pathname,F||(u=u.substring(2,u.length)),u}(u.pathname,u.protocol,t)}return\"string\"==typeof D.search&&(u.search=function(u,D){if(u=p(u,\"?\"),D||\"\"===u)return u;var t=new URL(\"https://example.com\");return t.search=u,t.search?t.search.substring(1,t.search.length):\"\"}(D.search,t)),\"string\"==typeof D.hash&&(u.hash=function(u,D){if(u=p(u,\"#\"),D||\"\"===u)return u;var t=new URL(\"https://example.com\");return t.hash=u,t.hash?t.hash.substring(1,t.hash.length):\"\"}(D.hash,t)),u}function N(u){return u.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}function L(u,D){for(var t=\"[^\"+(D.delimiter||\"/#?\").replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")+\"]+?\",F=/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/,e=\"\",C=0;C0?u[C-1]:null,n=C0?n[0]:\"\"):\"number\"==typeof n.name),!s&&\"\"===A.prefix&&E&&\"string\"==typeof E&&E.length>0&&(s=i.includes(E[E.length-1])),s&&(e+=\"{\"),e+=N(A.prefix),r&&(e+=\":\"+A.name),\".*\"===A.pattern?e+=r||E&&\"string\"!=typeof E&&!E.modifier&&!s&&\"\"===A.prefix?\"(.*)\":\"*\":A.pattern===t?r||(e+=\"(\"+t+\")\"):e+=\"(\"+A.pattern+\")\",A.pattern===t&&r&&\"\"!==A.suffix&&F.test(A.suffix[0])&&(e+=\"\\\\\"),e+=N(A.suffix),s&&(e+=\"}\"),e+=A.modifier}else{if(\"\"===A.modifier){e+=N(A.prefix);continue}e+=\"{\"+N(A.prefix)+\"}\"+A.modifier}else e+=N(A)}return e}var U=function(){function u(u,D){void 0===u&&(u={}),this.pattern=void 0,this.regexp={},this.keys={},this.component_pattern={};try{if(\"string\"==typeof u){var t=new b(u);if(t.parse(),u=t.result,D){if(\"string\"!=typeof D)throw new TypeError(\"'baseURL' parameter is not of type 'string'.\");u.baseURL=D}else if(\"string\"!=typeof u.protocol)throw new TypeError(\"A base URL must be provided for a relative constructor string.\")}else if(D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(!u||\"object\"!=typeof u)throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");var e;this.pattern=H({pathname:\"*\",protocol:\"*\",username:\"*\",password:\"*\",hostname:\"*\",port:\"*\",search:\"*\",hash:\"*\"},u,!0),d(this.pattern.protocol)===this.pattern.port&&(this.pattern.port=\"\");for(var C,A=F(I);!(C=A()).done;)if((e=C.value)in this.pattern){var E={},r=this.pattern[e];switch(this.keys[e]=[],e){case\"protocol\":Object.assign(E,B),E.encodePart=g;break;case\"username\":Object.assign(E,B),E.encodePart=x;break;case\"password\":Object.assign(E,B),E.encodePart=S;break;case\"hostname\":Object.assign(E,o),E.encodePart=c(r)?y:v;break;case\"port\":Object.assign(E,B),E.encodePart=R;break;case\"pathname\":m(this.regexp.protocol)?(Object.assign(E,h),E.encodePart=k):(Object.assign(E,B),E.encodePart=w);break;case\"search\":Object.assign(E,B),E.encodePart=P;break;case\"hash\":Object.assign(E,B),E.encodePart=T}try{var i=n(r,E);this.regexp[e]=s(i,this.keys[e],E),this.component_pattern[e]=L(i,E)}catch(u){throw new TypeError(\"invalid \"+e+\" pattern '\"+this.pattern[e]+\"'.\")}}}catch(u){throw new TypeError(\"Failed to construct 'URLPattern': \"+u.message)}}var t=u.prototype;return t.test=function(u,D){void 0===u&&(u={});var t,F={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(\"string\"!=typeof u&&D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(void 0===u)return!1;try{F=H(F,\"object\"==typeof u?u:O(u,D),!1)}catch(u){return!1}for(t in this.pattern)if(!this.regexp[t].exec(F[t]))return!1;return!0},t.exec=function(u,D){void 0===u&&(u={});var t={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(\"string\"!=typeof u&&D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(void 0!==u){try{t=H(t,\"object\"==typeof u?u:O(u,D),!1)}catch(u){return null}var e,C={};for(e in C.inputs=D?[u,D]:[u],this.pattern){var A=this.regexp[e].exec(t[e]);if(!A)return null;for(var E,n={},r=F(this.keys[e].entries());!(E=r()).done;){var i=E.value,s=i[1];\"string\"!=typeof s.name&&\"number\"!=typeof s.name||(n[s.name]=A[i[0]+1]||\"\")}C[e]={input:t[e]||\"\",groups:n}}return C}},D(u,[{key:\"protocol\",get:function(){return this.component_pattern.protocol}},{key:\"username\",get:function(){return this.component_pattern.username}},{key:\"password\",get:function(){return this.component_pattern.password}},{key:\"hostname\",get:function(){return this.component_pattern.hostname}},{key:\"port\",get:function(){return this.component_pattern.port}},{key:\"pathname\",get:function(){return this.component_pattern.pathname}},{key:\"search\",get:function(){return this.component_pattern.search}},{key:\"hash\",get:function(){return this.component_pattern.hash}}]),u}();export{U as URLPattern};\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,"export const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n PRIMITIVE, ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n PRIMITIVE, ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n \n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{lossy?: boolean}?} options an object with a `lossy` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_.allowStringTag","keys","keys$1","INTERNAL","nodeSetTimeout","_.__performance_now","_.__function_bind","nodeClearTimeout","NodeFilter","NodeIterator","_.internalsOf","_.INTERNALS","_.__object_isPrototypeOf","URLPattern","crypto"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,C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AC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CA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"} \ No newline at end of file From 11bb2354ac12297d164768d7b29b9d0192b2952f Mon Sep 17 00:00:00 2001 From: = Date: Fri, 22 Sep 2023 13:13:16 +0100 Subject: [PATCH 2/4] Add test to prevent regressions --- packages/create-astro/test/template.test.js | 7 + packages/webapi/mod.js | 2421 ------------------- packages/webapi/mod.js.map | 1 - 3 files changed, 7 insertions(+), 2422 deletions(-) delete mode 100644 packages/webapi/mod.js delete mode 100644 packages/webapi/mod.js.map diff --git a/packages/create-astro/test/template.test.js b/packages/create-astro/test/template.test.js index 66c7f54468b5..cf6b45f77280 100644 --- a/packages/create-astro/test/template.test.js +++ b/packages/create-astro/test/template.test.js @@ -33,4 +33,11 @@ describe('template', () => { expect(fixture.hasMessage('Using blog as project template')).to.be.true; }); + + it('minimal (--yes)', async () => { + const context = { template: 'minimal', cwd: '', dryRun: true, yes: true, prompt: () => {} }; + await template(context); + + expect(fixture.hasMessage('Using minimal as project template')).to.be.true; + }) }); diff --git a/packages/webapi/mod.js b/packages/webapi/mod.js deleted file mode 100644 index 6da59eae10eb..000000000000 --- a/packages/webapi/mod.js +++ /dev/null @@ -1,2421 +0,0 @@ -import { performance } from 'node:perf_hooks'; -import { webcrypto } from 'node:crypto'; -export { webcrypto as crypto } from 'node:crypto'; -import { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web'; -export { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web'; -import { File, FormData, Headers, Request, Response, fetch } from 'undici'; -export { File, FormData, Headers, Request, Response, fetch } from 'undici'; -import { setTimeout as setTimeout$1, clearTimeout as clearTimeout$1 } from 'node:timers'; - -/** Returns the function bound to the given object. */ -const __function_bind = Function.bind.bind(Function.call); -/** Returns whether the object prototype exists in another object. */ -const __object_isPrototypeOf = Function.call.bind(Object.prototype.isPrototypeOf); -/** Current high resolution millisecond timestamp. */ -const __performance_now = performance.now; -// @ts-expect-error -const INTERNALS = new WeakMap(); -const internalsOf = (target, className, propName) => { - const internals = INTERNALS.get(target); - if (!internals) - throw new TypeError(`${className}.${propName} can only be used on instances of ${className}`); - return internals; -}; -const allowStringTag = (value) => (value.prototype[Symbol.toStringTag] = value.name); -/** Returns any kind of path as a posix path. */ -const pathToPosix = (pathname) => String(pathname == null ? '' : pathname) - .replace( -// convert slashes -/\\+/g, '/') - .replace( -// prefix a slash to drive letters -/^(?=[A-Za-z]:\/)/, '/') - .replace( -// encode path characters -/%/g, '%25') - .replace(/\n/g, '%0A') - .replace(/\r/g, '%0D') - .replace(/\t/g, '%09'); - -class DOMException extends Error { - constructor(message = '', name = 'Error') { - super(message); - this.code = 0; - this.name = name; - } -} -DOMException.INDEX_SIZE_ERR = 1; -DOMException.DOMSTRING_SIZE_ERR = 2; -DOMException.HIERARCHY_REQUEST_ERR = 3; -DOMException.WRONG_DOCUMENT_ERR = 4; -DOMException.INVALID_CHARACTER_ERR = 5; -DOMException.NO_DATA_ALLOWED_ERR = 6; -DOMException.NO_MODIFICATION_ALLOWED_ERR = 7; -DOMException.NOT_FOUND_ERR = 8; -DOMException.NOT_SUPPORTED_ERR = 9; -DOMException.INUSE_ATTRIBUTE_ERR = 10; -DOMException.INVALID_STATE_ERR = 11; -DOMException.SYNTAX_ERR = 12; -DOMException.INVALID_MODIFICATION_ERR = 13; -DOMException.NAMESPACE_ERR = 14; -DOMException.INVALID_ACCESS_ERR = 15; -DOMException.VALIDATION_ERR = 16; -DOMException.TYPE_MISMATCH_ERR = 17; -DOMException.SECURITY_ERR = 18; -DOMException.NETWORK_ERR = 19; -DOMException.ABORT_ERR = 20; -DOMException.URL_MISMATCH_ERR = 21; -DOMException.QUOTA_EXCEEDED_ERR = 22; -DOMException.TIMEOUT_ERR = 23; -DOMException.INVALID_NODE_TYPE_ERR = 24; -DOMException.DATA_CLONE_ERR = 25; -allowStringTag(DOMException); - -/** - * Assert a condition. - * @param condition The condition that it should satisfy. - * @param message The error message. - * @param args The arguments for replacing placeholders in the message. - */ -function assertType(condition, message, ...args) { - if (!condition) { - throw new TypeError(format(message, args)); - } -} -/** - * Convert a text and arguments to one string. - * @param message The formating text - * @param args The arguments. - */ -function format(message, args) { - let i = 0; - return message.replace(/%[os]/gu, () => anyToString(args[i++])); -} -/** - * Convert a value to a string representation. - * @param x The value to get the string representation. - */ -function anyToString(x) { - if (typeof x !== "object" || x === null) { - return String(x); - } - return Object.prototype.toString.call(x); -} - -let currentErrorHandler; -/** - * Print a error message. - * @param maybeError The error object. - */ -function reportError(maybeError) { - try { - const error = maybeError instanceof Error - ? maybeError - : new Error(anyToString(maybeError)); - // Call the user-defined error handler if exists. - if (currentErrorHandler) ; - // Dispatch an `error` event if this is on a browser. - if (typeof dispatchEvent === "function" && - typeof ErrorEvent === "function") { - dispatchEvent(new ErrorEvent("error", { error, message: error.message })); - } - // Emit an `uncaughtException` event if this is on Node.js. - //istanbul ignore else - else if (typeof process !== "undefined" && - typeof process.emit === "function") { - process.emit("uncaughtException", error); - return; - } - // Otherwise, print the error. - console.error(error); - } - catch (_a) { - // ignore. - } -} - -let currentWarnHandler; -/** - * The warning information. - */ -class Warning { - constructor(code, message) { - this.code = code; - this.message = message; - } - /** - * Report this warning. - * @param args The arguments of the warning. - */ - warn(...args) { - var _a; - try { - // Call the user-defined warning handler if exists. - if (currentWarnHandler) ; - // Otherwise, print the warning. - const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : "").replace(/^(?:.+?\n){2}/gu, "\n"); - console.warn(this.message, ...args, stack); - } - catch (_b) { - // Ignore. - } - } -} - -const InitEventWasCalledWhileDispatching = new Warning("W01", "Unable to initialize event under dispatching."); -const FalsyWasAssignedToCancelBubble = new Warning("W02", "Assigning any falsy value to 'cancelBubble' property has no effect."); -const TruthyWasAssignedToReturnValue = new Warning("W03", "Assigning any truthy value to 'returnValue' property has no effect."); -const NonCancelableEventWasCanceled = new Warning("W04", "Unable to preventDefault on non-cancelable events."); -const CanceledInPassiveListener = new Warning("W05", "Unable to preventDefault inside passive event listener invocation."); -const EventListenerWasDuplicated = new Warning("W06", "An event listener wasn't added because it has been added already: %o, %o"); -const OptionWasIgnored = new Warning("W07", "The %o option value was abandoned because the event listener wasn't added as duplicated."); -const InvalidEventListener = new Warning("W08", "The 'callback' argument must be a function or an object that has 'handleEvent' method: %o"); -new Warning("W09", "Event attribute handler must be a function: %o"); - -/*eslint-disable class-methods-use-this */ -/** - * An implementation of `Event` interface, that wraps a given event object. - * `EventTarget` shim can control the internal state of this `Event` objects. - * @see https://dom.spec.whatwg.org/#event - */ -class Event { - /** - * @see https://dom.spec.whatwg.org/#dom-event-none - */ - static get NONE() { - return NONE; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase - */ - static get CAPTURING_PHASE() { - return CAPTURING_PHASE; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-at_target - */ - static get AT_TARGET() { - return AT_TARGET; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase - */ - static get BUBBLING_PHASE() { - return BUBBLING_PHASE; - } - /** - * Initialize this event instance. - * @param type The type of this event. - * @param eventInitDict Options to initialize. - * @see https://dom.spec.whatwg.org/#dom-event-event - */ - constructor(type, eventInitDict) { - Object.defineProperty(this, "isTrusted", { - value: false, - enumerable: true, - }); - const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {}; - internalDataMap.set(this, { - type: String(type), - bubbles: Boolean(opts.bubbles), - cancelable: Boolean(opts.cancelable), - composed: Boolean(opts.composed), - target: null, - currentTarget: null, - stopPropagationFlag: false, - stopImmediatePropagationFlag: false, - canceledFlag: false, - inPassiveListenerFlag: false, - dispatchFlag: false, - timeStamp: Date.now(), - }); - } - /** - * The type of this event. - * @see https://dom.spec.whatwg.org/#dom-event-type - */ - get type() { - return $(this).type; - } - /** - * The event target of the current dispatching. - * @see https://dom.spec.whatwg.org/#dom-event-target - */ - get target() { - return $(this).target; - } - /** - * The event target of the current dispatching. - * @deprecated Use the `target` property instead. - * @see https://dom.spec.whatwg.org/#dom-event-srcelement - */ - get srcElement() { - return $(this).target; - } - /** - * The event target of the current dispatching. - * @see https://dom.spec.whatwg.org/#dom-event-currenttarget - */ - get currentTarget() { - return $(this).currentTarget; - } - /** - * The event target of the current dispatching. - * This doesn't support node tree. - * @see https://dom.spec.whatwg.org/#dom-event-composedpath - */ - composedPath() { - const currentTarget = $(this).currentTarget; - if (currentTarget) { - return [currentTarget]; - } - return []; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-none - */ - get NONE() { - return NONE; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase - */ - get CAPTURING_PHASE() { - return CAPTURING_PHASE; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-at_target - */ - get AT_TARGET() { - return AT_TARGET; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase - */ - get BUBBLING_PHASE() { - return BUBBLING_PHASE; - } - /** - * The current event phase. - * @see https://dom.spec.whatwg.org/#dom-event-eventphase - */ - get eventPhase() { - return $(this).dispatchFlag ? 2 : 0; - } - /** - * Stop event bubbling. - * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value. - * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation - */ - stopPropagation() { - $(this).stopPropagationFlag = true; - } - /** - * `true` if event bubbling was stopped. - * @deprecated - * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble - */ - get cancelBubble() { - return $(this).stopPropagationFlag; - } - /** - * Stop event bubbling if `true` is set. - * @deprecated Use the `stopPropagation()` method instead. - * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble - */ - set cancelBubble(value) { - if (value) { - $(this).stopPropagationFlag = true; - } - else { - FalsyWasAssignedToCancelBubble.warn(); - } - } - /** - * Stop event bubbling and subsequent event listener callings. - * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation - */ - stopImmediatePropagation() { - const data = $(this); - data.stopPropagationFlag = data.stopImmediatePropagationFlag = true; - } - /** - * `true` if this event will bubble. - * @see https://dom.spec.whatwg.org/#dom-event-bubbles - */ - get bubbles() { - return $(this).bubbles; - } - /** - * `true` if this event can be canceled by the `preventDefault()` method. - * @see https://dom.spec.whatwg.org/#dom-event-cancelable - */ - get cancelable() { - return $(this).cancelable; - } - /** - * `true` if the default behavior will act. - * @deprecated Use the `defaultPrevented` proeprty instead. - * @see https://dom.spec.whatwg.org/#dom-event-returnvalue - */ - get returnValue() { - return !$(this).canceledFlag; - } - /** - * Cancel the default behavior if `false` is set. - * @deprecated Use the `preventDefault()` method instead. - * @see https://dom.spec.whatwg.org/#dom-event-returnvalue - */ - set returnValue(value) { - if (!value) { - setCancelFlag($(this)); - } - else { - TruthyWasAssignedToReturnValue.warn(); - } - } - /** - * Cancel the default behavior. - * @see https://dom.spec.whatwg.org/#dom-event-preventdefault - */ - preventDefault() { - setCancelFlag($(this)); - } - /** - * `true` if the default behavior was canceled. - * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented - */ - get defaultPrevented() { - return $(this).canceledFlag; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-composed - */ - get composed() { - return $(this).composed; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-istrusted - */ - //istanbul ignore next - get isTrusted() { - return false; - } - /** - * @see https://dom.spec.whatwg.org/#dom-event-timestamp - */ - get timeStamp() { - return $(this).timeStamp; - } - /** - * @deprecated Don't use this method. The constructor did initialization. - */ - initEvent(type, bubbles = false, cancelable = false) { - const data = $(this); - if (data.dispatchFlag) { - InitEventWasCalledWhileDispatching.warn(); - return; - } - internalDataMap.set(this, { - ...data, - type: String(type), - bubbles: Boolean(bubbles), - cancelable: Boolean(cancelable), - target: null, - currentTarget: null, - stopPropagationFlag: false, - stopImmediatePropagationFlag: false, - canceledFlag: false, - }); - } -} -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ -const NONE = 0; -const CAPTURING_PHASE = 1; -const AT_TARGET = 2; -const BUBBLING_PHASE = 3; -/** - * Private data for event wrappers. - */ -const internalDataMap = new WeakMap(); -/** - * Get private data. - * @param event The event object to get private data. - * @param name The variable name to report. - * @returns The private data of the event. - */ -function $(event, name = "this") { - const retv = internalDataMap.get(event); - assertType(retv != null, "'%s' must be an object that Event constructor created, but got another one: %o", name, event); - return retv; -} -/** - * https://dom.spec.whatwg.org/#set-the-canceled-flag - * @param data private data. - */ -function setCancelFlag(data) { - if (data.inPassiveListenerFlag) { - CanceledInPassiveListener.warn(); - return; - } - if (!data.cancelable) { - NonCancelableEventWasCanceled.warn(); - return; - } - data.canceledFlag = true; -} -// Set enumerable -Object.defineProperty(Event, "NONE", { enumerable: true }); -Object.defineProperty(Event, "CAPTURING_PHASE", { enumerable: true }); -Object.defineProperty(Event, "AT_TARGET", { enumerable: true }); -Object.defineProperty(Event, "BUBBLING_PHASE", { enumerable: true }); -const keys$1 = Object.getOwnPropertyNames(Event.prototype); -for (let i = 0; i < keys$1.length; ++i) { - if (keys$1[i] === "constructor") { - continue; - } - Object.defineProperty(Event.prototype, keys$1[i], { enumerable: true }); -} - -/** - * An implementation of `Event` interface, that wraps a given event object. - * This class controls the internal state of `Event`. - * @see https://dom.spec.whatwg.org/#interface-event - */ -class EventWrapper extends Event { - /** - * Wrap a given event object to control states. - * @param event The event-like object to wrap. - */ - static wrap(event) { - return new (getWrapperClassOf(event))(event); - } - constructor(event) { - super(event.type, { - bubbles: event.bubbles, - cancelable: event.cancelable, - composed: event.composed, - }); - if (event.cancelBubble) { - super.stopPropagation(); - } - if (event.defaultPrevented) { - super.preventDefault(); - } - internalDataMap$1.set(this, { original: event }); - // Define accessors - const keys = Object.keys(event); - for (let i = 0; i < keys.length; ++i) { - const key = keys[i]; - if (!(key in this)) { - Object.defineProperty(this, key, defineRedirectDescriptor(event, key)); - } - } - } - stopPropagation() { - super.stopPropagation(); - const { original } = $$1(this); - if ("stopPropagation" in original) { - original.stopPropagation(); - } - } - get cancelBubble() { - return super.cancelBubble; - } - set cancelBubble(value) { - super.cancelBubble = value; - const { original } = $$1(this); - if ("cancelBubble" in original) { - original.cancelBubble = value; - } - } - stopImmediatePropagation() { - super.stopImmediatePropagation(); - const { original } = $$1(this); - if ("stopImmediatePropagation" in original) { - original.stopImmediatePropagation(); - } - } - get returnValue() { - return super.returnValue; - } - set returnValue(value) { - super.returnValue = value; - const { original } = $$1(this); - if ("returnValue" in original) { - original.returnValue = value; - } - } - preventDefault() { - super.preventDefault(); - const { original } = $$1(this); - if ("preventDefault" in original) { - original.preventDefault(); - } - } - get timeStamp() { - const { original } = $$1(this); - if ("timeStamp" in original) { - return original.timeStamp; - } - return super.timeStamp; - } -} -/** - * Private data for event wrappers. - */ -const internalDataMap$1 = new WeakMap(); -/** - * Get private data. - * @param event The event object to get private data. - * @returns The private data of the event. - */ -function $$1(event) { - const retv = internalDataMap$1.get(event); - assertType(retv != null, "'this' is expected an Event object, but got", event); - return retv; -} -/** - * Cache for wrapper classes. - * @type {WeakMap} - * @private - */ -const wrapperClassCache = new WeakMap(); -// Make association for wrappers. -wrapperClassCache.set(Object.prototype, EventWrapper); -/** - * Get the wrapper class of a given prototype. - * @param originalEvent The event object to wrap. - */ -function getWrapperClassOf(originalEvent) { - const prototype = Object.getPrototypeOf(originalEvent); - if (prototype == null) { - return EventWrapper; - } - let wrapper = wrapperClassCache.get(prototype); - if (wrapper == null) { - wrapper = defineWrapper(getWrapperClassOf(prototype), prototype); - wrapperClassCache.set(prototype, wrapper); - } - return wrapper; -} -/** - * Define new wrapper class. - * @param BaseEventWrapper The base wrapper class. - * @param originalPrototype The prototype of the original event. - */ -function defineWrapper(BaseEventWrapper, originalPrototype) { - class CustomEventWrapper extends BaseEventWrapper { - } - const keys = Object.keys(originalPrototype); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(CustomEventWrapper.prototype, keys[i], defineRedirectDescriptor(originalPrototype, keys[i])); - } - return CustomEventWrapper; -} -/** - * Get the property descriptor to redirect a given property. - */ -function defineRedirectDescriptor(obj, key) { - const d = Object.getOwnPropertyDescriptor(obj, key); - return { - get() { - const original = $$1(this).original; - const value = original[key]; - if (typeof value === "function") { - return value.bind(original); - } - return value; - }, - set(value) { - const original = $$1(this).original; - original[key] = value; - }, - configurable: d.configurable, - enumerable: d.enumerable, - }; -} - -/** - * Create a new listener. - * @param callback The callback function. - * @param capture The capture flag. - * @param passive The passive flag. - * @param once The once flag. - * @param signal The abort signal. - * @param signalListener The abort event listener for the abort signal. - */ -function createListener(callback, capture, passive, once, signal, signalListener) { - return { - callback, - flags: (capture ? 1 /* Capture */ : 0) | - (passive ? 2 /* Passive */ : 0) | - (once ? 4 /* Once */ : 0), - signal, - signalListener, - }; -} -/** - * Set the `removed` flag to the given listener. - * @param listener The listener to check. - */ -function setRemoved(listener) { - listener.flags |= 8 /* Removed */; -} -/** - * Check if the given listener has the `capture` flag or not. - * @param listener The listener to check. - */ -function isCapture(listener) { - return (listener.flags & 1 /* Capture */) === 1 /* Capture */; -} -/** - * Check if the given listener has the `passive` flag or not. - * @param listener The listener to check. - */ -function isPassive(listener) { - return (listener.flags & 2 /* Passive */) === 2 /* Passive */; -} -/** - * Check if the given listener has the `once` flag or not. - * @param listener The listener to check. - */ -function isOnce(listener) { - return (listener.flags & 4 /* Once */) === 4 /* Once */; -} -/** - * Check if the given listener has the `removed` flag or not. - * @param listener The listener to check. - */ -function isRemoved(listener) { - return (listener.flags & 8 /* Removed */) === 8 /* Removed */; -} -/** - * Call an event listener. - * @param listener The listener to call. - * @param target The event target object for `thisArg`. - * @param event The event object for the first argument. - * @param attribute `true` if this callback is an event attribute handler. - */ -function invokeCallback({ callback }, target, event) { - try { - if (typeof callback === "function") { - callback.call(target, event); - } - else if (typeof callback.handleEvent === "function") { - callback.handleEvent(event); - } - } - catch (thrownError) { - reportError(thrownError); - } -} - -/** - * Find the index of given listener. - * This returns `-1` if not found. - * @param list The listener list. - * @param callback The callback function to find. - * @param capture The capture flag to find. - */ -function findIndexOfListener({ listeners }, callback, capture) { - for (let i = 0; i < listeners.length; ++i) { - if (listeners[i].callback === callback && - isCapture(listeners[i]) === capture) { - return i; - } - } - return -1; -} -/** - * Add the given listener. - * Does copy-on-write if needed. - * @param list The listener list. - * @param callback The callback function. - * @param capture The capture flag. - * @param passive The passive flag. - * @param once The once flag. - * @param signal The abort signal. - */ -function addListener(list, callback, capture, passive, once, signal) { - let signalListener; - if (signal) { - signalListener = removeListener.bind(null, list, callback, capture); - signal.addEventListener("abort", signalListener); - } - const listener = createListener(callback, capture, passive, once, signal, signalListener); - if (list.cow) { - list.cow = false; - list.listeners = [...list.listeners, listener]; - } - else { - list.listeners.push(listener); - } - return listener; -} -/** - * Remove a listener. - * @param list The listener list. - * @param callback The callback function to find. - * @param capture The capture flag to find. - * @returns `true` if it mutated the list directly. - */ -function removeListener(list, callback, capture) { - const index = findIndexOfListener(list, callback, capture); - if (index !== -1) { - return removeListenerAt(list, index); - } - return false; -} -/** - * Remove a listener. - * @param list The listener list. - * @param index The index of the target listener. - * @param disableCow Disable copy-on-write if true. - * @returns `true` if it mutated the `listeners` array directly. - */ -function removeListenerAt(list, index, disableCow = false) { - const listener = list.listeners[index]; - // Set the removed flag. - setRemoved(listener); - // Dispose the abort signal listener if exists. - if (listener.signal) { - listener.signal.removeEventListener("abort", listener.signalListener); - } - // Remove it from the array. - if (list.cow && !disableCow) { - list.cow = false; - list.listeners = list.listeners.filter((_, i) => i !== index); - return false; - } - list.listeners.splice(index, 1); - return true; -} - -/** - * Create a new `ListenerListMap` object. - */ -function createListenerListMap() { - return Object.create(null); -} -/** - * Get the listener list of the given type. - * If the listener list has not been initialized, initialize and return it. - * @param listenerMap The listener list map. - * @param type The event type to get. - */ -function ensureListenerList(listenerMap, type) { - var _a; - return ((_a = listenerMap[type]) !== null && _a !== void 0 ? _a : (listenerMap[type] = { - attrCallback: undefined, - attrListener: undefined, - cow: false, - listeners: [], - })); -} - -/** - * An implementation of the `EventTarget` interface. - * @see https://dom.spec.whatwg.org/#eventtarget - */ -class EventTarget { - /** - * Initialize this instance. - */ - constructor() { - internalDataMap$2.set(this, createListenerListMap()); - } - // Implementation - addEventListener(type0, callback0, options0) { - const listenerMap = $$2(this); - const { callback, capture, once, passive, signal, type, } = normalizeAddOptions(type0, callback0, options0); - if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) { - return; - } - const list = ensureListenerList(listenerMap, type); - // Find existing listener. - const i = findIndexOfListener(list, callback, capture); - if (i !== -1) { - warnDuplicate(list.listeners[i], passive, once, signal); - return; - } - // Add the new listener. - addListener(list, callback, capture, passive, once, signal); - } - // Implementation - removeEventListener(type0, callback0, options0) { - const listenerMap = $$2(this); - const { callback, capture, type } = normalizeOptions(type0, callback0, options0); - const list = listenerMap[type]; - if (callback != null && list) { - removeListener(list, callback, capture); - } - } - // Implementation - dispatchEvent(e) { - const list = $$2(this)[String(e.type)]; - if (list == null) { - return true; - } - const event = e instanceof Event ? e : EventWrapper.wrap(e); - const eventData = $(event, "event"); - if (eventData.dispatchFlag) { - throw new DOMException("This event has been in dispatching."); - } - eventData.dispatchFlag = true; - eventData.target = eventData.currentTarget = this; - if (!eventData.stopPropagationFlag) { - const { cow, listeners } = list; - // Set copy-on-write flag. - list.cow = true; - // Call listeners. - for (let i = 0; i < listeners.length; ++i) { - const listener = listeners[i]; - // Skip if removed. - if (isRemoved(listener)) { - continue; - } - // Remove this listener if has the `once` flag. - if (isOnce(listener) && removeListenerAt(list, i, !cow)) { - // Because this listener was removed, the next index is the - // same as the current value. - i -= 1; - } - // Call this listener with the `passive` flag. - eventData.inPassiveListenerFlag = isPassive(listener); - invokeCallback(listener, this, event); - eventData.inPassiveListenerFlag = false; - // Stop if the `event.stopImmediatePropagation()` method was called. - if (eventData.stopImmediatePropagationFlag) { - break; - } - } - // Restore copy-on-write flag. - if (!cow) { - list.cow = false; - } - } - eventData.target = null; - eventData.currentTarget = null; - eventData.stopImmediatePropagationFlag = false; - eventData.stopPropagationFlag = false; - eventData.dispatchFlag = false; - return !eventData.canceledFlag; - } -} -/** - * Internal data. - */ -const internalDataMap$2 = new WeakMap(); -/** - * Get private data. - * @param target The event target object to get private data. - * @param name The variable name to report. - * @returns The private data of the event. - */ -function $$2(target, name = "this") { - const retv = internalDataMap$2.get(target); - assertType(retv != null, "'%s' must be an object that EventTarget constructor created, but got another one: %o", name, target); - return retv; -} -/** - * Normalize options. - * @param options The options to normalize. - */ -function normalizeAddOptions(type, callback, options) { - var _a; - assertCallback(callback); - if (typeof options === "object" && options !== null) { - return { - type: String(type), - callback: callback !== null && callback !== void 0 ? callback : undefined, - capture: Boolean(options.capture), - passive: Boolean(options.passive), - once: Boolean(options.once), - signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined, - }; - } - return { - type: String(type), - callback: callback !== null && callback !== void 0 ? callback : undefined, - capture: Boolean(options), - passive: false, - once: false, - signal: undefined, - }; -} -/** - * Normalize options. - * @param options The options to normalize. - */ -function normalizeOptions(type, callback, options) { - assertCallback(callback); - if (typeof options === "object" && options !== null) { - return { - type: String(type), - callback: callback !== null && callback !== void 0 ? callback : undefined, - capture: Boolean(options.capture), - }; - } - return { - type: String(type), - callback: callback !== null && callback !== void 0 ? callback : undefined, - capture: Boolean(options), - }; -} -/** - * Assert the type of 'callback' argument. - * @param callback The callback to check. - */ -function assertCallback(callback) { - if (typeof callback === "function" || - (typeof callback === "object" && - callback !== null && - typeof callback.handleEvent === "function")) { - return; - } - if (callback == null || typeof callback === "object") { - InvalidEventListener.warn(callback); - return; - } - throw new TypeError(format(InvalidEventListener.message, [callback])); -} -/** - * Print warning for duplicated. - * @param listener The current listener that is duplicated. - * @param passive The passive flag of the new duplicated listener. - * @param once The once flag of the new duplicated listener. - * @param signal The signal object of the new duplicated listener. - */ -function warnDuplicate(listener, passive, once, signal) { - EventListenerWasDuplicated.warn(isCapture(listener) ? "capture" : "bubble", listener.callback); - if (isPassive(listener) !== passive) { - OptionWasIgnored.warn("passive"); - } - if (isOnce(listener) !== once) { - OptionWasIgnored.warn("once"); - } - if (listener.signal !== signal) { - OptionWasIgnored.warn("signal"); - } -} -// Set enumerable -const keys$1$1 = Object.getOwnPropertyNames(EventTarget.prototype); -for (let i = 0; i < keys$1$1.length; ++i) { - if (keys$1$1[i] === "constructor") { - continue; - } - Object.defineProperty(EventTarget.prototype, keys$1$1[i], { enumerable: true }); -} - -function u(u,D){for(var t=0;tu.length)&&(D=u.length);for(var t=0,F=new Array(D);t=u.length?{done:!0}:{done:!1,value:u[e++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var e=/(?:[\$A-Z_a-z\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\u08A0-\u08B4\u08B6-\u08C7\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\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\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-\u170C\u170E-\u1711\u1720-\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-\u1B4B\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-\u2C2E\u2C30-\u2C5E\u2C60-\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-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/,C=/(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])/;function A(u,D){return (D?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(u)}function E(u,D){void 0===D&&(D=!1);for(var t=[],F=0;F-1:void 0===g;A||(c+="(?:"+p+"(?="+h+"))?"),x||(c+="(?="+p+"|"+h+")");}return new RegExp(c,i(t))}function a(u,D,t){return u instanceof RegExp?function(u,D){if(!D)return u;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,F=0,e=t.exec(u.source);e;)D.push({name:e[1]||F++,prefix:"",suffix:"",modifier:"",pattern:""}),e=t.exec(u.source);return u}(u,D):Array.isArray(u)?function(u,D,t){var F=u.map(function(u){return a(u,D,t).source});return new RegExp("(?:"+F.join("|")+")",i(t))}(u,D,t):function(u,D,t){return s(n(u,t),D,t)}(u,D,t)}var B={delimiter:"",prefixes:"",sensitive:!0,strict:!0},o={delimiter:".",prefixes:"",sensitive:!0,strict:!0},h={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function p(u,D){return u.startsWith(D)?u.substring(D.length,u.length):u}function c(u){return !(!u||u.length<2||"["!==u[0]&&("\\"!==u[0]&&"{"!==u[0]||"["!==u[1]))}var f,l=["ftp","file","http","https","ws","wss"];function m(u){if(!u)return !0;for(var D,t=F(l);!(D=t()).done;)if(u.test(D.value))return !0;return !1}function d(u){switch(u){case"ws":case"http":return "80";case"wws":case"https":return "443";case"ftp":return "21";default:return ""}}function g(u){if(""===u)return u;if(/^[-+.A-Za-z0-9]*$/.test(u))return u.toLowerCase();throw new TypeError("Invalid protocol '"+u+"'.")}function x(u){if(""===u)return u;var D=new URL("https://example.com");return D.username=u,D.username}function S(u){if(""===u)return u;var D=new URL("https://example.com");return D.password=u,D.password}function v(u){if(""===u)return u;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(u))throw new TypeError("Invalid hostname '"+u+"'");var D=new URL("https://example.com");return D.hostname=u,D.hostname}function y(u){if(""===u)return u;if(/[^0-9a-fA-F[\]:]/g.test(u))throw new TypeError("Invalid IPv6 hostname '"+u+"'");return u.toLowerCase()}function R(u){if(""===u)return u;if(/^[0-9]*$/.test(u)&&parseInt(u)<=65535)return u;throw new TypeError("Invalid port '"+u+"'.")}function k(u){if(""===u)return u;var D=new URL("https://example.com");return D.pathname="/"!==u[0]?"/-"+u:u,"/"!==u[0]?D.pathname.substring(2,D.pathname.length):D.pathname}function w(u){return ""===u?u:new URL("data:"+u).pathname}function P(u){if(""===u)return u;var D=new URL("https://example.com");return D.search=u,D.search.substring(1,D.search.length)}function T(u){if(""===u)return u;var D=new URL("https://example.com");return D.hash=u,D.hash.substring(1,D.hash.length)}!function(u){u[u.INIT=0]="INIT",u[u.PROTOCOL=1]="PROTOCOL",u[u.AUTHORITY=2]="AUTHORITY",u[u.USERNAME=3]="USERNAME",u[u.PASSWORD=4]="PASSWORD",u[u.HOSTNAME=5]="HOSTNAME",u[u.PORT=6]="PORT",u[u.PATHNAME=7]="PATHNAME",u[u.SEARCH=8]="SEARCH",u[u.HASH=9]="HASH",u[u.DONE=10]="DONE";}(f||(f={}));var b=function(){function u(u){this.input=void 0,this.tokenList=[],this.internalResult={},this.tokenIndex=0,this.tokenIncrement=1,this.componentStart=0,this.state=f.INIT,this.groupDepth=0,this.hostnameIPv6BracketDepth=0,this.shouldTreatAsStandardURL=!1,this.input=u;}var t=u.prototype;return t.parse=function(){for(this.tokenList=E(this.input,!0);this.tokenIndex0){if(!this.isGroupClose())continue;this.groupDepth-=1;}if(this.isGroupOpen())this.groupDepth+=1;else switch(this.state){case f.INIT:this.isProtocolSuffix()&&(this.internalResult.username="",this.internalResult.password="",this.internalResult.hostname="",this.internalResult.port="",this.internalResult.pathname="",this.internalResult.search="",this.internalResult.hash="",this.rewindAndSetState(f.PROTOCOL));break;case f.PROTOCOL:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();var u=f.PATHNAME,D=1;this.shouldTreatAsStandardURL&&(this.internalResult.pathname="/"),this.nextIsAuthoritySlashes()?(u=f.AUTHORITY,D=3):this.shouldTreatAsStandardURL&&(u=f.AUTHORITY),this.changeState(u,D);}break;case f.AUTHORITY:this.isIdentityTerminator()?this.rewindAndSetState(f.USERNAME):(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix())&&this.rewindAndSetState(f.HOSTNAME);break;case f.USERNAME:this.isPasswordPrefix()?this.changeState(f.PASSWORD,1):this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.PASSWORD:this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.HOSTNAME:this.isIPv6Open()?this.hostnameIPv6BracketDepth+=1:this.isIPv6Close()&&(this.hostnameIPv6BracketDepth-=1),this.isPortPrefix()&&!this.hostnameIPv6BracketDepth?this.changeState(f.PORT,1):this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PORT:this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PATHNAME:this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.SEARCH:this.isHashPrefix()&&this.changeState(f.HASH,1);}}},t.changeState=function(u,D){switch(this.state){case f.INIT:break;case f.PROTOCOL:this.internalResult.protocol=this.makeComponentString();break;case f.AUTHORITY:break;case f.USERNAME:this.internalResult.username=this.makeComponentString();break;case f.PASSWORD:this.internalResult.password=this.makeComponentString();break;case f.HOSTNAME:this.internalResult.hostname=this.makeComponentString();break;case f.PORT:this.internalResult.port=this.makeComponentString();break;case f.PATHNAME:this.internalResult.pathname=this.makeComponentString();break;case f.SEARCH:this.internalResult.search=this.makeComponentString();break;case f.HASH:this.internalResult.hash=this.makeComponentString();}this.changeStateWithoutSettingComponent(u,D);},t.changeStateWithoutSettingComponent=function(u,D){this.state=u,this.componentStart=this.tokenIndex+D,this.tokenIndex+=D,this.tokenIncrement=0;},t.rewind=function(){this.tokenIndex=this.componentStart,this.tokenIncrement=0;},t.rewindAndSetState=function(u){this.rewind(),this.state=u;},t.safeToken=function(u){return u<0&&(u=this.tokenList.length-u),u=0&&(u.pathname=F.pathname.substring(0,e+1)+u.pathname);}u.pathname=function(u,D,t){if(t||""===u)return u;if(D&&!l.includes(D))return new URL(D+":"+u).pathname;var F="/"==u[0];return u=new URL(F?u:"/-"+u,"https://example.com").pathname,F||(u=u.substring(2,u.length)),u}(u.pathname,u.protocol,t);}return "string"==typeof D.search&&(u.search=function(u,D){if(u=p(u,"?"),D||""===u)return u;var t=new URL("https://example.com");return t.search=u,t.search?t.search.substring(1,t.search.length):""}(D.search,t)),"string"==typeof D.hash&&(u.hash=function(u,D){if(u=p(u,"#"),D||""===u)return u;var t=new URL("https://example.com");return t.hash=u,t.hash?t.hash.substring(1,t.hash.length):""}(D.hash,t)),u}function N(u){return u.replace(/([+*?:{}()\\])/g,"\\$1")}function L(u,D){for(var t="[^"+(D.delimiter||"/#?").replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")+"]+?",F=/(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])/,e="",C=0;C0?u[C-1]:null,n=C0?n[0]:""):"number"==typeof n.name),!s&&""===A.prefix&&E&&"string"==typeof E&&E.length>0&&(s=i.includes(E[E.length-1])),s&&(e+="{"),e+=N(A.prefix),r&&(e+=":"+A.name),".*"===A.pattern?e+=r||E&&"string"!=typeof E&&!E.modifier&&!s&&""===A.prefix?"(.*)":"*":A.pattern===t?r||(e+="("+t+")"):e+="("+A.pattern+")",A.pattern===t&&r&&""!==A.suffix&&F.test(A.suffix[0])&&(e+="\\"),e+=N(A.suffix),s&&(e+="}"),e+=A.modifier;}else {if(""===A.modifier){e+=N(A.prefix);continue}e+="{"+N(A.prefix)+"}"+A.modifier;}else e+=N(A);}return e}var U=function(){function u(u,D){void 0===u&&(u={}),this.pattern=void 0,this.regexp={},this.keys={},this.component_pattern={};try{if("string"==typeof u){var t=new b(u);if(t.parse(),u=t.result,D){if("string"!=typeof D)throw new TypeError("'baseURL' parameter is not of type 'string'.");u.baseURL=D;}else if("string"!=typeof u.protocol)throw new TypeError("A base URL must be provided for a relative constructor string.")}else if(D)throw new TypeError("parameter 1 is not of type 'string'.");if(!u||"object"!=typeof u)throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");var e;this.pattern=H({pathname:"*",protocol:"*",username:"*",password:"*",hostname:"*",port:"*",search:"*",hash:"*"},u,!0),d(this.pattern.protocol)===this.pattern.port&&(this.pattern.port="");for(var C,A=F(I);!(C=A()).done;)if((e=C.value)in this.pattern){var E={},r=this.pattern[e];switch(this.keys[e]=[],e){case"protocol":Object.assign(E,B),E.encodePart=g;break;case"username":Object.assign(E,B),E.encodePart=x;break;case"password":Object.assign(E,B),E.encodePart=S;break;case"hostname":Object.assign(E,o),E.encodePart=c(r)?y:v;break;case"port":Object.assign(E,B),E.encodePart=R;break;case"pathname":m(this.regexp.protocol)?(Object.assign(E,h),E.encodePart=k):(Object.assign(E,B),E.encodePart=w);break;case"search":Object.assign(E,B),E.encodePart=P;break;case"hash":Object.assign(E,B),E.encodePart=T;}try{var i=n(r,E);this.regexp[e]=s(i,this.keys[e],E),this.component_pattern[e]=L(i,E);}catch(u){throw new TypeError("invalid "+e+" pattern '"+this.pattern[e]+"'.")}}}catch(u){throw new TypeError("Failed to construct 'URLPattern': "+u.message)}}var t=u.prototype;return t.test=function(u,D){void 0===u&&(u={});var t,F={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof u&&D)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0===u)return !1;try{F=H(F,"object"==typeof u?u:O(u,D),!1);}catch(u){return !1}for(t in this.pattern)if(!this.regexp[t].exec(F[t]))return !1;return !0},t.exec=function(u,D){void 0===u&&(u={});var t={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof u&&D)throw new TypeError("parameter 1 is not of type 'string'.");if(void 0!==u){try{t=H(t,"object"==typeof u?u:O(u,D),!1);}catch(u){return null}var e,C={};for(e in C.inputs=D?[u,D]:[u],this.pattern){var A=this.regexp[e].exec(t[e]);if(!A)return null;for(var E,n={},r=F(this.keys[e].entries());!(E=r()).done;){var i=E.value,s=i[1];"string"!=typeof s.name&&"number"!=typeof s.name||(n[s.name]=A[i[0]+1]||"");}C[e]={input:t[e]||"",groups:n};}return C}},D(u,[{key:"protocol",get:function(){return this.component_pattern.protocol}},{key:"username",get:function(){return this.component_pattern.username}},{key:"password",get:function(){return this.component_pattern.password}},{key:"hostname",get:function(){return this.component_pattern.hostname}},{key:"port",get:function(){return this.component_pattern.port}},{key:"pathname",get:function(){return this.component_pattern.pathname}},{key:"search",get:function(){return this.component_pattern.search}},{key:"hash",get:function(){return this.component_pattern.hash}}]),u}(); - -const INTERNAL$2 = { tick: 0, pool: new Map() }; -function requestAnimationFrame(callback) { - if (!INTERNAL$2.pool.size) { - setTimeout$1(() => { - const next = __performance_now(); - for (const func of INTERNAL$2.pool.values()) { - func(next); - } - INTERNAL$2.pool.clear(); - }, 1000 / 16); - } - const func = __function_bind(callback, undefined); - const tick = ++INTERNAL$2.tick; - INTERNAL$2.pool.set(tick, func); - return tick; -} -function cancelAnimationFrame(requestId) { - const timeout = INTERNAL$2.pool.get(requestId); - if (timeout) { - clearTimeout$1(timeout); - INTERNAL$2.pool.delete(requestId); - } -} - -class Node extends EventTarget { - append(...nodesOrDOMStrings) { - } - appendChild(childNode) { - return childNode; - } - after(...nodesOrDOMStrings) { - } - before(...nodesOrDOMStrings) { - } - prepend(...nodesOrDOMStrings) { - } - replaceChild(newChild, oldChild) { - return oldChild; - } - removeChild(childNode) { - return childNode; - } - get attributes() { - return {}; - } - get childNodes() { - return []; - } - get children() { - return []; - } - get ownerDocument() { - return null; - } - get nodeValue() { - return ''; - } - set nodeValue(value) { - } - get textContent() { - return ''; - } - set textContent(value) { - } - get previousElementSibling() { - return null; - } - get nextElementSibling() { - return null; - } - [Symbol.for('nodejs.util.inspect.custom')](depth, options) { - return `${this.constructor.name}`; - } -} -class DocumentFragment extends Node { -} -class ShadowRoot extends DocumentFragment { - get innerHTML() { - return ''; - } - set innerHTML(value) { - } -} -const NodeFilter$1 = Object.assign({ - NodeFilter() { - throw new TypeError('Illegal constructor'); - }, -}.NodeFilter, { - FILTER_ACCEPT: 1, - FILTER_REJECT: 2, - FILTER_SKIP: 3, - SHOW_ALL: 4294967295, - SHOW_ELEMENT: 1, - SHOW_ATTRIBUTE: 2, - SHOW_TEXT: 4, - SHOW_CDATA_SECTION: 8, - SHOW_ENTITY_REFERENCE: 16, - SHOW_ENTITY: 32, - SHOW_PROCESSING_INSTRUCTION: 64, - SHOW_COMMENT: 128, - SHOW_DOCUMENT: 256, - SHOW_DOCUMENT_TYPE: 512, - SHOW_DOCUMENT_FRAGMENT: 1024, - SHOW_NOTATION: 2048, -}); -class NodeIterator$1 { - nextNode() { - return null; - } - previousNode() { - return null; - } - get filter() { - const internals = internalsOf(this, 'NodeIterator', 'filter'); - return internals.filter; - } - get pointerBeforeReferenceNode() { - const internals = internalsOf(this, 'NodeIterator', 'pointerBeforeReferenceNode'); - return internals.pointerBeforeReferenceNode; - } - get referenceNode() { - const internals = internalsOf(this, 'NodeIterator', 'referenceNode'); - return internals.referenceNode; - } - get root() { - const internals = internalsOf(this, 'NodeIterator', 'root'); - return internals.root; - } - get whatToShow() { - const internals = internalsOf(this, 'NodeIterator', 'whatToShow'); - return internals.whatToShow; - } -} -allowStringTag(Node); -allowStringTag(NodeIterator$1); -allowStringTag(DocumentFragment); -allowStringTag(ShadowRoot); - -class CharacterData extends Node { - constructor(data) { - INTERNALS.set(super(), { - data: String(data), - }); - } - get data() { - return internalsOf(this, 'CharacterData', 'data') - .data; - } - get textContent() { - return internalsOf(this, 'CharacterData', 'textContent').data; - } -} -class Comment extends CharacterData { -} -class Text extends CharacterData { - get assignedSlot() { - return null; - } - get wholeText() { - return internalsOf(this, 'CharacterData', 'textContent').data; - } -} -allowStringTag(CharacterData); -allowStringTag(Text); -allowStringTag(Comment); - -class CustomEvent extends Event { - constructor(type, params) { - params = Object(params); - super(type, params); - if ('detail' in params) - this.detail = params.detail; - } -} -allowStringTag(CustomEvent); - -const INTERNAL$1 = { tick: 0, pool: new Map() }; -function requestIdleCallback(callback) { - if (!INTERNAL$1.pool.size) { - setTimeout$1(() => { - const next = __performance_now(); - for (const func of INTERNAL$1.pool.values()) { - func(next); - } - INTERNAL$1.pool.clear(); - }, 1000 / 16); - } - const func = __function_bind(callback, undefined); - const tick = ++INTERNAL$1.tick; - INTERNAL$1.pool.set(tick, func); - return tick; -} -function cancelIdleCallback(requestId) { - const timeout = INTERNAL$1.pool.get(requestId); - if (timeout) { - clearTimeout$1(timeout); - INTERNAL$1.pool.delete(requestId); - } -} - -const PRIMITIVE = 0; -const ARRAY = 1; -const OBJECT = 2; -const DATE = 3; -const REGEXP = 4; -const MAP = 5; -const SET = 6; -const ERROR = 7; -const BIGINT = 8; -// export const SYMBOL = 9; - -const env = typeof self === 'object' ? self : globalThis; - -const deserializer = ($, _) => { - const as = (out, index) => { - $.set(index, out); - return out; - }; - - const unpair = index => { - if ($.has(index)) - return $.get(index); - - const [type, value] = _[index]; - switch (type) { - case PRIMITIVE: - return as(value, index); - case ARRAY: { - const arr = as([], index); - for (const index of value) - arr.push(unpair(index)); - return arr; - } - case OBJECT: { - const object = as({}, index); - for (const [key, index] of value) - object[unpair(key)] = unpair(index); - return object; - } - case DATE: - return as(new Date(value), index); - case REGEXP: { - const {source, flags} = value; - return as(new RegExp(source, flags), index); - } - case MAP: { - const map = as(new Map, index); - for (const [key, index] of value) - map.set(unpair(key), unpair(index)); - return map; - } - case SET: { - const set = as(new Set, index); - for (const index of value) - set.add(unpair(index)); - return set; - } - case ERROR: { - const {name, message} = value; - return as(new env[name](message), index); - } - case BIGINT: - return as(BigInt(value), index); - case 'BigInt': - return as(Object(BigInt(value)), index); - } - return as(new env[type](value), index); - }; - - return unpair; -}; - -/** - * @typedef {Array} Record a type representation - */ - -/** - * Returns a deserialized value from a serialized array of Records. - * @param {Record[]} serialized a previously serialized value. - * @returns {any} - */ -const deserialize = serialized => deserializer(new Map, serialized)(0); - -const EMPTY = ''; - -const {toString} = {}; -const {keys} = Object; - -const typeOf = value => { - const type = typeof value; - if (type !== 'object' || !value) - return [PRIMITIVE, type]; - - const asString = toString.call(value).slice(8, -1); - switch (asString) { - case 'Array': - return [ARRAY, EMPTY]; - case 'Object': - return [OBJECT, EMPTY]; - case 'Date': - return [DATE, EMPTY]; - case 'RegExp': - return [REGEXP, EMPTY]; - case 'Map': - return [MAP, EMPTY]; - case 'Set': - return [SET, EMPTY]; - } - - if (asString.includes('Array')) - return [ARRAY, asString]; - - if (asString.includes('Error')) - return [ERROR, asString]; - - return [OBJECT, asString]; -}; - -const shouldSkip = ([TYPE, type]) => ( - TYPE === PRIMITIVE && - (type === 'function' || type === 'symbol') -); - -const serializer = (strict, json, $, _) => { - - const as = (out, value) => { - const index = _.push(out) - 1; - $.set(value, index); - return index; - }; - - const pair = value => { - if ($.has(value)) - return $.get(value); - - let [TYPE, type] = typeOf(value); - switch (TYPE) { - case PRIMITIVE: { - let entry = value; - switch (type) { - case 'bigint': - TYPE = BIGINT; - entry = value.toString(); - break; - case 'function': - case 'symbol': - if (strict) - throw new TypeError('unable to serialize ' + type); - entry = null; - break; - } - return as([TYPE, entry], value); - } - case ARRAY: { - if (type) - return as([type, [...value]], value); - - const arr = []; - const index = as([TYPE, arr], value); - for (const entry of value) - arr.push(pair(entry)); - return index; - } - case OBJECT: { - if (type) { - switch (type) { - case 'BigInt': - return as([type, value.toString()], value); - case 'Boolean': - case 'Number': - case 'String': - return as([type, value.valueOf()], value); - } - } - - if (json && ('toJSON' in value)) - return pair(value.toJSON()); - - const entries = []; - const index = as([TYPE, entries], value); - for (const key of keys(value)) { - if (strict || !shouldSkip(typeOf(value[key]))) - entries.push([pair(key), pair(value[key])]); - } - return index; - } - case DATE: - return as([TYPE, value.toISOString()], value); - case REGEXP: { - const {source, flags} = value; - return as([TYPE, {source, flags}], value); - } - case MAP: { - const entries = []; - const index = as([TYPE, entries], value); - for (const [key, entry] of value) { - if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry)))) - entries.push([pair(key), pair(entry)]); - } - return index; - } - case SET: { - const entries = []; - const index = as([TYPE, entries], value); - for (const entry of value) { - if (strict || !shouldSkip(typeOf(entry))) - entries.push(pair(entry)); - } - return index; - } - } - - const {message} = value; - return as([TYPE, {name: type, message}], value); - }; - - return pair; -}; - -/** - * @typedef {Array} Record a type representation - */ - -/** - * Returns an array of serialized Records. - * @param {any} value a serializable value. - * @param {{lossy?: boolean}?} options an object with a `lossy` property that, - * if `true`, will not throw errors on incompatible types, and behave more - * like JSON stringify would behave. Symbol and Function will be discarded. - * @returns {Record[]} - */ - const serialize = (value, {json, lossy} = {}) => { - const _ = []; - return serializer(!(json || lossy), !!json, new Map, _)(value), _; -}; - -var structuredClone = (any, options) => deserialize(serialize(any, options)); - -const INTERNAL = { tick: 0, pool: new Map() }; -function setTimeout(callback, delay = 0, ...args) { - const func = __function_bind(callback, globalThis); - const tick = ++INTERNAL.tick; - const timeout = setTimeout$1(func, delay, ...args); - INTERNAL.pool.set(tick, timeout); - return tick; -} -function clearTimeout(timeoutId) { - const timeout = INTERNAL.pool.get(timeoutId); - if (timeout) { - clearTimeout$1(timeout); - INTERNAL.pool.delete(timeoutId); - } -} - -class TreeWalker { - parentNode() { - return null; - } - firstChild() { - return null; - } - lastChild() { - return null; - } - previousSibling() { - return null; - } - nextSibling() { - return null; - } - previousNode() { - return null; - } - nextNode() { - return null; - } - get currentNode() { - const internals = internalsOf(this, 'TreeWalker', 'currentNode'); - return internals.currentNode; - } - get root() { - const internals = internalsOf(this, 'TreeWalker', 'root'); - return internals.root; - } - get whatToShow() { - const internals = internalsOf(this, 'TreeWalker', 'whatToShow'); - return internals.whatToShow; - } -} -allowStringTag(TreeWalker); - -class ImageData { - constructor(arg0, arg1, ...args) { - if (arguments.length < 2) - throw new TypeError(`Failed to construct 'ImageData': 2 arguments required.`); - /** Whether Uint8ClampedArray data is provided. */ - const hasData = __object_isPrototypeOf(Uint8ClampedArray.prototype, arg0); - /** Image data, either provided or calculated. */ - const d = hasData - ? arg0 - : new Uint8ClampedArray(asNumber(arg0, 'width') * asNumber(arg1, 'height') * 4); - /** Image width. */ - const w = asNumber(hasData ? arg1 : arg0, 'width'); - /** Image height. */ - const h = d.length / w / 4; - /** Image color space. */ - const c = String(Object(hasData ? args[1] : args[0]).colorSpace || 'srgb'); - // throw if a provided height does not match the calculated height - if (args.length && asNumber(args[0], 'height') !== h) - throw new DOMException('height is not equal to (4 * width * height)', 'IndexSizeError'); - // throw if a provided colorspace does not match a known colorspace - if (c !== 'srgb' && c !== 'rec2020' && c !== 'display-p3') - throw new TypeError('colorSpace is not known value'); - Object.defineProperty(this, 'data', { - configurable: true, - enumerable: true, - value: d, - }); - INTERNALS.set(this, { - width: w, - height: h, - colorSpace: c, - }); - } - get data() { - internalsOf(this, 'ImageData', 'data'); - return Object.getOwnPropertyDescriptor(this, 'data').value; - } - get width() { - return internalsOf(this, 'ImageData', 'width').width; - } - get height() { - return internalsOf(this, 'ImageData', 'height').height; - } -} -allowStringTag(ImageData); -/** Returns a coerced number, optionally throwing if the number is zero-ish. */ -const asNumber = (value, axis) => { - value = Number(value) || 0; - if (value === 0) - throw new TypeError(`The source ${axis} is zero or not a number.`); - return value; -}; - -class CanvasRenderingContext2D { - get canvas() { - return internalsOf(this, 'CanvasRenderingContext2D', 'canvas').canvas; - } - get direction() { - return internalsOf(this, 'CanvasRenderingContext2D', 'direction') - .direction; - } - get fillStyle() { - return internalsOf(this, 'CanvasRenderingContext2D', 'fillStyle') - .fillStyle; - } - get filter() { - return internalsOf(this, 'CanvasRenderingContext2D', 'filter').filter; - } - get globalAlpha() { - return internalsOf(this, 'CanvasRenderingContext2D', 'globalAlpha') - .globalAlpha; - } - get globalCompositeOperation() { - return internalsOf(this, 'CanvasRenderingContext2D', 'globalCompositeOperation').globalCompositeOperation; - } - get font() { - return internalsOf(this, 'CanvasRenderingContext2D', 'font').font; - } - get imageSmoothingEnabled() { - return internalsOf(this, 'CanvasRenderingContext2D', 'imageSmoothingEnabled').imageSmoothingEnabled; - } - get imageSmoothingQuality() { - return internalsOf(this, 'CanvasRenderingContext2D', 'imageSmoothingQuality').imageSmoothingQuality; - } - get lineCap() { - return internalsOf(this, 'CanvasRenderingContext2D', 'lineCap').lineCap; - } - get lineDashOffset() { - return internalsOf(this, 'CanvasRenderingContext2D', 'lineDashOffset') - .lineDashOffset; - } - get lineJoin() { - return internalsOf(this, 'CanvasRenderingContext2D', 'lineJoin').lineJoin; - } - get lineWidth() { - return internalsOf(this, 'CanvasRenderingContext2D', 'lineWidth') - .lineWidth; - } - get miterLimit() { - return internalsOf(this, 'CanvasRenderingContext2D', 'miterLimit') - .miterLimit; - } - get strokeStyle() { - return internalsOf(this, 'CanvasRenderingContext2D', 'strokeStyle') - .strokeStyle; - } - get shadowOffsetX() { - return internalsOf(this, 'CanvasRenderingContext2D', 'shadowOffsetX') - .shadowOffsetX; - } - get shadowOffsetY() { - return internalsOf(this, 'CanvasRenderingContext2D', 'shadowOffsetY') - .shadowOffsetY; - } - get shadowBlur() { - return internalsOf(this, 'CanvasRenderingContext2D', 'shadowBlur') - .shadowBlur; - } - get shadowColor() { - return internalsOf(this, 'CanvasRenderingContext2D', 'shadowColor') - .shadowColor; - } - get textAlign() { - return internalsOf(this, 'CanvasRenderingContext2D', 'textAlign') - .textAlign; - } - get textBaseline() { - return internalsOf(this, 'CanvasRenderingContext2D', 'textBaseline') - .textBaseline; - } - arc() { } - arcTo() { } - beginPath() { } - bezierCurveTo() { } - clearRect() { } - clip() { } - closePath() { } - createImageData(arg0, arg1) { - /** Whether ImageData is provided. */ - const hasData = __object_isPrototypeOf(ImageData.prototype, arg0); - const w = hasData ? arg0.width : arg0; - const h = hasData ? arg0.height : arg1; - const d = hasData - ? arg0.data - : new Uint8ClampedArray(w * h * 4); - return new ImageData(d, w, h); - } - createLinearGradient() { } - createPattern() { } - createRadialGradient() { } - drawFocusIfNeeded() { } - drawImage() { } - ellipse() { } - fill() { } - fillRect() { } - fillText() { } - getContextAttributes() { } - getImageData() { } - getLineDash() { } - getTransform() { } - isPointInPath() { } - isPointInStroke() { } - lineTo() { } - measureText() { } - moveTo() { } - putImageData() { } - quadraticCurveTo() { } - rect() { } - resetTransform() { } - restore() { } - rotate() { } - save() { } - scale() { } - setLineDash() { } - setTransform() { } - stroke() { } - strokeRect() { } - strokeText() { } - transform() { } - translate() { } -} -allowStringTag(CanvasRenderingContext2D); -const __createCanvasRenderingContext2D = (canvas) => { - const renderingContext2D = Object.create(CanvasRenderingContext2D.prototype); - INTERNALS.set(renderingContext2D, { - canvas, - direction: 'inherit', - fillStyle: '#000', - filter: 'none', - font: '10px sans-serif', - globalAlpha: 0, - globalCompositeOperation: 'source-over', - imageSmoothingEnabled: false, - imageSmoothingQuality: 'high', - lineCap: 'butt', - lineDashOffset: 0.0, - lineJoin: 'miter', - lineWidth: 1.0, - miterLimit: 10.0, - shadowBlur: 0, - shadowColor: '#000', - shadowOffsetX: 0, - shadowOffsetY: 0, - strokeStyle: '#000', - textAlign: 'start', - textBaseline: 'alphabetic', - }); - return renderingContext2D; -}; - -class CustomElementRegistry { - /** Defines a new custom element using the given tag name and HTMLElement constructor. */ - define(name, constructor, options) { - const internals = internalsOf(this, 'CustomElementRegistry', 'define'); - name = String(name); - if (/[A-Z]/.test(name)) - throw new SyntaxError('Custom element name cannot contain an uppercase ASCII letter'); - if (!/^[a-z]/.test(name)) - throw new SyntaxError('Custom element name must have a lowercase ASCII letter as its first character'); - if (!/-/.test(name)) - throw new SyntaxError('Custom element name must contain a hyphen'); - INTERNALS.set(constructor, { - attributes: {}, - localName: name, - }); - internals.constructorByName.set(name, constructor); - internals.nameByConstructor.set(constructor, name); - } - /** Returns the constructor associated with the given tag name. */ - get(name) { - const internals = internalsOf(this, 'CustomElementRegistry', 'get'); - name = String(name).toLowerCase(); - return internals.constructorByName.get(name); - } - getName(constructor) { - const internals = internalsOf(this, 'CustomElementRegistry', 'getName'); - return internals.nameByConstructor.get(constructor); - } -} -allowStringTag(CustomElementRegistry); -const initCustomElementRegistry = (target, exclude) => { - if (exclude.has('customElements')) - return; - const CustomElementRegistry = target.CustomElementRegistry || globalThis.CustomElementRegistry; - const customElements = target.customElements || - (target.customElements = new CustomElementRegistry()); - INTERNALS.set(customElements, { - constructorByName: new Map(), - nameByConstructor: new Map(), - }); -}; - -class Element extends Node { - constructor() { - super(); - if (INTERNALS.has(new.target)) { - const internals = internalsOf(new.target, 'Element', 'localName'); - INTERNALS.set(this, { - attributes: {}, - localName: internals.localName, - ownerDocument: this.ownerDocument, - shadowInit: null, - shadowRoot: null, - }); - } - } - hasAttribute(name) { - return false; - } - getAttribute(name) { - return null; - } - setAttribute(name, value) { - } - removeAttribute(name) { - } - attachShadow(init) { - if (arguments.length < 1) - throw new TypeError(`Failed to execute 'attachShadow' on 'Element': 1 argument required, but only 0 present.`); - if (init !== Object(init)) - throw new TypeError(`Failed to execute 'attachShadow' on 'Element': The provided value is not of type 'ShadowRootInit'.`); - if (init.mode !== 'open' && init.mode !== 'closed') - throw new TypeError(`Failed to execute 'attachShadow' on 'Element': Failed to read the 'mode' property from 'ShadowRootInit': The provided value '${init.mode}' is not a valid enum value of type ShadowRootMode.`); - const internals = internalsOf(this, 'Element', 'attachShadow'); - if (internals.shadowRoot) - throw new Error('The operation is not supported.'); - internals.shadowInit = internals.shadowInit || { - mode: init.mode, - delegatesFocus: Boolean(init.delegatesFocus), - }; - internals.shadowRoot = - internals.shadowRoot || - (/^open$/.test(internals.shadowInit.mode) - ? Object.setPrototypeOf(new EventTarget(), ShadowRoot.prototype) - : null); - return internals.shadowRoot; - } - get assignedSlot() { - return null; - } - get innerHTML() { - internalsOf(this, 'Element', 'innerHTML'); - return ''; - } - set innerHTML(value) { - internalsOf(this, 'Element', 'innerHTML'); - } - get shadowRoot() { - const internals = internalsOf(this, 'Element', 'shadowRoot'); - return Object(internals.shadowInit).mode === 'open' - ? internals.shadowRoot - : null; - } - get localName() { - return internalsOf(this, 'Element', 'localName') - .localName; - } - get nodeName() { - return internalsOf(this, 'Element', 'nodeName') - .localName.toUpperCase(); - } - get tagName() { - return internalsOf(this, 'Element', 'tagName') - .localName.toUpperCase(); - } -} -class HTMLElement extends Element { -} -class HTMLBodyElement extends HTMLElement { -} -class HTMLDivElement extends HTMLElement { -} -class HTMLHeadElement extends HTMLElement { -} -class HTMLHtmlElement extends HTMLElement { -} -class HTMLSpanElement extends HTMLElement { -} -class HTMLStyleElement extends HTMLElement { -} -class HTMLTemplateElement extends HTMLElement { -} -class HTMLUnknownElement extends HTMLElement { -} -allowStringTag(Element); -allowStringTag(HTMLElement); -allowStringTag(HTMLBodyElement); -allowStringTag(HTMLDivElement); -allowStringTag(HTMLHeadElement); -allowStringTag(HTMLHtmlElement); -allowStringTag(HTMLSpanElement); -allowStringTag(HTMLStyleElement); -allowStringTag(HTMLTemplateElement); -allowStringTag(HTMLUnknownElement); - -class Document extends Node { - createElement(name) { - const internals = internalsOf(this, 'Document', 'createElement'); - const customElementInternals = INTERNALS.get(internals.target.customElements); - name = String(name).toLowerCase(); - const TypeOfHTMLElement = internals.constructorByName.get(name) || - (customElementInternals && - customElementInternals.constructorByName.get(name)) || - HTMLUnknownElement; - const element = Object.setPrototypeOf(new EventTarget(), TypeOfHTMLElement.prototype); - INTERNALS.set(element, { - attributes: {}, - localName: name, - ownerDocument: this, - shadowInit: null, - shadowRoot: null, - }); - return element; - } - createNodeIterator(root, whatToShow = NodeFilter.SHOW_ALL, filter) { - const target = Object.create(NodeIterator.prototype); - INTERNALS.set(target, { - filter, - pointerBeforeReferenceNode: false, - referenceNode: root, - root, - whatToShow, - }); - return target; - } - createTextNode(data) { - return new Text(data); - } - createTreeWalker(root, whatToShow = NodeFilter.SHOW_ALL, filter, expandEntityReferences) { - const target = Object.create(TreeWalker.prototype); - INTERNALS.set(target, { - filter, - currentNode: root, - root, - whatToShow, - }); - return target; - } - get adoptedStyleSheets() { - return []; - } - get styleSheets() { - return []; - } -} -class HTMLDocument extends Document { -} -allowStringTag(Document); -allowStringTag(HTMLDocument); -const initDocument = (target, exclude) => { - if (exclude.has('document')) - return; - const EventTarget = target.EventTarget || globalThis.EventTarget; - const HTMLDocument = target.HTMLDocument || globalThis.HTMLDocument; - const document = (target.document = Object.setPrototypeOf(new EventTarget(), HTMLDocument.prototype)); - INTERNALS.set(document, { - target, - constructorByName: new Map([ - ['body', target.HTMLBodyElement], - ['canvas', target.HTMLCanvasElement], - ['div', target.HTMLDivElement], - ['head', target.HTMLHeadElement], - ['html', target.HTMLHtmlElement], - ['img', target.HTMLImageElement], - ['span', target.HTMLSpanElement], - ['style', target.HTMLStyleElement], - ]), - nameByConstructor: new Map(), - }); - const initElement = (name, Class) => { - const target = Object.setPrototypeOf(new EventTarget(), Class.prototype); - INTERNALS.set(target, { - attributes: {}, - localName: name, - ownerDocument: document, - shadowRoot: null, - shadowInit: null, - }); - return target; - }; - document.body = initElement('body', target.HTMLBodyElement); - document.head = initElement('head', target.HTMLHeadElement); - document.documentElement = initElement('html', target.HTMLHtmlElement); -}; - -class HTMLCanvasElement extends HTMLElement { - get height() { - return internalsOf(this, 'HTMLCanvasElement', 'height').height; - } - set height(value) { - internalsOf(this, 'HTMLCanvasElement', 'height').height = - Number(value) || 0; - } - get width() { - return internalsOf(this, 'HTMLCanvasElement', 'width').width; - } - set width(value) { - internalsOf(this, 'HTMLCanvasElement', 'width').width = Number(value) || 0; - } - captureStream() { - return null; - } - getContext(contextType) { - const internals = internalsOf(this, 'HTMLCanvasElement', 'getContext'); - switch (contextType) { - case '2d': - if (internals.renderingContext2D) - return internals.renderingContext2D; - internals.renderingContext2D = __createCanvasRenderingContext2D(this); - return internals.renderingContext2D; - default: - return null; - } - } - toBlob() { } - toDataURL() { } - transferControlToOffscreen() { } -} -allowStringTag(HTMLCanvasElement); - -class HTMLImageElement extends HTMLElement { - get src() { - return internalsOf(this, 'HTMLImageElement', 'src').src; - } - set src(value) { - const internals = internalsOf(this, 'HTMLImageElement', 'src'); - internals.src = String(value); - } -} -allowStringTag(HTMLImageElement); - -function Image() { - // @ts-expect-error - INTERNALS.set(this, { - attributes: {}, - localName: 'img', - innerHTML: '', - shadowRoot: null, - shadowInit: null, - }); -} -Image.prototype = HTMLImageElement.prototype; - -class MediaQueryList extends EventTarget { - get matches() { - return internalsOf(this, 'MediaQueryList', 'matches').matches; - } - get media() { - return internalsOf(this, 'MediaQueryList', 'media').media; - } -} -allowStringTag(MediaQueryList); -const initMediaQueryList = (target, exclude) => { - if (exclude.has('MediaQueryList') || exclude.has('matchMedia')) - return; - const EventTarget = target.EventTarget || globalThis.EventTarget; - const MediaQueryList = target.MediaQueryList || globalThis.MediaQueryList; - target.matchMedia = function matchMedia(media) { - const mql = Object.setPrototypeOf(new EventTarget(), MediaQueryList.prototype); - INTERNALS.set(mql, { - matches: false, - media, - }); - return mql; - }; -}; - -class IntersectionObserver { - disconnect() { } - observe() { } - takeRecords() { - return []; - } - unobserve() { } -} -class MutationObserver { - disconnect() { } - observe() { } - takeRecords() { - return []; - } - unobserve() { } -} -class ResizeObserver { - disconnect() { } - observe() { } - takeRecords() { - return []; - } - unobserve() { } -} -allowStringTag(MutationObserver); -allowStringTag(IntersectionObserver); -allowStringTag(ResizeObserver); - -class OffscreenCanvas extends EventTarget { - constructor(width, height) { - super(); - if (arguments.length < 2) - throw new TypeError(`Failed to construct 'OffscreenCanvas': 2 arguments required.`); - width = Number(width) || 0; - height = Number(height) || 0; - INTERNALS.set(this, { width, height }); - } - get height() { - return internalsOf(this, 'OffscreenCanvas', 'height').height; - } - set height(value) { - internalsOf(this, 'OffscreenCanvas', 'height').height = Number(value) || 0; - } - get width() { - return internalsOf(this, 'OffscreenCanvas', 'width').width; - } - set width(value) { - internalsOf(this, 'OffscreenCanvas', 'width').width = Number(value) || 0; - } - getContext(contextType) { - const internals = internalsOf(this, 'HTMLCanvasElement', 'getContext'); - switch (contextType) { - case '2d': - if (internals.renderingContext2D) - return internals.renderingContext2D; - internals.renderingContext2D = __createCanvasRenderingContext2D(this); - return internals.renderingContext2D; - default: - return null; - } - } - convertToBlob(options) { - options = Object(options); - Number(options.quality) || 0; - const type = getImageType(String(options.type).trim().toLowerCase()); - return Promise.resolve(new Blob([], { type })); - } -} -allowStringTag(OffscreenCanvas); -const getImageType = (type) => type === 'image/avif' || - type === 'image/jpeg' || - type === 'image/png' || - type === 'image/webp' - ? type - : 'image/png'; - -class Storage { - clear() { - internalsOf(this, 'Storage', 'clear').storage.clear(); - } - getItem(key) { - return getStringOrNull(internalsOf(this, 'Storage', 'getItem').storage.get(String(key))); - } - key(index) { - return getStringOrNull([ - ...internalsOf(this, 'Storage', 'key').storage.keys(), - ][Number(index) || 0]); - } - removeItem(key) { - internalsOf(this, 'Storage', 'getItem').storage.delete(String(key)); - } - setItem(key, value) { - internalsOf(this, 'Storage', 'getItem').storage.set(String(key), String(value)); - } - get length() { - return internalsOf(this, 'Storage', 'size').storage.size; - } -} -const getStringOrNull = (value) => typeof value === 'string' ? value : null; -const initStorage = (target, exclude) => { - if (exclude.has('Storage') || exclude.has('localStorage')) - return; - target.localStorage = Object.create(Storage.prototype); - const storageInternals = new Map(); - INTERNALS.set(target.localStorage, { - storage: storageInternals, - }); -}; - -class StyleSheet { -} -class CSSStyleSheet extends StyleSheet { - async replace(text) { - return new CSSStyleSheet(); - } - replaceSync(text) { - return new CSSStyleSheet(); - } - get cssRules() { - return []; - } -} -allowStringTag(StyleSheet); -allowStringTag(CSSStyleSheet); - -class Window extends EventTarget { - get self() { - return this; - } - get top() { - return this; - } - get window() { - return this; - } - get innerHeight() { - return 0; - } - get innerWidth() { - return 0; - } - get scrollX() { - return 0; - } - get scrollY() { - return 0; - } -} -allowStringTag(Window); -const initWindow = (target, exclude) => { - if (exclude.has('Window') || exclude.has('window')) - return; - target.window = target; -}; - -function alert(...messages) { - console.log(...messages); -} - -const exclusionsForHTMLElement = [ - 'CustomElementsRegistry', - 'HTMLElement', - 'HTMLBodyElement', - 'HTMLCanvasElement', - 'HTMLDivElement', - 'HTMLHeadElement', - 'HTMLHtmlElement', - 'HTMLImageElement', - 'HTMLStyleElement', - 'HTMLTemplateElement', - 'HTMLUnknownElement', - 'Image', -]; -const exclusionsForElement = ['Element', ...exclusionsForHTMLElement]; -const exclusionsForDocument = [ - 'CustomElementsRegistry', - 'Document', - 'HTMLDocument', - 'document', - 'customElements', -]; -const exclusionsForNode = [ - 'Node', - 'DocumentFragment', - 'ShadowRoot', - ...exclusionsForDocument, - ...exclusionsForElement, -]; -const exclusionsForEventTarget = [ - 'Event', - 'CustomEvent', - 'EventTarget', - 'OffscreenCanvas', - 'MediaQueryList', - 'Window', - ...exclusionsForNode, -]; -const exclusionsForEvent = [ - 'Event', - 'CustomEvent', - 'EventTarget', - 'MediaQueryList', - 'OffscreenCanvas', - 'Window', - ...exclusionsForNode, -]; -const exclusions = { - 'Document+': exclusionsForDocument, - 'Element+': exclusionsForElement, - 'Event+': exclusionsForEvent, - 'EventTarget+': exclusionsForEventTarget, - 'HTMLElement+': exclusionsForHTMLElement, - 'Node+': exclusionsForNode, - 'StyleSheet+': ['StyleSheet', 'CSSStyleSheet'], -}; - -const inheritance = { - CSSStyleSheet: 'StyleSheet', - CustomEvent: 'Event', - DOMException: 'Error', - Document: 'Node', - DocumentFragment: 'Node', - Element: 'Node', - HTMLDocument: 'Document', - HTMLElement: 'Element', - HTMLBodyElement: 'HTMLElement', - HTMLCanvasElement: 'HTMLElement', - HTMLDivElement: 'HTMLElement', - HTMLHeadElement: 'HTMLElement', - HTMLHtmlElement: 'HTMLElement', - HTMLImageElement: 'HTMLElement', - HTMLSpanElement: 'HTMLElement', - HTMLStyleElement: 'HTMLElement', - HTMLTemplateElement: 'HTMLElement', - HTMLUnknownElement: 'HTMLElement', - Image: 'HTMLElement', - MediaQueryList: 'EventTarget', - Node: 'EventTarget', - OffscreenCanvas: 'EventTarget', - ShadowRoot: 'DocumentFragment', - Window: 'EventTarget', -}; - -const polyfill = (target, options) => { - const webAPIs = { - ByteLengthQueuingStrategy, - CanvasRenderingContext2D, - CharacterData, - Comment, - CountQueuingStrategy, - CSSStyleSheet, - CustomElementRegistry, - CustomEvent, - Document, - DocumentFragment, - DOMException, - Element, - Event, - EventTarget, - File, - FormData, - HTMLDocument, - HTMLElement, - HTMLBodyElement, - HTMLCanvasElement, - HTMLDivElement, - HTMLHeadElement, - HTMLHtmlElement, - HTMLImageElement, - HTMLSpanElement, - HTMLStyleElement, - HTMLTemplateElement, - HTMLUnknownElement, - Headers, - IntersectionObserver, - Image, - ImageData, - MediaQueryList, - MutationObserver, - Node, - NodeFilter: NodeFilter$1, - NodeIterator: NodeIterator$1, - OffscreenCanvas, - ReadableByteStreamController, - ReadableStream, - ReadableStreamBYOBReader, - ReadableStreamBYOBRequest, - ReadableStreamDefaultController, - ReadableStreamDefaultReader, - Request, - ResizeObserver, - Response, - ShadowRoot, - Storage, - StyleSheet, - Text, - TransformStream, - TreeWalker, - URLPattern: U, - WritableStream, - WritableStreamDefaultController, - WritableStreamDefaultWriter, - Window, - alert, - cancelAnimationFrame, - cancelIdleCallback, - clearTimeout, - crypto: webcrypto, - fetch, - requestAnimationFrame, - requestIdleCallback, - setTimeout, - structuredClone, - }; - // initialize exclude options - const excludeOptions = new Set(typeof Object(options).exclude === 'string' - ? String(Object(options).exclude).trim().split(/\s+/) - : Array.isArray(Object(options).exclude) - ? Object(options).exclude.reduce((array, entry) => array.splice(array.length, 0, ...(typeof entry === 'string' ? entry.trim().split(/\s+/) : [])) && array, []) - : []); - // expand exclude options using exclusion shorthands - for (const excludeOption of excludeOptions) { - if (excludeOption in exclusions) { - for (const exclusion of exclusions[excludeOption]) { - excludeOptions.add(exclusion); - } - } - } - // apply each WebAPI - for (const name of Object.keys(webAPIs)) { - // skip WebAPIs that are excluded - if (excludeOptions.has(name)) - continue; - // skip WebAPIs that are built-in - if (Object.hasOwnProperty.call(target, name)) - continue; - // define WebAPIs on the target - Object.defineProperty(target, name, { - configurable: true, - enumerable: true, - writable: true, - value: webAPIs[name], - }); - } - // ensure WebAPIs correctly inherit other WebAPIs - for (const name of Object.keys(webAPIs)) { - // skip WebAPIs that are excluded - if (excludeOptions.has(name)) - continue; - // skip WebAPIs that do not extend other WebAPIs - if (!Object.hasOwnProperty.call(inheritance, name)) - continue; - const Class = target[name]; - const Super = target[inheritance[name]]; - // skip WebAPIs that are not available - if (!Class || !Super) - continue; - // skip WebAPIs that are already inherited correctly - if (Object.getPrototypeOf(Class.prototype) === Super.prototype) - continue; - // define WebAPIs inheritance - Object.setPrototypeOf(Class.prototype, Super.prototype); - } - if (!excludeOptions.has('HTMLDocument') && - !excludeOptions.has('HTMLElement')) { - initDocument(target, excludeOptions); - if (!excludeOptions.has('CustomElementRegistry')) { - initCustomElementRegistry(target, excludeOptions); - } - } - initMediaQueryList(target, excludeOptions); - initStorage(target, excludeOptions); - initWindow(target, excludeOptions); - return target; -}; -polyfill.internals = (target, name) => { - const init = { - CustomElementRegistry: initCustomElementRegistry, - Document: initDocument, - MediaQueryList: initMediaQueryList, - Storage: initStorage, - Window: initWindow, - }; - init[name](target, new Set()); - return target; -}; - -export { CSSStyleSheet, CanvasRenderingContext2D, CharacterData, Comment, CustomElementRegistry, CustomEvent, DOMException, Document, DocumentFragment, Element, Event, EventTarget, HTMLBodyElement, HTMLCanvasElement, HTMLDivElement, HTMLDocument, HTMLElement, HTMLHeadElement, HTMLHtmlElement, HTMLImageElement, HTMLSpanElement, HTMLStyleElement, HTMLTemplateElement, HTMLUnknownElement, Image, ImageData, IntersectionObserver, MediaQueryList, MutationObserver, Node, NodeFilter$1 as NodeFilter, NodeIterator$1 as NodeIterator, OffscreenCanvas, ResizeObserver, ShadowRoot, StyleSheet, Text, TreeWalker, U as URLPattern, Window, alert, cancelAnimationFrame, cancelIdleCallback, clearTimeout, pathToPosix, polyfill, requestAnimationFrame, requestIdleCallback, setTimeout, structuredClone }; -//# sourceMappingURL=mod.js.map diff --git a/packages/webapi/mod.js.map b/packages/webapi/mod.js.map deleted file mode 100644 index 3f490916bffb..000000000000 --- a/packages/webapi/mod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mod.js","sources":["src/lib/utils.ts","src/lib/DOMException.ts","node_modules/event-target-shim/index.mjs","../../node_modules/.pnpm/urlpattern-polyfill@1.0.0-rc5/node_modules/urlpattern-polyfill/dist/index.js","src/lib/AnimationFrame.ts","src/lib/Node.ts","src/lib/CharacterData.ts","src/lib/CustomEvent.ts","src/lib/IdleCallback.ts","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/types.js","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/deserialize.js","../../node_modules/.pnpm/@ungap+structured-clone@0.3.4/node_modules/@ungap/structured-clone/esm/serialize.js","src/lib/structuredClone.ts","src/lib/Timeout.ts","src/lib/TreeWalker.ts","src/lib/ImageData.ts","src/lib/CanvasRenderingContext2D.ts","src/lib/CustomElementRegistry.ts","src/lib/Element.ts","src/lib/Document.ts","src/lib/HTMLCanvasElement.ts","src/lib/HTMLImageElement.ts","src/lib/Image.ts","src/lib/MediaQueryList.ts","src/lib/Observer.ts","src/lib/OffscreenCanvas.ts","src/lib/Storage.ts","src/lib/StyleSheet.ts","src/lib/Window.ts","src/lib/Alert.ts","src/exclusions.ts","src/inheritance.ts","src/polyfill.ts"],"sourcesContent":[null,null,"/**\n * Assert a condition.\n * @param condition The condition that it should satisfy.\n * @param message The error message.\n * @param args The arguments for replacing placeholders in the message.\n */\nfunction assertType(condition, message, ...args) {\n if (!condition) {\n throw new TypeError(format(message, args));\n }\n}\n/**\n * Convert a text and arguments to one string.\n * @param message The formating text\n * @param args The arguments.\n */\nfunction format(message, args) {\n let i = 0;\n return message.replace(/%[os]/gu, () => anyToString(args[i++]));\n}\n/**\n * Convert a value to a string representation.\n * @param x The value to get the string representation.\n */\nfunction anyToString(x) {\n if (typeof x !== \"object\" || x === null) {\n return String(x);\n }\n return Object.prototype.toString.call(x);\n}\n\nlet currentErrorHandler;\n/**\n * Set the error handler.\n * @param value The error handler to set.\n */\nfunction setErrorHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The error handler must be a function or undefined, but got %o.\", value);\n currentErrorHandler = value;\n}\n/**\n * Print a error message.\n * @param maybeError The error object.\n */\nfunction reportError(maybeError) {\n try {\n const error = maybeError instanceof Error\n ? maybeError\n : new Error(anyToString(maybeError));\n // Call the user-defined error handler if exists.\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n }\n // Dispatch an `error` event if this is on a browser.\n if (typeof dispatchEvent === \"function\" &&\n typeof ErrorEvent === \"function\") {\n dispatchEvent(new ErrorEvent(\"error\", { error, message: error.message }));\n }\n // Emit an `uncaughtException` event if this is on Node.js.\n //istanbul ignore else\n else if (typeof process !== \"undefined\" &&\n typeof process.emit === \"function\") {\n process.emit(\"uncaughtException\", error);\n return;\n }\n // Otherwise, print the error.\n console.error(error);\n }\n catch (_a) {\n // ignore.\n }\n}\n\n/**\n * The global object.\n */\n//istanbul ignore next\nconst Global = typeof window !== \"undefined\"\n ? window\n : typeof self !== \"undefined\"\n ? self\n : typeof global !== \"undefined\"\n ? global\n : typeof globalThis !== \"undefined\"\n ? globalThis\n : undefined;\n\nlet currentWarnHandler;\n/**\n * Set the warning handler.\n * @param value The warning handler to set.\n */\nfunction setWarningHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The warning handler must be a function or undefined, but got %o.\", value);\n currentWarnHandler = value;\n}\n/**\n * The warning information.\n */\nclass Warning {\n constructor(code, message) {\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n warn(...args) {\n var _a;\n try {\n // Call the user-defined warning handler if exists.\n if (currentWarnHandler) {\n currentWarnHandler({ ...this, args });\n return;\n }\n // Otherwise, print the warning.\n const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : \"\").replace(/^(?:.+?\\n){2}/gu, \"\\n\");\n console.warn(this.message, ...args, stack);\n }\n catch (_b) {\n // Ignore.\n }\n }\n}\n\nconst InitEventWasCalledWhileDispatching = new Warning(\"W01\", \"Unable to initialize event under dispatching.\");\nconst FalsyWasAssignedToCancelBubble = new Warning(\"W02\", \"Assigning any falsy value to 'cancelBubble' property has no effect.\");\nconst TruthyWasAssignedToReturnValue = new Warning(\"W03\", \"Assigning any truthy value to 'returnValue' property has no effect.\");\nconst NonCancelableEventWasCanceled = new Warning(\"W04\", \"Unable to preventDefault on non-cancelable events.\");\nconst CanceledInPassiveListener = new Warning(\"W05\", \"Unable to preventDefault inside passive event listener invocation.\");\nconst EventListenerWasDuplicated = new Warning(\"W06\", \"An event listener wasn't added because it has been added already: %o, %o\");\nconst OptionWasIgnored = new Warning(\"W07\", \"The %o option value was abandoned because the event listener wasn't added as duplicated.\");\nconst InvalidEventListener = new Warning(\"W08\", \"The 'callback' argument must be a function or an object that has 'handleEvent' method: %o\");\nconst InvalidAttributeHandler = new Warning(\"W09\", \"Event attribute handler must be a function: %o\");\n\n/*eslint-disable class-methods-use-this */\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * `EventTarget` shim can control the internal state of this `Event` objects.\n * @see https://dom.spec.whatwg.org/#event\n */\nclass Event {\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n static get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n static get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n static get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n static get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n constructor(type, eventInitDict) {\n Object.defineProperty(this, \"isTrusted\", {\n value: false,\n enumerable: true,\n });\n const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now(),\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n get type() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n get target() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n get srcElement() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n get currentTarget() {\n return $(this).currentTarget;\n }\n /**\n * The event target of the current dispatching.\n * This doesn't support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n composedPath() {\n const currentTarget = $(this).currentTarget;\n if (currentTarget) {\n return [currentTarget];\n }\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n get eventPhase() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n /**\n * Stop event bubbling.\n * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n get cancelBubble() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n set cancelBubble(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n }\n else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n stopImmediatePropagation() {\n const data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n get bubbles() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n get cancelable() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n get returnValue() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n set returnValue(value) {\n if (!value) {\n setCancelFlag($(this));\n }\n else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n get defaultPrevented() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n get composed() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n get isTrusted() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n get timeStamp() {\n return $(this).timeStamp;\n }\n /**\n * @deprecated Don't use this method. The constructor did initialization.\n */\n initEvent(type, bubbles = false, cancelable = false) {\n const data = $(this);\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n internalDataMap.set(this, {\n ...data,\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n });\n }\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\nconst NONE = 0;\nconst CAPTURING_PHASE = 1;\nconst AT_TARGET = 2;\nconst BUBBLING_PHASE = 3;\n/**\n * Private data for event wrappers.\n */\nconst internalDataMap = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\nfunction $(event, name = \"this\") {\n const retv = internalDataMap.get(event);\n assertType(retv != null, \"'%s' must be an object that Event constructor created, but got another one: %o\", name, event);\n return retv;\n}\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data private data.\n */\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n data.canceledFlag = true;\n}\n// Set enumerable\nObject.defineProperty(Event, \"NONE\", { enumerable: true });\nObject.defineProperty(Event, \"CAPTURING_PHASE\", { enumerable: true });\nObject.defineProperty(Event, \"AT_TARGET\", { enumerable: true });\nObject.defineProperty(Event, \"BUBBLING_PHASE\", { enumerable: true });\nconst keys = Object.getOwnPropertyNames(Event.prototype);\nfor (let i = 0; i < keys.length; ++i) {\n if (keys[i] === \"constructor\") {\n continue;\n }\n Object.defineProperty(Event.prototype, keys[i], { enumerable: true });\n}\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\n\n/**\n * Create a new InvalidStateError instance.\n * @param message The error message.\n */\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, \"InvalidStateError\");\n }\n if (DOMException == null) {\n DOMException = class DOMException extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DOMException);\n }\n }\n // eslint-disable-next-line class-methods-use-this\n get code() {\n return 11;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return \"InvalidStateError\";\n }\n };\n Object.defineProperties(DOMException.prototype, {\n code: { enumerable: true },\n name: { enumerable: true },\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n return new DOMException(message);\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\nlet DOMException;\nconst ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25,\n};\nfunction defineErrorCodeProperties(obj) {\n const keys = Object.keys(ErrorCodeMap);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n const value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get() {\n return value;\n },\n configurable: true,\n enumerable: true,\n });\n }\n}\n\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * This class controls the internal state of `Event`.\n * @see https://dom.spec.whatwg.org/#interface-event\n */\nclass EventWrapper extends Event {\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n static wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n constructor(event) {\n super(event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed,\n });\n if (event.cancelBubble) {\n super.stopPropagation();\n }\n if (event.defaultPrevented) {\n super.preventDefault();\n }\n internalDataMap$1.set(this, { original: event });\n // Define accessors\n const keys = Object.keys(event);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(event, key));\n }\n }\n }\n stopPropagation() {\n super.stopPropagation();\n const { original } = $$1(this);\n if (\"stopPropagation\" in original) {\n original.stopPropagation();\n }\n }\n get cancelBubble() {\n return super.cancelBubble;\n }\n set cancelBubble(value) {\n super.cancelBubble = value;\n const { original } = $$1(this);\n if (\"cancelBubble\" in original) {\n original.cancelBubble = value;\n }\n }\n stopImmediatePropagation() {\n super.stopImmediatePropagation();\n const { original } = $$1(this);\n if (\"stopImmediatePropagation\" in original) {\n original.stopImmediatePropagation();\n }\n }\n get returnValue() {\n return super.returnValue;\n }\n set returnValue(value) {\n super.returnValue = value;\n const { original } = $$1(this);\n if (\"returnValue\" in original) {\n original.returnValue = value;\n }\n }\n preventDefault() {\n super.preventDefault();\n const { original } = $$1(this);\n if (\"preventDefault\" in original) {\n original.preventDefault();\n }\n }\n get timeStamp() {\n const { original } = $$1(this);\n if (\"timeStamp\" in original) {\n return original.timeStamp;\n }\n return super.timeStamp;\n }\n}\n/**\n * Private data for event wrappers.\n */\nconst internalDataMap$1 = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @returns The private data of the event.\n */\nfunction $$1(event) {\n const retv = internalDataMap$1.get(event);\n assertType(retv != null, \"'this' is expected an Event object, but got\", event);\n return retv;\n}\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrapperClassCache = new WeakMap();\n// Make association for wrappers.\nwrapperClassCache.set(Object.prototype, EventWrapper);\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\n/**\n * Get the wrapper class of a given prototype.\n * @param originalEvent The event object to wrap.\n */\nfunction getWrapperClassOf(originalEvent) {\n const prototype = Object.getPrototypeOf(originalEvent);\n if (prototype == null) {\n return EventWrapper;\n }\n let wrapper = wrapperClassCache.get(prototype);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n return wrapper;\n}\n/**\n * Define new wrapper class.\n * @param BaseEventWrapper The base wrapper class.\n * @param originalPrototype The prototype of the original event.\n */\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n class CustomEventWrapper extends BaseEventWrapper {\n }\n const keys = Object.keys(originalPrototype);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(CustomEventWrapper.prototype, keys[i], defineRedirectDescriptor(originalPrototype, keys[i]));\n }\n return CustomEventWrapper;\n}\n/**\n * Get the property descriptor to redirect a given property.\n */\nfunction defineRedirectDescriptor(obj, key) {\n const d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get() {\n const original = $$1(this).original;\n const value = original[key];\n if (typeof value === \"function\") {\n return value.bind(original);\n }\n return value;\n },\n set(value) {\n const original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable,\n };\n}\n\n/**\n * Create a new listener.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n * @param signalListener The abort event listener for the abort signal.\n */\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback,\n flags: (capture ? 1 /* Capture */ : 0) |\n (passive ? 2 /* Passive */ : 0) |\n (once ? 4 /* Once */ : 0),\n signal,\n signalListener,\n };\n}\n/**\n * Set the `removed` flag to the given listener.\n * @param listener The listener to check.\n */\nfunction setRemoved(listener) {\n listener.flags |= 8 /* Removed */;\n}\n/**\n * Check if the given listener has the `capture` flag or not.\n * @param listener The listener to check.\n */\nfunction isCapture(listener) {\n return (listener.flags & 1 /* Capture */) === 1 /* Capture */;\n}\n/**\n * Check if the given listener has the `passive` flag or not.\n * @param listener The listener to check.\n */\nfunction isPassive(listener) {\n return (listener.flags & 2 /* Passive */) === 2 /* Passive */;\n}\n/**\n * Check if the given listener has the `once` flag or not.\n * @param listener The listener to check.\n */\nfunction isOnce(listener) {\n return (listener.flags & 4 /* Once */) === 4 /* Once */;\n}\n/**\n * Check if the given listener has the `removed` flag or not.\n * @param listener The listener to check.\n */\nfunction isRemoved(listener) {\n return (listener.flags & 8 /* Removed */) === 8 /* Removed */;\n}\n/**\n * Call an event listener.\n * @param listener The listener to call.\n * @param target The event target object for `thisArg`.\n * @param event The event object for the first argument.\n * @param attribute `true` if this callback is an event attribute handler.\n */\nfunction invokeCallback({ callback }, target, event) {\n try {\n if (typeof callback === \"function\") {\n callback.call(target, event);\n }\n else if (typeof callback.handleEvent === \"function\") {\n callback.handleEvent(event);\n }\n }\n catch (thrownError) {\n reportError(thrownError);\n }\n}\n\n/**\n * Find the index of given listener.\n * This returns `-1` if not found.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n */\nfunction findIndexOfListener({ listeners }, callback, capture) {\n for (let i = 0; i < listeners.length; ++i) {\n if (listeners[i].callback === callback &&\n isCapture(listeners[i]) === capture) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Add the given listener.\n * Does copy-on-write if needed.\n * @param list The listener list.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n */\nfunction addListener(list, callback, capture, passive, once, signal) {\n let signalListener;\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener(\"abort\", signalListener);\n }\n const listener = createListener(callback, capture, passive, once, signal, signalListener);\n if (list.cow) {\n list.cow = false;\n list.listeners = [...list.listeners, listener];\n }\n else {\n list.listeners.push(listener);\n }\n return listener;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n * @returns `true` if it mutated the list directly.\n */\nfunction removeListener(list, callback, capture) {\n const index = findIndexOfListener(list, callback, capture);\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n return false;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param index The index of the target listener.\n * @param disableCow Disable copy-on-write if true.\n * @returns `true` if it mutated the `listeners` array directly.\n */\nfunction removeListenerAt(list, index, disableCow = false) {\n const listener = list.listeners[index];\n // Set the removed flag.\n setRemoved(listener);\n // Dispose the abort signal listener if exists.\n if (listener.signal) {\n listener.signal.removeEventListener(\"abort\", listener.signalListener);\n }\n // Remove it from the array.\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter((_, i) => i !== index);\n return false;\n }\n list.listeners.splice(index, 1);\n return true;\n}\n\n/**\n * Create a new `ListenerListMap` object.\n */\nfunction createListenerListMap() {\n return Object.create(null);\n}\n/**\n * Get the listener list of the given type.\n * If the listener list has not been initialized, initialize and return it.\n * @param listenerMap The listener list map.\n * @param type The event type to get.\n */\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n return ((_a = listenerMap[type]) !== null && _a !== void 0 ? _a : (listenerMap[type] = {\n attrCallback: undefined,\n attrListener: undefined,\n cow: false,\n listeners: [],\n }));\n}\n\n/**\n * An implementation of the `EventTarget` interface.\n * @see https://dom.spec.whatwg.org/#eventtarget\n */\nclass EventTarget {\n /**\n * Initialize this instance.\n */\n constructor() {\n internalDataMap$2.set(this, createListenerListMap());\n }\n // Implementation\n addEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, once, passive, signal, type, } = normalizeAddOptions(type0, callback0, options0);\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n const list = ensureListenerList(listenerMap, type);\n // Find existing listener.\n const i = findIndexOfListener(list, callback, capture);\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n }\n // Add the new listener.\n addListener(list, callback, capture, passive, once, signal);\n }\n // Implementation\n removeEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, type } = normalizeOptions(type0, callback0, options0);\n const list = listenerMap[type];\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n }\n // Implementation\n dispatchEvent(e) {\n const list = $$2(this)[String(e.type)];\n if (list == null) {\n return true;\n }\n const event = e instanceof Event ? e : EventWrapper.wrap(e);\n const eventData = $(event, \"event\");\n if (eventData.dispatchFlag) {\n throw createInvalidStateError(\"This event has been in dispatching.\");\n }\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n if (!eventData.stopPropagationFlag) {\n const { cow, listeners } = list;\n // Set copy-on-write flag.\n list.cow = true;\n // Call listeners.\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n // Skip if removed.\n if (isRemoved(listener)) {\n continue;\n }\n // Remove this listener if has the `once` flag.\n if (isOnce(listener) && removeListenerAt(list, i, !cow)) {\n // Because this listener was removed, the next index is the\n // same as the current value.\n i -= 1;\n }\n // Call this listener with the `passive` flag.\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false;\n // Stop if the `event.stopImmediatePropagation()` method was called.\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n }\n // Restore copy-on-write flag.\n if (!cow) {\n list.cow = false;\n }\n }\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n}\n/**\n * Internal data.\n */\nconst internalDataMap$2 = new WeakMap();\n/**\n * Get private data.\n * @param target The event target object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\nfunction $$2(target, name = \"this\") {\n const retv = internalDataMap$2.get(target);\n assertType(retv != null, \"'%s' must be an object that EventTarget constructor created, but got another one: %o\", name, target);\n return retv;\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n assertCallback(callback);\n if (typeof options === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined,\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: undefined,\n };\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n if (typeof options === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n };\n}\n/**\n * Assert the type of 'callback' argument.\n * @param callback The callback to check.\n */\nfunction assertCallback(callback) {\n if (typeof callback === \"function\" ||\n (typeof callback === \"object\" &&\n callback !== null &&\n typeof callback.handleEvent === \"function\")) {\n return;\n }\n if (callback == null || typeof callback === \"object\") {\n InvalidEventListener.warn(callback);\n return;\n }\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n/**\n * Print warning for duplicated.\n * @param listener The current listener that is duplicated.\n * @param passive The passive flag of the new duplicated listener.\n * @param once The once flag of the new duplicated listener.\n * @param signal The signal object of the new duplicated listener.\n */\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? \"capture\" : \"bubble\", listener.callback);\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn(\"passive\");\n }\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn(\"once\");\n }\n if (listener.signal !== signal) {\n OptionWasIgnored.warn(\"signal\");\n }\n}\n// Set enumerable\nconst keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\nfor (let i = 0; i < keys$1.length; ++i) {\n if (keys$1[i] === \"constructor\") {\n continue;\n }\n Object.defineProperty(EventTarget.prototype, keys$1[i], { enumerable: true });\n}\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (typeof Global !== \"undefined\" &&\n typeof Global.EventTarget !== \"undefined\") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n\n/**\n * Get the current value of a given event attribute.\n * @param target The `EventTarget` object to get.\n * @param type The event type.\n */\nfunction getEventAttributeValue(target, type) {\n var _a, _b;\n const listMap = $$2(target, \"target\");\n return (_b = (_a = listMap[type]) === null || _a === void 0 ? void 0 : _a.attrCallback) !== null && _b !== void 0 ? _b : null;\n}\n/**\n * Set an event listener to a given event attribute.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction setEventAttributeValue(target, type, callback) {\n if (callback != null && typeof callback !== \"function\") {\n InvalidAttributeHandler.warn(callback);\n }\n if (typeof callback === \"function\" ||\n (typeof callback === \"object\" && callback !== null)) {\n upsertEventAttributeListener(target, type, callback);\n }\n else {\n removeEventAttributeListener(target, type);\n }\n}\n//------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n/**\n * Update or insert the given event attribute handler.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction upsertEventAttributeListener(target, type, callback) {\n const list = ensureListenerList($$2(target, \"target\"), String(type));\n list.attrCallback = callback;\n if (list.attrListener == null) {\n list.attrListener = addListener(list, defineEventAttributeCallback(list), false, false, false, undefined);\n }\n}\n/**\n * Remove the given event attribute handler.\n * @param target The `EventTarget` object to remove.\n * @param type The event type.\n * @param callback The event listener.\n */\nfunction removeEventAttributeListener(target, type) {\n const listMap = $$2(target, \"target\");\n const list = listMap[String(type)];\n if (list && list.attrListener) {\n removeListener(list, list.attrListener.callback, false);\n list.attrCallback = list.attrListener = undefined;\n }\n}\n/**\n * Define the callback function for the given listener list object.\n * It calls `attrCallback` property if the property value is a function.\n * @param list The `ListenerList` object.\n */\nfunction defineEventAttributeCallback(list) {\n return function (event) {\n const callback = list.attrCallback;\n if (typeof callback === \"function\") {\n callback.call(this, event);\n }\n };\n}\n\n/**\n * Define an `EventTarget` class that has event attibutes.\n * @param types The types to define event attributes.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\nfunction defineCustomEventTarget(...types) {\n class CustomEventTarget extends EventTarget {\n }\n for (let i = 0; i < types.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, types[i]);\n }\n return CustomEventTarget;\n}\n/**\n * Define an event attribute.\n * @param target The `EventTarget` object to define an event attribute.\n * @param type The event type to define.\n * @param _eventClass Unused, but to infer `Event` class type.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\nfunction defineEventAttribute(target, type, _eventClass) {\n Object.defineProperty(target, `on${type}`, {\n get() {\n return getEventAttributeValue(this, type);\n },\n set(value) {\n setEventAttributeValue(this, type, value);\n },\n configurable: true,\n enumerable: true,\n });\n}\n\nexport default EventTarget;\nexport { Event, EventTarget, defineCustomEventTarget, defineEventAttribute, getEventAttributeValue, setErrorHandler, setEventAttributeValue, setWarningHandler };\n//# sourceMappingURL=index.mjs.map\n","function u(u,D){for(var t=0;tu.length)&&(D=u.length);for(var t=0,F=new Array(D);t=u.length?{done:!0}:{done:!1,value:u[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var e=/(?:[\\$A-Z_a-z\\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\\u08A0-\\u08B4\\u08B6-\\u08C7\\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\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\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-\\u170C\\u170E-\\u1711\\u1720-\\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-\\u1B4B\\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-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\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-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDEC0-\\uDEEB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/,C=/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/;function A(u,D){return(D?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(u)}function E(u,D){void 0===D&&(D=!1);for(var t=[],F=0;F-1:void 0===g;A||(c+=\"(?:\"+p+\"(?=\"+h+\"))?\"),x||(c+=\"(?=\"+p+\"|\"+h+\")\")}return new RegExp(c,i(t))}function a(u,D,t){return u instanceof RegExp?function(u,D){if(!D)return u;for(var t=/\\((?:\\?<(.*?)>)?(?!\\?)/g,F=0,e=t.exec(u.source);e;)D.push({name:e[1]||F++,prefix:\"\",suffix:\"\",modifier:\"\",pattern:\"\"}),e=t.exec(u.source);return u}(u,D):Array.isArray(u)?function(u,D,t){var F=u.map(function(u){return a(u,D,t).source});return new RegExp(\"(?:\"+F.join(\"|\")+\")\",i(t))}(u,D,t):function(u,D,t){return s(n(u,t),D,t)}(u,D,t)}var B={delimiter:\"\",prefixes:\"\",sensitive:!0,strict:!0},o={delimiter:\".\",prefixes:\"\",sensitive:!0,strict:!0},h={delimiter:\"/\",prefixes:\"/\",sensitive:!0,strict:!0};function p(u,D){return u.startsWith(D)?u.substring(D.length,u.length):u}function c(u){return!(!u||u.length<2||\"[\"!==u[0]&&(\"\\\\\"!==u[0]&&\"{\"!==u[0]||\"[\"!==u[1]))}var f,l=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function m(u){if(!u)return!0;for(var D,t=F(l);!(D=t()).done;)if(u.test(D.value))return!0;return!1}function d(u){switch(u){case\"ws\":case\"http\":return\"80\";case\"wws\":case\"https\":return\"443\";case\"ftp\":return\"21\";default:return\"\"}}function g(u){if(\"\"===u)return u;if(/^[-+.A-Za-z0-9]*$/.test(u))return u.toLowerCase();throw new TypeError(\"Invalid protocol '\"+u+\"'.\")}function x(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.username=u,D.username}function S(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.password=u,D.password}function v(u){if(\"\"===u)return u;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(u))throw new TypeError(\"Invalid hostname '\"+u+\"'\");var D=new URL(\"https://example.com\");return D.hostname=u,D.hostname}function y(u){if(\"\"===u)return u;if(/[^0-9a-fA-F[\\]:]/g.test(u))throw new TypeError(\"Invalid IPv6 hostname '\"+u+\"'\");return u.toLowerCase()}function R(u){if(\"\"===u)return u;if(/^[0-9]*$/.test(u)&&parseInt(u)<=65535)return u;throw new TypeError(\"Invalid port '\"+u+\"'.\")}function k(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.pathname=\"/\"!==u[0]?\"/-\"+u:u,\"/\"!==u[0]?D.pathname.substring(2,D.pathname.length):D.pathname}function w(u){return\"\"===u?u:new URL(\"data:\"+u).pathname}function P(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.search=u,D.search.substring(1,D.search.length)}function T(u){if(\"\"===u)return u;var D=new URL(\"https://example.com\");return D.hash=u,D.hash.substring(1,D.hash.length)}!function(u){u[u.INIT=0]=\"INIT\",u[u.PROTOCOL=1]=\"PROTOCOL\",u[u.AUTHORITY=2]=\"AUTHORITY\",u[u.USERNAME=3]=\"USERNAME\",u[u.PASSWORD=4]=\"PASSWORD\",u[u.HOSTNAME=5]=\"HOSTNAME\",u[u.PORT=6]=\"PORT\",u[u.PATHNAME=7]=\"PATHNAME\",u[u.SEARCH=8]=\"SEARCH\",u[u.HASH=9]=\"HASH\",u[u.DONE=10]=\"DONE\"}(f||(f={}));var b=function(){function u(u){this.input=void 0,this.tokenList=[],this.internalResult={},this.tokenIndex=0,this.tokenIncrement=1,this.componentStart=0,this.state=f.INIT,this.groupDepth=0,this.hostnameIPv6BracketDepth=0,this.shouldTreatAsStandardURL=!1,this.input=u}var t=u.prototype;return t.parse=function(){for(this.tokenList=E(this.input,!0);this.tokenIndex0){if(!this.isGroupClose())continue;this.groupDepth-=1}if(this.isGroupOpen())this.groupDepth+=1;else switch(this.state){case f.INIT:this.isProtocolSuffix()&&(this.internalResult.username=\"\",this.internalResult.password=\"\",this.internalResult.hostname=\"\",this.internalResult.port=\"\",this.internalResult.pathname=\"\",this.internalResult.search=\"\",this.internalResult.hash=\"\",this.rewindAndSetState(f.PROTOCOL));break;case f.PROTOCOL:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();var u=f.PATHNAME,D=1;this.shouldTreatAsStandardURL&&(this.internalResult.pathname=\"/\"),this.nextIsAuthoritySlashes()?(u=f.AUTHORITY,D=3):this.shouldTreatAsStandardURL&&(u=f.AUTHORITY),this.changeState(u,D)}break;case f.AUTHORITY:this.isIdentityTerminator()?this.rewindAndSetState(f.USERNAME):(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix())&&this.rewindAndSetState(f.HOSTNAME);break;case f.USERNAME:this.isPasswordPrefix()?this.changeState(f.PASSWORD,1):this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.PASSWORD:this.isIdentityTerminator()&&this.changeState(f.HOSTNAME,1);break;case f.HOSTNAME:this.isIPv6Open()?this.hostnameIPv6BracketDepth+=1:this.isIPv6Close()&&(this.hostnameIPv6BracketDepth-=1),this.isPortPrefix()&&!this.hostnameIPv6BracketDepth?this.changeState(f.PORT,1):this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PORT:this.isPathnameStart()?this.changeState(f.PATHNAME,0):this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.PATHNAME:this.isSearchPrefix()?this.changeState(f.SEARCH,1):this.isHashPrefix()&&this.changeState(f.HASH,1);break;case f.SEARCH:this.isHashPrefix()&&this.changeState(f.HASH,1)}}},t.changeState=function(u,D){switch(this.state){case f.INIT:break;case f.PROTOCOL:this.internalResult.protocol=this.makeComponentString();break;case f.AUTHORITY:break;case f.USERNAME:this.internalResult.username=this.makeComponentString();break;case f.PASSWORD:this.internalResult.password=this.makeComponentString();break;case f.HOSTNAME:this.internalResult.hostname=this.makeComponentString();break;case f.PORT:this.internalResult.port=this.makeComponentString();break;case f.PATHNAME:this.internalResult.pathname=this.makeComponentString();break;case f.SEARCH:this.internalResult.search=this.makeComponentString();break;case f.HASH:this.internalResult.hash=this.makeComponentString()}this.changeStateWithoutSettingComponent(u,D)},t.changeStateWithoutSettingComponent=function(u,D){this.state=u,this.componentStart=this.tokenIndex+D,this.tokenIndex+=D,this.tokenIncrement=0},t.rewind=function(){this.tokenIndex=this.componentStart,this.tokenIncrement=0},t.rewindAndSetState=function(u){this.rewind(),this.state=u},t.safeToken=function(u){return u<0&&(u=this.tokenList.length-u),u=0&&(u.pathname=F.pathname.substring(0,e+1)+u.pathname)}u.pathname=function(u,D,t){if(t||\"\"===u)return u;if(D&&!l.includes(D))return new URL(D+\":\"+u).pathname;var F=\"/\"==u[0];return u=new URL(F?u:\"/-\"+u,\"https://example.com\").pathname,F||(u=u.substring(2,u.length)),u}(u.pathname,u.protocol,t)}return\"string\"==typeof D.search&&(u.search=function(u,D){if(u=p(u,\"?\"),D||\"\"===u)return u;var t=new URL(\"https://example.com\");return t.search=u,t.search?t.search.substring(1,t.search.length):\"\"}(D.search,t)),\"string\"==typeof D.hash&&(u.hash=function(u,D){if(u=p(u,\"#\"),D||\"\"===u)return u;var t=new URL(\"https://example.com\");return t.hash=u,t.hash?t.hash.substring(1,t.hash.length):\"\"}(D.hash,t)),u}function N(u){return u.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}function L(u,D){for(var t=\"[^\"+(D.delimiter||\"/#?\").replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")+\"]+?\",F=/(?:[\\$0-9A-Z_a-z\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u08D3-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1DF9\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD27\\uDD30-\\uDD39\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF50\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDC9-\\uDDCC\\uDDCE-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3B-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC5E-\\uDC61\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC00-\\uDC3A\\uDCA0-\\uDCE9\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B-\\uDD43\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE99\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFE4\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDD00-\\uDD2C\\uDD30-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A]|\\uDB40[\\uDD00-\\uDDEF])/,e=\"\",C=0;C0?u[C-1]:null,n=C0?n[0]:\"\"):\"number\"==typeof n.name),!s&&\"\"===A.prefix&&E&&\"string\"==typeof E&&E.length>0&&(s=i.includes(E[E.length-1])),s&&(e+=\"{\"),e+=N(A.prefix),r&&(e+=\":\"+A.name),\".*\"===A.pattern?e+=r||E&&\"string\"!=typeof E&&!E.modifier&&!s&&\"\"===A.prefix?\"(.*)\":\"*\":A.pattern===t?r||(e+=\"(\"+t+\")\"):e+=\"(\"+A.pattern+\")\",A.pattern===t&&r&&\"\"!==A.suffix&&F.test(A.suffix[0])&&(e+=\"\\\\\"),e+=N(A.suffix),s&&(e+=\"}\"),e+=A.modifier}else{if(\"\"===A.modifier){e+=N(A.prefix);continue}e+=\"{\"+N(A.prefix)+\"}\"+A.modifier}else e+=N(A)}return e}var U=function(){function u(u,D){void 0===u&&(u={}),this.pattern=void 0,this.regexp={},this.keys={},this.component_pattern={};try{if(\"string\"==typeof u){var t=new b(u);if(t.parse(),u=t.result,D){if(\"string\"!=typeof D)throw new TypeError(\"'baseURL' parameter is not of type 'string'.\");u.baseURL=D}else if(\"string\"!=typeof u.protocol)throw new TypeError(\"A base URL must be provided for a relative constructor string.\")}else if(D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(!u||\"object\"!=typeof u)throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");var e;this.pattern=H({pathname:\"*\",protocol:\"*\",username:\"*\",password:\"*\",hostname:\"*\",port:\"*\",search:\"*\",hash:\"*\"},u,!0),d(this.pattern.protocol)===this.pattern.port&&(this.pattern.port=\"\");for(var C,A=F(I);!(C=A()).done;)if((e=C.value)in this.pattern){var E={},r=this.pattern[e];switch(this.keys[e]=[],e){case\"protocol\":Object.assign(E,B),E.encodePart=g;break;case\"username\":Object.assign(E,B),E.encodePart=x;break;case\"password\":Object.assign(E,B),E.encodePart=S;break;case\"hostname\":Object.assign(E,o),E.encodePart=c(r)?y:v;break;case\"port\":Object.assign(E,B),E.encodePart=R;break;case\"pathname\":m(this.regexp.protocol)?(Object.assign(E,h),E.encodePart=k):(Object.assign(E,B),E.encodePart=w);break;case\"search\":Object.assign(E,B),E.encodePart=P;break;case\"hash\":Object.assign(E,B),E.encodePart=T}try{var i=n(r,E);this.regexp[e]=s(i,this.keys[e],E),this.component_pattern[e]=L(i,E)}catch(u){throw new TypeError(\"invalid \"+e+\" pattern '\"+this.pattern[e]+\"'.\")}}}catch(u){throw new TypeError(\"Failed to construct 'URLPattern': \"+u.message)}}var t=u.prototype;return t.test=function(u,D){void 0===u&&(u={});var t,F={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(\"string\"!=typeof u&&D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(void 0===u)return!1;try{F=H(F,\"object\"==typeof u?u:O(u,D),!1)}catch(u){return!1}for(t in this.pattern)if(!this.regexp[t].exec(F[t]))return!1;return!0},t.exec=function(u,D){void 0===u&&(u={});var t={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(\"string\"!=typeof u&&D)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(void 0!==u){try{t=H(t,\"object\"==typeof u?u:O(u,D),!1)}catch(u){return null}var e,C={};for(e in C.inputs=D?[u,D]:[u],this.pattern){var A=this.regexp[e].exec(t[e]);if(!A)return null;for(var E,n={},r=F(this.keys[e].entries());!(E=r()).done;){var i=E.value,s=i[1];\"string\"!=typeof s.name&&\"number\"!=typeof s.name||(n[s.name]=A[i[0]+1]||\"\")}C[e]={input:t[e]||\"\",groups:n}}return C}},D(u,[{key:\"protocol\",get:function(){return this.component_pattern.protocol}},{key:\"username\",get:function(){return this.component_pattern.username}},{key:\"password\",get:function(){return this.component_pattern.password}},{key:\"hostname\",get:function(){return this.component_pattern.hostname}},{key:\"port\",get:function(){return this.component_pattern.port}},{key:\"pathname\",get:function(){return this.component_pattern.pathname}},{key:\"search\",get:function(){return this.component_pattern.search}},{key:\"hash\",get:function(){return this.component_pattern.hash}}]),u}();export{U as URLPattern};\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,"export const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n PRIMITIVE, ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n PRIMITIVE, ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n \n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{lossy?: boolean}?} options an object with a `lossy` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_.allowStringTag","keys","keys$1","INTERNAL","nodeSetTimeout","_.__performance_now","_.__function_bind","nodeClearTimeout","NodeFilter","NodeIterator","_.internalsOf","_.INTERNALS","_.__object_isPrototypeOf","URLPattern","crypto"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,C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AC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CA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"} \ No newline at end of file From b8eb171a5e599e67e03289cadbdd22be8710d5db Mon Sep 17 00:00:00 2001 From: = Date: Fri, 22 Sep 2023 13:15:05 +0100 Subject: [PATCH 3/4] Add changelog --- .changeset/neat-islands-wink.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/neat-islands-wink.md diff --git a/.changeset/neat-islands-wink.md b/.changeset/neat-islands-wink.md new file mode 100644 index 000000000000..5cf186060f05 --- /dev/null +++ b/.changeset/neat-islands-wink.md @@ -0,0 +1,5 @@ +--- +'create-astro': patch +--- + +Fix --yes behaviour to prevent it overriding --template From f86ce472bb2f7ad7c45d8e503392086955f1b637 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 22 Sep 2023 21:18:36 +0800 Subject: [PATCH 4/4] Update .changeset/neat-islands-wink.md Co-authored-by: Emanuele Stoppa --- .changeset/neat-islands-wink.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/neat-islands-wink.md b/.changeset/neat-islands-wink.md index 5cf186060f05..fff9012adbd5 100644 --- a/.changeset/neat-islands-wink.md +++ b/.changeset/neat-islands-wink.md @@ -2,4 +2,4 @@ 'create-astro': patch --- -Fix --yes behaviour to prevent it overriding --template +Fix `--yes` behaviour to prevent it overriding `--template`