diff --git a/frontend/package.json b/frontend/package.json index f067bbef1e..e78b0932cb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -103,6 +103,7 @@ "@penpot/draft-js": "portal:./vendor/draft-js", "@penpot/hljs": "portal:./vendor/hljs", "@penpot/mousetrap": "portal:./vendor/mousetrap", + "@penpot/plugins-runtime": "1.3.2", "@penpot/svgo": "penpot/svgo#v3.1", "@penpot/text-editor": "portal:./text-editor", "@tokens-studio/sd-transforms": "1.2.11", diff --git a/frontend/resources/plugins-runtime/index.js b/frontend/resources/plugins-runtime/index.js deleted file mode 100644 index 22419ffeb9..0000000000 --- a/frontend/resources/plugins-runtime/index.js +++ /dev/null @@ -1,8601 +0,0 @@ -var qn = (t) => { - throw TypeError(t); -}; -var Kn = (t, e, r) => e.has(t) || qn("Cannot " + r); -var at = (t, e, r) => (Kn(t, e, "read from private field"), r ? r.call(t) : e.get(t)), tn = (t, e, r) => e.has(t) ? qn("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, r), fr = (t, e, r, n) => (Kn(t, e, "write to private field"), n ? n.call(t, r) : e.set(t, r), r); -const S = globalThis, { - Array: oa, - ArrayBuffer: To, - Date: sa, - FinalizationRegistry: $t, - Float32Array: aa, - JSON: ia, - Map: $e, - Math: ca, - Number: Io, - Object: Tn, - Promise: la, - Proxy: Ur, - Reflect: ua, - RegExp: Xe, - Set: Dt, - String: _e, - Symbol: At, - Uint8Array: mn, - WeakMap: ze, - WeakSet: Ut -} = globalThis, { - // The feral Error constructor is safe for internal use, but must not be - // revealed to post-lockdown code in any compartment including the start - // compartment since in V8 at least it bears stack inspection capabilities. - Error: le, - RangeError: da, - ReferenceError: Wt, - SyntaxError: ir, - TypeError: _, - AggregateError: rn -} = globalThis, { - assign: jr, - create: H, - defineProperties: B, - entries: me, - freeze: y, - getOwnPropertyDescriptor: ee, - getOwnPropertyDescriptors: Be, - getOwnPropertyNames: Nt, - getPrototypeOf: G, - is: Zr, - isFrozen: fu, - isSealed: pu, - isExtensible: hu, - keys: Co, - prototype: zr, - seal: mu, - preventExtensions: fa, - setPrototypeOf: wr, - values: Ro, - fromEntries: bt -} = Tn, { - species: nn, - toStringTag: Qe, - iterator: De, - matchAll: $o, - unscopables: pa, - keyFor: ha, - for: ma -} = At, { isInteger: ga } = Io, { stringify: No } = ia, { defineProperty: ya } = Tn, D = (t, e, r) => { - const n = ya(t, e, r); - if (n !== t) - throw _( - `Please report that the original defineProperty silently failed to set ${No( - _e(e) - )}. (SES_DEFINE_PROPERTY_FAILED_SILENTLY)` - ); - return n; -}, { - apply: ue, - construct: xr, - get: _a, - getOwnPropertyDescriptor: va, - has: Oo, - isExtensible: ba, - ownKeys: qe, - preventExtensions: wa, - set: Mo -} = ua, { isArray: pt, prototype: ve } = oa, { prototype: Sr } = To, { prototype: jt } = $e, { prototype: Br } = RegExp, { prototype: cr } = Dt, { prototype: Ge } = _e, { prototype: Gr } = ze, { prototype: Lo } = Ut, { prototype: Vr } = Function, { prototype: Fo } = la, { prototype: Do } = G( - // eslint-disable-next-line no-empty-function, func-names - function* () { - } -), on = G( - // eslint-disable-next-line @endo/no-polymorphic-call - G(ve.values()) -), Uo = G(mn.prototype), { bind: gn } = Vr, A = gn.bind(gn.call), Q = A(zr.hasOwnProperty), et = A(ve.filter), ht = A(ve.forEach), Hr = A(ve.includes), Zt = A(ve.join), de = ( - /** @type {any} */ - A(ve.map) -), jo = ( - /** @type {any} */ - A(ve.flatMap) -), Er = A(ve.pop), ne = A(ve.push), xa = A(ve.slice), Zo = A(ve.some), zo = A(ve.sort), Sa = A(ve[De]), Ea = A(Sr.slice), ka = A( - // @ts-expect-error we know it is there on all conforming platforms - ee(Sr, "byteLength").get -), Pa = A(Uo.set), pe = A(jt.set), Ke = A(jt.get), Wr = A(jt.has), Aa = A(jt.delete), Ta = A(jt.entries), Ia = A(jt[De]), In = A(cr.add); -A(cr.delete); -const Yn = A(cr.forEach), Cn = A(cr.has), Ca = A(cr[De]), Rn = A(Br.test), $n = A(Br.exec), Ra = A(Br[$o]), Bo = A(Ge.endsWith), Go = A(Ge.includes), $a = A(Ge.indexOf); -A(Ge.match); -const kr = A(Do.next), Vo = A(Do.throw), Pr = ( - /** @type {any} */ - A(Ge.replace) -), Na = A(Ge.search), Nn = A(Ge.slice), On = ( - /** @type {(thisArg: string, splitter: string | RegExp | { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number) => string[]} */ - A(Ge.split) -), Ho = A(Ge.startsWith), Oa = A(Ge[De]), Ma = A(Gr.delete), z = A(Gr.get), Tt = A(Gr.has), he = A(Gr.set), qr = A(Lo.add), lr = A(Lo.has), La = A(Vr.toString), Wo = A(gn); -A(Fo.catch); -const qo = ( - /** @type {any} */ - A(Fo.then) -), Fa = $t && A($t.prototype.register); -$t && A($t.prototype.unregister); -const Mn = y(H(null)), ke = (t) => Tn(t) === t, Kr = (t) => t instanceof le, Ko = eval, Ee = Function, Da = () => { - throw _('Cannot eval with evalTaming set to "noEval" (SES_NO_EVAL)'); -}, Je = ee(Error("er1"), "stack"), sn = ee(_("er2"), "stack"); -let Yo, Jo; -if (Je && sn && Je.get) - if ( - // In the v8 case as we understand it, all errors have an own stack - // accessor property, but within the same realm, all these accessor - // properties have the same getter and have the same setter. - // This is therefore the case that we repair. - typeof Je.get == "function" && Je.get === sn.get && typeof Je.set == "function" && Je.set === sn.set - ) - Yo = y(Je.get), Jo = y(Je.set); - else - throw _( - "Unexpected Error own stack accessor functions (SES_UNEXPECTED_ERROR_OWN_STACK_ACCESSOR)" - ); -const an = Yo, Ua = Jo; -function ja() { - return this; -} -if (ja()) - throw _("SES failed to initialize, sloppy mode (SES_NO_SLOPPY)"); -const { freeze: ut } = Object, { apply: Za } = Reflect, Ln = (t) => (e, ...r) => Za(t, e, r), za = Ln(Array.prototype.push), Jn = Ln(Array.prototype.includes), Ba = Ln(String.prototype.split), it = JSON.stringify, pr = (t, ...e) => { - let r = t[0]; - for (let n = 0; n < e.length; n += 1) - r = `${r}${e[n]}${t[n + 1]}`; - throw Error(r); -}, Xo = (t, e = !1) => { - const r = [], n = (c, l, u = void 0) => { - typeof c == "string" || pr`Environment option name ${it(c)} must be a string.`, typeof l == "string" || pr`Environment option default setting ${it( - l - )} must be a string.`; - let d = l; - const f = t.process || void 0, h = typeof f == "object" && f.env || void 0; - if (typeof h == "object" && c in h) { - e || za(r, c); - const p = h[c]; - typeof p == "string" || pr`Environment option named ${it( - c - )}, if present, must have a corresponding string value, got ${it( - p - )}`, d = p; - } - return u === void 0 || d === l || Jn(u, d) || pr`Unrecognized ${it(c)} value ${it( - d - )}. Expected one of ${it([l, ...u])}`, d; - }; - ut(n); - const o = (c) => { - const l = n(c, ""); - return ut(l === "" ? [] : Ba(l, ",")); - }; - ut(o); - const s = (c, l) => Jn(o(c), l), i = () => ut([...r]); - return ut(i), ut({ - getEnvironmentOption: n, - getEnvironmentOptionsList: o, - environmentOptionsListHas: s, - getCapturedEnvironmentOptionNames: i - }); -}; -ut(Xo); -const { - getEnvironmentOption: ce, - getEnvironmentOptionsList: gu, - environmentOptionsListHas: yu -} = Xo(globalThis, !0), Ar = (t) => (t = `${t}`, t.length >= 1 && Go("aeiouAEIOU", t[0]) ? `an ${t}` : `a ${t}`); -y(Ar); -const Qo = (t, e = void 0) => { - const r = new Dt(), n = (o, s) => { - switch (typeof s) { - case "object": { - if (s === null) - return null; - if (Cn(r, s)) - return "[Seen]"; - if (In(r, s), Kr(s)) - return `[${s.name}: ${s.message}]`; - if (Qe in s) - return `[${s[Qe]}]`; - if (pt(s)) - return s; - const i = Co(s); - if (i.length < 2) - return s; - let c = !0; - for (let u = 1; u < i.length; u += 1) - if (i[u - 1] >= i[u]) { - c = !1; - break; - } - if (c) - return s; - zo(i); - const l = de(i, (u) => [u, s[u]]); - return bt(l); - } - case "function": - return `[Function ${s.name || ""}]`; - case "string": - return Ho(s, "[") ? `[${s}]` : s; - case "undefined": - case "symbol": - return `[${_e(s)}]`; - case "bigint": - return `[${s}n]`; - case "number": - return Zr(s, NaN) ? "[NaN]" : s === 1 / 0 ? "[Infinity]" : s === -1 / 0 ? "[-Infinity]" : s; - default: - return s; - } - }; - try { - return No(t, n, e); - } catch { - return "[Something that failed to stringify]"; - } -}; -y(Qo); -const { isSafeInteger: Ga } = Number, { freeze: Et } = Object, { toStringTag: Va } = Symbol, Xn = (t) => { - const r = { - next: void 0, - prev: void 0, - data: t - }; - return r.next = r, r.prev = r, r; -}, Qn = (t, e) => { - if (t === e) - throw TypeError("Cannot splice a cell into itself"); - if (e.next !== e || e.prev !== e) - throw TypeError("Expected self-linked cell"); - const r = e, n = t.next; - return r.prev = t, r.next = n, t.next = r, n.prev = r, r; -}, cn = (t) => { - const { prev: e, next: r } = t; - e.next = r, r.prev = e, t.prev = t, t.next = t; -}, es = (t) => { - if (!Ga(t) || t < 0) - throw TypeError("keysBudget must be a safe non-negative integer number"); - const e = /* @__PURE__ */ new WeakMap(); - let r = 0; - const n = Xn(void 0), o = (d) => { - const f = e.get(d); - if (!(f === void 0 || f.data === void 0)) - return cn(f), Qn(n, f), f; - }, s = (d) => o(d) !== void 0; - Et(s); - const i = (d) => { - const f = o(d); - return f && f.data && f.data.get(d); - }; - Et(i); - const c = (d, f) => { - if (t < 1) - return u; - let h = o(d); - if (h === void 0 && (h = Xn(void 0), Qn(n, h)), !h.data) - for (r += 1, h.data = /* @__PURE__ */ new WeakMap(), e.set(d, h); r > t; ) { - const p = n.prev; - cn(p), p.data = void 0, r -= 1; - } - return h.data.set(d, f), u; - }; - Et(c); - const l = (d) => { - const f = e.get(d); - return f === void 0 || (cn(f), e.delete(d), f.data === void 0) ? !1 : (f.data = void 0, r -= 1, !0); - }; - Et(l); - const u = Et({ - has: s, - get: i, - set: c, - delete: l, - // eslint-disable-next-line jsdoc/check-types - [ - /** @type {typeof Symbol.toStringTag} */ - Va - ]: "LRUCacheMap" - }); - return u; -}; -Et(es); -const { freeze: vr } = Object, { isSafeInteger: Ha } = Number, Wa = 1e3, qa = 100, ts = (t = Wa, e = qa) => { - if (!Ha(e) || e < 1) - throw TypeError( - "argsPerErrorBudget must be a safe positive integer number" - ); - const r = es(t), n = (s, i) => { - const c = r.get(s); - c !== void 0 ? (c.length >= e && c.shift(), c.push(i)) : r.set(s, [i]); - }; - vr(n); - const o = (s) => { - const i = r.get(s); - return r.delete(s), i; - }; - return vr(o), vr({ - addLogArgs: n, - takeLogArgsArray: o - }); -}; -vr(ts); -const Ot = new ze(), U = (t, e = void 0) => { - const r = y({ - toString: y(() => Qo(t, e)) - }); - return he(Ot, r, t), r; -}; -y(U); -const Ka = y(/^[\w:-]( ?[\w:-])*$/), Tr = (t, e = void 0) => { - if (typeof t != "string" || !Rn(Ka, t)) - return U(t, e); - const r = y({ - toString: y(() => t) - }); - return he(Ot, r, t), r; -}; -y(Tr); -const Yr = new ze(), rs = ({ template: t, args: e }) => { - const r = [t[0]]; - for (let n = 0; n < e.length; n += 1) { - const o = e[n]; - let s; - Tt(Ot, o) ? s = `${o}` : Kr(o) ? s = `(${Ar(o.name)})` : s = `(${Ar(typeof o)})`, ne(r, s, t[n + 1]); - } - return Zt(r, ""); -}, ns = y({ - toString() { - const t = z(Yr, this); - return t === void 0 ? "[Not a DetailsToken]" : rs(t); - } -}); -y(ns.toString); -const re = (t, ...e) => { - const r = y({ __proto__: ns }); - return he(Yr, r, { template: t, args: e }), /** @type {DetailsToken} */ - /** @type {unknown} */ - r; -}; -y(re); -const os = (t, ...e) => (e = de( - e, - (r) => Tt(Ot, r) ? r : U(r) -), re(t, ...e)); -y(os); -const ss = ({ template: t, args: e }) => { - const r = [t[0]]; - for (let n = 0; n < e.length; n += 1) { - let o = e[n]; - Tt(Ot, o) && (o = z(Ot, o)); - const s = Pr(Er(r) || "", / $/, ""); - s !== "" && ne(r, s); - const i = Pr(t[n + 1], /^ /, ""); - ne(r, o, i); - } - return r[r.length - 1] === "" && Er(r), r; -}, br = new ze(); -let yn = 0; -const eo = new ze(), as = (t, e = t.name) => { - let r = z(eo, t); - return r !== void 0 || (yn += 1, r = `${e}#${yn}`, he(eo, t, r)), r; -}, Ya = (t) => { - const e = Be(t), { - name: r, - message: n, - errors: o = void 0, - cause: s = void 0, - stack: i = void 0, - ...c - } = e, l = qe(c); - if (l.length >= 1) { - for (const d of l) - delete t[d]; - const u = H(zr, c); - Jr( - t, - re`originally with properties ${U(u)}` - ); - } - for (const u of qe(t)) { - const d = e[u]; - d && Q(d, "get") && D(t, u, { - value: t[u] - // invoke the getter to convert to data property - }); - } - y(t); -}, Ce = (t = re`Assert failed`, e = S.Error, { - errorName: r = void 0, - cause: n = void 0, - errors: o = void 0, - sanitize: s = !0 -} = {}) => { - typeof t == "string" && (t = re([t])); - const i = z(Yr, t); - if (i === void 0) - throw _(`unrecognized details ${U(t)}`); - const c = rs(i), l = n && { cause: n }; - let u; - return typeof rn < "u" && e === rn ? u = rn(o || [], c, l) : (u = /** @type {ErrorConstructor} */ - e( - c, - l - ), o !== void 0 && D(u, "errors", { - value: o, - writable: !0, - enumerable: !1, - configurable: !0 - })), he(br, u, ss(i)), r !== void 0 && as(u, r), s && Ya(u), u; -}; -y(Ce); -const { addLogArgs: Ja, takeLogArgsArray: Xa } = ts(), _n = new ze(), Jr = (t, e) => { - typeof e == "string" && (e = re([e])); - const r = z(Yr, e); - if (r === void 0) - throw _(`unrecognized details ${U(e)}`); - const n = ss(r), o = z(_n, t); - if (o !== void 0) - for (const s of o) - s(t, n); - else - Ja(t, n); -}; -y(Jr); -const Qa = (t) => { - if (!("stack" in t)) - return ""; - const e = `${t.stack}`, r = $a(e, ` -`); - return Ho(e, " ") || r === -1 ? e : Nn(e, r + 1); -}, Ir = { - getStackString: S.getStackString || Qa, - tagError: (t) => as(t), - resetErrorTagNum: () => { - yn = 0; - }, - getMessageLogArgs: (t) => z(br, t), - takeMessageLogArgs: (t) => { - const e = z(br, t); - return Ma(br, t), e; - }, - takeNoteLogArgsArray: (t, e) => { - const r = Xa(t); - if (e !== void 0) { - const n = z(_n, t); - n ? ne(n, e) : he(_n, t, [e]); - } - return r || []; - } -}; -y(Ir); -const Xr = (t = void 0, e = !1) => { - const r = e ? os : re, n = r`Check failed`, o = (f = n, h = void 0, p = void 0) => { - const m = Ce(f, h, p); - throw t !== void 0 && t(m), m; - }; - y(o); - const s = (f, ...h) => o(r(f, ...h)); - function i(f, h = void 0, p = void 0, m = void 0) { - f || o(h, p, m); - } - const c = (f, h, p = void 0, m = void 0, k = void 0) => { - Zr(f, h) || o( - p || r`Expected ${f} is same as ${h}`, - m || da, - k - ); - }; - y(c); - const l = (f, h, p) => { - if (typeof f !== h) { - if (typeof h == "string" || s`${U(h)} must be a string`, p === void 0) { - const m = Ar(h); - p = r`${f} must be ${Tr(m)}`; - } - o(p, _); - } - }; - y(l); - const d = jr(i, { - error: Ce, - fail: o, - equal: c, - typeof: l, - string: (f, h = void 0) => l(f, "string", h), - note: Jr, - details: r, - Fail: s, - quote: U, - bare: Tr, - makeAssert: Xr - }); - return y(d); -}; -y(Xr); -const Y = Xr(), to = Y.equal, is = ee( - Uo, - Qe -); -Y(is); -const cs = is.get; -Y(cs); -const ei = (t) => ue(cs, t, []) !== void 0, ti = (t) => { - const e = +_e(t); - return ga(e) && _e(e) === t; -}, ri = (t) => { - fa(t), ht(qe(t), (e) => { - const r = ee(t, e); - Y(r), ti(e) || D(t, e, { - ...r, - writable: !1, - configurable: !1 - }); - }); -}, ni = () => { - if (typeof S.harden == "function") - return S.harden; - const t = new Ut(), { harden: e } = { - /** - * @template T - * @param {T} root - * @returns {T} - */ - harden(r) { - const n = new Dt(); - function o(d) { - if (!ke(d)) - return; - const f = typeof d; - if (f !== "object" && f !== "function") - throw _(`Unexpected typeof: ${f}`); - lr(t, d) || Cn(n, d) || In(n, d); - } - const s = (d) => { - ei(d) ? ri(d) : y(d); - const f = Be(d), h = G(d); - o(h), ht(qe(f), (p) => { - const m = f[ - /** @type {string} */ - p - ]; - Q(m, "value") ? o(m.value) : (o(m.get), o(m.set)); - }); - }, i = an === void 0 && Ua === void 0 ? ( - // On platforms without v8's error own stack accessor problem, - // don't pay for any extra overhead. - s - ) : (d) => { - if (Kr(d)) { - const f = ee(d, "stack"); - f && f.get === an && f.configurable && D(d, "stack", { - // NOTE: Calls getter during harden, which seems dangerous. - // But we're only calling the problematic getter whose - // hazards we think we understand. - // @ts-expect-error TS should know FERAL_STACK_GETTER - // cannot be `undefined` here. - // See https://github.com/endojs/endo/pull/2232#discussion_r1575179471 - value: ue(an, d, []) - }); - } - return s(d); - }, c = () => { - Yn(n, i); - }, l = (d) => { - qr(t, d); - }, u = () => { - Yn(n, l); - }; - return o(r), c(), u(), r; - } - }; - return e; -}, ls = (t, e, r, n, { warn: o, error: s }) => { - r || o(`Removing ${n}`); - try { - delete t[e]; - } catch (i) { - if (Q(t, e)) { - if (typeof t == "function" && e === "prototype" && (t.prototype = void 0, t.prototype === void 0)) { - o(`Tolerating undeletable ${n} === undefined`); - return; - } - s(`failed to delete ${n}`, i); - } else - s(`deleting ${n} threw`, i); - throw i; - } -}, us = { - // *** Value Properties of the Global Object - Infinity: 1 / 0, - NaN: NaN, - undefined: void 0 -}, ds = { - // *** Function Properties of the Global Object - isFinite: "isFinite", - isNaN: "isNaN", - parseFloat: "parseFloat", - parseInt: "parseInt", - decodeURI: "decodeURI", - decodeURIComponent: "decodeURIComponent", - encodeURI: "encodeURI", - encodeURIComponent: "encodeURIComponent", - // *** Constructor Properties of the Global Object - Array: "Array", - ArrayBuffer: "ArrayBuffer", - BigInt: "BigInt", - BigInt64Array: "BigInt64Array", - BigUint64Array: "BigUint64Array", - Boolean: "Boolean", - DataView: "DataView", - EvalError: "EvalError", - // https://github.com/tc39/proposal-float16array - Float16Array: "Float16Array", - Float32Array: "Float32Array", - Float64Array: "Float64Array", - Int8Array: "Int8Array", - Int16Array: "Int16Array", - Int32Array: "Int32Array", - Map: "Map", - Number: "Number", - Object: "Object", - Promise: "Promise", - Proxy: "Proxy", - RangeError: "RangeError", - ReferenceError: "ReferenceError", - Set: "Set", - String: "String", - SyntaxError: "SyntaxError", - TypeError: "TypeError", - Uint8Array: "Uint8Array", - Uint8ClampedArray: "Uint8ClampedArray", - Uint16Array: "Uint16Array", - Uint32Array: "Uint32Array", - URIError: "URIError", - WeakMap: "WeakMap", - WeakSet: "WeakSet", - // https://github.com/tc39/proposal-iterator-helpers - Iterator: "Iterator", - // https://github.com/tc39/proposal-async-iterator-helpers - AsyncIterator: "AsyncIterator", - // https://github.com/endojs/endo/issues/550 - AggregateError: "AggregateError", - // *** Other Properties of the Global Object - JSON: "JSON", - Reflect: "Reflect", - // *** Annex B - escape: "escape", - unescape: "unescape", - // ESNext - // https://github.com/tc39/proposal-source-phase-imports?tab=readme-ov-file#js-module-source - ModuleSource: "ModuleSource", - lockdown: "lockdown", - harden: "harden", - HandledPromise: "HandledPromise" - // TODO: Until Promise.delegate (see below). -}, ro = { - // *** Constructor Properties of the Global Object - Date: "%InitialDate%", - Error: "%InitialError%", - RegExp: "%InitialRegExp%", - // Omit `Symbol`, because we want the original to appear on the - // start compartment without passing through the permits mechanism, since - // we want to preserve all its properties, even if we never heard of them. - // Symbol: '%InitialSymbol%', - // *** Other Properties of the Global Object - Math: "%InitialMath%", - // ESNext - // From Error-stack proposal - // Only on initial global. No corresponding - // powerless form for other globals. - getStackString: "%InitialGetStackString%" - // TODO https://github.com/Agoric/SES-shim/issues/551 - // Need initial WeakRef and FinalizationGroup in - // start compartment only. -}, fs = { - // *** Constructor Properties of the Global Object - Date: "%SharedDate%", - Error: "%SharedError%", - RegExp: "%SharedRegExp%", - Symbol: "%SharedSymbol%", - // *** Other Properties of the Global Object - Math: "%SharedMath%" -}, ps = [ - EvalError, - RangeError, - ReferenceError, - SyntaxError, - TypeError, - URIError - // https://github.com/endojs/endo/issues/550 - // Commented out to accommodate platforms prior to AggregateError. - // Instead, conditional push below. - // AggregateError, -]; -typeof AggregateError < "u" && ne(ps, AggregateError); -const vn = { - "[[Proto]]": "%FunctionPrototype%", - length: "number", - name: "string" - // Do not specify "prototype" here, since only Function instances that can - // be used as a constructor have a prototype property. For constructors, - // since prototype properties are instance-specific, we define it there. -}, oi = { - // This property is not mentioned in ECMA 262, but is present in V8 and - // necessary for lockdown to succeed. - "[[Proto]]": "%AsyncFunctionPrototype%" -}, a = vn, no = oi, M = { - get: a, - set: "undefined" -}, Le = { - get: a, - set: a -}, oo = (t) => t === M || t === Le; -function ct(t) { - return { - // Properties of the NativeError Constructors - "[[Proto]]": "%SharedError%", - // NativeError.prototype - prototype: t - }; -} -function lt(t) { - return { - // Properties of the NativeError Prototype Objects - "[[Proto]]": "%ErrorPrototype%", - constructor: t, - message: "string", - name: "string", - // Redundantly present only on v8. Safe to remove. - toString: !1, - // Superfluously present in some versions of V8. - // https://github.com/tc39/notes/blob/master/meetings/2021-10/oct-26.md#:~:text=However%2C%20Chrome%2093,and%20node%2016.11. - cause: !1 - }; -} -function xe(t) { - return { - // Properties of the TypedArray Constructors - "[[Proto]]": "%TypedArray%", - BYTES_PER_ELEMENT: "number", - prototype: t - }; -} -function Se(t) { - return { - // Properties of the TypedArray Prototype Objects - "[[Proto]]": "%TypedArrayPrototype%", - BYTES_PER_ELEMENT: "number", - constructor: t - }; -} -const so = { - E: "number", - LN10: "number", - LN2: "number", - LOG10E: "number", - LOG2E: "number", - PI: "number", - SQRT1_2: "number", - SQRT2: "number", - "@@toStringTag": "string", - abs: a, - acos: a, - acosh: a, - asin: a, - asinh: a, - atan: a, - atanh: a, - atan2: a, - cbrt: a, - ceil: a, - clz32: a, - cos: a, - cosh: a, - exp: a, - expm1: a, - floor: a, - fround: a, - hypot: a, - imul: a, - log: a, - log1p: a, - log10: a, - log2: a, - max: a, - min: a, - pow: a, - round: a, - sign: a, - sin: a, - sinh: a, - sqrt: a, - tan: a, - tanh: a, - trunc: a, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - idiv: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - idivmod: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - imod: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - imuldiv: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - irem: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - mod: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523#issuecomment-1942904505 - irandom: !1 -}, Cr = { - // ECMA https://tc39.es/ecma262 - // The intrinsics object has no prototype to avoid conflicts. - "[[Proto]]": null, - // %ThrowTypeError% - "%ThrowTypeError%": a, - // *** The Global Object - // *** Value Properties of the Global Object - Infinity: "number", - NaN: "number", - undefined: "undefined", - // *** Function Properties of the Global Object - // eval - "%UniqueEval%": a, - isFinite: a, - isNaN: a, - parseFloat: a, - parseInt: a, - decodeURI: a, - decodeURIComponent: a, - encodeURI: a, - encodeURIComponent: a, - // *** Fundamental Objects - Object: { - // Properties of the Object Constructor - "[[Proto]]": "%FunctionPrototype%", - assign: a, - create: a, - defineProperties: a, - defineProperty: a, - entries: a, - freeze: a, - fromEntries: a, - getOwnPropertyDescriptor: a, - getOwnPropertyDescriptors: a, - getOwnPropertyNames: a, - getOwnPropertySymbols: a, - getPrototypeOf: a, - hasOwn: a, - is: a, - isExtensible: a, - isFrozen: a, - isSealed: a, - keys: a, - preventExtensions: a, - prototype: "%ObjectPrototype%", - seal: a, - setPrototypeOf: a, - values: a, - // https://github.com/tc39/proposal-array-grouping - groupBy: a, - // Seen on QuickJS - __getClass: !1 - }, - "%ObjectPrototype%": { - // Properties of the Object Prototype Object - "[[Proto]]": null, - constructor: "Object", - hasOwnProperty: a, - isPrototypeOf: a, - propertyIsEnumerable: a, - toLocaleString: a, - toString: a, - valueOf: a, - // Annex B: Additional Properties of the Object.prototype Object - // See note in header about the difference between [[Proto]] and --proto-- - // special notations. - "--proto--": Le, - __defineGetter__: a, - __defineSetter__: a, - __lookupGetter__: a, - __lookupSetter__: a - }, - "%UniqueFunction%": { - // Properties of the Function Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%FunctionPrototype%" - }, - "%InertFunction%": { - "[[Proto]]": "%FunctionPrototype%", - prototype: "%FunctionPrototype%" - }, - "%FunctionPrototype%": { - apply: a, - bind: a, - call: a, - constructor: "%InertFunction%", - toString: a, - "@@hasInstance": a, - // proposed but not yet std. To be removed if there - caller: !1, - // proposed but not yet std. To be removed if there - arguments: !1, - // Seen on QuickJS. TODO grab getter for use by console - fileName: !1, - // Seen on QuickJS. TODO grab getter for use by console - lineNumber: !1 - }, - Boolean: { - // Properties of the Boolean Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%BooleanPrototype%" - }, - "%BooleanPrototype%": { - constructor: "Boolean", - toString: a, - valueOf: a - }, - "%SharedSymbol%": { - // Properties of the Symbol Constructor - "[[Proto]]": "%FunctionPrototype%", - asyncDispose: "symbol", - asyncIterator: "symbol", - dispose: "symbol", - for: a, - hasInstance: "symbol", - isConcatSpreadable: "symbol", - iterator: "symbol", - keyFor: a, - match: "symbol", - matchAll: "symbol", - prototype: "%SymbolPrototype%", - replace: "symbol", - search: "symbol", - species: "symbol", - split: "symbol", - toPrimitive: "symbol", - toStringTag: "symbol", - unscopables: "symbol", - // Seen at core-js https://github.com/zloirock/core-js#ecmascript-symbol - useSimple: !1, - // Seen at core-js https://github.com/zloirock/core-js#ecmascript-symbol - useSetter: !1, - // Seen on QuickJS - operatorSet: !1 - }, - "%SymbolPrototype%": { - // Properties of the Symbol Prototype Object - constructor: "%SharedSymbol%", - description: M, - toString: a, - valueOf: a, - "@@toPrimitive": a, - "@@toStringTag": "string" - }, - "%InitialError%": { - // Properties of the Error Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%ErrorPrototype%", - // Non standard, v8 only, used by tap - captureStackTrace: a, - // Non standard, v8 only, used by tap, tamed to accessor - stackTraceLimit: Le, - // Non standard, v8 only, used by several, tamed to accessor - prepareStackTrace: Le - }, - "%SharedError%": { - // Properties of the Error Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%ErrorPrototype%", - // Non standard, v8 only, used by tap - captureStackTrace: a, - // Non standard, v8 only, used by tap, tamed to accessor - stackTraceLimit: Le, - // Non standard, v8 only, used by several, tamed to accessor - prepareStackTrace: Le - }, - "%ErrorPrototype%": { - constructor: "%SharedError%", - message: "string", - name: "string", - toString: a, - // proposed de-facto, assumed TODO - // Seen on FF Nightly 88.0a1 - at: !1, - // Seen on FF and XS - stack: Le, - // Superfluously present in some versions of V8. - // https://github.com/tc39/notes/blob/master/meetings/2021-10/oct-26.md#:~:text=However%2C%20Chrome%2093,and%20node%2016.11. - cause: !1 - }, - // NativeError - EvalError: ct("%EvalErrorPrototype%"), - RangeError: ct("%RangeErrorPrototype%"), - ReferenceError: ct("%ReferenceErrorPrototype%"), - SyntaxError: ct("%SyntaxErrorPrototype%"), - TypeError: ct("%TypeErrorPrototype%"), - URIError: ct("%URIErrorPrototype%"), - // https://github.com/endojs/endo/issues/550 - AggregateError: ct("%AggregateErrorPrototype%"), - "%EvalErrorPrototype%": lt("EvalError"), - "%RangeErrorPrototype%": lt("RangeError"), - "%ReferenceErrorPrototype%": lt("ReferenceError"), - "%SyntaxErrorPrototype%": lt("SyntaxError"), - "%TypeErrorPrototype%": lt("TypeError"), - "%URIErrorPrototype%": lt("URIError"), - // https://github.com/endojs/endo/issues/550 - "%AggregateErrorPrototype%": lt("AggregateError"), - // *** Numbers and Dates - Number: { - // Properties of the Number Constructor - "[[Proto]]": "%FunctionPrototype%", - EPSILON: "number", - isFinite: a, - isInteger: a, - isNaN: a, - isSafeInteger: a, - MAX_SAFE_INTEGER: "number", - MAX_VALUE: "number", - MIN_SAFE_INTEGER: "number", - MIN_VALUE: "number", - NaN: "number", - NEGATIVE_INFINITY: "number", - parseFloat: a, - parseInt: a, - POSITIVE_INFINITY: "number", - prototype: "%NumberPrototype%" - }, - "%NumberPrototype%": { - // Properties of the Number Prototype Object - constructor: "Number", - toExponential: a, - toFixed: a, - toLocaleString: a, - toPrecision: a, - toString: a, - valueOf: a - }, - BigInt: { - // Properties of the BigInt Constructor - "[[Proto]]": "%FunctionPrototype%", - asIntN: a, - asUintN: a, - prototype: "%BigIntPrototype%", - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - bitLength: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - fromArrayBuffer: !1, - // Seen on QuickJS - tdiv: !1, - // Seen on QuickJS - fdiv: !1, - // Seen on QuickJS - cdiv: !1, - // Seen on QuickJS - ediv: !1, - // Seen on QuickJS - tdivrem: !1, - // Seen on QuickJS - fdivrem: !1, - // Seen on QuickJS - cdivrem: !1, - // Seen on QuickJS - edivrem: !1, - // Seen on QuickJS - sqrt: !1, - // Seen on QuickJS - sqrtrem: !1, - // Seen on QuickJS - floorLog2: !1, - // Seen on QuickJS - ctz: !1 - }, - "%BigIntPrototype%": { - constructor: "BigInt", - toLocaleString: a, - toString: a, - valueOf: a, - "@@toStringTag": "string" - }, - "%InitialMath%": { - ...so, - // `%InitialMath%.random()` has the standard unsafe behavior - random: a - }, - "%SharedMath%": { - ...so, - // `%SharedMath%.random()` is tamed to always throw - random: a - }, - "%InitialDate%": { - // Properties of the Date Constructor - "[[Proto]]": "%FunctionPrototype%", - now: a, - parse: a, - prototype: "%DatePrototype%", - UTC: a - }, - "%SharedDate%": { - // Properties of the Date Constructor - "[[Proto]]": "%FunctionPrototype%", - // `%SharedDate%.now()` is tamed to always throw - now: a, - parse: a, - prototype: "%DatePrototype%", - UTC: a - }, - "%DatePrototype%": { - constructor: "%SharedDate%", - getDate: a, - getDay: a, - getFullYear: a, - getHours: a, - getMilliseconds: a, - getMinutes: a, - getMonth: a, - getSeconds: a, - getTime: a, - getTimezoneOffset: a, - getUTCDate: a, - getUTCDay: a, - getUTCFullYear: a, - getUTCHours: a, - getUTCMilliseconds: a, - getUTCMinutes: a, - getUTCMonth: a, - getUTCSeconds: a, - setDate: a, - setFullYear: a, - setHours: a, - setMilliseconds: a, - setMinutes: a, - setMonth: a, - setSeconds: a, - setTime: a, - setUTCDate: a, - setUTCFullYear: a, - setUTCHours: a, - setUTCMilliseconds: a, - setUTCMinutes: a, - setUTCMonth: a, - setUTCSeconds: a, - toDateString: a, - toISOString: a, - toJSON: a, - toLocaleDateString: a, - toLocaleString: a, - toLocaleTimeString: a, - toString: a, - toTimeString: a, - toUTCString: a, - valueOf: a, - "@@toPrimitive": a, - // Annex B: Additional Properties of the Date.prototype Object - getYear: a, - setYear: a, - toGMTString: a - }, - // Text Processing - String: { - // Properties of the String Constructor - "[[Proto]]": "%FunctionPrototype%", - fromCharCode: a, - fromCodePoint: a, - prototype: "%StringPrototype%", - raw: a, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - fromArrayBuffer: !1 - }, - "%StringPrototype%": { - // Properties of the String Prototype Object - length: "number", - at: a, - charAt: a, - charCodeAt: a, - codePointAt: a, - concat: a, - constructor: "String", - endsWith: a, - includes: a, - indexOf: a, - lastIndexOf: a, - localeCompare: a, - match: a, - matchAll: a, - normalize: a, - padEnd: a, - padStart: a, - repeat: a, - replace: a, - replaceAll: a, - // ES2021 - search: a, - slice: a, - split: a, - startsWith: a, - substring: a, - toLocaleLowerCase: a, - toLocaleUpperCase: a, - toLowerCase: a, - toString: a, - toUpperCase: a, - trim: a, - trimEnd: a, - trimStart: a, - valueOf: a, - "@@iterator": a, - // Annex B: Additional Properties of the String.prototype Object - substr: a, - anchor: a, - big: a, - blink: a, - bold: a, - fixed: a, - fontcolor: a, - fontsize: a, - italics: a, - link: a, - small: a, - strike: a, - sub: a, - sup: a, - trimLeft: a, - trimRight: a, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - compare: !1, - // https://github.com/tc39/proposal-is-usv-string - isWellFormed: a, - toWellFormed: a, - unicodeSets: a, - // Seen on QuickJS - __quote: !1 - }, - "%StringIteratorPrototype%": { - "[[Proto]]": "%IteratorPrototype%", - next: a, - "@@toStringTag": "string" - }, - "%InitialRegExp%": { - // Properties of the RegExp Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%RegExpPrototype%", - "@@species": M, - // The https://github.com/tc39/proposal-regexp-legacy-features - // are all optional, unsafe, and omitted - input: !1, - $_: !1, - lastMatch: !1, - "$&": !1, - lastParen: !1, - "$+": !1, - leftContext: !1, - "$`": !1, - rightContext: !1, - "$'": !1, - $1: !1, - $2: !1, - $3: !1, - $4: !1, - $5: !1, - $6: !1, - $7: !1, - $8: !1, - $9: !1 - }, - "%SharedRegExp%": { - // Properties of the RegExp Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%RegExpPrototype%", - "@@species": M - }, - "%RegExpPrototype%": { - // Properties of the RegExp Prototype Object - constructor: "%SharedRegExp%", - exec: a, - dotAll: M, - flags: M, - global: M, - hasIndices: M, - ignoreCase: M, - "@@match": a, - "@@matchAll": a, - multiline: M, - "@@replace": a, - "@@search": a, - source: M, - "@@split": a, - sticky: M, - test: a, - toString: a, - unicode: M, - unicodeSets: M, - // Annex B: Additional Properties of the RegExp.prototype Object - compile: !1 - // UNSAFE and suppressed. - }, - "%RegExpStringIteratorPrototype%": { - // The %RegExpStringIteratorPrototype% Object - "[[Proto]]": "%IteratorPrototype%", - next: a, - "@@toStringTag": "string" - }, - // Indexed Collections - Array: { - // Properties of the Array Constructor - "[[Proto]]": "%FunctionPrototype%", - from: a, - isArray: a, - of: a, - prototype: "%ArrayPrototype%", - "@@species": M, - // Stage 3: - // https://tc39.es/proposal-relative-indexing-method/ - at: a, - // https://tc39.es/proposal-array-from-async/ - fromAsync: a - }, - "%ArrayPrototype%": { - // Properties of the Array Prototype Object - at: a, - length: "number", - concat: a, - constructor: "Array", - copyWithin: a, - entries: a, - every: a, - fill: a, - filter: a, - find: a, - findIndex: a, - flat: a, - flatMap: a, - forEach: a, - includes: a, - indexOf: a, - join: a, - keys: a, - lastIndexOf: a, - map: a, - pop: a, - push: a, - reduce: a, - reduceRight: a, - reverse: a, - shift: a, - slice: a, - some: a, - sort: a, - splice: a, - toLocaleString: a, - toString: a, - unshift: a, - values: a, - "@@iterator": a, - "@@unscopables": { - "[[Proto]]": null, - copyWithin: "boolean", - entries: "boolean", - fill: "boolean", - find: "boolean", - findIndex: "boolean", - flat: "boolean", - flatMap: "boolean", - includes: "boolean", - keys: "boolean", - values: "boolean", - // Failed tc39 proposal - // Seen on FF Nightly 88.0a1 - at: "boolean", - // See https://github.com/tc39/proposal-array-find-from-last - findLast: "boolean", - findLastIndex: "boolean", - // https://github.com/tc39/proposal-change-array-by-copy - toReversed: "boolean", - toSorted: "boolean", - toSpliced: "boolean", - with: "boolean", - // https://github.com/tc39/proposal-array-grouping - group: "boolean", - groupToMap: "boolean", - groupBy: "boolean" - }, - // See https://github.com/tc39/proposal-array-find-from-last - findLast: a, - findLastIndex: a, - // https://github.com/tc39/proposal-change-array-by-copy - toReversed: a, - toSorted: a, - toSpliced: a, - with: a, - // https://github.com/tc39/proposal-array-grouping - group: a, - // Not in proposal? Where? - groupToMap: a, - // Not in proposal? Where? - groupBy: a - }, - "%ArrayIteratorPrototype%": { - // The %ArrayIteratorPrototype% Object - "[[Proto]]": "%IteratorPrototype%", - next: a, - "@@toStringTag": "string" - }, - // *** TypedArray Objects - "%TypedArray%": { - // Properties of the %TypedArray% Intrinsic Object - "[[Proto]]": "%FunctionPrototype%", - from: a, - of: a, - prototype: "%TypedArrayPrototype%", - "@@species": M - }, - "%TypedArrayPrototype%": { - at: a, - buffer: M, - byteLength: M, - byteOffset: M, - constructor: "%TypedArray%", - copyWithin: a, - entries: a, - every: a, - fill: a, - filter: a, - find: a, - findIndex: a, - forEach: a, - includes: a, - indexOf: a, - join: a, - keys: a, - lastIndexOf: a, - length: M, - map: a, - reduce: a, - reduceRight: a, - reverse: a, - set: a, - slice: a, - some: a, - sort: a, - subarray: a, - toLocaleString: a, - toString: a, - values: a, - "@@iterator": a, - "@@toStringTag": M, - // See https://github.com/tc39/proposal-array-find-from-last - findLast: a, - findLastIndex: a, - // https://github.com/tc39/proposal-change-array-by-copy - toReversed: a, - toSorted: a, - with: a - }, - // The TypedArray Constructors - BigInt64Array: xe("%BigInt64ArrayPrototype%"), - BigUint64Array: xe("%BigUint64ArrayPrototype%"), - // https://github.com/tc39/proposal-float16array - Float16Array: xe("%Float16ArrayPrototype%"), - Float32Array: xe("%Float32ArrayPrototype%"), - Float64Array: xe("%Float64ArrayPrototype%"), - Int16Array: xe("%Int16ArrayPrototype%"), - Int32Array: xe("%Int32ArrayPrototype%"), - Int8Array: xe("%Int8ArrayPrototype%"), - Uint16Array: xe("%Uint16ArrayPrototype%"), - Uint32Array: xe("%Uint32ArrayPrototype%"), - Uint8ClampedArray: xe("%Uint8ClampedArrayPrototype%"), - Uint8Array: { - ...xe("%Uint8ArrayPrototype%"), - // https://github.com/tc39/proposal-arraybuffer-base64 - fromBase64: a, - // https://github.com/tc39/proposal-arraybuffer-base64 - fromHex: a - }, - "%BigInt64ArrayPrototype%": Se("BigInt64Array"), - "%BigUint64ArrayPrototype%": Se("BigUint64Array"), - // https://github.com/tc39/proposal-float16array - "%Float16ArrayPrototype%": Se("Float16Array"), - "%Float32ArrayPrototype%": Se("Float32Array"), - "%Float64ArrayPrototype%": Se("Float64Array"), - "%Int16ArrayPrototype%": Se("Int16Array"), - "%Int32ArrayPrototype%": Se("Int32Array"), - "%Int8ArrayPrototype%": Se("Int8Array"), - "%Uint16ArrayPrototype%": Se("Uint16Array"), - "%Uint32ArrayPrototype%": Se("Uint32Array"), - "%Uint8ClampedArrayPrototype%": Se("Uint8ClampedArray"), - "%Uint8ArrayPrototype%": { - ...Se("Uint8Array"), - // https://github.com/tc39/proposal-arraybuffer-base64 - setFromBase64: a, - // https://github.com/tc39/proposal-arraybuffer-base64 - setFromHex: a, - // https://github.com/tc39/proposal-arraybuffer-base64 - toBase64: a, - // https://github.com/tc39/proposal-arraybuffer-base64 - toHex: a - }, - // *** Keyed Collections - Map: { - // Properties of the Map Constructor - "[[Proto]]": "%FunctionPrototype%", - "@@species": M, - prototype: "%MapPrototype%", - // https://github.com/tc39/proposal-array-grouping - groupBy: a - }, - "%MapPrototype%": { - clear: a, - constructor: "Map", - delete: a, - entries: a, - forEach: a, - get: a, - has: a, - keys: a, - set: a, - size: M, - values: a, - "@@iterator": a, - "@@toStringTag": "string" - }, - "%MapIteratorPrototype%": { - // The %MapIteratorPrototype% Object - "[[Proto]]": "%IteratorPrototype%", - next: a, - "@@toStringTag": "string" - }, - Set: { - // Properties of the Set Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%SetPrototype%", - "@@species": M, - // Seen on QuickJS - groupBy: !1 - }, - "%SetPrototype%": { - add: a, - clear: a, - constructor: "Set", - delete: a, - entries: a, - forEach: a, - has: a, - keys: a, - size: M, - values: a, - "@@iterator": a, - "@@toStringTag": "string", - // See https://github.com/tc39/proposal-set-methods - intersection: a, - // See https://github.com/tc39/proposal-set-methods - union: a, - // See https://github.com/tc39/proposal-set-methods - difference: a, - // See https://github.com/tc39/proposal-set-methods - symmetricDifference: a, - // See https://github.com/tc39/proposal-set-methods - isSubsetOf: a, - // See https://github.com/tc39/proposal-set-methods - isSupersetOf: a, - // See https://github.com/tc39/proposal-set-methods - isDisjointFrom: a - }, - "%SetIteratorPrototype%": { - // The %SetIteratorPrototype% Object - "[[Proto]]": "%IteratorPrototype%", - next: a, - "@@toStringTag": "string" - }, - WeakMap: { - // Properties of the WeakMap Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%WeakMapPrototype%" - }, - "%WeakMapPrototype%": { - constructor: "WeakMap", - delete: a, - get: a, - has: a, - set: a, - "@@toStringTag": "string" - }, - WeakSet: { - // Properties of the WeakSet Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%WeakSetPrototype%" - }, - "%WeakSetPrototype%": { - add: a, - constructor: "WeakSet", - delete: a, - has: a, - "@@toStringTag": "string" - }, - // *** Structured Data - ArrayBuffer: { - // Properties of the ArrayBuffer Constructor - "[[Proto]]": "%FunctionPrototype%", - isView: a, - prototype: "%ArrayBufferPrototype%", - "@@species": M, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - fromString: !1, - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - fromBigInt: !1 - }, - "%ArrayBufferPrototype%": { - byteLength: M, - constructor: "ArrayBuffer", - slice: a, - "@@toStringTag": "string", - // See https://github.com/Moddable-OpenSource/moddable/issues/523 - concat: !1, - // See https://github.com/tc39/proposal-resizablearraybuffer - transfer: a, - resize: a, - resizable: M, - maxByteLength: M, - // https://github.com/tc39/proposal-arraybuffer-transfer - transferToFixedLength: a, - detached: M - }, - // SharedArrayBuffer Objects - SharedArrayBuffer: !1, - // UNSAFE and purposely suppressed. - "%SharedArrayBufferPrototype%": !1, - // UNSAFE and purposely suppressed. - DataView: { - // Properties of the DataView Constructor - "[[Proto]]": "%FunctionPrototype%", - BYTES_PER_ELEMENT: "number", - // Non std but undeletable on Safari. - prototype: "%DataViewPrototype%" - }, - "%DataViewPrototype%": { - buffer: M, - byteLength: M, - byteOffset: M, - constructor: "DataView", - getBigInt64: a, - getBigUint64: a, - // https://github.com/tc39/proposal-float16array - getFloat16: a, - getFloat32: a, - getFloat64: a, - getInt8: a, - getInt16: a, - getInt32: a, - getUint8: a, - getUint16: a, - getUint32: a, - setBigInt64: a, - setBigUint64: a, - // https://github.com/tc39/proposal-float16array - setFloat16: a, - setFloat32: a, - setFloat64: a, - setInt8: a, - setInt16: a, - setInt32: a, - setUint8: a, - setUint16: a, - setUint32: a, - "@@toStringTag": "string" - }, - // Atomics - Atomics: !1, - // UNSAFE and suppressed. - JSON: { - parse: a, - stringify: a, - "@@toStringTag": "string", - // https://github.com/tc39/proposal-json-parse-with-source/ - rawJSON: a, - isRawJSON: a - }, - // *** Control Abstraction Objects - // https://github.com/tc39/proposal-iterator-helpers - Iterator: { - // Properties of the Iterator Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%IteratorPrototype%", - from: a - }, - "%IteratorPrototype%": { - // The %IteratorPrototype% Object - "@@iterator": a, - // https://github.com/tc39/proposal-iterator-helpers - constructor: "Iterator", - map: a, - filter: a, - take: a, - drop: a, - flatMap: a, - reduce: a, - toArray: a, - forEach: a, - some: a, - every: a, - find: a, - "@@toStringTag": "string", - // https://github.com/tc39/proposal-async-iterator-helpers - toAsync: a, - // See https://github.com/Moddable-OpenSource/moddable/issues/523#issuecomment-1942904505 - "@@dispose": !1 - }, - // https://github.com/tc39/proposal-iterator-helpers - "%WrapForValidIteratorPrototype%": { - "[[Proto]]": "%IteratorPrototype%", - next: a, - return: a - }, - // https://github.com/tc39/proposal-iterator-helpers - "%IteratorHelperPrototype%": { - "[[Proto]]": "%IteratorPrototype%", - next: a, - return: a, - "@@toStringTag": "string" - }, - // https://github.com/tc39/proposal-async-iterator-helpers - AsyncIterator: { - // Properties of the Iterator Constructor - "[[Proto]]": "%FunctionPrototype%", - prototype: "%AsyncIteratorPrototype%", - from: a - }, - "%AsyncIteratorPrototype%": { - // The %AsyncIteratorPrototype% Object - "@@asyncIterator": a, - // https://github.com/tc39/proposal-async-iterator-helpers - constructor: "AsyncIterator", - map: a, - filter: a, - take: a, - drop: a, - flatMap: a, - reduce: a, - toArray: a, - forEach: a, - some: a, - every: a, - find: a, - "@@toStringTag": "string", - // See https://github.com/Moddable-OpenSource/moddable/issues/523#issuecomment-1942904505 - "@@asyncDispose": !1 - }, - // https://github.com/tc39/proposal-async-iterator-helpers - "%WrapForValidAsyncIteratorPrototype%": { - "[[Proto]]": "%AsyncIteratorPrototype%", - next: a, - return: a - }, - // https://github.com/tc39/proposal-async-iterator-helpers - "%AsyncIteratorHelperPrototype%": { - "[[Proto]]": "%AsyncIteratorPrototype%", - next: a, - return: a, - "@@toStringTag": "string" - }, - "%InertGeneratorFunction%": { - // Properties of the GeneratorFunction Constructor - "[[Proto]]": "%InertFunction%", - prototype: "%Generator%" - }, - "%Generator%": { - // Properties of the GeneratorFunction Prototype Object - "[[Proto]]": "%FunctionPrototype%", - constructor: "%InertGeneratorFunction%", - prototype: "%GeneratorPrototype%", - "@@toStringTag": "string" - }, - "%InertAsyncGeneratorFunction%": { - // Properties of the AsyncGeneratorFunction Constructor - "[[Proto]]": "%InertFunction%", - prototype: "%AsyncGenerator%" - }, - "%AsyncGenerator%": { - // Properties of the AsyncGeneratorFunction Prototype Object - "[[Proto]]": "%FunctionPrototype%", - constructor: "%InertAsyncGeneratorFunction%", - prototype: "%AsyncGeneratorPrototype%", - // length prop added here for React Native jsc-android - // https://github.com/endojs/endo/issues/660 - // https://github.com/react-native-community/jsc-android-buildscripts/issues/181 - length: "number", - "@@toStringTag": "string" - }, - "%GeneratorPrototype%": { - // Properties of the Generator Prototype Object - "[[Proto]]": "%IteratorPrototype%", - constructor: "%Generator%", - next: a, - return: a, - throw: a, - "@@toStringTag": "string" - }, - "%AsyncGeneratorPrototype%": { - // Properties of the AsyncGenerator Prototype Object - "[[Proto]]": "%AsyncIteratorPrototype%", - constructor: "%AsyncGenerator%", - next: a, - return: a, - throw: a, - "@@toStringTag": "string" - }, - // TODO: To be replaced with Promise.delegate - // - // The HandledPromise global variable shimmed by `@agoric/eventual-send/shim` - // implements an initial version of the eventual send specification at: - // https://github.com/tc39/proposal-eventual-send - // - // We will likely change this to add a property to Promise called - // Promise.delegate and put static methods on it, which will necessitate - // another permits change to update to the current proposed standard. - HandledPromise: { - "[[Proto]]": "Promise", - applyFunction: a, - applyFunctionSendOnly: a, - applyMethod: a, - applyMethodSendOnly: a, - get: a, - getSendOnly: a, - prototype: "%PromisePrototype%", - resolve: a - }, - // https://github.com/tc39/proposal-source-phase-imports?tab=readme-ov-file#js-module-source - ModuleSource: { - "[[Proto]]": "%AbstractModuleSource%", - prototype: "%ModuleSourcePrototype%" - }, - "%ModuleSourcePrototype%": { - "[[Proto]]": "%AbstractModuleSourcePrototype%", - constructor: "ModuleSource", - "@@toStringTag": "string", - // https://github.com/tc39/proposal-compartments - bindings: M, - needsImport: M, - needsImportMeta: M - }, - "%AbstractModuleSource%": { - "[[Proto]]": "%FunctionPrototype%", - prototype: "%AbstractModuleSourcePrototype%" - }, - "%AbstractModuleSourcePrototype%": { - constructor: "%AbstractModuleSource%" - }, - Promise: { - // Properties of the Promise Constructor - "[[Proto]]": "%FunctionPrototype%", - all: a, - allSettled: a, - // https://github.com/Agoric/SES-shim/issues/550 - any: a, - prototype: "%PromisePrototype%", - race: a, - reject: a, - resolve: a, - // https://github.com/tc39/proposal-promise-with-resolvers - withResolvers: a, - "@@species": M, - // https://github.com/tc39/proposal-promise-try - try: a - }, - "%PromisePrototype%": { - // Properties of the Promise Prototype Object - catch: a, - constructor: "Promise", - finally: a, - then: a, - "@@toStringTag": "string", - // Non-standard, used in node to prevent async_hooks from breaking - "UniqueSymbol(async_id_symbol)": Le, - "UniqueSymbol(trigger_async_id_symbol)": Le, - "UniqueSymbol(destroyed)": Le - }, - "%InertAsyncFunction%": { - // Properties of the AsyncFunction Constructor - "[[Proto]]": "%InertFunction%", - prototype: "%AsyncFunctionPrototype%" - }, - "%AsyncFunctionPrototype%": { - // Properties of the AsyncFunction Prototype Object - "[[Proto]]": "%FunctionPrototype%", - constructor: "%InertAsyncFunction%", - // length prop added here for React Native jsc-android - // https://github.com/endojs/endo/issues/660 - // https://github.com/react-native-community/jsc-android-buildscripts/issues/181 - length: "number", - "@@toStringTag": "string" - }, - // Reflection - Reflect: { - // The Reflect Object - // Not a function object. - apply: a, - construct: a, - defineProperty: a, - deleteProperty: a, - get: a, - getOwnPropertyDescriptor: a, - getPrototypeOf: a, - has: a, - isExtensible: a, - ownKeys: a, - preventExtensions: a, - set: a, - setPrototypeOf: a, - "@@toStringTag": "string" - }, - Proxy: { - // Properties of the Proxy Constructor - "[[Proto]]": "%FunctionPrototype%", - revocable: a - }, - // Appendix B - // Annex B: Additional Properties of the Global Object - escape: a, - unescape: a, - // Proposed - "%UniqueCompartment%": { - "[[Proto]]": "%FunctionPrototype%", - prototype: "%CompartmentPrototype%", - toString: a - }, - "%InertCompartment%": { - "[[Proto]]": "%FunctionPrototype%", - prototype: "%CompartmentPrototype%", - toString: a - }, - "%CompartmentPrototype%": { - constructor: "%InertCompartment%", - evaluate: a, - globalThis: M, - name: M, - import: no, - load: no, - importNow: a, - module: a, - "@@toStringTag": "string" - }, - lockdown: a, - harden: { ...a, isFake: "boolean" }, - "%InitialGetStackString%": a -}, si = (t) => typeof t == "function"; -function ai(t, e, r) { - if (Q(t, e)) { - const n = ee(t, e); - if (!n || !Zr(n.value, r.value) || n.get !== r.get || n.set !== r.set || n.writable !== r.writable || n.enumerable !== r.enumerable || n.configurable !== r.configurable) - throw _(`Conflicting definitions of ${e}`); - } - D(t, e, r); -} -function ii(t, e) { - for (const [r, n] of me(e)) - ai(t, r, n); -} -function hs(t, e) { - const r = { __proto__: null }; - for (const [n, o] of me(e)) - Q(t, n) && (r[o] = t[n]); - return r; -} -const ms = (t) => { - const e = H(null); - let r; - const n = (l) => { - ii(e, Be(l)); - }; - y(n); - const o = () => { - for (const [l, u] of me(e)) { - if (!ke(u) || !Q(u, "prototype")) - continue; - const d = Cr[l]; - if (typeof d != "object") - throw _(`Expected permit object at permits.${l}`); - const f = d.prototype; - if (!f) { - ls( - u, - "prototype", - !1, - `${l}.prototype`, - t - ); - continue; - } - if (typeof f != "string" || !Q(Cr, f)) - throw _(`Unrecognized ${l}.prototype permits entry`); - const h = u.prototype; - if (Q(e, f)) { - if (e[f] !== h) - throw _(`Conflicting bindings of ${f}`); - continue; - } - e[f] = h; - } - }; - y(o); - const s = () => (y(e), r = new Ut(et(Ro(e), si)), e); - y(s); - const i = (l) => { - if (!r) - throw _( - "isPseudoNative can only be called after finalIntrinsics" - ); - return lr(r, l); - }; - y(i); - const c = { - addIntrinsics: n, - completePrototypes: o, - finalIntrinsics: s, - isPseudoNative: i - }; - return y(c), n(us), n(hs(S, ds)), c; -}, ci = (t, e) => { - const { addIntrinsics: r, finalIntrinsics: n } = ms(e); - return r(hs(t, fs)), n(); -}; -function li(t, e, r) { - const n = ["undefined", "boolean", "number", "string", "symbol"], o = new $e( - At ? de( - et( - me(Cr["%SharedSymbol%"]), - ([f, h]) => h === "symbol" && typeof At[f] == "symbol" - ), - ([f]) => [At[f], `@@${f}`] - ) : [] - ); - function s(f, h) { - if (typeof h == "string") - return h; - const p = Ke(o, h); - if (typeof h == "symbol") { - if (p) - return p; - { - const m = ha(h); - return m !== void 0 ? `RegisteredSymbol(${m})` : `Unique${_e(h)}`; - } - } - throw _(`Unexpected property name type ${f} ${h}`); - } - function i(f, h, p) { - if (!ke(h)) - throw _(`Object expected: ${f}, ${h}, ${p}`); - const m = G(h); - if (!(m === null && p === null)) { - if (p !== void 0 && typeof p != "string") - throw _(`Malformed permit ${f}.__proto__`); - if (m !== t[p || "%ObjectPrototype%"]) - throw _( - `Unexpected [[Prototype]] at ${f}.__proto__ (expected ${p || "%ObjectPrototype%"})` - ); - } - } - function c(f, h, p, m) { - if (typeof m == "object") - return d(f, h, m), !0; - if (m === !1) - return !1; - if (typeof m == "string") { - if (p === "prototype" || p === "constructor") { - if (Q(t, m)) { - if (h !== t[m]) - throw _(`Does not match permit for ${f}`); - return !0; - } - } else if (Hr(n, m)) { - if (typeof h !== m) - throw _( - `At ${f} expected ${m} not ${typeof h}` - ); - return !0; - } - } - throw _( - `Unexpected property ${p} with permit ${m} at ${f}` - ); - } - function l(f, h, p, m) { - const k = ee(h, p); - if (!k) - throw _(`Property ${p} not found at ${f}`); - if (Q(k, "value")) { - if (oo(m)) - throw _(`Accessor expected at ${f}`); - return c(f, k.value, p, m); - } - if (!oo(m)) - throw _(`Accessor not expected at ${f}`); - return c(`${f}`, k.get, p, m.get) && c(`${f}`, k.set, p, m.set); - } - function u(f, h, p) { - const m = p === "__proto__" ? "--proto--" : p; - if (Q(h, m)) - return h[m]; - if (typeof f == "function" && Q(vn, m)) - return vn[m]; - } - function d(f, h, p) { - if (h == null) - return; - const m = p["[[Proto]]"]; - i(f, h, m), typeof h == "function" && e(h); - for (const k of qe(h)) { - const x = s(f, k), w = `${f}.${x}`, R = u(h, p, x); - (!R || !l(w, h, k, R)) && ls(h, k, R === !1, w, r); - } - } - d("intrinsics", t, Cr); -} -function ui() { - try { - Ee.prototype.constructor("return 1"); - } catch { - return y({}); - } - const t = {}; - function e(r, n, o) { - let s; - try { - s = (0, eval)(o); - } catch (l) { - if (l instanceof ir) - return; - throw l; - } - const i = G(s), c = function() { - throw _( - "Function.prototype.constructor is not a valid constructor." - ); - }; - B(c, { - prototype: { value: i }, - name: { - value: r, - writable: !1, - enumerable: !1, - configurable: !0 - } - }), B(i, { - constructor: { value: c } - }), c !== Ee.prototype.constructor && wr(c, Ee.prototype.constructor), t[n] = c; - } - return e("Function", "%InertFunction%", "(function(){})"), e( - "GeneratorFunction", - "%InertGeneratorFunction%", - "(function*(){})" - ), e( - "AsyncFunction", - "%InertAsyncFunction%", - "(async function(){})" - ), e( - "AsyncGeneratorFunction", - "%InertAsyncGeneratorFunction%", - "(async function*(){})" - ), t; -} -function di(t = "safe") { - if (t !== "safe" && t !== "unsafe") - throw _(`unrecognized dateTaming ${t}`); - const e = sa, r = e.prototype, n = { - /** - * `%SharedDate%.now()` throw a `TypeError` starting with "secure mode". - * See https://github.com/endojs/endo/issues/910#issuecomment-1581855420 - */ - now() { - throw _("secure mode Calling %SharedDate%.now() throws"); - } - }, o = ({ powers: c = "none" } = {}) => { - let l; - return c === "original" ? l = function(...d) { - return new.target === void 0 ? ue(e, void 0, d) : xr(e, d, new.target); - } : l = function(...d) { - if (new.target === void 0) - throw _( - "secure mode Calling %SharedDate% constructor as a function throws" - ); - if (d.length === 0) - throw _( - "secure mode Calling new %SharedDate%() with no arguments throws" - ); - return xr(e, d, new.target); - }, B(l, { - length: { value: 7 }, - prototype: { - value: r, - writable: !1, - enumerable: !1, - configurable: !1 - }, - parse: { - value: e.parse, - writable: !0, - enumerable: !1, - configurable: !0 - }, - UTC: { - value: e.UTC, - writable: !0, - enumerable: !1, - configurable: !0 - } - }), l; - }, s = o({ powers: "original" }), i = o({ powers: "none" }); - return B(s, { - now: { - value: e.now, - writable: !0, - enumerable: !1, - configurable: !0 - } - }), B(i, { - now: { - value: n.now, - writable: !0, - enumerable: !1, - configurable: !0 - } - }), B(r, { - constructor: { value: i } - }), { - "%InitialDate%": s, - "%SharedDate%": i - }; -} -function fi(t = "safe") { - if (t !== "safe" && t !== "unsafe") - throw _(`unrecognized mathTaming ${t}`); - const e = ca, r = e, { random: n, ...o } = Be(e), i = H(zr, { - ...o, - random: { - value: { - /** - * `%SharedMath%.random()` throws a TypeError starting with "secure mode". - * See https://github.com/endojs/endo/issues/910#issuecomment-1581855420 - */ - random() { - throw _("secure mode %SharedMath%.random() throws"); - } - }.random, - writable: !0, - enumerable: !1, - configurable: !0 - } - }); - return { - "%InitialMath%": r, - "%SharedMath%": i - }; -} -function pi(t = "safe") { - if (t !== "safe" && t !== "unsafe") - throw _(`unrecognized regExpTaming ${t}`); - const e = Xe.prototype, r = (s = {}) => { - const i = function(...l) { - return new.target === void 0 ? Xe(...l) : xr(Xe, l, new.target); - }; - if (B(i, { - length: { value: 2 }, - prototype: { - value: e, - writable: !1, - enumerable: !1, - configurable: !1 - } - }), nn) { - const c = ee( - Xe, - nn - ); - if (!c) - throw _("no RegExp[Symbol.species] descriptor"); - B(i, { - [nn]: c - }); - } - return i; - }, n = r(), o = r(); - return t !== "unsafe" && delete e.compile, B(e, { - constructor: { value: o } - }), { - "%InitialRegExp%": n, - "%SharedRegExp%": o - }; -} -const hi = { - "%ObjectPrototype%": { - toString: !0 - }, - "%FunctionPrototype%": { - toString: !0 - // set by "rollup" - }, - "%ErrorPrototype%": { - name: !0 - // set by "precond", "ava", "node-fetch" - }, - "%IteratorPrototype%": { - toString: !0, - // https://github.com/tc39/proposal-iterator-helpers - constructor: !0, - // https://github.com/tc39/proposal-iterator-helpers - [Qe]: !0 - } -}, gs = { - "%ObjectPrototype%": { - toString: !0, - valueOf: !0 - }, - "%ArrayPrototype%": { - toString: !0, - push: !0, - // set by "Google Analytics" - concat: !0, - // set by mobx generated code (old TS compiler?) - [De]: !0 - // set by mobx generated code (old TS compiler?) - }, - // Function.prototype has no 'prototype' property to enable. - // Function instances have their own 'name' and 'length' properties - // which are configurable and non-writable. Thus, they are already - // non-assignable anyway. - "%FunctionPrototype%": { - constructor: !0, - // set by "regenerator-runtime" - bind: !0, - // set by "underscore", "express" - toString: !0 - // set by "rollup" - }, - "%ErrorPrototype%": { - constructor: !0, - // set by "fast-json-patch", "node-fetch" - message: !0, - name: !0, - // set by "precond", "ava", "node-fetch", "node 14" - toString: !0 - // set by "bluebird" - }, - "%TypeErrorPrototype%": { - constructor: !0, - // set by "readable-stream" - message: !0, - // set by "tape" - name: !0 - // set by "readable-stream", "node 14" - }, - "%SyntaxErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14" - }, - "%RangeErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14" - }, - "%URIErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14" - }, - "%EvalErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14" - }, - "%ReferenceErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14" - }, - // https://github.com/endojs/endo/issues/550 - "%AggregateErrorPrototype%": { - message: !0, - // to match TypeErrorPrototype.message - name: !0 - // set by "node 14"? - }, - "%PromisePrototype%": { - constructor: !0 - // set by "core-js" - }, - "%TypedArrayPrototype%": "*", - // set by https://github.com/feross/buffer - "%Generator%": { - constructor: !0, - name: !0, - toString: !0 - }, - "%IteratorPrototype%": { - toString: !0, - // https://github.com/tc39/proposal-iterator-helpers - constructor: !0, - // https://github.com/tc39/proposal-iterator-helpers - [Qe]: !0 - } -}, mi = { - ...gs, - /** - * Rollup (as used at least by vega) and webpack - * (as used at least by regenerator) both turn exports into assignments - * to a big `exports` object that inherits directly from - * `Object.prototype`. Some of the exported names we've seen include - * `hasOwnProperty`, `constructor`, and `toString`. But the strategy used - * by rollup and webpack potentionally turns any exported name - * into an assignment rejected by the override mistake. That's why - * the `severe` enablements takes the extreme step of enabling - * everything on `Object.prototype`. - * - * In addition, code doing inheritance manually will often override - * the `constructor` property on the new prototype by assignment. We've - * seen this several times. - * - * The cost of enabling all these is that they create a miserable debugging - * experience specifically on Node. - * https://github.com/Agoric/agoric-sdk/issues/2324 - * explains how it confused the Node console. - * - * (TODO Reexamine the vscode situation. I think it may have improved - * since the following paragraph was written.) - * - * The vscode debugger's object inspector shows the own data properties of - * an object, which is typically what you want, but also shows both getter - * and setter for every accessor property whether inherited or own. - * With the `'*'` setting here, all the properties inherited from - * `Object.prototype` are accessors, creating an unusable display as seen - * at As explained at - * https://github.com/endojs/endo/blob/master/packages/ses/docs/lockdown.md#overridetaming-options - * Open the triangles at the bottom of that section. - */ - "%ObjectPrototype%": "*", - /** - * The widely used Buffer defined at https://github.com/feross/buffer - * on initialization, manually creates the equivalent of a subclass of - * `TypedArray`, which it then initializes by assignment. These assignments - * include enough of the `TypeArray` methods that here, the `severe` - * enablements just enable them all. - */ - "%TypedArrayPrototype%": "*", - /** - * Needed to work with Immer before https://github.com/immerjs/immer/pull/914 - * is accepted. - */ - "%MapPrototype%": "*", - /** - * Needed to work with Immer before https://github.com/immerjs/immer/pull/914 - * is accepted. - */ - "%SetPrototype%": "*" -}; -function gi(t, e, { warn: r }, n = []) { - const o = new Dt(n); - function s(d, f, h, p) { - if ("value" in p && p.configurable) { - const { value: m } = p, k = Cn(o, h), { get: x, set: w } = ee( - { - get [h]() { - return m; - }, - set [h](R) { - if (f === this) - throw _( - `Cannot assign to read only property '${_e( - h - )}' of '${d}'` - ); - Q(this, h) ? this[h] = R : (k && r(_(`Override property ${h}`)), D(this, h, { - value: R, - writable: !0, - enumerable: !0, - configurable: !0 - })); - } - }, - h - ); - D(x, "originalValue", { - value: m, - writable: !1, - enumerable: !1, - configurable: !1 - }), D(f, h, { - get: x, - set: w, - enumerable: p.enumerable, - configurable: p.configurable - }); - } - } - function i(d, f, h) { - const p = ee(f, h); - p && s(d, f, h, p); - } - function c(d, f) { - const h = Be(f); - h && ht(qe(h), (p) => s(d, f, p, h[p])); - } - function l(d, f, h) { - for (const p of qe(h)) { - const m = ee(f, p); - if (!m || m.get || m.set) - continue; - const k = `${d}.${_e(p)}`, x = h[p]; - if (x === !0) - i(k, f, p); - else if (x === "*") - c(k, m.value); - else if (ke(x)) - l(k, m.value, x); - else - throw _(`Unexpected override enablement plan ${k}`); - } - } - let u; - switch (e) { - case "min": { - u = hi; - break; - } - case "moderate": { - u = gs; - break; - } - case "severe": { - u = mi; - break; - } - default: - throw _(`unrecognized overrideTaming ${e}`); - } - l("root", t, u); -} -const { Fail: bn, quote: Rr } = Y, yi = /^(\w*[a-z])Locale([A-Z]\w*)$/, ys = { - // See https://tc39.es/ecma262/#sec-string.prototype.localecompare - localeCompare(t) { - if (this === null || this === void 0) - throw _( - 'Cannot localeCompare with null or undefined "this" value' - ); - const e = `${this}`, r = `${t}`; - return e < r ? -1 : e > r ? 1 : (e === r || bn`expected ${Rr(e)} and ${Rr(r)} to compare`, 0); - }, - toString() { - return `${this}`; - } -}, _i = ys.localeCompare, vi = ys.toString; -function bi(t, e = "safe") { - if (e !== "safe" && e !== "unsafe") - throw _(`unrecognized localeTaming ${e}`); - if (e !== "unsafe") { - D(_e.prototype, "localeCompare", { - value: _i - }); - for (const r of Nt(t)) { - const n = t[r]; - if (ke(n)) - for (const o of Nt(n)) { - const s = $n(yi, o); - if (s) { - typeof n[o] == "function" || bn`expected ${Rr(o)} to be a function`; - const i = `${s[1]}${s[2]}`, c = n[i]; - typeof c == "function" || bn`function ${Rr(i)} not found`, D(n, o, { value: c }); - } - } - } - D(Io.prototype, "toLocaleString", { - value: vi - }); - } -} -const wi = (t) => ({ - eval(r) { - return typeof r != "string" ? r : t(r); - } -}).eval, { Fail: ao } = Y, xi = (t) => { - const e = function(n) { - const o = `${Er(arguments) || ""}`, s = `${Zt(arguments, ",")}`; - new Ee(s, ""), new Ee(o); - const i = `(function anonymous(${s} -) { -${o} -})`; - return t(i); - }; - return B(e, { - // Ensure that any function created in any evaluator in a realm is an - // instance of Function in any evaluator of the same realm. - prototype: { - value: Ee.prototype, - writable: !1, - enumerable: !1, - configurable: !1 - } - }), G(Ee) === Ee.prototype || ao`Function prototype is the same accross compartments`, G(e) === Ee.prototype || ao`Function constructor prototype is the same accross compartments`, e; -}, Si = (t) => { - D( - t, - pa, - y( - jr(H(null), { - set: y(() => { - throw _( - "Cannot set Symbol.unscopables of a Compartment's globalThis" - ); - }), - enumerable: !1, - configurable: !1 - }) - ) - ); -}, _s = (t) => { - for (const [e, r] of me(us)) - D(t, e, { - value: r, - writable: !1, - enumerable: !1, - configurable: !1 - }); -}, vs = (t, { - intrinsics: e, - newGlobalPropertyNames: r, - makeCompartmentConstructor: n, - markVirtualizedNativeFunction: o, - parentCompartment: s -}) => { - for (const [c, l] of me(ds)) - Q(e, l) && D(t, c, { - value: e[l], - writable: !0, - enumerable: !1, - configurable: !0 - }); - for (const [c, l] of me(r)) - Q(e, l) && D(t, c, { - value: e[l], - writable: !0, - enumerable: !1, - configurable: !0 - }); - const i = { - globalThis: t - }; - i.Compartment = y( - n( - n, - e, - o, - s - ) - ); - for (const [c, l] of me(i)) - D(t, c, { - value: l, - writable: !0, - enumerable: !1, - configurable: !0 - }), typeof l == "function" && o(l); -}, wn = (t, e, r) => { - { - const n = y(wi(e)); - r(n), D(t, "eval", { - value: n, - writable: !0, - enumerable: !1, - configurable: !0 - }); - } - { - const n = y(xi(e)); - r(n), D(t, "Function", { - value: n, - writable: !0, - enumerable: !1, - configurable: !0 - }); - } -}, { Fail: Ei, quote: bs } = Y, ws = new Ur( - Mn, - y({ - get(t, e) { - Ei`Please report unexpected scope handler trap: ${bs(_e(e))}`; - } - }) -), ki = { - get(t, e) { - }, - set(t, e, r) { - throw Wt(`${_e(e)} is not defined`); - }, - has(t, e) { - return e in S; - }, - // note: this is likely a bug of safari - // https://bugs.webkit.org/show_bug.cgi?id=195534 - getPrototypeOf(t) { - return null; - }, - // See https://github.com/endojs/endo/issues/1510 - // TODO: report as bug to v8 or Chrome, and record issue link here. - getOwnPropertyDescriptor(t, e) { - const r = bs(_e(e)); - console.warn( - `getOwnPropertyDescriptor trap on scopeTerminatorHandler for ${r}`, - _().stack - ); - }, - // See https://github.com/endojs/endo/issues/1490 - // TODO Report bug to JSC or Safari - ownKeys(t) { - return []; - } -}, xs = y( - H( - ws, - Be(ki) - ) -), Pi = new Ur( - Mn, - xs -), Ss = (t) => { - const e = { - // inherit scopeTerminator behavior - ...xs, - // Redirect set properties to the globalObject. - set(o, s, i) { - return Mo(t, s, i); - }, - // Always claim to have a potential property in order to be the recipient of a set - has(o, s) { - return !0; - } - }, r = y( - H( - ws, - Be(e) - ) - ); - return new Ur( - Mn, - r - ); -}; -y(Ss); -const { Fail: Ai } = Y, Ti = () => { - const t = H(null), e = y({ - eval: { - get() { - return delete t.eval, Ko; - }, - enumerable: !1, - configurable: !0 - } - }), r = { - evalScope: t, - allowNextEvalToBeUnsafe() { - const { revoked: n } = r; - n !== null && Ai`a handler did not reset allowNextEvalToBeUnsafe ${n.err}`, B(t, e); - }, - /** @type {null | { err: any }} */ - revoked: null - }; - return r; -}, io = "\\s*[@#]\\s*([a-zA-Z][a-zA-Z0-9]*)\\s*=\\s*([^\\s\\*]*)", Ii = new Xe( - `(?:\\s*//${io}|/\\*${io}\\s*\\*/)\\s*$` -), Fn = (t) => { - let e = ""; - for (; t.length > 0; ) { - const r = $n(Ii, t); - if (r === null) - break; - t = Nn(t, 0, t.length - r[0].length), r[3] === "sourceURL" ? e = r[4] : r[1] === "sourceURL" && (e = r[2]); - } - return e; -}; -function Dn(t, e) { - const r = Na(t, e); - if (r < 0) - return -1; - const n = t[r] === ` -` ? 1 : 0; - return On(Nn(t, 0, r), ` -`).length + n; -} -const Es = new Xe("(?:)", "g"), ks = (t) => { - const e = Dn(t, Es); - if (e < 0) - return t; - const r = Fn(t); - throw ir( - `Possible HTML comment rejected at ${r}:${e}. (SES_HTML_COMMENT_REJECTED)` - ); -}, Ps = (t) => Pr(t, Es, (r) => r[0] === "<" ? "< ! --" : "-- >"), As = new Xe( - "(^|[^.]|\\.\\.\\.)\\bimport(\\s*(?:\\(|/[/*]))", - "g" -), Ts = (t) => { - const e = Dn(t, As); - if (e < 0) - return t; - const r = Fn(t); - throw ir( - `Possible import expression rejected at ${r}:${e}. (SES_IMPORT_REJECTED)` - ); -}, Is = (t) => Pr(t, As, (r, n, o) => `${n}__import__${o}`), Ci = new Xe( - "(^|[^.])\\beval(\\s*\\()", - "g" -), Cs = (t) => { - const e = Dn(t, Ci); - if (e < 0) - return t; - const r = Fn(t); - throw ir( - `Possible direct eval expression rejected at ${r}:${e}. (SES_EVAL_REJECTED)` - ); -}, Rs = (t) => (t = ks(t), t = Ts(t), t), $s = (t, e) => { - for (const r of e) - t = r(t); - return t; -}; -y({ - rejectHtmlComments: y(ks), - evadeHtmlCommentTest: y(Ps), - rejectImportExpressions: y(Ts), - evadeImportExpressionTest: y(Is), - rejectSomeDirectEvalExpressions: y(Cs), - mandatoryTransforms: y(Rs), - applyTransforms: y($s) -}); -const Ri = [ - // 11.6.2.1 Keywords - "await", - "break", - "case", - "catch", - "class", - "const", - "continue", - "debugger", - "default", - "delete", - "do", - "else", - "export", - "extends", - "finally", - "for", - "function", - "if", - "import", - "in", - "instanceof", - "new", - "return", - "super", - "switch", - "this", - "throw", - "try", - "typeof", - "var", - "void", - "while", - "with", - "yield", - // Also reserved when parsing strict mode code - "let", - "static", - // 11.6.2.2 Future Reserved Words - "enum", - // Also reserved when parsing strict mode code - "implements", - "package", - "protected", - "interface", - "private", - "public", - // Reserved but not mentioned in specs - "await", - "null", - "true", - "false", - "this", - "arguments" -], $i = /^[a-zA-Z_$][\w$]*$/, co = (t) => t !== "eval" && !Hr(Ri, t) && Rn($i, t); -function lo(t, e) { - const r = ee(t, e); - return r && // - // The getters will not have .writable, don't let the falsyness of - // 'undefined' trick us: test with === false, not ! . However descriptors - // inherit from the (potentially poisoned) global object, so we might see - // extra properties which weren't really there. Accessor properties have - // 'get/set/enumerable/configurable', while data properties have - // 'value/writable/enumerable/configurable'. - r.configurable === !1 && r.writable === !1 && // - // Checks for data properties because they're the only ones we can - // optimize (accessors are most likely non-constant). Descriptors can't - // can't have accessors and value properties at the same time, therefore - // this check is sufficient. Using explicit own property deal with the - // case where Object.prototype has been poisoned. - Q(r, "value"); -} -const Ni = (t, e = {}) => { - const r = Nt(t), n = Nt(e), o = et( - n, - (i) => co(i) && lo(e, i) - ); - return { - globalObjectConstants: et( - r, - (i) => ( - // Can't define a constant: it would prevent a - // lookup on the endowments. - !Hr(n, i) && co(i) && lo(t, i) - ) - ), - moduleLexicalConstants: o - }; -}; -function uo(t, e) { - return t.length === 0 ? "" : `const {${Zt(t, ",")}} = this.${e};`; -} -const Oi = (t) => { - const { globalObjectConstants: e, moduleLexicalConstants: r } = Ni( - t.globalObject, - t.moduleLexicals - ), n = uo( - e, - "globalObject" - ), o = uo( - r, - "moduleLexicals" - ), s = Ee(` - with (this.scopeTerminator) { - with (this.globalObject) { - with (this.moduleLexicals) { - with (this.evalScope) { - ${n} - ${o} - return function() { - 'use strict'; - return eval(arguments[0]); - }; - } - } - } - } - `); - return ue(s, t, []); -}, { Fail: Mi } = Y, Un = ({ - globalObject: t, - moduleLexicals: e = {}, - globalTransforms: r = [], - sloppyGlobalsMode: n = !1 -}) => { - const o = n ? Ss(t) : Pi, s = Ti(), { evalScope: i } = s, c = y({ - evalScope: i, - moduleLexicals: e, - globalObject: t, - scopeTerminator: o - }); - let l; - const u = () => { - l || (l = Oi(c)); - }; - return { safeEvaluate: (f, h) => { - const { localTransforms: p = [] } = h || {}; - u(), f = $s(f, [ - ...p, - ...r, - Rs - ]); - let m; - try { - return s.allowNextEvalToBeUnsafe(), ue(l, t, [f]); - } catch (k) { - throw m = k, k; - } finally { - const k = "eval" in i; - delete i.eval, k && (s.revoked = { err: m }, Mi`handler did not reset allowNextEvalToBeUnsafe ${m}`); - } - } }; -}, Li = ") { [native code] }"; -let ln; -const Ns = () => { - if (ln === void 0) { - const t = new Ut(); - D(Vr, "toString", { - value: { - toString() { - const r = La(this); - return Bo(r, Li) || !lr(t, this) ? r : `function ${this.name}() { [native code] }`; - } - }.toString - }), ln = y( - (r) => qr(t, r) - ); - } - return ln; -}; -function Fi(t = "safe") { - if (t !== "safe" && t !== "unsafe") - throw _(`unrecognized domainTaming ${t}`); - if (t === "unsafe") - return; - const e = S.process || void 0; - if (typeof e == "object") { - const r = ee(e, "domain"); - if (r !== void 0 && r.get !== void 0) - throw _( - "SES failed to lockdown, Node.js domains have been initialized (SES_NO_DOMAINS)" - ); - D(e, "domain", { - value: null, - configurable: !1, - writable: !1, - enumerable: !1 - }); - } -} -const Di = () => { - const t = {}, e = S.ModuleSource; - if (e !== void 0) { - let n = function() { - }; - var r = n; - t.ModuleSource = e; - const o = G(e); - o === Vr ? (wr(e, n), t["%AbstractModuleSource%"] = n, t["%AbstractModuleSourcePrototype%"] = n.prototype) : (t["%AbstractModuleSource%"] = o, t["%AbstractModuleSourcePrototype%"] = o.prototype); - const s = e.prototype; - s !== void 0 && (t["%ModuleSourcePrototype%"] = s, G(s) === zr && wr(e.prototype, n.prototype)); - } - return t; -}, jn = y([ - ["debug", "debug"], - // (fmt?, ...args) verbose level on Chrome - ["log", "log"], - // (fmt?, ...args) info level on Chrome - ["info", "info"], - // (fmt?, ...args) - ["warn", "warn"], - // (fmt?, ...args) - ["error", "error"], - // (fmt?, ...args) - ["trace", "log"], - // (fmt?, ...args) - ["dirxml", "log"], - // (fmt?, ...args) but TS typed (...data) - ["group", "log"], - // (fmt?, ...args) but TS typed (...label) - ["groupCollapsed", "log"] - // (fmt?, ...args) but TS typed (...label) -]), Zn = y([ - ["assert", "error"], - // (value, fmt?, ...args) - ["timeLog", "log"], - // (label?, ...args) no fmt string - // Insensitive to whether any argument is an error. All arguments can pass - // thru to baseConsole as is. - ["clear", void 0], - // () - ["count", "info"], - // (label?) - ["countReset", void 0], - // (label?) - ["dir", "log"], - // (item, options?) - ["groupEnd", "log"], - // () - // In theory tabular data may be or contain an error. However, we currently - // do not detect these and may never. - ["table", "log"], - // (tabularData, properties?) - ["time", "info"], - // (label?) - ["timeEnd", "info"], - // (label?) - // Node Inspector only, MDN, and TypeScript, but not whatwg - ["profile", void 0], - // (label?) - ["profileEnd", void 0], - // (label?) - ["timeStamp", void 0] - // (label?) -]), Os = y([ - ...jn, - ...Zn -]), Ui = (t, { shouldResetForDebugging: e = !1 } = {}) => { - e && t.resetErrorTagNum(); - let r = []; - const n = bt( - de(Os, ([i, c]) => { - const l = (...u) => { - ne(r, [i, ...u]); - }; - return D(l, "name", { value: i }), [i, y(l)]; - }) - ); - y(n); - const o = () => { - const i = y(r); - return r = [], i; - }; - return y(o), y({ loggingConsole: ( - /** @type {VirtualConsole} */ - n - ), takeLog: o }); -}; -y(Ui); -const dt = { - NOTE: "ERROR_NOTE:", - MESSAGE: "ERROR_MESSAGE:", - CAUSE: "cause:", - ERRORS: "errors:" -}; -y(dt); -const zn = (t, e) => { - if (!t) - return; - const { getStackString: r, tagError: n, takeMessageLogArgs: o, takeNoteLogArgsArray: s } = e, i = (x, w) => de(x, (T) => Kr(T) ? (ne(w, T), `(${n(T)})`) : T), c = (x, w, R, T, j) => { - const I = n(w), L = R === dt.MESSAGE ? `${I}:` : `${I} ${R}`, Z = i(T, j); - t[x](L, ...Z); - }, l = (x, w, R = void 0) => { - if (w.length === 0) - return; - if (w.length === 1 && R === void 0) { - f(x, w[0]); - return; - } - let T; - w.length === 1 ? T = "Nested error" : T = `Nested ${w.length} errors`, R !== void 0 && (T = `${T} under ${R}`), t.group(T); - try { - for (const j of w) - f(x, j); - } finally { - t.groupEnd(); - } - }, u = new Ut(), d = (x) => (w, R) => { - const T = []; - c(x, w, dt.NOTE, R, T), l(x, T, n(w)); - }, f = (x, w) => { - if (lr(u, w)) - return; - const R = n(w); - qr(u, w); - const T = [], j = o(w), I = s( - w, - d(x) - ); - j === void 0 ? t[x](`${R}:`, w.message) : c( - x, - w, - dt.MESSAGE, - j, - T - ); - let L = r(w); - typeof L == "string" && L.length >= 1 && !Bo(L, ` -`) && (L += ` -`), t[x](L), w.cause && c(x, w, dt.CAUSE, [w.cause], T), w.errors && c(x, w, dt.ERRORS, w.errors, T); - for (const Z of I) - c(x, w, dt.NOTE, Z, T); - l(x, T, R); - }, h = de(jn, ([x, w]) => { - const R = (...T) => { - const j = [], I = i(T, j); - t[x] && t[x](...I), l(x, j); - }; - return D(R, "name", { value: x }), [x, y(R)]; - }), p = et( - Zn, - ([x, w]) => x in t - ), m = de(p, ([x, w]) => { - const R = (...T) => { - t[x](...T); - }; - return D(R, "name", { value: x }), [x, y(R)]; - }), k = bt([...h, ...m]); - return ( - /** @type {VirtualConsole} */ - y(k) - ); -}; -y(zn); -const ji = (t, e, r) => { - const [n, ...o] = On(t, e), s = jo(o, (i) => [e, ...r, i]); - return ["", n, ...s]; -}, Ms = (t) => y((r) => { - const n = [], o = (...l) => (n.length > 0 && (l = jo( - l, - (u) => typeof u == "string" && Go(u, ` -`) ? ji(u, ` -`, n) : [u] - ), l = [...n, ...l]), r(...l)), s = (l, u) => ({ [l]: (...d) => u(...d) })[l], i = bt([ - ...de(jn, ([l]) => [ - l, - s(l, o) - ]), - ...de(Zn, ([l]) => [ - l, - s(l, (...u) => o(l, ...u)) - ]) - ]); - for (const l of ["group", "groupCollapsed"]) - i[l] ? i[l] = s(l, (...u) => { - u.length >= 1 && o(...u), ne(n, " "); - }) : i[l] = () => { - }; - return i.groupEnd ? i.groupEnd = s("groupEnd", (...l) => { - Er(n); - }) : i.groupEnd = () => { - }, harden(i), zn( - /** @type {VirtualConsole} */ - i, - t - ); -}); -y(Ms); -const Zi = (t, e, r = void 0) => { - const n = et( - Os, - ([i, c]) => i in t - ), o = de(n, ([i, c]) => [i, y((...u) => { - (c === void 0 || e.canLog(c)) && t[i](...u); - })]), s = bt(o); - return ( - /** @type {VirtualConsole} */ - y(s) - ); -}; -y(Zi); -const fo = (t) => { - if ($t === void 0) - return; - let e = 0; - const r = new $e(), n = (d) => { - Aa(r, d); - }, o = new ze(), s = (d) => { - if (Wr(r, d)) { - const f = Ke(r, d); - n(d), t(f); - } - }, i = new $t(s); - return { - rejectionHandledHandler: (d) => { - const f = z(o, d); - n(f); - }, - unhandledRejectionHandler: (d, f) => { - e += 1; - const h = e; - pe(r, h, d), he(o, f, h), Fa(i, f, h, f); - }, - processTerminationHandler: () => { - for (const [d, f] of Ta(r)) - n(d), t(f); - } - }; -}, un = (t) => { - throw _(t); -}, po = (t, e) => y((...r) => ue(t, e, r)), zi = (t = "safe", e = "platform", r = "report", n = void 0) => { - t === "safe" || t === "unsafe" || un(`unrecognized consoleTaming ${t}`); - let o; - n === void 0 ? o = Ir : o = { - ...Ir, - getStackString: n - }; - const s = ( - /** @type {VirtualConsole} */ - // eslint-disable-next-line no-nested-ternary - typeof S.console < "u" ? S.console : typeof S.print == "function" ? ( - // Make a good-enough console for eshost (including only functions that - // log at a specific level with no special argument interpretation). - // https://console.spec.whatwg.org/#logging - ((u) => y({ debug: u, log: u, info: u, warn: u, error: u }))( - // eslint-disable-next-line no-undef - po(S.print) - ) - ) : void 0 - ); - if (s && s.log) - for (const u of ["warn", "error"]) - s[u] || D(s, u, { - value: po(s.log, s) - }); - const i = ( - /** @type {VirtualConsole} */ - t === "unsafe" ? s : zn(s, o) - ), c = S.process || void 0; - if (e !== "none" && typeof c == "object" && typeof c.on == "function") { - let u; - if (e === "platform" || e === "exit") { - const { exit: d } = c; - typeof d == "function" || un("missing process.exit"), u = () => d(c.exitCode || -1); - } else e === "abort" && (u = c.abort, typeof u == "function" || un("missing process.abort")); - c.on("uncaughtException", (d) => { - i.error("SES_UNCAUGHT_EXCEPTION:", d), u && u(); - }); - } - if (r !== "none" && typeof c == "object" && typeof c.on == "function") { - const d = fo((f) => { - i.error("SES_UNHANDLED_REJECTION:", f); - }); - d && (c.on("unhandledRejection", d.unhandledRejectionHandler), c.on("rejectionHandled", d.rejectionHandledHandler), c.on("exit", d.processTerminationHandler)); - } - const l = S.window || void 0; - if (e !== "none" && typeof l == "object" && typeof l.addEventListener == "function" && l.addEventListener("error", (u) => { - u.preventDefault(), i.error("SES_UNCAUGHT_EXCEPTION:", u.error), (e === "exit" || e === "abort") && (l.location.href = "about:blank"); - }), r !== "none" && typeof l == "object" && typeof l.addEventListener == "function") { - const d = fo((f) => { - i.error("SES_UNHANDLED_REJECTION:", f); - }); - d && (l.addEventListener("unhandledrejection", (f) => { - f.preventDefault(), d.unhandledRejectionHandler(f.reason, f.promise); - }), l.addEventListener("rejectionhandled", (f) => { - f.preventDefault(), d.rejectionHandledHandler(f.promise); - }), l.addEventListener("beforeunload", (f) => { - d.processTerminationHandler(); - })); - } - return { console: i }; -}, Bi = [ - // suppress 'getThis' definitely - "getTypeName", - // suppress 'getFunction' definitely - "getFunctionName", - "getMethodName", - "getFileName", - "getLineNumber", - "getColumnNumber", - "getEvalOrigin", - "isToplevel", - "isEval", - "isNative", - "isConstructor", - "isAsync", - // suppress 'isPromiseAll' for now - // suppress 'getPromiseIndex' for now - // Additional names found by experiment, absent from - // https://v8.dev/docs/stack-trace-api - "getPosition", - "getScriptNameOrSourceURL", - "toString" - // TODO replace to use only permitted info -], Gi = (t) => { - const r = bt(de(Bi, (n) => { - const o = t[n]; - return [n, () => ue(o, t, [])]; - })); - return H(r, {}); -}, Vi = (t) => de(t, Gi), Hi = /\/node_modules\//, Wi = /^(?:node:)?internal\//, qi = /\/packages\/ses\/src\/error\/assert.js$/, Ki = /\/packages\/eventual-send\/src\//, Yi = [ - Hi, - Wi, - qi, - Ki -], Ji = (t) => { - if (!t) - return !0; - for (const e of Yi) - if (Rn(e, t)) - return !1; - return !0; -}, Xi = /^((?:.*[( ])?)[:/\w_-]*\/\.\.\.\/(.+)$/, Qi = /^((?:.*[( ])?)[:/\w_-]*\/(packages\/.+)$/, ec = [ - Xi, - Qi -], tc = (t) => { - for (const e of ec) { - const r = $n(e, t); - if (r) - return Zt(xa(r, 1), ""); - } - return t; -}, rc = (t, e, r, n) => { - if (r === "unsafe-debug") - throw _( - "internal: v8+unsafe-debug special case should already be done" - ); - const o = t.captureStackTrace, s = (p) => n === "verbose" ? !0 : Ji(p.getFileName()), i = (p) => { - let m = `${p}`; - return n === "concise" && (m = tc(m)), ` - at ${m}`; - }, c = (p, m) => Zt( - de(et(m, s), i), - "" - ), l = new ze(), u = { - // The optional `optFn` argument is for cutting off the bottom of - // the stack --- for capturing the stack only above the topmost - // call to that function. Since this isn't the "real" captureStackTrace - // but instead calls the real one, if no other cutoff is provided, - // we cut this one off. - captureStackTrace(p, m = u.captureStackTrace) { - if (typeof o == "function") { - ue(o, t, [p, m]); - return; - } - Mo(p, "stack", ""); - }, - // Shim of proposed special power, to reside by default only - // in the start compartment, for getting the stack traceback - // string associated with an error. - // See https://tc39.es/proposal-error-stacks/ - getStackString(p) { - let m = z(l, p); - if (m === void 0 && (p.stack, m = z(l, p), m || (m = { stackString: "" }, he(l, p, m))), m.stackString !== void 0) - return m.stackString; - const k = c(p, m.callSites); - return he(l, p, { stackString: k }), k; - }, - prepareStackTrace(p, m) { - if (r === "unsafe") { - const k = c(p, m); - return he(l, p, { stackString: k }), `${p}${k}`; - } else - return he(l, p, { callSites: m }), ""; - } - }, d = u.prepareStackTrace; - t.prepareStackTrace = d; - const f = new Ut([d]), h = (p) => { - if (lr(f, p)) - return p; - const m = { - prepareStackTrace(k, x) { - return he(l, k, { callSites: x }), p(k, Vi(x)); - } - }; - return qr(f, m.prepareStackTrace), m.prepareStackTrace; - }; - return B(e, { - captureStackTrace: { - value: u.captureStackTrace, - writable: !0, - enumerable: !1, - configurable: !0 - }, - prepareStackTrace: { - get() { - return t.prepareStackTrace; - }, - set(p) { - if (typeof p == "function") { - const m = h(p); - t.prepareStackTrace = m; - } else - t.prepareStackTrace = d; - }, - enumerable: !1, - configurable: !0 - } - }), u.getStackString; -}, ho = ee(le.prototype, "stack"), mo = ho && ho.get, nc = { - getStackString(t) { - return typeof mo == "function" ? ue(mo, t, []) : "stack" in t ? `${t.stack}` : ""; - } -}; -let hr = nc.getStackString; -function oc(t = "safe", e = "concise") { - if (t !== "safe" && t !== "unsafe" && t !== "unsafe-debug") - throw _(`unrecognized errorTaming ${t}`); - if (e !== "concise" && e !== "verbose") - throw _(`unrecognized stackFiltering ${e}`); - const r = le.prototype, { captureStackTrace: n } = le, o = typeof n == "function" ? "v8" : "unknown", s = (l = {}) => { - const u = function(...f) { - let h; - return new.target === void 0 ? h = ue(le, this, f) : h = xr(le, f, new.target), o === "v8" && ue(n, le, [h, u]), h; - }; - return B(u, { - length: { value: 1 }, - prototype: { - value: r, - writable: !1, - enumerable: !1, - configurable: !1 - } - }), u; - }, i = s({ powers: "original" }), c = s({ powers: "none" }); - B(r, { - constructor: { value: c } - }); - for (const l of ps) - wr(l, c); - if (B(i, { - stackTraceLimit: { - get() { - if (typeof le.stackTraceLimit == "number") - return le.stackTraceLimit; - }, - set(l) { - if (typeof l == "number" && typeof le.stackTraceLimit == "number") { - le.stackTraceLimit = l; - return; - } - }, - // WTF on v8 stackTraceLimit is enumerable - enumerable: !1, - configurable: !0 - } - }), t === "unsafe-debug" && o === "v8") { - B(i, { - prepareStackTrace: { - get() { - return le.prepareStackTrace; - }, - set(u) { - le.prepareStackTrace = u; - }, - enumerable: !1, - configurable: !0 - }, - captureStackTrace: { - value: le.captureStackTrace, - writable: !0, - enumerable: !1, - configurable: !0 - } - }); - const l = Be(i); - return B(c, { - stackTraceLimit: l.stackTraceLimit, - prepareStackTrace: l.prepareStackTrace, - captureStackTrace: l.captureStackTrace - }), { - "%InitialGetStackString%": hr, - "%InitialError%": i, - "%SharedError%": c - }; - } - return B(c, { - stackTraceLimit: { - get() { - }, - set(l) { - }, - enumerable: !1, - configurable: !0 - } - }), o === "v8" && B(c, { - prepareStackTrace: { - get() { - return () => ""; - }, - set(l) { - }, - enumerable: !1, - configurable: !0 - }, - captureStackTrace: { - value: (l, u) => { - D(l, "stack", { - value: "" - }); - }, - writable: !1, - enumerable: !1, - configurable: !0 - } - }), o === "v8" ? hr = rc( - le, - i, - t, - e - ) : t === "unsafe" || t === "unsafe-debug" ? B(r, { - stack: { - get() { - return hr(this); - }, - set(l) { - B(this, { - stack: { - value: l, - writable: !0, - enumerable: !0, - configurable: !0 - } - }); - } - } - }) : B(r, { - stack: { - get() { - return `${this}`; - }, - set(l) { - B(this, { - stack: { - value: l, - writable: !0, - enumerable: !0, - configurable: !0 - } - }); - } - } - }), { - "%InitialGetStackString%": hr, - "%InitialError%": i, - "%SharedError%": c - }; -} -const sc = () => { -}, ac = async (t, e, r) => { - await null; - const n = t(...e); - let o = kr(n); - for (; !o.done; ) - try { - const s = await o.value; - o = kr(n, s); - } catch (s) { - o = Vo(n, r(s)); - } - return o.value; -}, ic = (t, e) => { - const r = t(...e); - let n = kr(r); - for (; !n.done; ) - try { - n = kr(r, n.value); - } catch (o) { - n = Vo(r, o); - } - return n.value; -}, cc = (t, e) => y({ compartment: t, specifier: e }), lc = (t, e, r) => { - const n = H(null); - for (const o of t) { - const s = e(o, r); - n[o] = s; - } - return y(n); -}, Bt = (t, e, r, n, o, s, i, c, l) => { - const { resolveHook: u, name: d } = z( - t, - r - ), { imports: f } = o; - if (!pt(f) || Zo(f, (m) => typeof m != "string")) - throw Ce( - re`Invalid module source: 'imports' must be an array of strings, got ${f} for module ${U(n)} of compartment ${U(d)}` - ); - const h = lc(f, u, n), p = y({ - compartment: r, - moduleSource: o, - moduleSpecifier: n, - resolvedImports: h, - importMeta: l - }); - for (const m of Ro(h)) - s(It, [ - t, - e, - r, - m, - s, - i, - c - ]); - return p; -}; -function* uc(t, e, r, n, o, s, i) { - const { - importHook: c, - importNowHook: l, - moduleMap: u, - moduleMapHook: d, - moduleRecords: f, - parentCompartment: h - } = z(t, r); - if (Wr(f, n)) - return Ke(f, n); - let p = u[n]; - if (p === void 0 && d !== void 0 && (p = d(n)), p === void 0) { - const m = s(c, l); - if (m === void 0) { - const k = s( - "importHook", - "importNowHook" - ); - throw Ce( - re`${Tr(k)} needed to load module ${U( - n - )} in compartment ${U(r.name)}` - ); - } - p = m(n), Tt(e, p) || (p = yield p); - } - if (typeof p == "string") - throw Ce( - re`Cannot map module ${U(n)} to ${U( - p - )} in parent compartment, use {source} module descriptor`, - _ - ); - if (ke(p)) { - let m = z(e, p); - if (m !== void 0 && (p = m), p.namespace !== void 0) { - if (typeof p.namespace == "string") { - const { - compartment: w = h, - namespace: R - } = p; - if (!ke(w) || !Tt(t, w)) - throw Ce( - re`Invalid compartment in module descriptor for specifier ${U(n)} in compartment ${U(r.name)}` - ); - const T = yield It( - t, - e, - w, - R, - o, - s, - i - ); - return pe(f, n, T), T; - } - if (ke(p.namespace)) { - const { namespace: w } = p; - if (m = z(e, w), m !== void 0) - p = m; - else { - const R = Nt(w), I = Bt( - t, - e, - r, - n, - { - imports: [], - exports: R, - execute(L) { - for (const Z of R) - L[Z] = w[Z]; - } - }, - o, - s, - i, - void 0 - ); - return pe(f, n, I), I; - } - } else - throw Ce( - re`Invalid compartment in module descriptor for specifier ${U(n)} in compartment ${U(r.name)}` - ); - } - if (p.source !== void 0) - if (typeof p.source == "string") { - const { - source: w, - specifier: R = n, - compartment: T = h, - importMeta: j = void 0 - } = p, I = yield It( - t, - e, - T, - w, - o, - s, - i - ), { moduleSource: L } = I, Z = Bt( - t, - e, - r, - R, - L, - o, - s, - i, - j - ); - return pe(f, n, Z), Z; - } else { - const { - source: w, - specifier: R = n, - importMeta: T - } = p, j = Bt( - t, - e, - r, - R, - w, - o, - s, - i, - T - ); - return pe(f, n, j), j; - } - if (p.archive !== void 0) - throw Ce( - re`Unsupported archive module descriptor for specifier ${U(n)} in compartment ${U(r.name)}` - ); - if (p.record !== void 0) { - const { - compartment: w = r, - specifier: R = n, - record: T, - importMeta: j - } = p, I = Bt( - t, - e, - w, - R, - T, - o, - s, - i, - j - ); - return pe(f, n, I), pe(f, R, I), I; - } - if (p.compartment !== void 0 && p.specifier !== void 0) { - if (!ke(p.compartment) || !Tt(t, p.compartment) || typeof p.specifier != "string") - throw Ce( - re`Invalid compartment in module descriptor for specifier ${U(n)} in compartment ${U(r.name)}` - ); - const w = yield It( - t, - e, - p.compartment, - p.specifier, - o, - s, - i - ); - return pe(f, n, w), w; - } - const x = Bt( - t, - e, - r, - n, - p, - o, - s, - i - ); - return pe(f, n, x), x; - } else - throw Ce( - re`module descriptor must be a string or object for specifier ${U( - n - )} in compartment ${U(r.name)}` - ); -} -const It = (t, e, r, n, o, s, i) => { - const { name: c } = z( - t, - r - ); - let l = Ke(i, r); - l === void 0 && (l = new $e(), pe(i, r, l)); - let u = Ke(l, n); - return u !== void 0 || (u = s(ac, ic)( - uc, - [ - t, - e, - r, - n, - o, - s, - i - ], - (d) => { - throw Jr( - d, - re`${d.message}, loading ${U(n)} in compartment ${U( - c - )}` - ), d; - } - ), pe(l, n, u)), u; -}, dc = () => { - const t = new Dt(), e = []; - return { enqueueJob: (o, s) => { - In( - t, - qo(o(...s), sc, (i) => { - ne(e, i); - }) - ); - }, drainQueue: async () => { - await null; - for (const o of t) - await o; - return e; - } }; -}, Ls = ({ errors: t, errorPrefix: e }) => { - if (t.length > 0) { - const r = ce("COMPARTMENT_LOAD_ERRORS", "", ["verbose"]) === "verbose"; - throw _( - `${e} (${t.length} underlying failures: ${Zt( - de(t, (n) => n.message + (r ? n.stack : "")), - ", " - )}` - ); - } -}, fc = (t, e) => e, pc = (t, e) => t, go = async (t, e, r, n) => { - const { name: o } = z( - t, - r - ), s = new $e(), { enqueueJob: i, drainQueue: c } = dc(); - i(It, [ - t, - e, - r, - n, - i, - pc, - s - ]); - const l = await c(); - Ls({ - errors: l, - errorPrefix: `Failed to load module ${U(n)} in package ${U( - o - )}` - }); -}, hc = (t, e, r, n) => { - const { name: o } = z( - t, - r - ), s = new $e(), i = [], c = (l, u) => { - try { - l(...u); - } catch (d) { - ne(i, d); - } - }; - c(It, [ - t, - e, - r, - n, - c, - fc, - s - ]), Ls({ - errors: i, - errorPrefix: `Failed to load module ${U(n)} in package ${U( - o - )}` - }); -}, { quote: St } = Y, mc = () => { - let t = !1; - const e = H(null, { - // Make this appear like an ESM module namespace object. - [Qe]: { - value: "Module", - writable: !1, - enumerable: !1, - configurable: !1 - } - }); - return y({ - activate() { - t = !0; - }, - exportsTarget: e, - exportsProxy: new Ur(e, { - get(r, n, o) { - if (!t) - throw _( - `Cannot get property ${St( - n - )} of module exports namespace, the module has not yet begun to execute` - ); - return _a(e, n, o); - }, - set(r, n, o) { - throw _( - `Cannot set property ${St(n)} of module exports namespace` - ); - }, - has(r, n) { - if (!t) - throw _( - `Cannot check property ${St( - n - )}, the module has not yet begun to execute` - ); - return Oo(e, n); - }, - deleteProperty(r, n) { - throw _( - `Cannot delete property ${St(n)}s of module exports namespace` - ); - }, - ownKeys(r) { - if (!t) - throw _( - "Cannot enumerate keys, the module has not yet begun to execute" - ); - return qe(e); - }, - getOwnPropertyDescriptor(r, n) { - if (!t) - throw _( - `Cannot get own property descriptor ${St( - n - )}, the module has not yet begun to execute` - ); - return va(e, n); - }, - preventExtensions(r) { - if (!t) - throw _( - "Cannot prevent extensions of module exports namespace, the module has not yet begun to execute" - ); - return wa(e); - }, - isExtensible() { - if (!t) - throw _( - "Cannot check extensibility of module exports namespace, the module has not yet begun to execute" - ); - return ba(e); - }, - getPrototypeOf(r) { - return null; - }, - setPrototypeOf(r, n) { - throw _("Cannot set prototype of module exports namespace"); - }, - defineProperty(r, n, o) { - throw _( - `Cannot define property ${St(n)} of module exports namespace` - ); - }, - apply(r, n, o) { - throw _( - "Cannot call module exports namespace, it is not a function" - ); - }, - construct(r, n) { - throw _( - "Cannot construct module exports namespace, it is not a constructor" - ); - } - }) - }); -}, Bn = (t, e, r, n) => { - const { deferredExports: o } = e; - if (!Wr(o, n)) { - const s = mc(); - he( - r, - s.exportsProxy, - cc(t, n) - ), pe(o, n, s); - } - return Ke(o, n); -}, gc = (t, e) => { - const { sloppyGlobalsMode: r = !1, __moduleShimLexicals__: n = void 0 } = e; - let o; - if (n === void 0 && !r) - ({ safeEvaluate: o } = t); - else { - let { globalTransforms: s } = t; - const { globalObject: i } = t; - let c; - n !== void 0 && (s = void 0, c = H( - null, - Be(n) - )), { safeEvaluate: o } = Un({ - globalObject: i, - moduleLexicals: c, - globalTransforms: s, - sloppyGlobalsMode: r - }); - } - return { safeEvaluate: o }; -}, Fs = (t, e, r) => { - if (typeof e != "string") - throw _("first argument of evaluate() must be a string"); - const { - transforms: n = [], - __evadeHtmlCommentTest__: o = !1, - __evadeImportExpressionTest__: s = !1, - __rejectSomeDirectEvalExpressions__: i = !0 - // Note default on - } = r, c = [...n]; - o === !0 && ne(c, Ps), s === !0 && ne(c, Is), i === !0 && ne(c, Cs); - const { safeEvaluate: l } = gc( - t, - r - ); - return l(e, { - localTransforms: c - }); -}, { quote: mr } = Y, yc = (t, e, r, n, o, s) => { - const { exportsProxy: i, exportsTarget: c, activate: l } = Bn( - r, - z(t, r), - n, - o - ), u = H(null); - if (e.exports) { - if (!pt(e.exports) || Zo(e.exports, (f) => typeof f != "string")) - throw _( - `SES virtual module source "exports" property must be an array of strings for module ${o}` - ); - ht(e.exports, (f) => { - let h = c[f]; - const p = []; - D(c, f, { - get: () => h, - set: (x) => { - h = x; - for (const w of p) - w(x); - }, - enumerable: !0, - configurable: !1 - }), u[f] = (x) => { - ne(p, x), x(h); - }; - }), u["*"] = (f) => { - f(c); - }; - } - const d = { - activated: !1 - }; - return y({ - notifiers: u, - exportsProxy: i, - execute() { - if (Oo(d, "errorFromExecute")) - throw d.errorFromExecute; - if (!d.activated) { - l(), d.activated = !0; - try { - e.execute(c, r, s); - } catch (f) { - throw d.errorFromExecute = f, f; - } - } - } - }); -}, _c = (t, e, r, n) => { - const { - compartment: o, - moduleSpecifier: s, - moduleSource: i, - importMeta: c - } = r, { - reexports: l = [], - __syncModuleProgram__: u, - __fixedExportMap__: d = {}, - __liveExportMap__: f = {}, - __reexportMap__: h = {}, - __needsImportMeta__: p = !1, - __syncModuleFunctor__: m - } = i, k = z(t, o), { __shimTransforms__: x, importMetaHook: w } = k, { exportsProxy: R, exportsTarget: T, activate: j } = Bn( - o, - k, - e, - s - ), I = H(null), L = H(null), Z = H(null), se = H(null), J = H(null); - c && jr(J, c), p && w && w(s, J); - const be = H(null), Me = H(null); - ht(me(d), ([we, [W]]) => { - let q = be[W]; - if (!q) { - let ae, ie = !0, ge = []; - const te = () => { - if (ie) - throw Wt(`binding ${mr(W)} not yet initialized`); - return ae; - }, Ae = y((Te) => { - if (!ie) - throw _( - `Internal: binding ${mr(W)} already initialized` - ); - ae = Te; - const Wn = ge; - ge = null, ie = !1; - for (const Ie of Wn || []) - Ie(Te); - return Te; - }); - q = { - get: te, - notify: (Te) => { - Te !== Ae && (ie ? ne(ge || [], Te) : Te(ae)); - } - }, be[W] = q, Z[W] = Ae; - } - I[we] = { - get: q.get, - set: void 0, - enumerable: !0, - configurable: !1 - }, Me[we] = q.notify; - }), ht( - me(f), - ([we, [W, q]]) => { - let ae = be[W]; - if (!ae) { - let ie, ge = !0; - const te = [], Ae = () => { - if (ge) - throw Wt( - `binding ${mr(we)} not yet initialized` - ); - return ie; - }, xt = y((Ie) => { - ie = Ie, ge = !1; - for (const en of te) - en(Ie); - }), Te = (Ie) => { - if (ge) - throw Wt(`binding ${mr(W)} not yet initialized`); - ie = Ie; - for (const en of te) - en(Ie); - }; - ae = { - get: Ae, - notify: (Ie) => { - Ie !== xt && (ne(te, Ie), ge || Ie(ie)); - } - }, be[W] = ae, q && D(L, W, { - get: Ae, - set: Te, - enumerable: !0, - configurable: !1 - }), se[W] = xt; - } - I[we] = { - get: ae.get, - set: void 0, - enumerable: !0, - configurable: !1 - }, Me[we] = ae.notify; - } - ); - const dr = (we) => { - we(T); - }; - Me["*"] = dr; - function zt(we) { - const W = H(null); - W.default = !1; - for (const [q, ae] of we) { - const ie = Ke(n, q); - ie.execute(); - const { notifiers: ge } = ie; - for (const [te, Ae] of ae) { - const xt = ge[te]; - if (!xt) - throw ir( - `The requested module '${q}' does not provide an export named '${te}'` - ); - for (const Te of Ae) - xt(Te); - } - if (Hr(l, q)) - for (const [te, Ae] of me( - ge - )) - W[te] === void 0 ? W[te] = Ae : W[te] = !1; - if (h[q]) - for (const [te, Ae] of h[q]) - W[Ae] = ge[te]; - } - for (const [q, ae] of me(W)) - if (!Me[q] && ae !== !1) { - Me[q] = ae; - let ie; - ae((te) => ie = te), I[q] = { - get() { - return ie; - }, - set: void 0, - enumerable: !0, - configurable: !1 - }; - } - ht( - zo(Co(I)), - (q) => D(T, q, I[q]) - ), y(T), j(); - } - let wt; - m !== void 0 ? wt = m : wt = Fs(k, u, { - globalObject: o.globalThis, - transforms: x, - __moduleShimLexicals__: L - }); - let Pe = !1, st; - function na() { - if (wt) { - const we = wt; - wt = null; - try { - we( - y({ - imports: y(zt), - onceVar: y(Z), - liveVar: y(se), - importMeta: J - }) - ); - } catch (W) { - Pe = !0, st = W; - } - } - if (Pe) - throw st; - } - return y({ - notifiers: Me, - exportsProxy: R, - execute: na - }); -}, { Fail: ft, quote: X } = Y, Ds = (t, e, r, n) => { - const { name: o, moduleRecords: s } = z( - t, - r - ), i = Ke(s, n); - if (i === void 0) - throw Wt( - `Missing link to module ${X(n)} from compartment ${X( - o - )}` - ); - return Ec(t, e, i); -}; -function vc(t) { - return typeof t.__syncModuleProgram__ == "string"; -} -function bc(t, e) { - const { __fixedExportMap__: r, __liveExportMap__: n } = t; - ke(r) || ft`Property '__fixedExportMap__' of a precompiled module source must be an object, got ${X( - r - )}, for module ${X(e)}`, ke(n) || ft`Property '__liveExportMap__' of a precompiled module source must be an object, got ${X( - n - )}, for module ${X(e)}`; -} -function wc(t) { - return typeof t.execute == "function"; -} -function xc(t, e) { - const { exports: r } = t; - pt(r) || ft`Invalid module source: 'exports' of a virtual module source must be an array, got ${X( - r - )}, for module ${X(e)}`; -} -function Sc(t, e) { - ke(t) || ft`Invalid module source: must be of type object, got ${X( - t - )}, for module ${X(e)}`; - const { imports: r, exports: n, reexports: o = [] } = t; - pt(r) || ft`Invalid module source: 'imports' must be an array, got ${X( - r - )}, for module ${X(e)}`, pt(n) || ft`Invalid module source: 'exports' must be an array, got ${X( - n - )}, for module ${X(e)}`, pt(o) || ft`Invalid module source: 'reexports' must be an array if present, got ${X( - o - )}, for module ${X(e)}`; -} -const Ec = (t, e, r) => { - const { compartment: n, moduleSpecifier: o, resolvedImports: s, moduleSource: i } = r, { instances: c } = z(t, n); - if (Wr(c, o)) - return Ke(c, o); - Sc(i, o); - const l = new $e(); - let u; - if (vc(i)) - bc(i, o), u = _c( - t, - e, - r, - l - ); - else if (wc(i)) - xc(i, o), u = yc( - t, - i, - n, - e, - o, - s - ); - else - throw _(`Invalid module source, got ${X(i)}`); - pe(c, o, u); - for (const [d, f] of me(s)) { - const h = Ds( - t, - e, - n, - f - ); - pe(l, d, h); - } - return u; -}, Gt = new ze(), Fe = new ze(), Gn = function(e = {}, r = {}, n = {}) { - throw _( - "Compartment.prototype.constructor is not a valid constructor." - ); -}, yo = (t, e) => { - const { execute: r, exportsProxy: n } = Ds( - Fe, - Gt, - t, - e - ); - return r(), n; -}, Vn = { - constructor: Gn, - get globalThis() { - return z(Fe, this).globalObject; - }, - get name() { - return z(Fe, this).name; - }, - /** - * @param {string} source is a JavaScript program grammar construction. - * @param {object} [options] - * @param {Array} [options.transforms] - * @param {boolean} [options.sloppyGlobalsMode] - * @param {object} [options.__moduleShimLexicals__] - * @param {boolean} [options.__evadeHtmlCommentTest__] - * @param {boolean} [options.__evadeImportExpressionTest__] - * @param {boolean} [options.__rejectSomeDirectEvalExpressions__] - */ - evaluate(t, e = {}) { - const r = z(Fe, this); - return Fs(r, t, e); - }, - module(t) { - if (typeof t != "string") - throw _("first argument of module() must be a string"); - const { exportsProxy: e } = Bn( - this, - z(Fe, this), - Gt, - t - ); - return e; - }, - async import(t) { - const { noNamespaceBox: e } = z(Fe, this); - if (typeof t != "string") - throw _("first argument of import() must be a string"); - return qo( - go(Fe, Gt, this, t), - () => { - const r = yo( - /** @type {Compartment} */ - this, - t - ); - return e ? r : { namespace: r }; - } - ); - }, - async load(t) { - if (typeof t != "string") - throw _("first argument of load() must be a string"); - return go(Fe, Gt, this, t); - }, - importNow(t) { - if (typeof t != "string") - throw _("first argument of importNow() must be a string"); - return hc(Fe, Gt, this, t), yo( - /** @type {Compartment} */ - this, - t - ); - } -}; -B(Vn, { - [Qe]: { - value: "Compartment", - writable: !1, - enumerable: !1, - configurable: !0 - } -}); -B(Gn, { - prototype: { value: Vn } -}); -const kc = (...t) => { - if (t.length === 0) - return {}; - if (t.length === 1 && typeof t[0] == "object" && t[0] !== null && "__options__" in t[0]) { - const { __options__: e, ...r } = t[0]; - return Y( - e === !0, - `Compartment constructor only supports true __options__ sigil, got ${e}` - ), r; - } else { - const [ - e = ( - /** @type {Map} */ - {} - ), - r = ( - /** @type {Map} */ - {} - ), - n = {} - ] = t; - return to( - n.modules, - void 0, - "Compartment constructor must receive either a module map argument or modules option, not both" - ), to( - n.globals, - void 0, - "Compartment constructor must receive either globals argument or option, not both" - ), { - ...n, - globals: e, - modules: r - }; - } -}, xn = (t, e, r, n = void 0) => { - function o(...s) { - if (new.target === void 0) - throw _( - "Class constructor Compartment cannot be invoked without 'new'" - ); - const { - name: i = "", - transforms: c = [], - __shimTransforms__: l = [], - globals: u = {}, - modules: d = {}, - resolveHook: f, - importHook: h, - importNowHook: p, - moduleMapHook: m, - importMetaHook: k, - __noNamespaceBox__: x = !1 - } = kc(...s), w = [...c, ...l], R = { __proto__: null, ...u }, T = { __proto__: null, ...d }, j = new $e(), I = new $e(), L = new $e(), Z = {}; - Si(Z), _s(Z); - const { safeEvaluate: se } = Un({ - globalObject: Z, - globalTransforms: w, - sloppyGlobalsMode: !1 - }); - vs(Z, { - intrinsics: e, - newGlobalPropertyNames: fs, - makeCompartmentConstructor: t, - parentCompartment: this, - markVirtualizedNativeFunction: r - }), wn( - Z, - se, - r - ), jr(Z, R), he(Fe, this, { - name: `${i}`, - globalTransforms: w, - globalObject: Z, - safeEvaluate: se, - resolveHook: f, - importHook: h, - importNowHook: p, - moduleMap: T, - moduleMapHook: m, - importMetaHook: k, - moduleRecords: j, - __shimTransforms__: l, - deferredExports: L, - instances: I, - parentCompartment: n, - noNamespaceBox: x - }); - } - return o.prototype = Vn, o; -}; -function dn(t) { - return G(t).constructor; -} -function Pc() { - return arguments; -} -const Ac = () => { - const t = Ee.prototype.constructor, e = ee(Pc(), "callee"), r = e && e.get, n = Oa(new _e()), o = G(n), s = Br[$o] && Ra(/./), i = s && G(s), c = Sa([]), l = G(c), u = G(aa), d = Ia(new $e()), f = G(d), h = Ca(new Dt()), p = G(h), m = G(l); - function* k() { - } - const x = dn(k), w = x.prototype; - async function* R() { - } - const T = dn( - R - ), j = T.prototype, I = j.prototype, L = G(I); - async function Z() { - } - const se = dn(Z), J = { - "%InertFunction%": t, - "%ArrayIteratorPrototype%": l, - "%InertAsyncFunction%": se, - "%AsyncGenerator%": j, - "%InertAsyncGeneratorFunction%": T, - "%AsyncGeneratorPrototype%": I, - "%AsyncIteratorPrototype%": L, - "%Generator%": w, - "%InertGeneratorFunction%": x, - "%IteratorPrototype%": m, - "%MapIteratorPrototype%": f, - "%RegExpStringIteratorPrototype%": i, - "%SetIteratorPrototype%": p, - "%StringIteratorPrototype%": o, - "%ThrowTypeError%": r, - "%TypedArray%": u, - "%InertCompartment%": Gn - }; - return S.Iterator && (J["%IteratorHelperPrototype%"] = G( - // eslint-disable-next-line @endo/no-polymorphic-call - S.Iterator.from([]).take(0) - ), J["%WrapForValidIteratorPrototype%"] = G( - // eslint-disable-next-line @endo/no-polymorphic-call - S.Iterator.from({ - next() { - return { value: void 0 }; - } - }) - )), S.AsyncIterator && (J["%AsyncIteratorHelperPrototype%"] = G( - // eslint-disable-next-line @endo/no-polymorphic-call - S.AsyncIterator.from([]).take(0) - ), J["%WrapForValidAsyncIteratorPrototype%"] = G( - // eslint-disable-next-line @endo/no-polymorphic-call - S.AsyncIterator.from({ next() { - } }) - )), J; -}, Us = (t, e) => { - if (e !== "safe" && e !== "unsafe") - throw _(`unrecognized fakeHardenOption ${e}`); - if (e === "safe" || (Object.isExtensible = () => !1, Object.isFrozen = () => !0, Object.isSealed = () => !0, Reflect.isExtensible = () => !1, t.isFake)) - return t; - const r = (n) => n; - return r.isFake = !0, y(r); -}; -y(Us); -const Tc = () => { - const t = At, e = t.prototype, r = Wo(At, void 0); - B(e, { - constructor: { - value: r - // leave other `constructor` attributes as is - } - }); - const n = me( - Be(t) - ), o = bt( - de(n, ([s, i]) => [ - s, - { ...i, configurable: !0 } - ]) - ); - return B(r, o), { "%SharedSymbol%": r }; -}, Ic = (t) => { - try { - return t(), !1; - } catch { - return !0; - } -}, _o = (t, e, r) => { - if (t === void 0) - return !1; - const n = ee(t, e); - if (!n || "value" in n) - return !1; - const { get: o, set: s } = n; - if (typeof o != "function" || typeof s != "function" || o() !== r || ue(o, t, []) !== r) - return !1; - const i = "Seems to be a setter", c = { __proto__: null }; - if (ue(s, c, [i]), c[e] !== i) - return !1; - const l = { __proto__: t }; - return ue(s, l, [i]), l[e] !== i || !Ic(() => ue(s, t, [r])) || "originalValue" in o || n.configurable === !1 ? !1 : (D(t, e, { - value: r, - writable: !0, - enumerable: n.enumerable, - configurable: !0 - }), !0); -}, Cc = (t) => { - _o( - t["%IteratorPrototype%"], - "constructor", - t.Iterator - ), _o( - t["%IteratorPrototype%"], - Qe, - "Iterator" - ); -}, Rc = () => { - const t = on[De]; - D(on, De, { - configurable: !0, - get() { - return t; - }, - set(e) { - this !== on && (Q(this, De) && (this[De] = e), D(this, De, { - value: e, - writable: !0, - enumerable: !0, - configurable: !0 - })); - } - }); -}, $c = () => { - if (typeof Sr.transfer == "function") - return {}; - const t = S.structuredClone; - return typeof t != "function" ? {} : (D(Sr, "transfer", { - // @ts-expect-error - value: { - /** - * @param {number} [newLength] - */ - transfer(r = void 0) { - const n = ka(this); - if (r === void 0 || r === n) - return t(this, { transfer: [this] }); - if (typeof r != "number") - throw _("transfer newLength if provided must be a number"); - if (r > n) { - const o = new To(r), s = new mn(this), i = new mn(o); - return Pa(i, s), t(this, { transfer: [this] }), o; - } else { - const o = Ea(this, 0, r); - return t(this, { transfer: [this] }), o; - } - } - }.transfer, - writable: !0, - enumerable: !1, - configurable: !0 - }), {}); -}, gr = (t) => { - let e = !1; - const r = (...n) => { - e ? t(" ", ...n) : t(...n); - }; - return ( - /** @type {GroupReporter} */ - { - warn(...n) { - r(...n); - }, - error(...n) { - r(...n); - }, - groupCollapsed(...n) { - Y(!e), t(...n), e = !0; - }, - groupEnd() { - e = !1; - } - } - ); -}, vo = () => { -}, js = (t) => { - if (t === "none") - return gr(vo); - if (t !== "platform" && t !== "console") - throw new _(`Invalid lockdown reporting option: ${t}`); - if (t === "console" || S.window === S || S.importScripts !== void 0) - return console; - if (S.console !== void 0) { - const e = S.console, r = Wo(e.error, e); - return gr(r); - } - return S.print !== void 0 ? gr(S.print) : gr(vo); -}, bo = (t, e, r) => { - const { warn: n, error: o, groupCollapsed: s, groupEnd: i } = e; - let c = !1; - try { - return r({ - warn(...l) { - c || (s(t), c = !0), n(...l); - }, - error(...l) { - c || (s(t), c = !0), o(...l); - } - }); - } finally { - c && i(); - } -}, { Fail: fn, details: wo, quote: pn } = Y; -let yr, _r; -const Nc = ni(), Oc = () => { - let t = !1; - try { - t = Ee( - "eval", - "SES_changed", - ` eval("SES_changed = true"); - return SES_changed; - ` - )(Ko, !1), t || delete S.SES_changed; - } catch { - t = !0; - } - if (!t) - throw _( - "SES cannot initialize unless 'eval' is the original intrinsic 'eval', suitable for direct-eval (dynamically scoped eval) (SES_DIRECT_EVAL)" - ); -}, Zs = (t = {}) => { - const { - errorTaming: e = ce("LOCKDOWN_ERROR_TAMING", "safe"), - errorTrapping: r = ( - /** @type {"platform" | "none" | "report" | "abort" | "exit"} */ - ce("LOCKDOWN_ERROR_TRAPPING", "platform") - ), - reporting: n = ( - /** @type {"platform" | "console" | "none"} */ - ce("LOCKDOWN_REPORTING", "platform") - ), - unhandledRejectionTrapping: o = ( - /** @type {"none" | "report"} */ - ce("LOCKDOWN_UNHANDLED_REJECTION_TRAPPING", "report") - ), - regExpTaming: s = ce("LOCKDOWN_REGEXP_TAMING", "safe"), - localeTaming: i = ce("LOCKDOWN_LOCALE_TAMING", "safe"), - consoleTaming: c = ( - /** @type {'unsafe' | 'safe'} */ - ce("LOCKDOWN_CONSOLE_TAMING", "safe") - ), - overrideTaming: l = ( - /** @type {'moderate' | 'min' | 'severe'} */ - ce("LOCKDOWN_OVERRIDE_TAMING", "moderate") - ), - stackFiltering: u = ce("LOCKDOWN_STACK_FILTERING", "concise"), - domainTaming: d = ce("LOCKDOWN_DOMAIN_TAMING", "safe"), - evalTaming: f = ce("LOCKDOWN_EVAL_TAMING", "safeEval"), - overrideDebug: h = et( - On(ce("LOCKDOWN_OVERRIDE_DEBUG", ""), ","), - /** @param {string} debugName */ - (Pe) => Pe !== "" - ), - legacyRegeneratorRuntimeTaming: p = ce( - "LOCKDOWN_LEGACY_REGENERATOR_RUNTIME_TAMING", - "safe" - ), - __hardenTaming__: m = ce("LOCKDOWN_HARDEN_TAMING", "safe"), - dateTaming: k = "safe", - // deprecated - mathTaming: x = "safe", - // deprecated - ...w - } = t; - p === "safe" || p === "unsafe-ignore" || fn`lockdown(): non supported option legacyRegeneratorRuntimeTaming: ${pn(p)}`, f === "unsafeEval" || f === "safeEval" || f === "noEval" || fn`lockdown(): non supported option evalTaming: ${pn(f)}`; - const R = qe(w); - R.length === 0 || fn`lockdown(): non supported option ${pn(R)}`; - const T = js(n); - if (yr === void 0 || // eslint-disable-next-line @endo/no-polymorphic-call - Y.fail( - wo`Already locked down at ${yr} (SES_ALREADY_LOCKED_DOWN)`, - _ - ), yr = _("Prior lockdown (SES_ALREADY_LOCKED_DOWN)"), yr.stack, Oc(), S.Function.prototype.constructor !== S.Function && // @ts-ignore harden is absent on globalThis type def. - typeof S.harden == "function" && // @ts-ignore lockdown is absent on globalThis type def. - typeof S.lockdown == "function" && S.Date.prototype.constructor !== S.Date && typeof S.Date.now == "function" && // @ts-ignore does not recognize that Date constructor is a special - // Function. - // eslint-disable-next-line @endo/no-polymorphic-call - Zr(S.Date.prototype.constructor.now(), NaN)) - throw _( - "Already locked down but not by this SES instance (SES_MULTIPLE_INSTANCES)" - ); - Fi(d); - const I = Ns(), { addIntrinsics: L, completePrototypes: Z, finalIntrinsics: se } = ms(T), J = Us(Nc, m); - L({ harden: J }), L(ui()), L(di(k)), L(oc(e, u)), L(fi(x)), L(pi(s)), L(Tc()), L($c()), L(Di()), L(Ac()), Z(); - const be = se(), Me = { __proto__: null }; - typeof S.Buffer == "function" && (Me.Buffer = S.Buffer); - let dr; - e === "safe" && (dr = be["%InitialGetStackString%"]); - const zt = zi( - c, - r, - o, - dr - ); - if (S.console = /** @type {Console} */ - zt.console, typeof /** @type {any} */ - zt.console._times == "object" && (Me.SafeMap = G( - // eslint-disable-next-line no-underscore-dangle - /** @type {any} */ - zt.console._times - )), (e === "unsafe" || e === "unsafe-debug") && S.assert === Y && (S.assert = Xr(void 0, !0)), bi(be, i), Cc(be), bo( - "SES Removing unpermitted intrinsics", - T, - (Pe) => li( - be, - I, - Pe - ) - ), _s(S), vs(S, { - intrinsics: be, - newGlobalPropertyNames: ro, - makeCompartmentConstructor: xn, - markVirtualizedNativeFunction: I - }), f === "noEval") - wn( - S, - Da, - I - ); - else if (f === "safeEval") { - const { safeEvaluate: Pe } = Un({ globalObject: S }); - wn( - S, - Pe, - I - ); - } - return () => { - _r === void 0 || // eslint-disable-next-line @endo/no-polymorphic-call - Y.fail( - wo`Already locked down at ${_r} (SES_ALREADY_LOCKED_DOWN)`, - _ - ), _r = _( - "Prior lockdown (SES_ALREADY_LOCKED_DOWN)" - ), _r.stack, bo( - "SES Enabling property overrides", - T, - (st) => gi( - be, - l, - st, - h - ) - ), p === "unsafe-ignore" && Rc(); - const Pe = { - intrinsics: be, - hostIntrinsics: Me, - globals: { - // Harden evaluators - Function: S.Function, - eval: S.eval, - // @ts-ignore Compartment does exist on globalThis - Compartment: S.Compartment, - // Harden Symbol - Symbol: S.Symbol - } - }; - for (const st of Nt(ro)) - Pe.globals[st] = S[st]; - return J(Pe), J; - }; -}; -S.lockdown = (t) => { - const e = Zs(t); - S.harden = e(); -}; -S.repairIntrinsics = (t) => { - const e = Zs(t); - S.hardenIntrinsics = () => { - S.harden = e(); - }; -}; -const Mc = Ns(), Lc = js("none"); -S.Compartment = xn( - xn, - // Any reporting that would need to be done should have already been done - // during `lockdown()`. - // See https://github.com/endojs/endo/pull/2624#discussion_r1840979770 - ci(S, Lc), - Mc -); -S.assert = Y; -const Fc = Ms(Ir), Dc = ma( - "MAKE_CAUSAL_CONSOLE_FROM_LOGGER_KEY_FOR_SES_AVA" -); -S[Dc] = Fc; -const zs = (t) => { - let e = 0, r = 0; - if (t && window.DOMMatrixReadOnly) { - const n = window.getComputedStyle(t), o = new DOMMatrixReadOnly(n.transform); - e = o.m41, r = o.m42; - } - return { x: e, y: r }; -}, Uc = (t, e = t, r) => { - let n = { x: 0, y: 0 }, o = { x: 0, y: 0 }; - const s = (l) => { - const { clientX: u, clientY: d } = l, f = u - o.x + n.x, h = d - o.y + n.y; - e.style.transform = `translate(${f}px, ${h}px)`, r == null || r(); - }, i = () => { - document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", i); - }, c = (l) => { - o = { x: l.clientX, y: l.clientY }, n = zs(e), document.addEventListener("mousemove", s), document.addEventListener("mouseup", i); - }; - return t.addEventListener("mousedown", c), i; -}, jc = `:host{--spacing-4: .25rem;--spacing-8: calc(var(--spacing-4) * 2);--spacing-12: calc(var(--spacing-4) * 3);--spacing-16: calc(var(--spacing-4) * 4);--spacing-20: calc(var(--spacing-4) * 5);--spacing-24: calc(var(--spacing-4) * 6);--spacing-28: calc(var(--spacing-4) * 7);--spacing-32: calc(var(--spacing-4) * 8);--spacing-36: calc(var(--spacing-4) * 9);--spacing-40: calc(var(--spacing-4) * 10);--font-weight-regular: 400;--font-weight-bold: 500;--font-line-height-s: 1.2;--font-line-height-m: 1.4;--font-line-height-l: 1.5;--font-size-s: 12px;--font-size-m: 14px;--font-size-l: 16px}[data-theme]{background-color:var(--color-background-primary);color:var(--color-foreground-secondary)}::-webkit-resizer{display:none}.wrapper{position:absolute;inset-block-start:var(--modal-block-start);inset-inline-start:var(--modal-inline-start);z-index:1000;padding:10px;border-radius:15px;border:2px solid var(--color-background-quaternary);box-shadow:0 0 10px #0000004d;overflow:hidden;min-inline-size:25px;min-block-size:200px;resize:both}.wrapper:after{content:"";cursor:se-resize;inline-size:1rem;block-size:1rem;background-image:url("data:image/svg+xml,%3csvg%20width='16.022'%20xmlns='http://www.w3.org/2000/svg'%20height='16.022'%20viewBox='-0.011%20-0.011%2016.022%2016.022'%20fill='none'%3e%3cg%20data-testid='Group'%3e%3cg%20data-testid='Path'%3e%3cpath%20d='M.011%2015.917%2015.937-.011'%20class='fills'/%3e%3cg%20class='strokes'%3e%3cpath%20d='M.011%2015.917%2015.937-.011'%20style='fill:%20none;%20stroke-width:%201;%20stroke:%20rgb(111,%20111,%20111);%20stroke-opacity:%201;%20stroke-linecap:%20round;'%20class='stroke-shape'/%3e%3c/g%3e%3c/g%3e%3cg%20data-testid='Path'%3e%3cpath%20d='m11.207%2014.601%203.361-3.401'%20class='fills'/%3e%3cg%20class='strokes'%3e%3cpath%20d='m11.207%2014.601%203.361-3.401'%20style='fill:%20none;%20stroke-width:%201;%20stroke:%20rgb(111,%20111,%20111);%20stroke-opacity:%201;%20stroke-linecap:%20round;'%20class='stroke-shape'/%3e%3c/g%3e%3c/g%3e%3cg%20data-testid='Path'%3e%3cpath%20d='m4.884%2016.004%2011.112-11.17'%20class='fills'/%3e%3cg%20class='strokes'%3e%3cpath%20d='m4.884%2016.004%2011.112-11.17'%20style='fill:%20none;%20stroke-width:%201;%20stroke:%20rgb(111,%20111,%20111);%20stroke-opacity:%201;%20stroke-linecap:%20round;'%20class='stroke-shape'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");background-position:center;right:5px;bottom:5px;pointer-events:none;position:absolute}.inner{padding:10px;cursor:grab;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;block-size:100%}.inner>*{flex:1}.inner>.header{flex:0}.header{align-items:center;display:flex;justify-content:space-between;border-block-end:2px solid var(--color-background-quaternary);padding-block-end:var(--spacing-4)}button{background:transparent;border:0;cursor:pointer;padding:0}h1{font-size:var(--font-size-s);font-weight:var(--font-weight-bold);margin:0;margin-inline-end:var(--spacing-4);-webkit-user-select:none;user-select:none}iframe{border:none;inline-size:100%;block-size:100%}`; -function Zc(t, e, r, n, o) { - const s = document.createElement("plugin-modal"); - s.setTheme(r); - const { width: i } = Bs(s, n == null ? void 0 : n.width, n == null ? void 0 : n.height), c = { - blockStart: 40, - // To be able to resize the element as expected the position must be absolute from the right. - // This value is the length of the window minus the width of the element plus the width of the design tab. - inlineStart: window.innerWidth - i - 290 - }; - return s.style.setProperty( - "--modal-block-start", - `${c.blockStart}px` - ), s.style.setProperty( - "--modal-inline-start", - `${c.inlineStart}px` - ), s.setAttribute("title", t), s.setAttribute("iframe-src", e), o && s.setAttribute("allow-downloads", "true"), document.body.appendChild(s), s; -} -function Bs(t, e = 335, r = 590) { - var m; - let s = (m = t.shadowRoot) == null ? void 0 : m.querySelector(".wrapper"), i = 0, c = 0; - if (s) { - let k = s.getBoundingClientRect(); - i = k.x, c = k.y; - } - const l = window.innerWidth - 40, u = window.innerHeight - 40; - e = Math.min(e, l), r = Math.min(r, u), e = Math.max(e, 200), r = Math.max(r, 200); - let d = 0; - i + e > l && (d = l - (i + e)); - let f = 0; - c + r > u && (f = u - (c + r)); - let { x: h, y: p } = zs(t.wrapper); - return h = h + d, p = p + f, t.wrapper.style.transform = `translate(${h}px, ${p}px)`, t.wrapper.style.width = `${e}px`, t.wrapper.style.height = `${r}px`, { width: e, height: r }; -} -const zc = ` -`, Bc = 3; -var We, Rt; -class Gc extends HTMLElement { - constructor() { - super(); - tn(this, We); - tn(this, Rt); - this.wrapper = document.createElement("div"), fr(this, We, document.createElement("div")), fr(this, Rt, null), this.attachShadow({ mode: "open" }); - } - setTheme(r) { - this.wrapper && this.wrapper.setAttribute("data-theme", r); - } - resize(r, n) { - this.wrapper && Bs(this, r, n); - } - disconnectedCallback() { - var r; - (r = at(this, Rt)) == null || r.call(this); - } - calculateZIndex() { - const r = document.querySelectorAll("plugin-modal"), n = Array.from(r).filter((s) => s !== this).map((s) => Number(s.style.zIndex)), o = Math.max(...n, Bc); - this.style.zIndex = (o + 1).toString(); - } - connectedCallback() { - const r = this.getAttribute("title"), n = this.getAttribute("iframe-src"), o = this.getAttribute("allow-downloads") || !1; - if (!r || !n) - throw new Error("title and iframe-src attributes are required"); - if (!this.shadowRoot) - throw new Error("Error creating shadow root"); - at(this, We).classList.add("inner"), this.wrapper.classList.add("wrapper"), this.wrapper.style.maxInlineSize = "90vw", this.wrapper.style.maxBlockSize = "90vh", fr(this, Rt, Uc(at(this, We), this.wrapper, () => { - this.calculateZIndex(); - })); - const s = document.createElement("div"); - s.classList.add("header"); - const i = document.createElement("h1"); - i.textContent = r, s.appendChild(i); - const c = document.createElement("button"); - c.setAttribute("type", "button"), c.innerHTML = `
${zc}
`, c.addEventListener("click", () => { - this.shadowRoot && this.shadowRoot.dispatchEvent( - new CustomEvent("close", { - composed: !0, - bubbles: !0 - }) - ); - }), s.appendChild(c); - const l = document.createElement("iframe"); - l.src = n, l.allow = "", l.sandbox.add( - "allow-scripts", - "allow-forms", - "allow-modals", - "allow-popups", - "allow-popups-to-escape-sandbox", - "allow-storage-access-by-user-activation", - "allow-same-origin" - ), o && l.sandbox.add("allow-downloads"), l.addEventListener("load", () => { - var d; - (d = this.shadowRoot) == null || d.dispatchEvent( - new CustomEvent("load", { - composed: !0, - bubbles: !0 - }) - ); - }), this.addEventListener("message", (d) => { - l.contentWindow && l.contentWindow.postMessage(d.detail, "*"); - }), this.shadowRoot.appendChild(this.wrapper), this.wrapper.appendChild(at(this, We)), at(this, We).appendChild(s), at(this, We).appendChild(l); - const u = document.createElement("style"); - u.textContent = jc, this.shadowRoot.appendChild(u), this.calculateZIndex(); - } - size() { - const r = Number(this.wrapper.style.width.replace("px", "") || "300"), n = Number(this.wrapper.style.height.replace("px", "") || "400"); - return { width: r, height: n }; - } -} -We = new WeakMap(), Rt = new WeakMap(); -customElements.define("plugin-modal", Gc); -var F; -(function(t) { - t.assertEqual = (o) => o; - function e(o) { - } - t.assertIs = e; - function r(o) { - throw new Error(); - } - t.assertNever = r, t.arrayToEnum = (o) => { - const s = {}; - for (const i of o) - s[i] = i; - return s; - }, t.getValidEnumValues = (o) => { - const s = t.objectKeys(o).filter((c) => typeof o[o[c]] != "number"), i = {}; - for (const c of s) - i[c] = o[c]; - return t.objectValues(i); - }, t.objectValues = (o) => t.objectKeys(o).map(function(s) { - return o[s]; - }), t.objectKeys = typeof Object.keys == "function" ? (o) => Object.keys(o) : (o) => { - const s = []; - for (const i in o) - Object.prototype.hasOwnProperty.call(o, i) && s.push(i); - return s; - }, t.find = (o, s) => { - for (const i of o) - if (s(i)) - return i; - }, t.isInteger = typeof Number.isInteger == "function" ? (o) => Number.isInteger(o) : (o) => typeof o == "number" && isFinite(o) && Math.floor(o) === o; - function n(o, s = " | ") { - return o.map((i) => typeof i == "string" ? `'${i}'` : i).join(s); - } - t.joinValues = n, t.jsonStringifyReplacer = (o, s) => typeof s == "bigint" ? s.toString() : s; -})(F || (F = {})); -var Sn; -(function(t) { - t.mergeShapes = (e, r) => ({ - ...e, - ...r - // second overwrites first - }); -})(Sn || (Sn = {})); -const b = F.arrayToEnum([ - "string", - "nan", - "number", - "integer", - "float", - "boolean", - "date", - "bigint", - "symbol", - "function", - "undefined", - "null", - "array", - "object", - "unknown", - "promise", - "void", - "never", - "map", - "set" -]), He = (t) => { - switch (typeof t) { - case "undefined": - return b.undefined; - case "string": - return b.string; - case "number": - return isNaN(t) ? b.nan : b.number; - case "boolean": - return b.boolean; - case "function": - return b.function; - case "bigint": - return b.bigint; - case "symbol": - return b.symbol; - case "object": - return Array.isArray(t) ? b.array : t === null ? b.null : t.then && typeof t.then == "function" && t.catch && typeof t.catch == "function" ? b.promise : typeof Map < "u" && t instanceof Map ? b.map : typeof Set < "u" && t instanceof Set ? b.set : typeof Date < "u" && t instanceof Date ? b.date : b.object; - default: - return b.unknown; - } -}, g = F.arrayToEnum([ - "invalid_type", - "invalid_literal", - "custom", - "invalid_union", - "invalid_union_discriminator", - "invalid_enum_value", - "unrecognized_keys", - "invalid_arguments", - "invalid_return_type", - "invalid_date", - "invalid_string", - "too_small", - "too_big", - "invalid_intersection_types", - "not_multiple_of", - "not_finite" -]), Vc = (t) => JSON.stringify(t, null, 2).replace(/"([^"]+)":/g, "$1:"); -class ye extends Error { - get errors() { - return this.issues; - } - constructor(e) { - super(), this.issues = [], this.addIssue = (n) => { - this.issues = [...this.issues, n]; - }, this.addIssues = (n = []) => { - this.issues = [...this.issues, ...n]; - }; - const r = new.target.prototype; - Object.setPrototypeOf ? Object.setPrototypeOf(this, r) : this.__proto__ = r, this.name = "ZodError", this.issues = e; - } - format(e) { - const r = e || function(s) { - return s.message; - }, n = { _errors: [] }, o = (s) => { - for (const i of s.issues) - if (i.code === "invalid_union") - i.unionErrors.map(o); - else if (i.code === "invalid_return_type") - o(i.returnTypeError); - else if (i.code === "invalid_arguments") - o(i.argumentsError); - else if (i.path.length === 0) - n._errors.push(r(i)); - else { - let c = n, l = 0; - for (; l < i.path.length; ) { - const u = i.path[l]; - l === i.path.length - 1 ? (c[u] = c[u] || { _errors: [] }, c[u]._errors.push(r(i))) : c[u] = c[u] || { _errors: [] }, c = c[u], l++; - } - } - }; - return o(this), n; - } - static assert(e) { - if (!(e instanceof ye)) - throw new Error(`Not a ZodError: ${e}`); - } - toString() { - return this.message; - } - get message() { - return JSON.stringify(this.issues, F.jsonStringifyReplacer, 2); - } - get isEmpty() { - return this.issues.length === 0; - } - flatten(e = (r) => r.message) { - const r = {}, n = []; - for (const o of this.issues) - o.path.length > 0 ? (r[o.path[0]] = r[o.path[0]] || [], r[o.path[0]].push(e(o))) : n.push(e(o)); - return { formErrors: n, fieldErrors: r }; - } - get formErrors() { - return this.flatten(); - } -} -ye.create = (t) => new ye(t); -const Mt = (t, e) => { - let r; - switch (t.code) { - case g.invalid_type: - t.received === b.undefined ? r = "Required" : r = `Expected ${t.expected}, received ${t.received}`; - break; - case g.invalid_literal: - r = `Invalid literal value, expected ${JSON.stringify(t.expected, F.jsonStringifyReplacer)}`; - break; - case g.unrecognized_keys: - r = `Unrecognized key(s) in object: ${F.joinValues(t.keys, ", ")}`; - break; - case g.invalid_union: - r = "Invalid input"; - break; - case g.invalid_union_discriminator: - r = `Invalid discriminator value. Expected ${F.joinValues(t.options)}`; - break; - case g.invalid_enum_value: - r = `Invalid enum value. Expected ${F.joinValues(t.options)}, received '${t.received}'`; - break; - case g.invalid_arguments: - r = "Invalid function arguments"; - break; - case g.invalid_return_type: - r = "Invalid function return type"; - break; - case g.invalid_date: - r = "Invalid date"; - break; - case g.invalid_string: - typeof t.validation == "object" ? "includes" in t.validation ? (r = `Invalid input: must include "${t.validation.includes}"`, typeof t.validation.position == "number" && (r = `${r} at one or more positions greater than or equal to ${t.validation.position}`)) : "startsWith" in t.validation ? r = `Invalid input: must start with "${t.validation.startsWith}"` : "endsWith" in t.validation ? r = `Invalid input: must end with "${t.validation.endsWith}"` : F.assertNever(t.validation) : t.validation !== "regex" ? r = `Invalid ${t.validation}` : r = "Invalid"; - break; - case g.too_small: - t.type === "array" ? r = `Array must contain ${t.exact ? "exactly" : t.inclusive ? "at least" : "more than"} ${t.minimum} element(s)` : t.type === "string" ? r = `String must contain ${t.exact ? "exactly" : t.inclusive ? "at least" : "over"} ${t.minimum} character(s)` : t.type === "number" ? r = `Number must be ${t.exact ? "exactly equal to " : t.inclusive ? "greater than or equal to " : "greater than "}${t.minimum}` : t.type === "date" ? r = `Date must be ${t.exact ? "exactly equal to " : t.inclusive ? "greater than or equal to " : "greater than "}${new Date(Number(t.minimum))}` : r = "Invalid input"; - break; - case g.too_big: - t.type === "array" ? r = `Array must contain ${t.exact ? "exactly" : t.inclusive ? "at most" : "less than"} ${t.maximum} element(s)` : t.type === "string" ? r = `String must contain ${t.exact ? "exactly" : t.inclusive ? "at most" : "under"} ${t.maximum} character(s)` : t.type === "number" ? r = `Number must be ${t.exact ? "exactly" : t.inclusive ? "less than or equal to" : "less than"} ${t.maximum}` : t.type === "bigint" ? r = `BigInt must be ${t.exact ? "exactly" : t.inclusive ? "less than or equal to" : "less than"} ${t.maximum}` : t.type === "date" ? r = `Date must be ${t.exact ? "exactly" : t.inclusive ? "smaller than or equal to" : "smaller than"} ${new Date(Number(t.maximum))}` : r = "Invalid input"; - break; - case g.custom: - r = "Invalid input"; - break; - case g.invalid_intersection_types: - r = "Intersection results could not be merged"; - break; - case g.not_multiple_of: - r = `Number must be a multiple of ${t.multipleOf}`; - break; - case g.not_finite: - r = "Number must be finite"; - break; - default: - r = e.defaultError, F.assertNever(t); - } - return { message: r }; -}; -let Gs = Mt; -function Hc(t) { - Gs = t; -} -function $r() { - return Gs; -} -const Nr = (t) => { - const { data: e, path: r, errorMaps: n, issueData: o } = t, s = [...r, ...o.path || []], i = { - ...o, - path: s - }; - if (o.message !== void 0) - return { - ...o, - path: s, - message: o.message - }; - let c = ""; - const l = n.filter((u) => !!u).slice().reverse(); - for (const u of l) - c = u(i, { data: e, defaultError: c }).message; - return { - ...o, - path: s, - message: c - }; -}, Wc = []; -function v(t, e) { - const r = $r(), n = Nr({ - issueData: e, - data: t.data, - path: t.path, - errorMaps: [ - t.common.contextualErrorMap, - // contextual error map is first priority - t.schemaErrorMap, - // then schema-bound map if available - r, - // then global override map - r === Mt ? void 0 : Mt - // then global default map - ].filter((o) => !!o) - }); - t.common.issues.push(n); -} -class oe { - constructor() { - this.value = "valid"; - } - dirty() { - this.value === "valid" && (this.value = "dirty"); - } - abort() { - this.value !== "aborted" && (this.value = "aborted"); - } - static mergeArray(e, r) { - const n = []; - for (const o of r) { - if (o.status === "aborted") - return $; - o.status === "dirty" && e.dirty(), n.push(o.value); - } - return { status: e.value, value: n }; - } - static async mergeObjectAsync(e, r) { - const n = []; - for (const o of r) { - const s = await o.key, i = await o.value; - n.push({ - key: s, - value: i - }); - } - return oe.mergeObjectSync(e, n); - } - static mergeObjectSync(e, r) { - const n = {}; - for (const o of r) { - const { key: s, value: i } = o; - if (s.status === "aborted" || i.status === "aborted") - return $; - s.status === "dirty" && e.dirty(), i.status === "dirty" && e.dirty(), s.value !== "__proto__" && (typeof i.value < "u" || o.alwaysSet) && (n[s.value] = i.value); - } - return { status: e.value, value: n }; - } -} -const $ = Object.freeze({ - status: "aborted" -}), Pt = (t) => ({ status: "dirty", value: t }), fe = (t) => ({ status: "valid", value: t }), En = (t) => t.status === "aborted", kn = (t) => t.status === "dirty", yt = (t) => t.status === "valid", qt = (t) => typeof Promise < "u" && t instanceof Promise; -function Or(t, e, r, n) { - if (typeof e == "function" ? t !== e || !0 : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return e.get(t); -} -function Vs(t, e, r, n, o) { - if (typeof e == "function" ? t !== e || !0 : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return e.set(t, r), r; -} -var E; -(function(t) { - t.errToObj = (e) => typeof e == "string" ? { message: e } : e || {}, t.toString = (e) => typeof e == "string" ? e : e == null ? void 0 : e.message; -})(E || (E = {})); -var Vt, Ht; -class je { - constructor(e, r, n, o) { - this._cachedPath = [], this.parent = e, this.data = r, this._path = n, this._key = o; - } - get path() { - return this._cachedPath.length || (this._key instanceof Array ? this._cachedPath.push(...this._path, ...this._key) : this._cachedPath.push(...this._path, this._key)), this._cachedPath; - } -} -const xo = (t, e) => { - if (yt(e)) - return { success: !0, data: e.value }; - if (!t.common.issues.length) - throw new Error("Validation failed but no issues detected."); - return { - success: !1, - get error() { - if (this._error) - return this._error; - const r = new ye(t.common.issues); - return this._error = r, this._error; - } - }; -}; -function N(t) { - if (!t) - return {}; - const { errorMap: e, invalid_type_error: r, required_error: n, description: o } = t; - if (e && (r || n)) - throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); - return e ? { errorMap: e, description: o } : { errorMap: (i, c) => { - var l, u; - const { message: d } = t; - return i.code === "invalid_enum_value" ? { message: d ?? c.defaultError } : typeof c.data > "u" ? { message: (l = d ?? n) !== null && l !== void 0 ? l : c.defaultError } : i.code !== "invalid_type" ? { message: c.defaultError } : { message: (u = d ?? r) !== null && u !== void 0 ? u : c.defaultError }; - }, description: o }; -} -class O { - get description() { - return this._def.description; - } - _getType(e) { - return He(e.data); - } - _getOrReturnCtx(e, r) { - return r || { - common: e.parent.common, - data: e.data, - parsedType: He(e.data), - schemaErrorMap: this._def.errorMap, - path: e.path, - parent: e.parent - }; - } - _processInputParams(e) { - return { - status: new oe(), - ctx: { - common: e.parent.common, - data: e.data, - parsedType: He(e.data), - schemaErrorMap: this._def.errorMap, - path: e.path, - parent: e.parent - } - }; - } - _parseSync(e) { - const r = this._parse(e); - if (qt(r)) - throw new Error("Synchronous parse encountered promise."); - return r; - } - _parseAsync(e) { - const r = this._parse(e); - return Promise.resolve(r); - } - parse(e, r) { - const n = this.safeParse(e, r); - if (n.success) - return n.data; - throw n.error; - } - safeParse(e, r) { - var n; - const o = { - common: { - issues: [], - async: (n = r == null ? void 0 : r.async) !== null && n !== void 0 ? n : !1, - contextualErrorMap: r == null ? void 0 : r.errorMap - }, - path: (r == null ? void 0 : r.path) || [], - schemaErrorMap: this._def.errorMap, - parent: null, - data: e, - parsedType: He(e) - }, s = this._parseSync({ data: e, path: o.path, parent: o }); - return xo(o, s); - } - "~validate"(e) { - var r, n; - const o = { - common: { - issues: [], - async: !!this["~standard"].async - }, - path: [], - schemaErrorMap: this._def.errorMap, - parent: null, - data: e, - parsedType: He(e) - }; - if (!this["~standard"].async) - try { - const s = this._parseSync({ data: e, path: [], parent: o }); - return yt(s) ? { - value: s.value - } : { - issues: o.common.issues - }; - } catch (s) { - !((n = (r = s == null ? void 0 : s.message) === null || r === void 0 ? void 0 : r.toLowerCase()) === null || n === void 0) && n.includes("encountered") && (this["~standard"].async = !0), o.common = { - issues: [], - async: !0 - }; - } - return this._parseAsync({ data: e, path: [], parent: o }).then((s) => yt(s) ? { - value: s.value - } : { - issues: o.common.issues - }); - } - async parseAsync(e, r) { - const n = await this.safeParseAsync(e, r); - if (n.success) - return n.data; - throw n.error; - } - async safeParseAsync(e, r) { - const n = { - common: { - issues: [], - contextualErrorMap: r == null ? void 0 : r.errorMap, - async: !0 - }, - path: (r == null ? void 0 : r.path) || [], - schemaErrorMap: this._def.errorMap, - parent: null, - data: e, - parsedType: He(e) - }, o = this._parse({ data: e, path: n.path, parent: n }), s = await (qt(o) ? o : Promise.resolve(o)); - return xo(n, s); - } - refine(e, r) { - const n = (o) => typeof r == "string" || typeof r > "u" ? { message: r } : typeof r == "function" ? r(o) : r; - return this._refinement((o, s) => { - const i = e(o), c = () => s.addIssue({ - code: g.custom, - ...n(o) - }); - return typeof Promise < "u" && i instanceof Promise ? i.then((l) => l ? !0 : (c(), !1)) : i ? !0 : (c(), !1); - }); - } - refinement(e, r) { - return this._refinement((n, o) => e(n) ? !0 : (o.addIssue(typeof r == "function" ? r(n, o) : r), !1)); - } - _refinement(e) { - return new Oe({ - schema: this, - typeName: C.ZodEffects, - effect: { type: "refinement", refinement: e } - }); - } - superRefine(e) { - return this._refinement(e); - } - constructor(e) { - this.spa = this.safeParseAsync, this._def = e, this.parse = this.parse.bind(this), this.safeParse = this.safeParse.bind(this), this.parseAsync = this.parseAsync.bind(this), this.safeParseAsync = this.safeParseAsync.bind(this), this.spa = this.spa.bind(this), this.refine = this.refine.bind(this), this.refinement = this.refinement.bind(this), this.superRefine = this.superRefine.bind(this), this.optional = this.optional.bind(this), this.nullable = this.nullable.bind(this), this.nullish = this.nullish.bind(this), this.array = this.array.bind(this), this.promise = this.promise.bind(this), this.or = this.or.bind(this), this.and = this.and.bind(this), this.transform = this.transform.bind(this), this.brand = this.brand.bind(this), this.default = this.default.bind(this), this.catch = this.catch.bind(this), this.describe = this.describe.bind(this), this.pipe = this.pipe.bind(this), this.readonly = this.readonly.bind(this), this.isNullable = this.isNullable.bind(this), this.isOptional = this.isOptional.bind(this), this["~standard"] = { - version: 1, - vendor: "zod", - validate: (r) => this["~validate"](r) - }; - } - optional() { - return Ue.create(this, this._def); - } - nullable() { - return ot.create(this, this._def); - } - nullish() { - return this.nullable().optional(); - } - array() { - return Ne.create(this); - } - promise() { - return Ft.create(this, this._def); - } - or(e) { - return Xt.create([this, e], this._def); - } - and(e) { - return Qt.create(this, e, this._def); - } - transform(e) { - return new Oe({ - ...N(this._def), - schema: this, - typeName: C.ZodEffects, - effect: { type: "transform", transform: e } - }); - } - default(e) { - const r = typeof e == "function" ? e : () => e; - return new or({ - ...N(this._def), - innerType: this, - defaultValue: r, - typeName: C.ZodDefault - }); - } - brand() { - return new Hn({ - typeName: C.ZodBranded, - type: this, - ...N(this._def) - }); - } - catch(e) { - const r = typeof e == "function" ? e : () => e; - return new sr({ - ...N(this._def), - innerType: this, - catchValue: r, - typeName: C.ZodCatch - }); - } - describe(e) { - const r = this.constructor; - return new r({ - ...this._def, - description: e - }); - } - pipe(e) { - return ur.create(this, e); - } - readonly() { - return ar.create(this); - } - isOptional() { - return this.safeParse(void 0).success; - } - isNullable() { - return this.safeParse(null).success; - } -} -const qc = /^c[^\s-]{8,}$/i, Kc = /^[0-9a-z]+$/, Yc = /^[0-9A-HJKMNP-TV-Z]{26}$/i, Jc = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i, Xc = /^[a-z0-9_-]{21}$/i, Qc = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/, el = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/, tl = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i, rl = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$"; -let hn; -const nl = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, ol = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, sl = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, al = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, il = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, cl = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, Hs = "((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))", ll = new RegExp(`^${Hs}$`); -function Ws(t) { - let e = "([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d"; - return t.precision ? e = `${e}\\.\\d{${t.precision}}` : t.precision == null && (e = `${e}(\\.\\d+)?`), e; -} -function ul(t) { - return new RegExp(`^${Ws(t)}$`); -} -function qs(t) { - let e = `${Hs}T${Ws(t)}`; - const r = []; - return r.push(t.local ? "Z?" : "Z"), t.offset && r.push("([+-]\\d{2}:?\\d{2})"), e = `${e}(${r.join("|")})`, new RegExp(`^${e}$`); -} -function dl(t, e) { - return !!((e === "v4" || !e) && nl.test(t) || (e === "v6" || !e) && sl.test(t)); -} -function fl(t, e) { - if (!Qc.test(t)) - return !1; - try { - const [r] = t.split("."), n = r.replace(/-/g, "+").replace(/_/g, "/").padEnd(r.length + (4 - r.length % 4) % 4, "="), o = JSON.parse(atob(n)); - return !(typeof o != "object" || o === null || !o.typ || !o.alg || e && o.alg !== e); - } catch { - return !1; - } -} -function pl(t, e) { - return !!((e === "v4" || !e) && ol.test(t) || (e === "v6" || !e) && al.test(t)); -} -class Re extends O { - _parse(e) { - if (this._def.coerce && (e.data = String(e.data)), this._getType(e) !== b.string) { - const s = this._getOrReturnCtx(e); - return v(s, { - code: g.invalid_type, - expected: b.string, - received: s.parsedType - }), $; - } - const n = new oe(); - let o; - for (const s of this._def.checks) - if (s.kind === "min") - e.data.length < s.value && (o = this._getOrReturnCtx(e, o), v(o, { - code: g.too_small, - minimum: s.value, - type: "string", - inclusive: !0, - exact: !1, - message: s.message - }), n.dirty()); - else if (s.kind === "max") - e.data.length > s.value && (o = this._getOrReturnCtx(e, o), v(o, { - code: g.too_big, - maximum: s.value, - type: "string", - inclusive: !0, - exact: !1, - message: s.message - }), n.dirty()); - else if (s.kind === "length") { - const i = e.data.length > s.value, c = e.data.length < s.value; - (i || c) && (o = this._getOrReturnCtx(e, o), i ? v(o, { - code: g.too_big, - maximum: s.value, - type: "string", - inclusive: !0, - exact: !0, - message: s.message - }) : c && v(o, { - code: g.too_small, - minimum: s.value, - type: "string", - inclusive: !0, - exact: !0, - message: s.message - }), n.dirty()); - } else if (s.kind === "email") - tl.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "email", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "emoji") - hn || (hn = new RegExp(rl, "u")), hn.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "emoji", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "uuid") - Jc.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "uuid", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "nanoid") - Xc.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "nanoid", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "cuid") - qc.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "cuid", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "cuid2") - Kc.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "cuid2", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "ulid") - Yc.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "ulid", - code: g.invalid_string, - message: s.message - }), n.dirty()); - else if (s.kind === "url") - try { - new URL(e.data); - } catch { - o = this._getOrReturnCtx(e, o), v(o, { - validation: "url", - code: g.invalid_string, - message: s.message - }), n.dirty(); - } - else s.kind === "regex" ? (s.regex.lastIndex = 0, s.regex.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "regex", - code: g.invalid_string, - message: s.message - }), n.dirty())) : s.kind === "trim" ? e.data = e.data.trim() : s.kind === "includes" ? e.data.includes(s.value, s.position) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: { includes: s.value, position: s.position }, - message: s.message - }), n.dirty()) : s.kind === "toLowerCase" ? e.data = e.data.toLowerCase() : s.kind === "toUpperCase" ? e.data = e.data.toUpperCase() : s.kind === "startsWith" ? e.data.startsWith(s.value) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: { startsWith: s.value }, - message: s.message - }), n.dirty()) : s.kind === "endsWith" ? e.data.endsWith(s.value) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: { endsWith: s.value }, - message: s.message - }), n.dirty()) : s.kind === "datetime" ? qs(s).test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: "datetime", - message: s.message - }), n.dirty()) : s.kind === "date" ? ll.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: "date", - message: s.message - }), n.dirty()) : s.kind === "time" ? ul(s).test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - code: g.invalid_string, - validation: "time", - message: s.message - }), n.dirty()) : s.kind === "duration" ? el.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "duration", - code: g.invalid_string, - message: s.message - }), n.dirty()) : s.kind === "ip" ? dl(e.data, s.version) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "ip", - code: g.invalid_string, - message: s.message - }), n.dirty()) : s.kind === "jwt" ? fl(e.data, s.alg) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "jwt", - code: g.invalid_string, - message: s.message - }), n.dirty()) : s.kind === "cidr" ? pl(e.data, s.version) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "cidr", - code: g.invalid_string, - message: s.message - }), n.dirty()) : s.kind === "base64" ? il.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "base64", - code: g.invalid_string, - message: s.message - }), n.dirty()) : s.kind === "base64url" ? cl.test(e.data) || (o = this._getOrReturnCtx(e, o), v(o, { - validation: "base64url", - code: g.invalid_string, - message: s.message - }), n.dirty()) : F.assertNever(s); - return { status: n.value, value: e.data }; - } - _regex(e, r, n) { - return this.refinement((o) => e.test(o), { - validation: r, - code: g.invalid_string, - ...E.errToObj(n) - }); - } - _addCheck(e) { - return new Re({ - ...this._def, - checks: [...this._def.checks, e] - }); - } - email(e) { - return this._addCheck({ kind: "email", ...E.errToObj(e) }); - } - url(e) { - return this._addCheck({ kind: "url", ...E.errToObj(e) }); - } - emoji(e) { - return this._addCheck({ kind: "emoji", ...E.errToObj(e) }); - } - uuid(e) { - return this._addCheck({ kind: "uuid", ...E.errToObj(e) }); - } - nanoid(e) { - return this._addCheck({ kind: "nanoid", ...E.errToObj(e) }); - } - cuid(e) { - return this._addCheck({ kind: "cuid", ...E.errToObj(e) }); - } - cuid2(e) { - return this._addCheck({ kind: "cuid2", ...E.errToObj(e) }); - } - ulid(e) { - return this._addCheck({ kind: "ulid", ...E.errToObj(e) }); - } - base64(e) { - return this._addCheck({ kind: "base64", ...E.errToObj(e) }); - } - base64url(e) { - return this._addCheck({ - kind: "base64url", - ...E.errToObj(e) - }); - } - jwt(e) { - return this._addCheck({ kind: "jwt", ...E.errToObj(e) }); - } - ip(e) { - return this._addCheck({ kind: "ip", ...E.errToObj(e) }); - } - cidr(e) { - return this._addCheck({ kind: "cidr", ...E.errToObj(e) }); - } - datetime(e) { - var r, n; - return typeof e == "string" ? this._addCheck({ - kind: "datetime", - precision: null, - offset: !1, - local: !1, - message: e - }) : this._addCheck({ - kind: "datetime", - precision: typeof (e == null ? void 0 : e.precision) > "u" ? null : e == null ? void 0 : e.precision, - offset: (r = e == null ? void 0 : e.offset) !== null && r !== void 0 ? r : !1, - local: (n = e == null ? void 0 : e.local) !== null && n !== void 0 ? n : !1, - ...E.errToObj(e == null ? void 0 : e.message) - }); - } - date(e) { - return this._addCheck({ kind: "date", message: e }); - } - time(e) { - return typeof e == "string" ? this._addCheck({ - kind: "time", - precision: null, - message: e - }) : this._addCheck({ - kind: "time", - precision: typeof (e == null ? void 0 : e.precision) > "u" ? null : e == null ? void 0 : e.precision, - ...E.errToObj(e == null ? void 0 : e.message) - }); - } - duration(e) { - return this._addCheck({ kind: "duration", ...E.errToObj(e) }); - } - regex(e, r) { - return this._addCheck({ - kind: "regex", - regex: e, - ...E.errToObj(r) - }); - } - includes(e, r) { - return this._addCheck({ - kind: "includes", - value: e, - position: r == null ? void 0 : r.position, - ...E.errToObj(r == null ? void 0 : r.message) - }); - } - startsWith(e, r) { - return this._addCheck({ - kind: "startsWith", - value: e, - ...E.errToObj(r) - }); - } - endsWith(e, r) { - return this._addCheck({ - kind: "endsWith", - value: e, - ...E.errToObj(r) - }); - } - min(e, r) { - return this._addCheck({ - kind: "min", - value: e, - ...E.errToObj(r) - }); - } - max(e, r) { - return this._addCheck({ - kind: "max", - value: e, - ...E.errToObj(r) - }); - } - length(e, r) { - return this._addCheck({ - kind: "length", - value: e, - ...E.errToObj(r) - }); - } - /** - * Equivalent to `.min(1)` - */ - nonempty(e) { - return this.min(1, E.errToObj(e)); - } - trim() { - return new Re({ - ...this._def, - checks: [...this._def.checks, { kind: "trim" }] - }); - } - toLowerCase() { - return new Re({ - ...this._def, - checks: [...this._def.checks, { kind: "toLowerCase" }] - }); - } - toUpperCase() { - return new Re({ - ...this._def, - checks: [...this._def.checks, { kind: "toUpperCase" }] - }); - } - get isDatetime() { - return !!this._def.checks.find((e) => e.kind === "datetime"); - } - get isDate() { - return !!this._def.checks.find((e) => e.kind === "date"); - } - get isTime() { - return !!this._def.checks.find((e) => e.kind === "time"); - } - get isDuration() { - return !!this._def.checks.find((e) => e.kind === "duration"); - } - get isEmail() { - return !!this._def.checks.find((e) => e.kind === "email"); - } - get isURL() { - return !!this._def.checks.find((e) => e.kind === "url"); - } - get isEmoji() { - return !!this._def.checks.find((e) => e.kind === "emoji"); - } - get isUUID() { - return !!this._def.checks.find((e) => e.kind === "uuid"); - } - get isNANOID() { - return !!this._def.checks.find((e) => e.kind === "nanoid"); - } - get isCUID() { - return !!this._def.checks.find((e) => e.kind === "cuid"); - } - get isCUID2() { - return !!this._def.checks.find((e) => e.kind === "cuid2"); - } - get isULID() { - return !!this._def.checks.find((e) => e.kind === "ulid"); - } - get isIP() { - return !!this._def.checks.find((e) => e.kind === "ip"); - } - get isCIDR() { - return !!this._def.checks.find((e) => e.kind === "cidr"); - } - get isBase64() { - return !!this._def.checks.find((e) => e.kind === "base64"); - } - get isBase64url() { - return !!this._def.checks.find((e) => e.kind === "base64url"); - } - get minLength() { - let e = null; - for (const r of this._def.checks) - r.kind === "min" && (e === null || r.value > e) && (e = r.value); - return e; - } - get maxLength() { - let e = null; - for (const r of this._def.checks) - r.kind === "max" && (e === null || r.value < e) && (e = r.value); - return e; - } -} -Re.create = (t) => { - var e; - return new Re({ - checks: [], - typeName: C.ZodString, - coerce: (e = t == null ? void 0 : t.coerce) !== null && e !== void 0 ? e : !1, - ...N(t) - }); -}; -function hl(t, e) { - const r = (t.toString().split(".")[1] || "").length, n = (e.toString().split(".")[1] || "").length, o = r > n ? r : n, s = parseInt(t.toFixed(o).replace(".", "")), i = parseInt(e.toFixed(o).replace(".", "")); - return s % i / Math.pow(10, o); -} -class tt extends O { - constructor() { - super(...arguments), this.min = this.gte, this.max = this.lte, this.step = this.multipleOf; - } - _parse(e) { - if (this._def.coerce && (e.data = Number(e.data)), this._getType(e) !== b.number) { - const s = this._getOrReturnCtx(e); - return v(s, { - code: g.invalid_type, - expected: b.number, - received: s.parsedType - }), $; - } - let n; - const o = new oe(); - for (const s of this._def.checks) - s.kind === "int" ? F.isInteger(e.data) || (n = this._getOrReturnCtx(e, n), v(n, { - code: g.invalid_type, - expected: "integer", - received: "float", - message: s.message - }), o.dirty()) : s.kind === "min" ? (s.inclusive ? e.data < s.value : e.data <= s.value) && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.too_small, - minimum: s.value, - type: "number", - inclusive: s.inclusive, - exact: !1, - message: s.message - }), o.dirty()) : s.kind === "max" ? (s.inclusive ? e.data > s.value : e.data >= s.value) && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.too_big, - maximum: s.value, - type: "number", - inclusive: s.inclusive, - exact: !1, - message: s.message - }), o.dirty()) : s.kind === "multipleOf" ? hl(e.data, s.value) !== 0 && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.not_multiple_of, - multipleOf: s.value, - message: s.message - }), o.dirty()) : s.kind === "finite" ? Number.isFinite(e.data) || (n = this._getOrReturnCtx(e, n), v(n, { - code: g.not_finite, - message: s.message - }), o.dirty()) : F.assertNever(s); - return { status: o.value, value: e.data }; - } - gte(e, r) { - return this.setLimit("min", e, !0, E.toString(r)); - } - gt(e, r) { - return this.setLimit("min", e, !1, E.toString(r)); - } - lte(e, r) { - return this.setLimit("max", e, !0, E.toString(r)); - } - lt(e, r) { - return this.setLimit("max", e, !1, E.toString(r)); - } - setLimit(e, r, n, o) { - return new tt({ - ...this._def, - checks: [ - ...this._def.checks, - { - kind: e, - value: r, - inclusive: n, - message: E.toString(o) - } - ] - }); - } - _addCheck(e) { - return new tt({ - ...this._def, - checks: [...this._def.checks, e] - }); - } - int(e) { - return this._addCheck({ - kind: "int", - message: E.toString(e) - }); - } - positive(e) { - return this._addCheck({ - kind: "min", - value: 0, - inclusive: !1, - message: E.toString(e) - }); - } - negative(e) { - return this._addCheck({ - kind: "max", - value: 0, - inclusive: !1, - message: E.toString(e) - }); - } - nonpositive(e) { - return this._addCheck({ - kind: "max", - value: 0, - inclusive: !0, - message: E.toString(e) - }); - } - nonnegative(e) { - return this._addCheck({ - kind: "min", - value: 0, - inclusive: !0, - message: E.toString(e) - }); - } - multipleOf(e, r) { - return this._addCheck({ - kind: "multipleOf", - value: e, - message: E.toString(r) - }); - } - finite(e) { - return this._addCheck({ - kind: "finite", - message: E.toString(e) - }); - } - safe(e) { - return this._addCheck({ - kind: "min", - inclusive: !0, - value: Number.MIN_SAFE_INTEGER, - message: E.toString(e) - })._addCheck({ - kind: "max", - inclusive: !0, - value: Number.MAX_SAFE_INTEGER, - message: E.toString(e) - }); - } - get minValue() { - let e = null; - for (const r of this._def.checks) - r.kind === "min" && (e === null || r.value > e) && (e = r.value); - return e; - } - get maxValue() { - let e = null; - for (const r of this._def.checks) - r.kind === "max" && (e === null || r.value < e) && (e = r.value); - return e; - } - get isInt() { - return !!this._def.checks.find((e) => e.kind === "int" || e.kind === "multipleOf" && F.isInteger(e.value)); - } - get isFinite() { - let e = null, r = null; - for (const n of this._def.checks) { - if (n.kind === "finite" || n.kind === "int" || n.kind === "multipleOf") - return !0; - n.kind === "min" ? (r === null || n.value > r) && (r = n.value) : n.kind === "max" && (e === null || n.value < e) && (e = n.value); - } - return Number.isFinite(r) && Number.isFinite(e); - } -} -tt.create = (t) => new tt({ - checks: [], - typeName: C.ZodNumber, - coerce: (t == null ? void 0 : t.coerce) || !1, - ...N(t) -}); -class rt extends O { - constructor() { - super(...arguments), this.min = this.gte, this.max = this.lte; - } - _parse(e) { - if (this._def.coerce) - try { - e.data = BigInt(e.data); - } catch { - return this._getInvalidInput(e); - } - if (this._getType(e) !== b.bigint) - return this._getInvalidInput(e); - let n; - const o = new oe(); - for (const s of this._def.checks) - s.kind === "min" ? (s.inclusive ? e.data < s.value : e.data <= s.value) && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.too_small, - type: "bigint", - minimum: s.value, - inclusive: s.inclusive, - message: s.message - }), o.dirty()) : s.kind === "max" ? (s.inclusive ? e.data > s.value : e.data >= s.value) && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.too_big, - type: "bigint", - maximum: s.value, - inclusive: s.inclusive, - message: s.message - }), o.dirty()) : s.kind === "multipleOf" ? e.data % s.value !== BigInt(0) && (n = this._getOrReturnCtx(e, n), v(n, { - code: g.not_multiple_of, - multipleOf: s.value, - message: s.message - }), o.dirty()) : F.assertNever(s); - return { status: o.value, value: e.data }; - } - _getInvalidInput(e) { - const r = this._getOrReturnCtx(e); - return v(r, { - code: g.invalid_type, - expected: b.bigint, - received: r.parsedType - }), $; - } - gte(e, r) { - return this.setLimit("min", e, !0, E.toString(r)); - } - gt(e, r) { - return this.setLimit("min", e, !1, E.toString(r)); - } - lte(e, r) { - return this.setLimit("max", e, !0, E.toString(r)); - } - lt(e, r) { - return this.setLimit("max", e, !1, E.toString(r)); - } - setLimit(e, r, n, o) { - return new rt({ - ...this._def, - checks: [ - ...this._def.checks, - { - kind: e, - value: r, - inclusive: n, - message: E.toString(o) - } - ] - }); - } - _addCheck(e) { - return new rt({ - ...this._def, - checks: [...this._def.checks, e] - }); - } - positive(e) { - return this._addCheck({ - kind: "min", - value: BigInt(0), - inclusive: !1, - message: E.toString(e) - }); - } - negative(e) { - return this._addCheck({ - kind: "max", - value: BigInt(0), - inclusive: !1, - message: E.toString(e) - }); - } - nonpositive(e) { - return this._addCheck({ - kind: "max", - value: BigInt(0), - inclusive: !0, - message: E.toString(e) - }); - } - nonnegative(e) { - return this._addCheck({ - kind: "min", - value: BigInt(0), - inclusive: !0, - message: E.toString(e) - }); - } - multipleOf(e, r) { - return this._addCheck({ - kind: "multipleOf", - value: e, - message: E.toString(r) - }); - } - get minValue() { - let e = null; - for (const r of this._def.checks) - r.kind === "min" && (e === null || r.value > e) && (e = r.value); - return e; - } - get maxValue() { - let e = null; - for (const r of this._def.checks) - r.kind === "max" && (e === null || r.value < e) && (e = r.value); - return e; - } -} -rt.create = (t) => { - var e; - return new rt({ - checks: [], - typeName: C.ZodBigInt, - coerce: (e = t == null ? void 0 : t.coerce) !== null && e !== void 0 ? e : !1, - ...N(t) - }); -}; -class Kt extends O { - _parse(e) { - if (this._def.coerce && (e.data = !!e.data), this._getType(e) !== b.boolean) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.boolean, - received: n.parsedType - }), $; - } - return fe(e.data); - } -} -Kt.create = (t) => new Kt({ - typeName: C.ZodBoolean, - coerce: (t == null ? void 0 : t.coerce) || !1, - ...N(t) -}); -class _t extends O { - _parse(e) { - if (this._def.coerce && (e.data = new Date(e.data)), this._getType(e) !== b.date) { - const s = this._getOrReturnCtx(e); - return v(s, { - code: g.invalid_type, - expected: b.date, - received: s.parsedType - }), $; - } - if (isNaN(e.data.getTime())) { - const s = this._getOrReturnCtx(e); - return v(s, { - code: g.invalid_date - }), $; - } - const n = new oe(); - let o; - for (const s of this._def.checks) - s.kind === "min" ? e.data.getTime() < s.value && (o = this._getOrReturnCtx(e, o), v(o, { - code: g.too_small, - message: s.message, - inclusive: !0, - exact: !1, - minimum: s.value, - type: "date" - }), n.dirty()) : s.kind === "max" ? e.data.getTime() > s.value && (o = this._getOrReturnCtx(e, o), v(o, { - code: g.too_big, - message: s.message, - inclusive: !0, - exact: !1, - maximum: s.value, - type: "date" - }), n.dirty()) : F.assertNever(s); - return { - status: n.value, - value: new Date(e.data.getTime()) - }; - } - _addCheck(e) { - return new _t({ - ...this._def, - checks: [...this._def.checks, e] - }); - } - min(e, r) { - return this._addCheck({ - kind: "min", - value: e.getTime(), - message: E.toString(r) - }); - } - max(e, r) { - return this._addCheck({ - kind: "max", - value: e.getTime(), - message: E.toString(r) - }); - } - get minDate() { - let e = null; - for (const r of this._def.checks) - r.kind === "min" && (e === null || r.value > e) && (e = r.value); - return e != null ? new Date(e) : null; - } - get maxDate() { - let e = null; - for (const r of this._def.checks) - r.kind === "max" && (e === null || r.value < e) && (e = r.value); - return e != null ? new Date(e) : null; - } -} -_t.create = (t) => new _t({ - checks: [], - coerce: (t == null ? void 0 : t.coerce) || !1, - typeName: C.ZodDate, - ...N(t) -}); -class Mr extends O { - _parse(e) { - if (this._getType(e) !== b.symbol) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.symbol, - received: n.parsedType - }), $; - } - return fe(e.data); - } -} -Mr.create = (t) => new Mr({ - typeName: C.ZodSymbol, - ...N(t) -}); -class Yt extends O { - _parse(e) { - if (this._getType(e) !== b.undefined) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.undefined, - received: n.parsedType - }), $; - } - return fe(e.data); - } -} -Yt.create = (t) => new Yt({ - typeName: C.ZodUndefined, - ...N(t) -}); -class Jt extends O { - _parse(e) { - if (this._getType(e) !== b.null) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.null, - received: n.parsedType - }), $; - } - return fe(e.data); - } -} -Jt.create = (t) => new Jt({ - typeName: C.ZodNull, - ...N(t) -}); -class Lt extends O { - constructor() { - super(...arguments), this._any = !0; - } - _parse(e) { - return fe(e.data); - } -} -Lt.create = (t) => new Lt({ - typeName: C.ZodAny, - ...N(t) -}); -class mt extends O { - constructor() { - super(...arguments), this._unknown = !0; - } - _parse(e) { - return fe(e.data); - } -} -mt.create = (t) => new mt({ - typeName: C.ZodUnknown, - ...N(t) -}); -class Ye extends O { - _parse(e) { - const r = this._getOrReturnCtx(e); - return v(r, { - code: g.invalid_type, - expected: b.never, - received: r.parsedType - }), $; - } -} -Ye.create = (t) => new Ye({ - typeName: C.ZodNever, - ...N(t) -}); -class Lr extends O { - _parse(e) { - if (this._getType(e) !== b.undefined) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.void, - received: n.parsedType - }), $; - } - return fe(e.data); - } -} -Lr.create = (t) => new Lr({ - typeName: C.ZodVoid, - ...N(t) -}); -class Ne extends O { - _parse(e) { - const { ctx: r, status: n } = this._processInputParams(e), o = this._def; - if (r.parsedType !== b.array) - return v(r, { - code: g.invalid_type, - expected: b.array, - received: r.parsedType - }), $; - if (o.exactLength !== null) { - const i = r.data.length > o.exactLength.value, c = r.data.length < o.exactLength.value; - (i || c) && (v(r, { - code: i ? g.too_big : g.too_small, - minimum: c ? o.exactLength.value : void 0, - maximum: i ? o.exactLength.value : void 0, - type: "array", - inclusive: !0, - exact: !0, - message: o.exactLength.message - }), n.dirty()); - } - if (o.minLength !== null && r.data.length < o.minLength.value && (v(r, { - code: g.too_small, - minimum: o.minLength.value, - type: "array", - inclusive: !0, - exact: !1, - message: o.minLength.message - }), n.dirty()), o.maxLength !== null && r.data.length > o.maxLength.value && (v(r, { - code: g.too_big, - maximum: o.maxLength.value, - type: "array", - inclusive: !0, - exact: !1, - message: o.maxLength.message - }), n.dirty()), r.common.async) - return Promise.all([...r.data].map((i, c) => o.type._parseAsync(new je(r, i, r.path, c)))).then((i) => oe.mergeArray(n, i)); - const s = [...r.data].map((i, c) => o.type._parseSync(new je(r, i, r.path, c))); - return oe.mergeArray(n, s); - } - get element() { - return this._def.type; - } - min(e, r) { - return new Ne({ - ...this._def, - minLength: { value: e, message: E.toString(r) } - }); - } - max(e, r) { - return new Ne({ - ...this._def, - maxLength: { value: e, message: E.toString(r) } - }); - } - length(e, r) { - return new Ne({ - ...this._def, - exactLength: { value: e, message: E.toString(r) } - }); - } - nonempty(e) { - return this.min(1, e); - } -} -Ne.create = (t, e) => new Ne({ - type: t, - minLength: null, - maxLength: null, - exactLength: null, - typeName: C.ZodArray, - ...N(e) -}); -function kt(t) { - if (t instanceof V) { - const e = {}; - for (const r in t.shape) { - const n = t.shape[r]; - e[r] = Ue.create(kt(n)); - } - return new V({ - ...t._def, - shape: () => e - }); - } else return t instanceof Ne ? new Ne({ - ...t._def, - type: kt(t.element) - }) : t instanceof Ue ? Ue.create(kt(t.unwrap())) : t instanceof ot ? ot.create(kt(t.unwrap())) : t instanceof Ze ? Ze.create(t.items.map((e) => kt(e))) : t; -} -class V extends O { - constructor() { - super(...arguments), this._cached = null, this.nonstrict = this.passthrough, this.augment = this.extend; - } - _getCached() { - if (this._cached !== null) - return this._cached; - const e = this._def.shape(), r = F.objectKeys(e); - return this._cached = { shape: e, keys: r }; - } - _parse(e) { - if (this._getType(e) !== b.object) { - const u = this._getOrReturnCtx(e); - return v(u, { - code: g.invalid_type, - expected: b.object, - received: u.parsedType - }), $; - } - const { status: n, ctx: o } = this._processInputParams(e), { shape: s, keys: i } = this._getCached(), c = []; - if (!(this._def.catchall instanceof Ye && this._def.unknownKeys === "strip")) - for (const u in o.data) - i.includes(u) || c.push(u); - const l = []; - for (const u of i) { - const d = s[u], f = o.data[u]; - l.push({ - key: { status: "valid", value: u }, - value: d._parse(new je(o, f, o.path, u)), - alwaysSet: u in o.data - }); - } - if (this._def.catchall instanceof Ye) { - const u = this._def.unknownKeys; - if (u === "passthrough") - for (const d of c) - l.push({ - key: { status: "valid", value: d }, - value: { status: "valid", value: o.data[d] } - }); - else if (u === "strict") - c.length > 0 && (v(o, { - code: g.unrecognized_keys, - keys: c - }), n.dirty()); - else if (u !== "strip") throw new Error("Internal ZodObject error: invalid unknownKeys value."); - } else { - const u = this._def.catchall; - for (const d of c) { - const f = o.data[d]; - l.push({ - key: { status: "valid", value: d }, - value: u._parse( - new je(o, f, o.path, d) - //, ctx.child(key), value, getParsedType(value) - ), - alwaysSet: d in o.data - }); - } - } - return o.common.async ? Promise.resolve().then(async () => { - const u = []; - for (const d of l) { - const f = await d.key, h = await d.value; - u.push({ - key: f, - value: h, - alwaysSet: d.alwaysSet - }); - } - return u; - }).then((u) => oe.mergeObjectSync(n, u)) : oe.mergeObjectSync(n, l); - } - get shape() { - return this._def.shape(); - } - strict(e) { - return E.errToObj, new V({ - ...this._def, - unknownKeys: "strict", - ...e !== void 0 ? { - errorMap: (r, n) => { - var o, s, i, c; - const l = (i = (s = (o = this._def).errorMap) === null || s === void 0 ? void 0 : s.call(o, r, n).message) !== null && i !== void 0 ? i : n.defaultError; - return r.code === "unrecognized_keys" ? { - message: (c = E.errToObj(e).message) !== null && c !== void 0 ? c : l - } : { - message: l - }; - } - } : {} - }); - } - strip() { - return new V({ - ...this._def, - unknownKeys: "strip" - }); - } - passthrough() { - return new V({ - ...this._def, - unknownKeys: "passthrough" - }); - } - // const AugmentFactory = - // (def: Def) => - // ( - // augmentation: Augmentation - // ): ZodObject< - // extendShape, Augmentation>, - // Def["unknownKeys"], - // Def["catchall"] - // > => { - // return new ZodObject({ - // ...def, - // shape: () => ({ - // ...def.shape(), - // ...augmentation, - // }), - // }) as any; - // }; - extend(e) { - return new V({ - ...this._def, - shape: () => ({ - ...this._def.shape(), - ...e - }) - }); - } - /** - * Prior to zod@1.0.12 there was a bug in the - * inferred type of merged objects. Please - * upgrade if you are experiencing issues. - */ - merge(e) { - return new V({ - unknownKeys: e._def.unknownKeys, - catchall: e._def.catchall, - shape: () => ({ - ...this._def.shape(), - ...e._def.shape() - }), - typeName: C.ZodObject - }); - } - // merge< - // Incoming extends AnyZodObject, - // Augmentation extends Incoming["shape"], - // NewOutput extends { - // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation - // ? Augmentation[k]["_output"] - // : k extends keyof Output - // ? Output[k] - // : never; - // }, - // NewInput extends { - // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation - // ? Augmentation[k]["_input"] - // : k extends keyof Input - // ? Input[k] - // : never; - // } - // >( - // merging: Incoming - // ): ZodObject< - // extendShape>, - // Incoming["_def"]["unknownKeys"], - // Incoming["_def"]["catchall"], - // NewOutput, - // NewInput - // > { - // const merged: any = new ZodObject({ - // unknownKeys: merging._def.unknownKeys, - // catchall: merging._def.catchall, - // shape: () => - // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), - // typeName: ZodFirstPartyTypeKind.ZodObject, - // }) as any; - // return merged; - // } - setKey(e, r) { - return this.augment({ [e]: r }); - } - // merge( - // merging: Incoming - // ): //ZodObject = (merging) => { - // ZodObject< - // extendShape>, - // Incoming["_def"]["unknownKeys"], - // Incoming["_def"]["catchall"] - // > { - // // const mergedShape = objectUtil.mergeShapes( - // // this._def.shape(), - // // merging._def.shape() - // // ); - // const merged: any = new ZodObject({ - // unknownKeys: merging._def.unknownKeys, - // catchall: merging._def.catchall, - // shape: () => - // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), - // typeName: ZodFirstPartyTypeKind.ZodObject, - // }) as any; - // return merged; - // } - catchall(e) { - return new V({ - ...this._def, - catchall: e - }); - } - pick(e) { - const r = {}; - return F.objectKeys(e).forEach((n) => { - e[n] && this.shape[n] && (r[n] = this.shape[n]); - }), new V({ - ...this._def, - shape: () => r - }); - } - omit(e) { - const r = {}; - return F.objectKeys(this.shape).forEach((n) => { - e[n] || (r[n] = this.shape[n]); - }), new V({ - ...this._def, - shape: () => r - }); - } - /** - * @deprecated - */ - deepPartial() { - return kt(this); - } - partial(e) { - const r = {}; - return F.objectKeys(this.shape).forEach((n) => { - const o = this.shape[n]; - e && !e[n] ? r[n] = o : r[n] = o.optional(); - }), new V({ - ...this._def, - shape: () => r - }); - } - required(e) { - const r = {}; - return F.objectKeys(this.shape).forEach((n) => { - if (e && !e[n]) - r[n] = this.shape[n]; - else { - let s = this.shape[n]; - for (; s instanceof Ue; ) - s = s._def.innerType; - r[n] = s; - } - }), new V({ - ...this._def, - shape: () => r - }); - } - keyof() { - return Ks(F.objectKeys(this.shape)); - } -} -V.create = (t, e) => new V({ - shape: () => t, - unknownKeys: "strip", - catchall: Ye.create(), - typeName: C.ZodObject, - ...N(e) -}); -V.strictCreate = (t, e) => new V({ - shape: () => t, - unknownKeys: "strict", - catchall: Ye.create(), - typeName: C.ZodObject, - ...N(e) -}); -V.lazycreate = (t, e) => new V({ - shape: t, - unknownKeys: "strip", - catchall: Ye.create(), - typeName: C.ZodObject, - ...N(e) -}); -class Xt extends O { - _parse(e) { - const { ctx: r } = this._processInputParams(e), n = this._def.options; - function o(s) { - for (const c of s) - if (c.result.status === "valid") - return c.result; - for (const c of s) - if (c.result.status === "dirty") - return r.common.issues.push(...c.ctx.common.issues), c.result; - const i = s.map((c) => new ye(c.ctx.common.issues)); - return v(r, { - code: g.invalid_union, - unionErrors: i - }), $; - } - if (r.common.async) - return Promise.all(n.map(async (s) => { - const i = { - ...r, - common: { - ...r.common, - issues: [] - }, - parent: null - }; - return { - result: await s._parseAsync({ - data: r.data, - path: r.path, - parent: i - }), - ctx: i - }; - })).then(o); - { - let s; - const i = []; - for (const l of n) { - const u = { - ...r, - common: { - ...r.common, - issues: [] - }, - parent: null - }, d = l._parseSync({ - data: r.data, - path: r.path, - parent: u - }); - if (d.status === "valid") - return d; - d.status === "dirty" && !s && (s = { result: d, ctx: u }), u.common.issues.length && i.push(u.common.issues); - } - if (s) - return r.common.issues.push(...s.ctx.common.issues), s.result; - const c = i.map((l) => new ye(l)); - return v(r, { - code: g.invalid_union, - unionErrors: c - }), $; - } - } - get options() { - return this._def.options; - } -} -Xt.create = (t, e) => new Xt({ - options: t, - typeName: C.ZodUnion, - ...N(e) -}); -const Ve = (t) => t instanceof tr ? Ve(t.schema) : t instanceof Oe ? Ve(t.innerType()) : t instanceof rr ? [t.value] : t instanceof nt ? t.options : t instanceof nr ? F.objectValues(t.enum) : t instanceof or ? Ve(t._def.innerType) : t instanceof Yt ? [void 0] : t instanceof Jt ? [null] : t instanceof Ue ? [void 0, ...Ve(t.unwrap())] : t instanceof ot ? [null, ...Ve(t.unwrap())] : t instanceof Hn || t instanceof ar ? Ve(t.unwrap()) : t instanceof sr ? Ve(t._def.innerType) : []; -class Qr extends O { - _parse(e) { - const { ctx: r } = this._processInputParams(e); - if (r.parsedType !== b.object) - return v(r, { - code: g.invalid_type, - expected: b.object, - received: r.parsedType - }), $; - const n = this.discriminator, o = r.data[n], s = this.optionsMap.get(o); - return s ? r.common.async ? s._parseAsync({ - data: r.data, - path: r.path, - parent: r - }) : s._parseSync({ - data: r.data, - path: r.path, - parent: r - }) : (v(r, { - code: g.invalid_union_discriminator, - options: Array.from(this.optionsMap.keys()), - path: [n] - }), $); - } - get discriminator() { - return this._def.discriminator; - } - get options() { - return this._def.options; - } - get optionsMap() { - return this._def.optionsMap; - } - /** - * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. - * However, it only allows a union of objects, all of which need to share a discriminator property. This property must - * have a different value for each object in the union. - * @param discriminator the name of the discriminator property - * @param types an array of object schemas - * @param params - */ - static create(e, r, n) { - const o = /* @__PURE__ */ new Map(); - for (const s of r) { - const i = Ve(s.shape[e]); - if (!i.length) - throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`); - for (const c of i) { - if (o.has(c)) - throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`); - o.set(c, s); - } - } - return new Qr({ - typeName: C.ZodDiscriminatedUnion, - discriminator: e, - options: r, - optionsMap: o, - ...N(n) - }); - } -} -function Pn(t, e) { - const r = He(t), n = He(e); - if (t === e) - return { valid: !0, data: t }; - if (r === b.object && n === b.object) { - const o = F.objectKeys(e), s = F.objectKeys(t).filter((c) => o.indexOf(c) !== -1), i = { ...t, ...e }; - for (const c of s) { - const l = Pn(t[c], e[c]); - if (!l.valid) - return { valid: !1 }; - i[c] = l.data; - } - return { valid: !0, data: i }; - } else if (r === b.array && n === b.array) { - if (t.length !== e.length) - return { valid: !1 }; - const o = []; - for (let s = 0; s < t.length; s++) { - const i = t[s], c = e[s], l = Pn(i, c); - if (!l.valid) - return { valid: !1 }; - o.push(l.data); - } - return { valid: !0, data: o }; - } else return r === b.date && n === b.date && +t == +e ? { valid: !0, data: t } : { valid: !1 }; -} -class Qt extends O { - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e), o = (s, i) => { - if (En(s) || En(i)) - return $; - const c = Pn(s.value, i.value); - return c.valid ? ((kn(s) || kn(i)) && r.dirty(), { status: r.value, value: c.data }) : (v(n, { - code: g.invalid_intersection_types - }), $); - }; - return n.common.async ? Promise.all([ - this._def.left._parseAsync({ - data: n.data, - path: n.path, - parent: n - }), - this._def.right._parseAsync({ - data: n.data, - path: n.path, - parent: n - }) - ]).then(([s, i]) => o(s, i)) : o(this._def.left._parseSync({ - data: n.data, - path: n.path, - parent: n - }), this._def.right._parseSync({ - data: n.data, - path: n.path, - parent: n - })); - } -} -Qt.create = (t, e, r) => new Qt({ - left: t, - right: e, - typeName: C.ZodIntersection, - ...N(r) -}); -class Ze extends O { - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e); - if (n.parsedType !== b.array) - return v(n, { - code: g.invalid_type, - expected: b.array, - received: n.parsedType - }), $; - if (n.data.length < this._def.items.length) - return v(n, { - code: g.too_small, - minimum: this._def.items.length, - inclusive: !0, - exact: !1, - type: "array" - }), $; - !this._def.rest && n.data.length > this._def.items.length && (v(n, { - code: g.too_big, - maximum: this._def.items.length, - inclusive: !0, - exact: !1, - type: "array" - }), r.dirty()); - const s = [...n.data].map((i, c) => { - const l = this._def.items[c] || this._def.rest; - return l ? l._parse(new je(n, i, n.path, c)) : null; - }).filter((i) => !!i); - return n.common.async ? Promise.all(s).then((i) => oe.mergeArray(r, i)) : oe.mergeArray(r, s); - } - get items() { - return this._def.items; - } - rest(e) { - return new Ze({ - ...this._def, - rest: e - }); - } -} -Ze.create = (t, e) => { - if (!Array.isArray(t)) - throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); - return new Ze({ - items: t, - typeName: C.ZodTuple, - rest: null, - ...N(e) - }); -}; -class er extends O { - get keySchema() { - return this._def.keyType; - } - get valueSchema() { - return this._def.valueType; - } - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e); - if (n.parsedType !== b.object) - return v(n, { - code: g.invalid_type, - expected: b.object, - received: n.parsedType - }), $; - const o = [], s = this._def.keyType, i = this._def.valueType; - for (const c in n.data) - o.push({ - key: s._parse(new je(n, c, n.path, c)), - value: i._parse(new je(n, n.data[c], n.path, c)), - alwaysSet: c in n.data - }); - return n.common.async ? oe.mergeObjectAsync(r, o) : oe.mergeObjectSync(r, o); - } - get element() { - return this._def.valueType; - } - static create(e, r, n) { - return r instanceof O ? new er({ - keyType: e, - valueType: r, - typeName: C.ZodRecord, - ...N(n) - }) : new er({ - keyType: Re.create(), - valueType: e, - typeName: C.ZodRecord, - ...N(r) - }); - } -} -class Fr extends O { - get keySchema() { - return this._def.keyType; - } - get valueSchema() { - return this._def.valueType; - } - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e); - if (n.parsedType !== b.map) - return v(n, { - code: g.invalid_type, - expected: b.map, - received: n.parsedType - }), $; - const o = this._def.keyType, s = this._def.valueType, i = [...n.data.entries()].map(([c, l], u) => ({ - key: o._parse(new je(n, c, n.path, [u, "key"])), - value: s._parse(new je(n, l, n.path, [u, "value"])) - })); - if (n.common.async) { - const c = /* @__PURE__ */ new Map(); - return Promise.resolve().then(async () => { - for (const l of i) { - const u = await l.key, d = await l.value; - if (u.status === "aborted" || d.status === "aborted") - return $; - (u.status === "dirty" || d.status === "dirty") && r.dirty(), c.set(u.value, d.value); - } - return { status: r.value, value: c }; - }); - } else { - const c = /* @__PURE__ */ new Map(); - for (const l of i) { - const u = l.key, d = l.value; - if (u.status === "aborted" || d.status === "aborted") - return $; - (u.status === "dirty" || d.status === "dirty") && r.dirty(), c.set(u.value, d.value); - } - return { status: r.value, value: c }; - } - } -} -Fr.create = (t, e, r) => new Fr({ - valueType: e, - keyType: t, - typeName: C.ZodMap, - ...N(r) -}); -class vt extends O { - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e); - if (n.parsedType !== b.set) - return v(n, { - code: g.invalid_type, - expected: b.set, - received: n.parsedType - }), $; - const o = this._def; - o.minSize !== null && n.data.size < o.minSize.value && (v(n, { - code: g.too_small, - minimum: o.minSize.value, - type: "set", - inclusive: !0, - exact: !1, - message: o.minSize.message - }), r.dirty()), o.maxSize !== null && n.data.size > o.maxSize.value && (v(n, { - code: g.too_big, - maximum: o.maxSize.value, - type: "set", - inclusive: !0, - exact: !1, - message: o.maxSize.message - }), r.dirty()); - const s = this._def.valueType; - function i(l) { - const u = /* @__PURE__ */ new Set(); - for (const d of l) { - if (d.status === "aborted") - return $; - d.status === "dirty" && r.dirty(), u.add(d.value); - } - return { status: r.value, value: u }; - } - const c = [...n.data.values()].map((l, u) => s._parse(new je(n, l, n.path, u))); - return n.common.async ? Promise.all(c).then((l) => i(l)) : i(c); - } - min(e, r) { - return new vt({ - ...this._def, - minSize: { value: e, message: E.toString(r) } - }); - } - max(e, r) { - return new vt({ - ...this._def, - maxSize: { value: e, message: E.toString(r) } - }); - } - size(e, r) { - return this.min(e, r).max(e, r); - } - nonempty(e) { - return this.min(1, e); - } -} -vt.create = (t, e) => new vt({ - valueType: t, - minSize: null, - maxSize: null, - typeName: C.ZodSet, - ...N(e) -}); -class Ct extends O { - constructor() { - super(...arguments), this.validate = this.implement; - } - _parse(e) { - const { ctx: r } = this._processInputParams(e); - if (r.parsedType !== b.function) - return v(r, { - code: g.invalid_type, - expected: b.function, - received: r.parsedType - }), $; - function n(c, l) { - return Nr({ - data: c, - path: r.path, - errorMaps: [ - r.common.contextualErrorMap, - r.schemaErrorMap, - $r(), - Mt - ].filter((u) => !!u), - issueData: { - code: g.invalid_arguments, - argumentsError: l - } - }); - } - function o(c, l) { - return Nr({ - data: c, - path: r.path, - errorMaps: [ - r.common.contextualErrorMap, - r.schemaErrorMap, - $r(), - Mt - ].filter((u) => !!u), - issueData: { - code: g.invalid_return_type, - returnTypeError: l - } - }); - } - const s = { errorMap: r.common.contextualErrorMap }, i = r.data; - if (this._def.returns instanceof Ft) { - const c = this; - return fe(async function(...l) { - const u = new ye([]), d = await c._def.args.parseAsync(l, s).catch((p) => { - throw u.addIssue(n(l, p)), u; - }), f = await Reflect.apply(i, this, d); - return await c._def.returns._def.type.parseAsync(f, s).catch((p) => { - throw u.addIssue(o(f, p)), u; - }); - }); - } else { - const c = this; - return fe(function(...l) { - const u = c._def.args.safeParse(l, s); - if (!u.success) - throw new ye([n(l, u.error)]); - const d = Reflect.apply(i, this, u.data), f = c._def.returns.safeParse(d, s); - if (!f.success) - throw new ye([o(d, f.error)]); - return f.data; - }); - } - } - parameters() { - return this._def.args; - } - returnType() { - return this._def.returns; - } - args(...e) { - return new Ct({ - ...this._def, - args: Ze.create(e).rest(mt.create()) - }); - } - returns(e) { - return new Ct({ - ...this._def, - returns: e - }); - } - implement(e) { - return this.parse(e); - } - strictImplement(e) { - return this.parse(e); - } - static create(e, r, n) { - return new Ct({ - args: e || Ze.create([]).rest(mt.create()), - returns: r || mt.create(), - typeName: C.ZodFunction, - ...N(n) - }); - } -} -class tr extends O { - get schema() { - return this._def.getter(); - } - _parse(e) { - const { ctx: r } = this._processInputParams(e); - return this._def.getter()._parse({ data: r.data, path: r.path, parent: r }); - } -} -tr.create = (t, e) => new tr({ - getter: t, - typeName: C.ZodLazy, - ...N(e) -}); -class rr extends O { - _parse(e) { - if (e.data !== this._def.value) { - const r = this._getOrReturnCtx(e); - return v(r, { - received: r.data, - code: g.invalid_literal, - expected: this._def.value - }), $; - } - return { status: "valid", value: e.data }; - } - get value() { - return this._def.value; - } -} -rr.create = (t, e) => new rr({ - value: t, - typeName: C.ZodLiteral, - ...N(e) -}); -function Ks(t, e) { - return new nt({ - values: t, - typeName: C.ZodEnum, - ...N(e) - }); -} -class nt extends O { - constructor() { - super(...arguments), Vt.set(this, void 0); - } - _parse(e) { - if (typeof e.data != "string") { - const r = this._getOrReturnCtx(e), n = this._def.values; - return v(r, { - expected: F.joinValues(n), - received: r.parsedType, - code: g.invalid_type - }), $; - } - if (Or(this, Vt) || Vs(this, Vt, new Set(this._def.values)), !Or(this, Vt).has(e.data)) { - const r = this._getOrReturnCtx(e), n = this._def.values; - return v(r, { - received: r.data, - code: g.invalid_enum_value, - options: n - }), $; - } - return fe(e.data); - } - get options() { - return this._def.values; - } - get enum() { - const e = {}; - for (const r of this._def.values) - e[r] = r; - return e; - } - get Values() { - const e = {}; - for (const r of this._def.values) - e[r] = r; - return e; - } - get Enum() { - const e = {}; - for (const r of this._def.values) - e[r] = r; - return e; - } - extract(e, r = this._def) { - return nt.create(e, { - ...this._def, - ...r - }); - } - exclude(e, r = this._def) { - return nt.create(this.options.filter((n) => !e.includes(n)), { - ...this._def, - ...r - }); - } -} -Vt = /* @__PURE__ */ new WeakMap(); -nt.create = Ks; -class nr extends O { - constructor() { - super(...arguments), Ht.set(this, void 0); - } - _parse(e) { - const r = F.getValidEnumValues(this._def.values), n = this._getOrReturnCtx(e); - if (n.parsedType !== b.string && n.parsedType !== b.number) { - const o = F.objectValues(r); - return v(n, { - expected: F.joinValues(o), - received: n.parsedType, - code: g.invalid_type - }), $; - } - if (Or(this, Ht) || Vs(this, Ht, new Set(F.getValidEnumValues(this._def.values))), !Or(this, Ht).has(e.data)) { - const o = F.objectValues(r); - return v(n, { - received: n.data, - code: g.invalid_enum_value, - options: o - }), $; - } - return fe(e.data); - } - get enum() { - return this._def.values; - } -} -Ht = /* @__PURE__ */ new WeakMap(); -nr.create = (t, e) => new nr({ - values: t, - typeName: C.ZodNativeEnum, - ...N(e) -}); -class Ft extends O { - unwrap() { - return this._def.type; - } - _parse(e) { - const { ctx: r } = this._processInputParams(e); - if (r.parsedType !== b.promise && r.common.async === !1) - return v(r, { - code: g.invalid_type, - expected: b.promise, - received: r.parsedType - }), $; - const n = r.parsedType === b.promise ? r.data : Promise.resolve(r.data); - return fe(n.then((o) => this._def.type.parseAsync(o, { - path: r.path, - errorMap: r.common.contextualErrorMap - }))); - } -} -Ft.create = (t, e) => new Ft({ - type: t, - typeName: C.ZodPromise, - ...N(e) -}); -class Oe extends O { - innerType() { - return this._def.schema; - } - sourceType() { - return this._def.schema._def.typeName === C.ZodEffects ? this._def.schema.sourceType() : this._def.schema; - } - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e), o = this._def.effect || null, s = { - addIssue: (i) => { - v(n, i), i.fatal ? r.abort() : r.dirty(); - }, - get path() { - return n.path; - } - }; - if (s.addIssue = s.addIssue.bind(s), o.type === "preprocess") { - const i = o.transform(n.data, s); - if (n.common.async) - return Promise.resolve(i).then(async (c) => { - if (r.value === "aborted") - return $; - const l = await this._def.schema._parseAsync({ - data: c, - path: n.path, - parent: n - }); - return l.status === "aborted" ? $ : l.status === "dirty" || r.value === "dirty" ? Pt(l.value) : l; - }); - { - if (r.value === "aborted") - return $; - const c = this._def.schema._parseSync({ - data: i, - path: n.path, - parent: n - }); - return c.status === "aborted" ? $ : c.status === "dirty" || r.value === "dirty" ? Pt(c.value) : c; - } - } - if (o.type === "refinement") { - const i = (c) => { - const l = o.refinement(c, s); - if (n.common.async) - return Promise.resolve(l); - if (l instanceof Promise) - throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); - return c; - }; - if (n.common.async === !1) { - const c = this._def.schema._parseSync({ - data: n.data, - path: n.path, - parent: n - }); - return c.status === "aborted" ? $ : (c.status === "dirty" && r.dirty(), i(c.value), { status: r.value, value: c.value }); - } else - return this._def.schema._parseAsync({ data: n.data, path: n.path, parent: n }).then((c) => c.status === "aborted" ? $ : (c.status === "dirty" && r.dirty(), i(c.value).then(() => ({ status: r.value, value: c.value })))); - } - if (o.type === "transform") - if (n.common.async === !1) { - const i = this._def.schema._parseSync({ - data: n.data, - path: n.path, - parent: n - }); - if (!yt(i)) - return i; - const c = o.transform(i.value, s); - if (c instanceof Promise) - throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead."); - return { status: r.value, value: c }; - } else - return this._def.schema._parseAsync({ data: n.data, path: n.path, parent: n }).then((i) => yt(i) ? Promise.resolve(o.transform(i.value, s)).then((c) => ({ status: r.value, value: c })) : i); - F.assertNever(o); - } -} -Oe.create = (t, e, r) => new Oe({ - schema: t, - typeName: C.ZodEffects, - effect: e, - ...N(r) -}); -Oe.createWithPreprocess = (t, e, r) => new Oe({ - schema: e, - effect: { type: "preprocess", transform: t }, - typeName: C.ZodEffects, - ...N(r) -}); -class Ue extends O { - _parse(e) { - return this._getType(e) === b.undefined ? fe(void 0) : this._def.innerType._parse(e); - } - unwrap() { - return this._def.innerType; - } -} -Ue.create = (t, e) => new Ue({ - innerType: t, - typeName: C.ZodOptional, - ...N(e) -}); -class ot extends O { - _parse(e) { - return this._getType(e) === b.null ? fe(null) : this._def.innerType._parse(e); - } - unwrap() { - return this._def.innerType; - } -} -ot.create = (t, e) => new ot({ - innerType: t, - typeName: C.ZodNullable, - ...N(e) -}); -class or extends O { - _parse(e) { - const { ctx: r } = this._processInputParams(e); - let n = r.data; - return r.parsedType === b.undefined && (n = this._def.defaultValue()), this._def.innerType._parse({ - data: n, - path: r.path, - parent: r - }); - } - removeDefault() { - return this._def.innerType; - } -} -or.create = (t, e) => new or({ - innerType: t, - typeName: C.ZodDefault, - defaultValue: typeof e.default == "function" ? e.default : () => e.default, - ...N(e) -}); -class sr extends O { - _parse(e) { - const { ctx: r } = this._processInputParams(e), n = { - ...r, - common: { - ...r.common, - issues: [] - } - }, o = this._def.innerType._parse({ - data: n.data, - path: n.path, - parent: { - ...n - } - }); - return qt(o) ? o.then((s) => ({ - status: "valid", - value: s.status === "valid" ? s.value : this._def.catchValue({ - get error() { - return new ye(n.common.issues); - }, - input: n.data - }) - })) : { - status: "valid", - value: o.status === "valid" ? o.value : this._def.catchValue({ - get error() { - return new ye(n.common.issues); - }, - input: n.data - }) - }; - } - removeCatch() { - return this._def.innerType; - } -} -sr.create = (t, e) => new sr({ - innerType: t, - typeName: C.ZodCatch, - catchValue: typeof e.catch == "function" ? e.catch : () => e.catch, - ...N(e) -}); -class Dr extends O { - _parse(e) { - if (this._getType(e) !== b.nan) { - const n = this._getOrReturnCtx(e); - return v(n, { - code: g.invalid_type, - expected: b.nan, - received: n.parsedType - }), $; - } - return { status: "valid", value: e.data }; - } -} -Dr.create = (t) => new Dr({ - typeName: C.ZodNaN, - ...N(t) -}); -const ml = Symbol("zod_brand"); -class Hn extends O { - _parse(e) { - const { ctx: r } = this._processInputParams(e), n = r.data; - return this._def.type._parse({ - data: n, - path: r.path, - parent: r - }); - } - unwrap() { - return this._def.type; - } -} -class ur extends O { - _parse(e) { - const { status: r, ctx: n } = this._processInputParams(e); - if (n.common.async) - return (async () => { - const s = await this._def.in._parseAsync({ - data: n.data, - path: n.path, - parent: n - }); - return s.status === "aborted" ? $ : s.status === "dirty" ? (r.dirty(), Pt(s.value)) : this._def.out._parseAsync({ - data: s.value, - path: n.path, - parent: n - }); - })(); - { - const o = this._def.in._parseSync({ - data: n.data, - path: n.path, - parent: n - }); - return o.status === "aborted" ? $ : o.status === "dirty" ? (r.dirty(), { - status: "dirty", - value: o.value - }) : this._def.out._parseSync({ - data: o.value, - path: n.path, - parent: n - }); - } - } - static create(e, r) { - return new ur({ - in: e, - out: r, - typeName: C.ZodPipeline - }); - } -} -class ar extends O { - _parse(e) { - const r = this._def.innerType._parse(e), n = (o) => (yt(o) && (o.value = Object.freeze(o.value)), o); - return qt(r) ? r.then((o) => n(o)) : n(r); - } - unwrap() { - return this._def.innerType; - } -} -ar.create = (t, e) => new ar({ - innerType: t, - typeName: C.ZodReadonly, - ...N(e) -}); -function Ys(t, e = {}, r) { - return t ? Lt.create().superRefine((n, o) => { - var s, i; - if (!t(n)) { - const c = typeof e == "function" ? e(n) : typeof e == "string" ? { message: e } : e, l = (i = (s = c.fatal) !== null && s !== void 0 ? s : r) !== null && i !== void 0 ? i : !0, u = typeof c == "string" ? { message: c } : c; - o.addIssue({ code: "custom", ...u, fatal: l }); - } - }) : Lt.create(); -} -const gl = { - object: V.lazycreate -}; -var C; -(function(t) { - t.ZodString = "ZodString", t.ZodNumber = "ZodNumber", t.ZodNaN = "ZodNaN", t.ZodBigInt = "ZodBigInt", t.ZodBoolean = "ZodBoolean", t.ZodDate = "ZodDate", t.ZodSymbol = "ZodSymbol", t.ZodUndefined = "ZodUndefined", t.ZodNull = "ZodNull", t.ZodAny = "ZodAny", t.ZodUnknown = "ZodUnknown", t.ZodNever = "ZodNever", t.ZodVoid = "ZodVoid", t.ZodArray = "ZodArray", t.ZodObject = "ZodObject", t.ZodUnion = "ZodUnion", t.ZodDiscriminatedUnion = "ZodDiscriminatedUnion", t.ZodIntersection = "ZodIntersection", t.ZodTuple = "ZodTuple", t.ZodRecord = "ZodRecord", t.ZodMap = "ZodMap", t.ZodSet = "ZodSet", t.ZodFunction = "ZodFunction", t.ZodLazy = "ZodLazy", t.ZodLiteral = "ZodLiteral", t.ZodEnum = "ZodEnum", t.ZodEffects = "ZodEffects", t.ZodNativeEnum = "ZodNativeEnum", t.ZodOptional = "ZodOptional", t.ZodNullable = "ZodNullable", t.ZodDefault = "ZodDefault", t.ZodCatch = "ZodCatch", t.ZodPromise = "ZodPromise", t.ZodBranded = "ZodBranded", t.ZodPipeline = "ZodPipeline", t.ZodReadonly = "ZodReadonly"; -})(C || (C = {})); -const yl = (t, e = { - message: `Input not instance of ${t.name}` -}) => Ys((r) => r instanceof t, e), Js = Re.create, Xs = tt.create, _l = Dr.create, vl = rt.create, Qs = Kt.create, bl = _t.create, wl = Mr.create, xl = Yt.create, Sl = Jt.create, El = Lt.create, kl = mt.create, Pl = Ye.create, Al = Lr.create, Tl = Ne.create, Il = V.create, Cl = V.strictCreate, Rl = Xt.create, $l = Qr.create, Nl = Qt.create, Ol = Ze.create, Ml = er.create, Ll = Fr.create, Fl = vt.create, Dl = Ct.create, Ul = tr.create, jl = rr.create, Zl = nt.create, zl = nr.create, Bl = Ft.create, So = Oe.create, Gl = Ue.create, Vl = ot.create, Hl = Oe.createWithPreprocess, Wl = ur.create, ql = () => Js().optional(), Kl = () => Xs().optional(), Yl = () => Qs().optional(), Jl = { - string: (t) => Re.create({ ...t, coerce: !0 }), - number: (t) => tt.create({ ...t, coerce: !0 }), - boolean: (t) => Kt.create({ - ...t, - coerce: !0 - }), - bigint: (t) => rt.create({ ...t, coerce: !0 }), - date: (t) => _t.create({ ...t, coerce: !0 }) -}, Xl = $; -var K = /* @__PURE__ */ Object.freeze({ - __proto__: null, - defaultErrorMap: Mt, - setErrorMap: Hc, - getErrorMap: $r, - makeIssue: Nr, - EMPTY_PATH: Wc, - addIssueToContext: v, - ParseStatus: oe, - INVALID: $, - DIRTY: Pt, - OK: fe, - isAborted: En, - isDirty: kn, - isValid: yt, - isAsync: qt, - get util() { - return F; - }, - get objectUtil() { - return Sn; - }, - ZodParsedType: b, - getParsedType: He, - ZodType: O, - datetimeRegex: qs, - ZodString: Re, - ZodNumber: tt, - ZodBigInt: rt, - ZodBoolean: Kt, - ZodDate: _t, - ZodSymbol: Mr, - ZodUndefined: Yt, - ZodNull: Jt, - ZodAny: Lt, - ZodUnknown: mt, - ZodNever: Ye, - ZodVoid: Lr, - ZodArray: Ne, - ZodObject: V, - ZodUnion: Xt, - ZodDiscriminatedUnion: Qr, - ZodIntersection: Qt, - ZodTuple: Ze, - ZodRecord: er, - ZodMap: Fr, - ZodSet: vt, - ZodFunction: Ct, - ZodLazy: tr, - ZodLiteral: rr, - ZodEnum: nt, - ZodNativeEnum: nr, - ZodPromise: Ft, - ZodEffects: Oe, - ZodTransformer: Oe, - ZodOptional: Ue, - ZodNullable: ot, - ZodDefault: or, - ZodCatch: sr, - ZodNaN: Dr, - BRAND: ml, - ZodBranded: Hn, - ZodPipeline: ur, - ZodReadonly: ar, - custom: Ys, - Schema: O, - ZodSchema: O, - late: gl, - get ZodFirstPartyTypeKind() { - return C; - }, - coerce: Jl, - any: El, - array: Tl, - bigint: vl, - boolean: Qs, - date: bl, - discriminatedUnion: $l, - effect: So, - enum: Zl, - function: Dl, - instanceof: yl, - intersection: Nl, - lazy: Ul, - literal: jl, - map: Ll, - nan: _l, - nativeEnum: zl, - never: Pl, - null: Sl, - nullable: Vl, - number: Xs, - object: Il, - oboolean: Yl, - onumber: Kl, - optional: Gl, - ostring: ql, - pipeline: Wl, - preprocess: Hl, - promise: Bl, - record: Ml, - set: Fl, - strictObject: Cl, - string: Js, - symbol: wl, - transformer: So, - tuple: Ol, - undefined: xl, - union: Rl, - unknown: kl, - void: Al, - NEVER: Xl, - ZodIssueCode: g, - quotelessJson: Vc, - ZodError: ye -}); -const Ql = K.object({ - pluginId: K.string(), - name: K.string(), - host: K.string().url(), - code: K.string(), - icon: K.string().optional(), - description: K.string().max(200).optional(), - permissions: K.array( - K.enum([ - "content:read", - "content:write", - "library:read", - "library:write", - "user:read", - "comment:read", - "comment:write", - "allow:downloads", - "allow:localstorage" - ]) - ) -}); -function ea(t, e) { - return new URL(e, t).toString(); -} -function eu(t) { - return fetch(t).then((e) => e.json()).then((e) => { - if (!Ql.safeParse(e).success) - throw new Error("Invalid plugin manifest"); - return e; - }).catch((e) => { - throw console.error(e), e; - }); -} -function Eo(t) { - return !t.host && !t.code.startsWith("http") ? Promise.resolve(t.code) : fetch(ea(t.host, t.code)).then((e) => { - if (e.ok) - return e.text(); - throw new Error("Failed to load plugin code"); - }); -} -const ta = K.object({ - width: K.number().positive(), - height: K.number().positive() -}), tu = K.function().args( - K.string(), - K.string(), - K.enum(["dark", "light"]), - ta.optional(), - K.boolean().optional() -).implement((t, e, r, n, o) => Zc(t, e, r, n, o)); -async function ru(t, e, r, n) { - let o = await Eo(e), s = !1, i = !1, c = null, l = []; - const u = /* @__PURE__ */ new Set(), d = !!e.permissions.find( - (I) => I === "allow:downloads" - ), f = t.addListener("themechange", (I) => { - c == null || c.setTheme(I); - }), h = t.addListener("finish", () => { - k(), t == null || t.removeListener(h); - }); - let p = []; - const m = () => { - j(f), p.forEach((I) => { - j(I); - }), l = [], p = []; - }, k = () => { - m(), u.forEach(clearTimeout), u.clear(), c && (c.removeEventListener("close", k), c.remove(), c = null), i = !0, r(); - }, x = async () => { - if (!s) { - s = !0; - return; - } - m(), o = await Eo(e), n(o); - }, w = (I, L, Z) => { - const se = t.theme, J = ea(e.host, L); - (c == null ? void 0 : c.getAttribute("iframe-src")) !== J && (c = tu(I, J, se, Z, d), c.setTheme(se), c.addEventListener("close", k, { - once: !0 - }), c.addEventListener("load", x)); - }, R = (I) => { - l.push(I); - }, T = (I, L, Z) => { - const se = t.addListener( - I, - (...J) => { - i || L(...J); - }, - Z - ); - return p.push(se), se; - }, j = (I) => { - t.removeListener(I); - }; - return { - close: k, - destroyListener: j, - openModal: w, - resizeModal: (I, L) => { - ta.parse({ width: I, height: L }), c && c.resize(I, L); - }, - getModal: () => c, - registerListener: T, - registerMessageCallback: R, - sendMessage: (I) => { - l.forEach((L) => L(I)); - }, - get manifest() { - return e; - }, - get context() { - return t; - }, - get timeouts() { - return u; - }, - get code() { - return o; - } - }; -} -const nu = [ - "finish", - "pagechange", - "filechange", - "selectionchange", - "themechange", - "shapechange", - "contentsave" -]; -function ou(t) { - const e = (n) => { - if (!t.manifest.permissions.includes(n)) - throw new Error(`Permission ${n} is not granted`); - }; - return { - penpot: { - ui: { - open: (n, o, s) => { - t.openModal(n, o, s); - }, - get size() { - var n; - return ((n = t.getModal()) == null ? void 0 : n.size()) || null; - }, - resize: (n, o) => t.resizeModal(n, o), - sendMessage(n) { - var s; - const o = new CustomEvent("message", { - detail: n - }); - (s = t.getModal()) == null || s.dispatchEvent(o); - }, - onMessage: (n) => { - K.function().parse(n), t.registerMessageCallback(n); - } - }, - utils: { - geometry: { - center(n) { - return window.app.plugins.public_utils.centerShapes(n); - } - }, - types: { - isBoard(n) { - return n.type === "board"; - }, - isGroup(n) { - return n.type === "group"; - }, - isMask(n) { - return n.type === "group" && n.isMask(); - }, - isBool(n) { - return n.type === "boolean"; - }, - isRectangle(n) { - return n.type === "rectangle"; - }, - isPath(n) { - return n.type === "path"; - }, - isText(n) { - return n.type === "text"; - }, - isEllipse(n) { - return n.type === "ellipse"; - }, - isSVG(n) { - return n.type === "svg-raw"; - } - } - }, - closePlugin: () => { - t.close(); - }, - on(n, o, s) { - return K.enum(nu).parse(n), K.function().parse(o), e("content:read"), t.registerListener(n, o, s); - }, - off(n) { - t.destroyListener(n); - }, - // Penpot State API - get root() { - return e("content:read"), t.context.root; - }, - get currentFile() { - return e("content:read"), t.context.currentFile; - }, - get currentPage() { - return e("content:read"), t.context.currentPage; - }, - get selection() { - return e("content:read"), t.context.selection; - }, - set selection(n) { - e("content:read"), t.context.selection = n; - }, - get viewport() { - return t.context.viewport; - }, - get history() { - return t.context.history; - }, - get library() { - return e("library:read"), t.context.library; - }, - get fonts() { - return e("content:read"), t.context.fonts; - }, - get currentUser() { - return e("user:read"), t.context.currentUser; - }, - get activeUsers() { - return e("user:read"), t.context.activeUsers; - }, - shapesColors(n) { - return e("content:read"), t.context.shapesColors(n); - }, - replaceColor(n, o, s) { - return e("content:write"), t.context.replaceColor(n, o, s); - }, - get theme() { - return t.context.theme; - }, - get localStorage() { - return e("allow:localstorage"), t.context.localStorage; - }, - createBoard() { - return e("content:write"), t.context.createBoard(); - }, - createRectangle() { - return e("content:write"), t.context.createRectangle(); - }, - createEllipse() { - return e("content:write"), t.context.createEllipse(); - }, - createText(n) { - return e("content:write"), t.context.createText(n); - }, - createPath() { - return e("content:write"), t.context.createPath(); - }, - createBoolean(n, o) { - return e("content:write"), t.context.createBoolean(n, o); - }, - createShapeFromSvg(n) { - return e("content:write"), t.context.createShapeFromSvg(n); - }, - createShapeFromSvgWithImages(n) { - return e("content:write"), t.context.createShapeFromSvgWithImages(n); - }, - group(n) { - return e("content:write"), t.context.group(n); - }, - ungroup(n, ...o) { - e("content:write"), t.context.ungroup(n, ...o); - }, - uploadMediaUrl(n, o) { - return e("content:write"), t.context.uploadMediaUrl(n, o); - }, - uploadMediaData(n, o, s) { - return e("content:write"), t.context.uploadMediaData(n, o, s); - }, - generateMarkup(n, o) { - return e("content:read"), t.context.generateMarkup(n, o); - }, - generateStyle(n, o) { - return e("content:read"), t.context.generateStyle(n, o); - }, - generateFontFaces(n) { - return e("content:read"), t.context.generateFontFaces(n); - }, - openViewer() { - e("content:read"), t.context.openViewer(); - }, - createPage() { - return e("content:write"), t.context.createPage(); - }, - openPage(n) { - e("content:read"), t.context.openPage(n); - }, - alignHorizontal(n, o) { - e("content:write"), t.context.alignHorizontal(n, o); - }, - alignVertical(n, o) { - e("content:write"), t.context.alignVertical(n, o); - }, - distributeHorizontal(n) { - e("content:write"), t.context.distributeHorizontal(n); - }, - distributeVertical(n) { - e("content:write"), t.context.distributeVertical(n); - }, - flatten(n) { - return e("content:write"), t.context.flatten(n); - } - } - }; -} -let ko = !1; -const P = { - hardenIntrinsics: () => { - ko || (ko = !0, hardenIntrinsics()); - }, - createCompartment: (t) => new Compartment(t), - harden: (t) => harden(t), - safeReturn(t) { - return t == null ? t : harden(t); - } -}; -function su(t) { - P.hardenIntrinsics(); - const e = ou(t), r = { - get(c, l, u) { - const d = Reflect.get(c, l, u); - return typeof d == "function" ? function(...f) { - const h = d.apply(c, f); - return P.safeReturn(h); - } : P.safeReturn(d); - } - }, n = new Proxy(e.penpot, r), o = (c, l) => { - const u = { - ...l, - credentials: "omit", - headers: { - ...l == null ? void 0 : l.headers, - Authorization: "" - } - }; - return fetch(c, u).then((d) => { - const f = { - ok: d.ok, - status: d.status, - statusText: d.statusText, - url: d.url, - text: d.text.bind(d), - json: d.json.bind(d) - }; - return P.safeReturn(f); - }); - }, s = { - penpot: n, - fetch: P.harden(o), - setTimeout: P.harden( - (...[c, l]) => { - const u = setTimeout(() => { - c(); - }, l); - return t.timeouts.add(u), P.safeReturn(u); - } - ), - clearTimeout: P.harden((c) => { - clearTimeout(c), t.timeouts.delete(c); - }), - /** - * GLOBAL FUNCTIONS ACCESIBLE TO PLUGINS - **/ - isFinite: P.harden(isFinite), - isNaN: P.harden(isNaN), - parseFloat: P.harden(parseFloat), - parseInt: P.harden(parseInt), - decodeURI: P.harden(decodeURI), - decodeURIComponent: P.harden(decodeURIComponent), - encodeURI: P.harden(encodeURI), - encodeURIComponent: P.harden(encodeURIComponent), - Object: P.harden(Object), - Boolean: P.harden(Boolean), - Symbol: P.harden(Symbol), - Number: P.harden(Number), - BigInt: P.harden(BigInt), - Math: P.harden(Math), - Date: P.harden(Date), - String: P.harden(String), - RegExp: P.harden(RegExp), - Array: P.harden(Array), - Int8Array: P.harden(Int8Array), - Uint8Array: P.harden(Uint8Array), - Uint8ClampedArray: P.harden(Uint8ClampedArray), - Int16Array: P.harden(Int16Array), - Uint16Array: P.harden(Uint16Array), - Int32Array: P.harden(Int32Array), - Uint32Array: P.harden(Uint32Array), - BigInt64Array: P.harden(BigInt64Array), - BigUint64Array: P.harden(BigUint64Array), - Float32Array: P.harden(Float32Array), - Float64Array: P.harden(Float64Array), - Map: P.harden(Map), - Set: P.harden(Set), - WeakMap: P.harden(WeakMap), - WeakSet: P.harden(WeakSet), - ArrayBuffer: P.harden(ArrayBuffer), - DataView: P.harden(DataView), - Atomics: P.harden(Atomics), - JSON: P.harden(JSON), - Promise: P.harden(Promise), - Proxy: P.harden(Proxy), - Intl: P.harden(Intl), - // Window properties - console: P.harden(window.console), - devicePixelRatio: P.harden(window.devicePixelRatio), - atob: P.harden(window.atob), - btoa: P.harden(window.btoa), - structuredClone: P.harden(window.structuredClone) - }, i = P.createCompartment(s); - return { - evaluate: () => { - i.evaluate(t.code); - }, - cleanGlobalThis: () => { - Object.keys(s).forEach((c) => { - delete i.globalThis[c]; - }); - }, - compartment: i - }; -} -async function au(t, e, r) { - const n = async () => { - try { - s.evaluate(); - } catch (i) { - console.error(i), o.close(); - } - }, o = await ru( - t, - e, - function() { - s.cleanGlobalThis(), r(); - }, - function() { - n(); - } - ), s = su(o); - return n(), { - plugin: o, - manifest: e, - compartment: s - }; -} -let gt = [], An = null; -function iu(t) { - An = t; -} -const Po = () => { - gt.forEach((t) => { - t.plugin.close(); - }), gt = []; -}; -window.addEventListener("message", (t) => { - try { - for (const e of gt) - e.plugin.sendMessage(t.data); - } catch (e) { - console.error(e); - } -}); -const cu = async function(t, e) { - try { - const r = An && An(t.pluginId); - if (!r) - return; - Po(); - const n = await au( - P.harden(r), - t, - () => { - gt = gt.filter((o) => o !== n), e && e(); - } - ); - gt.push(n); - } catch (r) { - Po(), console.error(r); - } -}, ra = async function(t, e) { - cu(t, e); -}, lu = async function(t) { - const e = await eu(t); - ra(e); -}, uu = function(t) { - const e = gt.find((r) => r.manifest.pluginId === t); - e && e.plugin.close(); -}; -console.log("%c[PLUGINS] Loading plugin system", "color: #008d7c"); -repairIntrinsics({ - evalTaming: "unsafeEval", - stackFiltering: "verbose", - errorTaming: "unsafe", - consoleTaming: "unsafe", - errorTrapping: "none", - unhandledRejectionTrapping: "none" -}); -const Ao = globalThis; -Ao.initPluginsRuntime = (t) => { - try { - console.log("%c[PLUGINS] Initialize runtime", "color: #008d7c"), iu(t), Ao.ɵcontext = t("TEST"), globalThis.ɵloadPlugin = ra, globalThis.ɵloadPluginByUrl = lu, globalThis.ɵunloadPlugin = uu; - } catch (e) { - console.error(e); - } -}; -//# sourceMappingURL=index.js.map diff --git a/frontend/resources/templates/index.mustache b/frontend/resources/templates/index.mustache index b310d23630..deeba32f81 100644 --- a/frontend/resources/templates/index.mustache +++ b/frontend/resources/templates/index.mustache @@ -29,8 +29,6 @@ {{/manifest}} - -