UNPKG

epps

Version:

Enhances Pinia stores with advanced features such as persistence, encryption, and store extension. Simplifies state management and ensures data security for Vue.js and Nuxt applications.

1,750 lines 73.3 kB
var Fe = Object.defineProperty; var Me = (e, t, s) => t in e ? Fe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s; var l = (e, t, s) => Me(e, typeof t != "symbol" ? t + "" : t, s); import { defineStore as gt } from "pinia"; class Xt { constructor(t, s) { l(this, "_storeConstructor"); l(this, "_id"); this._storeConstructor = s, this._id = t; } get id() { return this._id; } build(t) { return t = t ? `${t.substring(0, 1)}${t.substring(1)}` : "", this._storeConstructor(`${this._id}${t}`); } } const W = class W { constructor(t) { l(this, "_encoder", new TextEncoder()); l(this, "_key"); l(this, "_materialKey"); this._key = t; } async getKey(t) { return await crypto.subtle.deriveKey( { name: "PBKDF2", salt: this._encoder.encode("salt"), iterations: 1e5, hash: "SHA-256" }, this._materialKey, { name: "AES-GCM", length: 256 }, !1, [t] ); } async setKeyMaterial(t) { this._materialKey = await crypto.subtle.importKey( "raw", this._encoder.encode(t), { name: "PBKDF2" }, !1, ["deriveKey"] ); } /** * Decrypt string passed in parameter * @param {string} item - encrypted string * @returns {string} decrypted item */ async decrypt(t) { const [s, r] = t.split(":"), n = await crypto.subtle.decrypt( { name: "AES-GCM", iv: Uint8Array.from(atob(s), (i) => i.charCodeAt(0)) }, await this.getKey(W.DECRYPT), Uint8Array.from(atob(r), (i) => i.charCodeAt(0)) ); return new TextDecoder().decode(n); } /** * Encrypt string passed in parameter * @param {string} item * @returns {Promise<string>} encrypted item */ async encrypt(t) { const s = crypto.getRandomValues(new Uint8Array(12)), r = await crypto.subtle.encrypt( { name: "AES-GCM", iv: s }, await this.getKey(W.ENCRYPT), this._encoder.encode(t) ); return btoa(String.fromCharCode(...new Uint8Array(s))) + ":" + btoa(String.fromCharCode(...new Uint8Array(r))); } async init() { this._materialKey || await this.setKeyMaterial(this._key); } }; l(W, "DECRYPT", "decrypt"), l(W, "ENCRYPT", "encrypt"); let ct = W; const Ke = "Epps!", Bt = (e, t = "white") => `background-color: ${e}; color: ${t}; padding: 1px; margin-right: 5px; font-size: 12px`; function Le(e, t, s) { if (!t) throw new Error("Style instructions are required"); console.log( "%c%s", t, e, s ); } function At(e, t, s) { const r = s ? Bt(s.bgColor, s.color) : Bt("#ffec73", "green"); e = ` [${(s == null ? void 0 : s.icon) ?? "🍍⚡"} ${Ke} plugin] - ${e} `, Le( e, r, t ); } function A(e, t) { At(e, t, { bgColor: "#d24545", color: "white", icon: "🍍⚠️" }); } class He { constructor(t) { l(this, "_storage"); this._storage = t === "localStorage" ? localStorage : sessionStorage; } clear() { this._storage.clear(); } async getItem(t) { return new Promise((s, r) => { const n = this._storage.getItem(t.toString()); s(n ? JSON.parse(n) : void 0); }); } removeItem(t) { this._storage.removeItem(t.toString()); } removeItems(t) { for (let s = 0; s < this._storage.length; s++) { const r = this._storage.key(s); r && (!t || !t.includes(r)) && this._storage.removeItem(r); } } setItem(t, s) { this._storage.setItem(s, JSON.stringify(t)); } } let qt = class { constructor(t, s, r) { l(this, "_db"); l(this, "_localStorageVersionKey", "IDBVersion"); l(this, "_name", "persistStore"); l(this, "_objectStore"); l(this, "_objectStoreOptions"); l(this, "_objectStoreName"); l(this, "_transactionMode", "readwrite"); l(this, "_version"); this._objectStoreName = t, this._version = this.getStoredVersionNumber(), s && (this._objectStoreOptions = s), r && (this._transactionMode = r); } clear() { const t = () => { if (this._objectStore) { const s = this._objectStore.clear(); this.requestEventsHandler(s, { error: () => this.onError(s.error) }); } }; this.open({ success: t }); } createObjectStore() { this._db && !this._db.objectStoreNames.contains(this._objectStoreName) && this._db.createObjectStore(this._objectStoreName, this._objectStoreOptions); } deleteObjectStore() { const t = () => { var s; (s = this._db) == null || s.deleteObjectStore(this._objectStoreName); }; this.open({ success: t }); } async getItem(t) { return new Promise((s) => { const r = () => { if (this._objectStore) { const n = this._objectStore.get(t); this.requestEventsHandler(n, { error: () => this.onError( n.error, () => s(void 0) ), success: () => s(n.result) }); } }; this.open({ success: r }); }); } async getObjectStoreItem(t, s) { return new Promise((r) => { const n = () => { if (this._objectStore) { const o = this._objectStore.index(t).get(s); this.requestEventsHandler(o, { error: () => r(void 0), success: () => r(o.result) }); } }; this.open({ success: n }); }); } getStoredVersionNumber() { if (!localStorage) return 1; const t = localStorage.getItem(this._localStorageVersionKey); return t ? parseInt(t) : 1; } handleDeleteRequest(t, s) { t.onerror = () => A(`IndexedDB - Item "${s}" remove`, t.error); } onError(t, s) { s && s(t); } open(t) { const s = indexedDB.open(this._name, this._version), r = () => { this._db = s.result; }, n = (o) => { try { if (r(), !this._db) return; const c = this._db.transaction(this._objectStoreName, this._transactionMode); c.onerror = () => this.onError(c.error), this._objectStore = c.objectStore(this._objectStoreName), this._objectStore && o(); } catch (c) { A("indexedDB - transaction error", [c]); } }; if (t != null && t.success) { const o = t.success; t.success = () => n(o); } if (t != null && t.upgrade) { const o = t.upgrade.bind(this); t.upgrade = () => { r(), o(); }; } const i = () => { const o = (c) => { if ((c == null ? void 0 : c.name) === "VersionError") { this._version++, this.saveVersion(), this.open(t); return; } t != null && t.error && t.error(c); }; this.onError(s.error, o); }; return t && this.openRequestEventsHandler(s, { ...t, error: i }), s; } openRequestEventsHandler(t, s) { this.requestEventsHandler(t, s), s.upgrade && (t.onupgradeneeded = s.upgrade); } removeItem(t) { const s = () => { if (this._objectStore) { const r = this._objectStore.delete(t); this.handleDeleteRequest(r, t); } }; this.open({ success: s }); } removeItems(t) { const s = () => { if (this._objectStore) { const r = this._objectStore.getAllKeys(), n = () => { r.result.forEach((c) => { if (this._objectStore && (!t || !t.includes(c))) { const u = this._objectStore.delete(c); this.handleDeleteRequest(u, c); } }); }, i = () => A("IndexedDB - removeItems", [r.error]); this.requestEventsHandler(r, { error: i, success: n }); } }; this.open({ success: s }); } requestEventsHandler(t, s) { const { error: r, success: n } = s; r && (t.onerror = r), n && (t.onsuccess = n); } saveVersion() { localStorage && localStorage.setItem(this._localStorageVersionKey, this._version.toString()); } setItem(t, s) { const r = () => { if (this._objectStore) { const i = this._objectStore.add(t); if (s) { const o = () => { s.forEach((u) => { var h; (h = this._objectStore) == null || h.createIndex(u, u, { unique: !0 }), At(`"${u}" index created`); }); }, c = () => this.onError(i.error); this.requestEventsHandler(i, { error: c, success: o }); } } }, n = this.createObjectStore; this.open({ success: r, upgrade: n }); } updateItem(t) { const s = () => { if (this._objectStore) { const r = this._objectStore.put(t); r.onerror = () => A("update item", [r.error, t]); } }; this.open({ success: s }); } }; class at { constructor(t) { l(this, "_db"); l(this, "_db_options"); if (!t) throw new Error("DbOptions is required"); this._db_options = t, this._db = this.defineDb(); } get dbName() { return this._db_options.name; } defineDb() { const { keyPath: t, name: s } = this._db_options; return s === "localStorage" || s === "sessionStorage" ? new He(s) : new qt(s, { keyPath: t }); } getItem(t) { return new Promise((s, r) => { try { return this._db.getItem(t).then((n) => s(n)); } catch (n) { r(n); } }); } removeItem(t) { this._db.removeItem(t); } setItem(t, s) { if (this._db instanceof qt) try { this._db.getItem(t).then((r) => { r ? this._db.updateItem(r) : this._db.setItem({ storeName: t, ...s }); }); } catch (r) { A("Persister - setItem Error", r), this._db.setItem({ storename: t, ...s }); } else this._db.setItem(s, t); } } /** * @vue/shared v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ /*! #__NO_SIDE_EFFECTS__ */ // @__NO_SIDE_EFFECTS__ function We(e) { const t = /* @__PURE__ */ Object.create(null); for (const s of e.split(",")) t[s] = 1; return (s) => s in t; } const Rt = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {}; process.env.NODE_ENV !== "production" && Object.freeze([]); const Zt = () => { }, Be = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && // uppercase letter (e.charCodeAt(2) > 122 || e.charCodeAt(2) < 97), F = Object.assign, qe = Object.prototype.hasOwnProperty, Tt = (e, t) => qe.call(e, t), g = Array.isArray, G = (e) => kt(e) === "[object Map]", x = (e) => typeof e == "function", T = (e) => typeof e == "string", st = (e) => typeof e == "symbol", w = (e) => e !== null && typeof e == "object", Ue = Object.prototype.toString, kt = (e) => Ue.call(e), te = (e) => kt(e).slice(8, -1), jt = (e) => T(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, ze = (e) => { const t = /* @__PURE__ */ Object.create(null); return (s) => t[s] || (t[s] = e(s)); }, Je = ze((e) => e.charAt(0).toUpperCase() + e.slice(1)), B = (e, t) => !Object.is(e, t); let Ut; const mt = () => Ut || (Ut = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {}); function Ct(e) { if (g(e)) { const t = {}; for (let s = 0; s < e.length; s++) { const r = e[s], n = T(r) ? Xe(r) : Ct(r); if (n) for (const i in n) t[i] = n[i]; } return t; } else if (T(e) || w(e)) return e; } const Ye = /;(?![^(]*\))/g, Ge = /:([^]+)/, Qe = /\/\*[^]*?\*\//g; function Xe(e) { const t = {}; return e.replace(Qe, "").split(Ye).forEach((s) => { if (s) { const r = s.split(Ge); r.length > 1 && (t[r[0].trim()] = r[1].trim()); } }), t; } function $t(e) { let t = ""; if (T(e)) t = e; else if (g(e)) for (let s = 0; s < e.length; s++) { const r = $t(e[s]); r && (t += r + " "); } else if (w(e)) for (const s in e) e[s] && (t += s + " "); return t.trim(); } /** * @vue/reactivity v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ function U(e, ...t) { console.warn(`[Vue warn] ${e}`, ...t); } let _, ee = 0, Q, X; function Ze(e, t = !1) { if (e.flags |= 8, t) { e.next = X, X = e; return; } e.next = Q, Q = e; } function Ft() { ee++; } function Mt() { if (--ee > 0) return; if (X) { let t = X; for (X = void 0; t; ) { const s = t.next; t.next = void 0, t.flags &= -9, t = s; } } let e; for (; Q; ) { let t = Q; for (Q = void 0; t; ) { const s = t.next; if (t.next = void 0, t.flags &= -9, t.flags & 1) try { t.trigger(); } catch (r) { e || (e = r); } t = s; } } if (e) throw e; } function ke(e) { for (let t = e.deps; t; t = t.nextDep) t.version = -1, t.prevActiveLink = t.dep.activeLink, t.dep.activeLink = t; } function ts(e) { let t, s = e.depsTail, r = s; for (; r; ) { const n = r.prevDep; r.version === -1 ? (r === s && (s = n), re(r), ss(r)) : t = r, r.dep.activeLink = r.prevActiveLink, r.prevActiveLink = void 0, r = n; } e.deps = t, e.depsTail = s; } function es(e) { for (let t = e.deps; t; t = t.nextDep) if (t.dep.version !== t.version || t.dep.computed && (se(t.dep.computed) || t.dep.version !== t.version)) return !0; return !!e._dirty; } function se(e) { if (e.flags & 4 && !(e.flags & 16) || (e.flags &= -17, e.globalVersion === Z) || (e.globalVersion = Z, !e.isSSR && e.flags & 128 && (!e.deps && !e._dirty || !es(e)))) return; e.flags |= 2; const t = e.dep, s = _, r = V; _ = e, V = !0; try { ke(e); const n = e.fn(e._value); (t.version === 0 || B(n, e._value)) && (e.flags |= 128, e._value = n, t.version++); } catch (n) { throw t.version++, n; } finally { _ = s, V = r, ts(e), e.flags &= -3; } } function re(e, t = !1) { const { dep: s, prevSub: r, nextSub: n } = e; if (r && (r.nextSub = n, e.prevSub = void 0), n && (n.prevSub = r, e.nextSub = void 0), process.env.NODE_ENV !== "production" && s.subsHead === e && (s.subsHead = n), s.subs === e && (s.subs = r, !r && s.computed)) { s.computed.flags &= -5; for (let i = s.computed.deps; i; i = i.nextDep) re(i, !0); } !t && !--s.sc && s.map && s.map.delete(s.key); } function ss(e) { const { prevDep: t, nextDep: s } = e; t && (t.nextDep = s, e.prevDep = void 0), s && (s.prevDep = t, e.nextDep = void 0); } let V = !0; const ne = []; function St() { ne.push(V), V = !1; } function bt() { const e = ne.pop(); V = e === void 0 ? !0 : e; } let Z = 0; class rs { constructor(t, s) { this.sub = t, this.dep = s, this.version = s.version, this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; } } class Kt { // TODO isolatedDeclarations "__v_skip" constructor(t) { this.computed = t, this.version = 0, this.activeLink = void 0, this.subs = void 0, this.map = void 0, this.key = void 0, this.sc = 0, this.__v_skip = !0, process.env.NODE_ENV !== "production" && (this.subsHead = void 0); } track(t) { if (!_ || !V || _ === this.computed) return; let s = this.activeLink; if (s === void 0 || s.sub !== _) s = this.activeLink = new rs(_, this), _.deps ? (s.prevDep = _.depsTail, _.depsTail.nextDep = s, _.depsTail = s) : _.deps = _.depsTail = s, ie(s); else if (s.version === -1 && (s.version = this.version, s.nextDep)) { const r = s.nextDep; r.prevDep = s.prevDep, s.prevDep && (s.prevDep.nextDep = r), s.prevDep = _.depsTail, s.nextDep = void 0, _.depsTail.nextDep = s, _.depsTail = s, _.deps === s && (_.deps = r); } return process.env.NODE_ENV !== "production" && _.onTrack && _.onTrack( F( { effect: _ }, t ) ), s; } trigger(t) { this.version++, Z++, this.notify(t); } notify(t) { Ft(); try { if (process.env.NODE_ENV !== "production") for (let s = this.subsHead; s; s = s.nextSub) s.sub.onTrigger && !(s.sub.flags & 8) && s.sub.onTrigger( F( { effect: s.sub }, t ) ); for (let s = this.subs; s; s = s.prevSub) s.sub.notify() && s.sub.dep.notify(); } finally { Mt(); } } } function ie(e) { if (e.dep.sc++, e.sub.flags & 4) { const t = e.dep.computed; if (t && !e.dep.subs) { t.flags |= 20; for (let r = t.deps; r; r = r.nextDep) ie(r); } const s = e.dep.subs; s !== e && (e.prevSub = s, s && (s.nextSub = e)), process.env.NODE_ENV !== "production" && e.dep.subsHead === void 0 && (e.dep.subsHead = e), e.dep.subs = e; } } const ut = /* @__PURE__ */ new WeakMap(), j = Symbol( process.env.NODE_ENV !== "production" ? "Object iterate" : "" ), It = Symbol( process.env.NODE_ENV !== "production" ? "Map keys iterate" : "" ), k = Symbol( process.env.NODE_ENV !== "production" ? "Array iterate" : "" ); function S(e, t, s) { if (V && _) { let r = ut.get(e); r || ut.set(e, r = /* @__PURE__ */ new Map()); let n = r.get(s); n || (r.set(s, n = new Kt()), n.map = r, n.key = s), process.env.NODE_ENV !== "production" ? n.track({ target: e, type: t, key: s }) : n.track(); } } function P(e, t, s, r, n, i) { const o = ut.get(e); if (!o) { Z++; return; } const c = (u) => { u && (process.env.NODE_ENV !== "production" ? u.trigger({ target: e, type: t, key: s, newValue: r, oldValue: n, oldTarget: i }) : u.trigger()); }; if (Ft(), t === "clear") o.forEach(c); else { const u = g(e), h = u && jt(s); if (u && s === "length") { const d = Number(r); o.forEach((a, p) => { (p === "length" || p === k || !st(p) && p >= d) && c(a); }); } else switch ((s !== void 0 || o.has(void 0)) && c(o.get(s)), h && c(o.get(k)), t) { case "add": u ? h && c(o.get("length")) : (c(o.get(j)), G(e) && c(o.get(It))); break; case "delete": u || (c(o.get(j)), G(e) && c(o.get(It))); break; case "set": G(e) && c(o.get(j)); break; } } Mt(); } function ns(e, t) { const s = ut.get(e); return s && s.get(t); } function M(e) { const t = f(e); return t === e ? t : (S(t, "iterate", k), E(e) ? t : t.map(m)); } function Lt(e) { return S(e = f(e), "iterate", k), e; } const is = { __proto__: null, [Symbol.iterator]() { return yt(this, Symbol.iterator, m); }, concat(...e) { return M(this).concat( ...e.map((t) => g(t) ? M(t) : t) ); }, entries() { return yt(this, "entries", (e) => (e[1] = m(e[1]), e)); }, every(e, t) { return O(this, "every", e, t, void 0, arguments); }, filter(e, t) { return O(this, "filter", e, t, (s) => s.map(m), arguments); }, find(e, t) { return O(this, "find", e, t, m, arguments); }, findIndex(e, t) { return O(this, "findIndex", e, t, void 0, arguments); }, findLast(e, t) { return O(this, "findLast", e, t, m, arguments); }, findLastIndex(e, t) { return O(this, "findLastIndex", e, t, void 0, arguments); }, // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement forEach(e, t) { return O(this, "forEach", e, t, void 0, arguments); }, includes(...e) { return wt(this, "includes", e); }, indexOf(...e) { return wt(this, "indexOf", e); }, join(e) { return M(this).join(e); }, // keys() iterator only reads `length`, no optimisation required lastIndexOf(...e) { return wt(this, "lastIndexOf", e); }, map(e, t) { return O(this, "map", e, t, void 0, arguments); }, pop() { return Y(this, "pop"); }, push(...e) { return Y(this, "push", e); }, reduce(e, ...t) { return zt(this, "reduce", e, t); }, reduceRight(e, ...t) { return zt(this, "reduceRight", e, t); }, shift() { return Y(this, "shift"); }, // slice could use ARRAY_ITERATE but also seems to beg for range tracking some(e, t) { return O(this, "some", e, t, void 0, arguments); }, splice(...e) { return Y(this, "splice", e); }, toReversed() { return M(this).toReversed(); }, toSorted(e) { return M(this).toSorted(e); }, toSpliced(...e) { return M(this).toSpliced(...e); }, unshift(...e) { return Y(this, "unshift", e); }, values() { return yt(this, "values", m); } }; function yt(e, t, s) { const r = Lt(e), n = r[t](); return r !== e && !E(e) && (n._next = n.next, n.next = () => { const i = n._next(); return i.value && (i.value = s(i.value)), i; }), n; } const os = Array.prototype; function O(e, t, s, r, n, i) { const o = Lt(e), c = o !== e && !E(e), u = o[t]; if (u !== os[t]) { const a = u.apply(e, i); return c ? m(a) : a; } let h = s; o !== e && (c ? h = function(a, p) { return s.call(this, m(a), p, e); } : s.length > 2 && (h = function(a, p) { return s.call(this, a, p, e); })); const d = u.call(o, h, r); return c && n ? n(d) : d; } function zt(e, t, s, r) { const n = Lt(e); let i = s; return n !== e && (E(e) ? s.length > 3 && (i = function(o, c, u) { return s.call(this, o, c, u, e); }) : i = function(o, c, u) { return s.call(this, o, m(c), u, e); }), n[t](i, ...r); } function wt(e, t, s) { const r = f(e); S(r, "iterate", k); const n = r[t](...s); return (n === -1 || n === !1) && lt(s[0]) ? (s[0] = f(s[0]), r[t](...s)) : n; } function Y(e, t, s = []) { St(), Ft(); const r = f(e)[t].apply(e, s); return Mt(), bt(), r; } const cs = /* @__PURE__ */ We("__proto__,__v_isRef,__isVue"), oe = new Set( /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(st) ); function as(e) { st(e) || (e = String(e)); const t = f(this); return S(t, "has", e), t.hasOwnProperty(e); } class ce { constructor(t = !1, s = !1) { this._isReadonly = t, this._isShallow = s; } get(t, s, r) { if (s === "__v_skip") return t.__v_skip; const n = this._isReadonly, i = this._isShallow; if (s === "__v_isReactive") return !n; if (s === "__v_isReadonly") return n; if (s === "__v_isShallow") return i; if (s === "__v_raw") return r === (n ? i ? Ss : le : i ? ms : ue).get(t) || // receiver is not the reactive proxy, but has the same prototype // this means the receiver is a user proxy of the reactive proxy Object.getPrototypeOf(t) === Object.getPrototypeOf(r) ? t : void 0; const o = g(t); if (!n) { let u; if (o && (u = is[s])) return u; if (s === "hasOwnProperty") return as; } const c = Reflect.get( t, s, // if this is a proxy wrapping a ref, return methods using the raw ref // as receiver so that we don't have to call `toRaw` on the ref in all // its class methods v(t) ? t : r ); return (st(s) ? oe.has(s) : cs(s)) || (n || S(t, "get", s), i) ? c : v(c) ? o && jt(s) ? c : c.value : w(c) ? n ? fe(c) : he(c) : c; } } class us extends ce { constructor(t = !1) { super(!1, t); } set(t, s, r, n) { let i = t[s]; if (!this._isShallow) { const u = I(i); if (!E(r) && !I(r) && (i = f(i), r = f(r)), !g(t) && v(i) && !v(r)) return u ? !1 : (i.value = r, !0); } const o = g(t) && jt(s) ? Number(s) < t.length : Tt(t, s), c = Reflect.set( t, s, r, v(t) ? t : n ); return t === f(n) && (o ? B(r, i) && P(t, "set", s, r, i) : P(t, "add", s, r)), c; } deleteProperty(t, s) { const r = Tt(t, s), n = t[s], i = Reflect.deleteProperty(t, s); return i && r && P(t, "delete", s, void 0, n), i; } has(t, s) { const r = Reflect.has(t, s); return (!st(s) || !oe.has(s)) && S(t, "has", s), r; } ownKeys(t) { return S( t, "iterate", g(t) ? "length" : j ), Reflect.ownKeys(t); } } class ls extends ce { constructor(t = !1) { super(!0, t); } set(t, s) { return process.env.NODE_ENV !== "production" && U( `Set operation on key "${String(s)}" failed: target is readonly.`, t ), !0; } deleteProperty(t, s) { return process.env.NODE_ENV !== "production" && U( `Delete operation on key "${String(s)}" failed: target is readonly.`, t ), !0; } } const hs = /* @__PURE__ */ new us(), fs = /* @__PURE__ */ new ls(), xt = (e) => e, rt = (e) => Reflect.getPrototypeOf(e); function ps(e, t, s) { return function(...r) { const n = this.__v_raw, i = f(n), o = G(i), c = e === "entries" || e === Symbol.iterator && o, u = e === "keys" && o, h = n[e](...r), d = s ? xt : t ? Dt : m; return !t && S( i, "iterate", u ? It : j ), { // iterator protocol next() { const { value: a, done: p } = h.next(); return p ? { value: a, done: p } : { value: c ? [d(a[0]), d(a[1])] : d(a), done: p }; }, // iterable protocol [Symbol.iterator]() { return this; } }; }; } function nt(e) { return function(...t) { if (process.env.NODE_ENV !== "production") { const s = t[0] ? `on key "${t[0]}" ` : ""; U( `${Je(e)} operation ${s}failed: target is readonly.`, f(this) ); } return e === "delete" ? !1 : e === "clear" ? void 0 : this; }; } function ds(e, t) { const s = { get(n) { const i = this.__v_raw, o = f(i), c = f(n); e || (B(n, c) && S(o, "get", n), S(o, "get", c)); const { has: u } = rt(o), h = t ? xt : e ? Dt : m; if (u.call(o, n)) return h(i.get(n)); if (u.call(o, c)) return h(i.get(c)); i !== o && i.get(n); }, get size() { const n = this.__v_raw; return !e && S(f(n), "iterate", j), Reflect.get(n, "size", n); }, has(n) { const i = this.__v_raw, o = f(i), c = f(n); return e || (B(n, c) && S(o, "has", n), S(o, "has", c)), n === c ? i.has(n) : i.has(n) || i.has(c); }, forEach(n, i) { const o = this, c = o.__v_raw, u = f(c), h = t ? xt : e ? Dt : m; return !e && S(u, "iterate", j), c.forEach((d, a) => n.call(i, h(d), h(a), o)); } }; return F( s, e ? { add: nt("add"), set: nt("set"), delete: nt("delete"), clear: nt("clear") } : { add(n) { !t && !E(n) && !I(n) && (n = f(n)); const i = f(this); return rt(i).has.call(i, n) || (i.add(n), P(i, "add", n, n)), this; }, set(n, i) { !t && !E(i) && !I(i) && (i = f(i)); const o = f(this), { has: c, get: u } = rt(o); let h = c.call(o, n); h ? process.env.NODE_ENV !== "production" && Jt(o, c, n) : (n = f(n), h = c.call(o, n)); const d = u.call(o, n); return o.set(n, i), h ? B(i, d) && P(o, "set", n, i, d) : P(o, "add", n, i), this; }, delete(n) { const i = f(this), { has: o, get: c } = rt(i); let u = o.call(i, n); u ? process.env.NODE_ENV !== "production" && Jt(i, o, n) : (n = f(n), u = o.call(i, n)); const h = c ? c.call(i, n) : void 0, d = i.delete(n); return u && P(i, "delete", n, void 0, h), d; }, clear() { const n = f(this), i = n.size !== 0, o = process.env.NODE_ENV !== "production" ? G(n) ? new Map(n) : new Set(n) : void 0, c = n.clear(); return i && P( n, "clear", void 0, void 0, o ), c; } } ), [ "keys", "values", "entries", Symbol.iterator ].forEach((n) => { s[n] = ps(n, e, t); }), s; } function ae(e, t) { const s = ds(e, t); return (r, n, i) => n === "__v_isReactive" ? !e : n === "__v_isReadonly" ? e : n === "__v_raw" ? r : Reflect.get( Tt(s, n) && n in r ? s : r, n, i ); } const _s = { get: /* @__PURE__ */ ae(!1, !1) }, gs = { get: /* @__PURE__ */ ae(!0, !1) }; function Jt(e, t, s) { const r = f(s); if (r !== s && t.call(e, r)) { const n = te(e); U( `Reactive ${n} contains both the raw and reactive versions of the same object${n === "Map" ? " as keys" : ""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` ); } } const ue = /* @__PURE__ */ new WeakMap(), ms = /* @__PURE__ */ new WeakMap(), le = /* @__PURE__ */ new WeakMap(), Ss = /* @__PURE__ */ new WeakMap(); function bs(e) { switch (e) { case "Object": case "Array": return 1; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2; default: return 0; } } function ys(e) { return e.__v_skip || !Object.isExtensible(e) ? 0 : bs(te(e)); } function he(e) { return I(e) ? e : pe( e, !1, hs, _s, ue ); } function fe(e) { return pe( e, !0, fs, gs, le ); } function pe(e, t, s, r, n) { if (!w(e)) return process.env.NODE_ENV !== "production" && U( `value cannot be made ${t ? "readonly" : "reactive"}: ${String( e )}` ), e; if (e.__v_raw && !(t && e.__v_isReactive)) return e; const i = ys(e); if (i === 0) return e; const o = n.get(e); if (o) return o; const c = new Proxy( e, i === 2 ? r : s ); return n.set(e, c), c; } function de(e) { return I(e) ? de(e.__v_raw) : !!(e && e.__v_isReactive); } function I(e) { return !!(e && e.__v_isReadonly); } function E(e) { return !!(e && e.__v_isShallow); } function lt(e) { return e ? !!e.__v_raw : !1; } function f(e) { const t = e && e.__v_raw; return t ? f(t) : e; } const m = (e) => w(e) ? he(e) : e, Dt = (e) => w(e) ? fe(e) : e; function v(e) { return e ? e.__v_isRef === !0 : !1; } function ht(e) { return ws(e, !1); } function ws(e, t) { return v(e) ? e : new Es(e, t); } class Es { constructor(t, s) { this.dep = new Kt(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = s ? t : f(t), this._value = s ? t : m(t), this.__v_isShallow = s; } get value() { return process.env.NODE_ENV !== "production" ? this.dep.track({ target: this, type: "get", key: "value" }) : this.dep.track(), this._value; } set value(t) { const s = this._rawValue, r = this.__v_isShallow || E(t) || I(t); t = r ? t : f(t), B(t, s) && (this._rawValue = t, this._value = r ? t : m(t), process.env.NODE_ENV !== "production" ? this.dep.trigger({ target: this, type: "set", key: "value", newValue: t, oldValue: s }) : this.dep.trigger()); } } class vs { constructor(t, s, r) { this._object = t, this._key = s, this._defaultValue = r, this.__v_isRef = !0, this._value = void 0; } get value() { const t = this._object[this._key]; return this._value = t === void 0 ? this._defaultValue : t; } set value(t) { this._object[this._key] = t; } get dep() { return ns(f(this._object), this._key); } } class Ns { constructor(t) { this._getter = t, this.__v_isRef = !0, this.__v_isReadonly = !0, this._value = void 0; } get value() { return this._value = this._getter(); } } function _e(e, t, s) { return v(e) ? e : x(e) ? new Ns(e) : w(e) && arguments.length > 1 ? Os(e, t, s) : ht(e); } function Os(e, t, s) { const r = e[t]; return v(r) ? r : new vs(e, t, s); } class Rs { constructor(t, s, r) { this.fn = t, this.setter = s, this._value = void 0, this.dep = new Kt(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = Z - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !s, this.isSSR = r; } /** * @internal */ notify() { if (this.flags |= 16, !(this.flags & 8) && // avoid infinite self recursion _ !== this) return Ze(this, !0), !0; process.env.NODE_ENV; } get value() { const t = process.env.NODE_ENV !== "production" ? this.dep.track({ target: this, type: "get", key: "value" }) : this.dep.track(); return se(this), t && (t.version = this.dep.version), this._value; } set value(t) { this.setter ? this.setter(t) : process.env.NODE_ENV !== "production" && U("Write operation failed: computed value is readonly"); } } function Ts(e, t, s = !1) { let r, n; x(e) ? r = e : (r = e.get, n = e.set); const i = new Rs(r, n, s); return process.env.NODE_ENV, i; } /** * @vue/runtime-core v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ const C = []; function Is(e) { C.push(e); } function xs() { C.pop(); } let Et = !1; function z(e, ...t) { if (Et) return; Et = !0, St(); const s = C.length ? C[C.length - 1].component : null, r = s && s.appContext.config.warnHandler, n = Ds(); if (r) Ht( r, s, 11, [ // eslint-disable-next-line no-restricted-syntax e + t.map((i) => { var o, c; return (c = (o = i.toString) == null ? void 0 : o.call(i)) != null ? c : JSON.stringify(i); }).join(""), s && s.proxy, n.map( ({ vnode: i }) => `at <${Ve(s, i.type)}>` ).join(` `), n ] ); else { const i = [`[Vue warn]: ${e}`, ...t]; n.length && i.push(` `, ...Ps(n)), console.warn(...i); } bt(), Et = !1; } function Ds() { let e = C[C.length - 1]; if (!e) return []; const t = []; for (; e; ) { const s = t[0]; s && s.vnode === e ? s.recurseCount++ : t.push({ vnode: e, recurseCount: 0 }); const r = e.component && e.component.parent; e = r && r.vnode; } return t; } function Ps(e) { const t = []; return e.forEach((s, r) => { t.push(...r === 0 ? [] : [` `], ...Vs(s)); }), t; } function Vs({ vnode: e, recurseCount: t }) { const s = t > 0 ? `... (${t} recursive calls)` : "", r = e.component ? e.component.parent == null : !1, n = ` at <${Ve( e.component, e.type, r )}`, i = ">" + s; return e.props ? [n, ...As(e.props), i] : [n + i]; } function As(e) { const t = [], s = Object.keys(e); return s.slice(0, 3).forEach((r) => { t.push(...ge(r, e[r])); }), s.length > 3 && t.push(" ..."), t; } function ge(e, t, s) { return T(t) ? (t = JSON.stringify(t), s ? t : [`${e}=${t}`]) : typeof t == "number" || typeof t == "boolean" || t == null ? s ? t : [`${e}=${t}`] : v(t) ? (t = ge(e, f(t.value), !0), s ? t : [`${e}=Ref<`, t, ">"]) : x(t) ? [`${e}=fn${t.name ? `<${t.name}>` : ""}`] : (t = f(t), s ? t : [`${e}=`, t]); } const me = { sp: "serverPrefetch hook", bc: "beforeCreate hook", c: "created hook", bm: "beforeMount hook", m: "mounted hook", bu: "beforeUpdate hook", u: "updated", bum: "beforeUnmount hook", um: "unmounted hook", a: "activated hook", da: "deactivated hook", ec: "errorCaptured hook", rtc: "renderTracked hook", rtg: "renderTriggered hook", 0: "setup function", 1: "render function", 2: "watcher getter", 3: "watcher callback", 4: "watcher cleanup function", 5: "native event handler", 6: "component event handler", 7: "vnode hook", 8: "directive hook", 9: "transition hook", 10: "app errorHandler", 11: "app warnHandler", 12: "ref function", 13: "async component loader", 14: "scheduler flush", 15: "component update", 16: "app unmount cleanup function" }; function Ht(e, t, s, r) { try { return r ? e(...r) : e(); } catch (n) { Se(n, t, s); } } function Se(e, t, s, r = !0) { const n = t ? t.vnode : null, { errorHandler: i, throwUnhandledErrorInProduction: o } = t && t.appContext.config || Rt; if (t) { let c = t.parent; const u = t.proxy, h = process.env.NODE_ENV !== "production" ? me[s] : `https://vuejs.org/error-reference/#runtime-${s}`; for (; c; ) { const d = c.ec; if (d) { for (let a = 0; a < d.length; a++) if (d[a](e, u, h) === !1) return; } c = c.parent; } if (i) { St(), Ht(i, null, 10, [ e, u, h ]), bt(); return; } } js(e, s, n, r, o); } function js(e, t, s, r = !0, n = !1) { if (process.env.NODE_ENV !== "production") { const i = me[t]; if (s && Is(s), z(`Unhandled error${i ? ` during execution of ${i}` : ""}`), s && xs(), r) throw e; console.error(e); } else { if (n) throw e; console.error(e); } } const y = []; let R = -1; const q = []; let D = null, L = 0; const Cs = /* @__PURE__ */ Promise.resolve(); let Pt = null; const $s = 100; function Fs(e) { let t = R + 1, s = y.length; for (; t < s; ) { const r = t + s >>> 1, n = y[r], i = tt(n); i < e || i === e && n.flags & 2 ? t = r + 1 : s = r; } return t; } function Ms(e) { if (!(e.flags & 1)) { const t = tt(e), s = y[y.length - 1]; !s || // fast path when the job id is larger than the tail !(e.flags & 2) && t >= tt(s) ? y.push(e) : y.splice(Fs(t), 0, e), e.flags |= 1, be(); } } function be() { Pt || (Pt = Cs.then(ye)); } function Ks(e) { g(e) ? q.push(...e) : D && e.id === -1 ? D.splice(L + 1, 0, e) : e.flags & 1 || (q.push(e), e.flags |= 1), be(); } function Ls(e) { if (q.length) { const t = [...new Set(q)].sort( (s, r) => tt(s) - tt(r) ); if (q.length = 0, D) { D.push(...t); return; } for (D = t, process.env.NODE_ENV !== "production" && (e = e || /* @__PURE__ */ new Map()), L = 0; L < D.length; L++) { const s = D[L]; process.env.NODE_ENV !== "production" && we(e, s) || (s.flags & 4 && (s.flags &= -2), s.flags & 8 || s(), s.flags &= -2); } D = null, L = 0; } } const tt = (e) => e.id == null ? e.flags & 2 ? -1 : 1 / 0 : e.id; function ye(e) { process.env.NODE_ENV !== "production" && (e = e || /* @__PURE__ */ new Map()); const t = process.env.NODE_ENV !== "production" ? (s) => we(e, s) : Zt; try { for (R = 0; R < y.length; R++) { const s = y[R]; if (s && !(s.flags & 8)) { if (process.env.NODE_ENV !== "production" && t(s)) continue; s.flags & 4 && (s.flags &= -2), Ht( s, s.i, s.i ? 15 : 14 ), s.flags & 4 || (s.flags &= -2); } } } finally { for (; R < y.length; R++) { const s = y[R]; s && (s.flags &= -2); } R = -1, y.length = 0, Ls(e), Pt = null, (y.length || q.length) && ye(e); } } function we(e, t) { const s = e.get(t) || 0; if (s > $s) { const r = t.i, n = r && Pe(r.type); return Se( `Maximum recursive updates exceeded${n ? ` in component <${n}>` : ""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, null, 10 ), !0; } return e.set(t, s + 1), !1; } const vt = /* @__PURE__ */ new Map(); process.env.NODE_ENV !== "production" && (mt().__VUE_HMR_RUNTIME__ = { createRecord: Nt(Hs), rerender: Nt(Ws), reload: Nt(Bs) }); const ft = /* @__PURE__ */ new Map(); function Hs(e, t) { return ft.has(e) ? !1 : (ft.set(e, { initialDef: pt(t), instances: /* @__PURE__ */ new Set() }), !0); } function pt(e) { return Ae(e) ? e.__vccOpts : e; } function Ws(e, t) { const s = ft.get(e); s && (s.initialDef.render = t, [...s.instances].forEach((r) => { t && (r.render = t, pt(r.type).render = t), r.renderCache = [], r.update(); })); } function Bs(e, t) { const s = ft.get(e); if (!s) return; t = pt(t), Yt(s.initialDef, t); const r = [...s.instances]; for (let n = 0; n < r.length; n++) { const i = r[n], o = pt(i.type); let c = vt.get(o); c || (o !== s.initialDef && Yt(o, t), vt.set(o, c = /* @__PURE__ */ new Set())), c.add(i), i.appContext.propsCache.delete(i.type), i.appContext.emitsCache.delete(i.type), i.appContext.optionsCache.delete(i.type), i.ceReload ? (c.add(i), i.ceReload(t.styles), c.delete(i)) : i.parent ? Ms(() => { i.parent.update(), c.delete(i); }) : i.appContext.reload ? i.appContext.reload() : typeof window < "u" ? window.location.reload() : console.warn( "[HMR] Root or manually mounted instance modified. Full reload required." ), i.root.ce && i !== i.root && i.root.ce._removeChildStyle(o); } Ks(() => { vt.clear(); }); } function Yt(e, t) { F(e, t); for (const s in e) s !== "__file" && !(s in t) && delete e[s]; } function Nt(e) { return (t, s) => { try { return e(t, s); } catch (r) { console.error(r), console.warn( "[HMR] Something went wrong during Vue component hot-reload. Full reload required." ); } }; } let H, it = []; function Ee(e, t) { var s, r; H = e, H ? (H.enabled = !0, it.forEach(({ event: n, args: i }) => H.emit(n, ...i)), it = []) : /* handle late devtools injection - only do this if we are in an actual */ /* browser environment to avoid the timer handle stalling test runner exit */ /* (#4815) */ typeof window < "u" && // some envs mock window but not fully window.HTMLElement && // also exclude jsdom // eslint-disable-next-line no-restricted-syntax !((r = (s = window.navigator) == null ? void 0 : s.userAgent) != null && r.includes("jsdom")) ? ((t.__VUE_DEVTOOLS_HOOK_REPLAY__ = t.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push((i) => { Ee(i, t); }), setTimeout(() => { H || (t.__VUE_DEVTOOLS_HOOK_REPLAY__ = null, it = []); }, 3e3)) : it = []; } let et = null, qs = null; const Us = (e) => e.__isTeleport; function ve(e, t) { e.shapeFlag & 6 && e.component ? (e.transition = t, ve(e.component.subTree, t)) : e.shapeFlag & 128 ? (e.ssContent.transition = t.clone(e.ssContent), e.ssFallback.transition = t.clone(e.ssFallback)) : e.transition = t; } mt().requestIdleCallback; mt().cancelIdleCallback; const zs = Symbol.for("v-ndc"), Js = {}; process.env.NODE_ENV !== "production" && (Js.ownKeys = (e) => (z( "Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead." ), Reflect.ownKeys(e))); const Ys = {}, Ne = (e) => Object.getPrototypeOf(e) === Ys, Gs = (e) => e.__isSuspense, Oe = Symbol.for("v-fgt"), Qs = Symbol.for("v-txt"), Xs = Symbol.for("v-cmt"); function Zs(e) { return e ? e.__v_isVNode === !0 : !1; } const ks = (...e) => Te( ...e ), Re = ({ key: e }) => e ?? null, ot = ({ ref: e, ref_key: t, ref_for: s }) => (typeof e == "number" && (e = "" + e), e != null ? T(e) || v(e) || x(e) ? { i: et, r: e, k: t, f: !!s } : e : null); function tr(e, t = null, s = null, r = 0, n = null, i = e === Oe ? 0 : 1, o = !1, c = !1) { const u = { __v_isVNode: !0, __v_skip: !0, type: e, props: t, key: t && Re(t), ref: t && ot(t), scopeId: qs, slotScopeIds: null, children: s, component: null, suspense: null, ssContent: null, ssFallback: null, dirs: null, transition: null, el: null, anchor: null, target: null, targetStart: null, targetAnchor: null, staticCount: 0, shapeFlag: i, patchFlag: r, dynamicProps: n, dynamicChildren: null, appContext: null, ctx: et }; return c ? (Wt(u, s), i & 128 && e.normalize(u)) : s && (u.shapeFlag |= T(s) ? 8 : 16), process.env.NODE_ENV !== "production" && u.key !== u.key && z("VNode created with invalid key (NaN). VNode type:", u.type), u; } const er = process.env.NODE_ENV !== "production" ? ks : Te; function Te(e, t = null, s = null, r = 0, n = null, i = !1) { if ((!e || e === zs) && (process.env.NODE_ENV !== "production" && !e && z(`Invalid vnode type when creating vnode: ${e}.`), e = Xs), Zs(e)) { const c = dt( e, t, !0 /* mergeRef: true */ ); return s && Wt(c, s), c.patchFlag = -2, c; } if (Ae(e) && (e = e.__vccOpts), t) { t = sr(t); let { class: c, style: u } = t; c && !T(c) && (t.class = $t(c)), w(u) && (lt(u) && !g(u) && (u = F({}, u)), t.style = Ct(u)); } const o = T(e) ? 1 : Gs(e) ? 128 : Us(e) ? 64 : w(e) ? 4 : x(e) ? 2 : 0; return process.env.NODE_ENV !== "production" && o & 4 && lt(e) && (e = f(e), z( "Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.", ` Component that was made reactive: `, e )), tr( e, t, s, r, n, o, i, !0 ); } function sr(e) { return e ? lt(e) || Ne(e) ? F({}, e) : e : null; } function dt(e, t, s = !1, r = !1) { const { props: n, ref: i, patchFlag: o, children: c, transition: u } = e, h = t ? nr(n || {}, t) : n, d = { __v_isVNode: !0, __v_skip: !0, type: e.type, props: h, key: h && Re(h), ref: t && t.ref ? ( // #2078 in the case of <component :is="vnode" ref="extra"/> // if the vnode itself already has a ref, cloneVNode will need to merge // the refs so the single vnode can be set on multiple refs s && i ? g(i) ? i.concat(ot(t)) : [i, ot(t)] : ot(t) ) : i, scopeId: e.scopeId, slotScopeIds: e.slotScopeIds, children: process.env.NODE_ENV !== "production" && o === -1 && g(c) ? c.map(Ie) : c, target: e.target, targetStart: e.targetStart, targetAnchor: e.targetAnchor, staticCount: e.staticCount, shapeFlag: e.shapeFlag, // if the vnode is cloned with extra props, we can no longer assume its // existing patch flag to be reliable and need to add the FULL_PROPS flag. // note: preserve flag for fragments since they use the flag for children // fast paths only. patchFlag: t && e.type !== Oe ? o === -1 ? 16 : o | 16 : o, dynamicProps: e.dynamicProps, dynamicChildren: e.dynamicChildren, appContext: e.appContext, dirs: e.dirs, transition: u, // These should technically only be non-null on mounted VNodes. However, // they *should* be copied for kept-alive vnodes. So we just always copy // them since them being non-null during a mount doesn't affect the logic as // they will simply be overwritten. component: e.component, suspense: e.suspense, ssContent: e.ssContent && dt(e.ssContent), ssFallback: e.ssFallback && dt(e.ssFallback), el: e.el, anchor: e.anchor, ctx: e.ctx, ce: e.ce }; return u && r && ve( d, u.clone(d) ), d; } function Ie(e) { const t = dt(e); return g(e.children) && (t.children = e.children.map(Ie)), t; } function rr(e = " ", t = 0) { return er(Qs, null, e, t); } function Wt(e, t) { let s = 0; const { shapeFlag: r } = e; if (t == null) t = null; else if (g(t)) s = 16; else if (typeof t == "object") if (r & 65) { const n = t.default; n && (n._c && (n._d = !1), Wt(e, n()), n._c && (n._d = !0)); return; } else s = 32, !t._ && !Ne(t) && (t._ctx = et); else x(t) ? (t = { default: t, _ctx: et }, s = 32) : (t = String(t), r & 64 ? (s = 16, t = [rr(t)]) : s = 8); e.children = t, e.shapeFlag |= s; } function nr(...e) { const t = {}; for (let s = 0; s < e.length; s++) { const r = e[s]; for (const n in r) if (n === "class") t.class !== r.class && (t.class = $t([t.class, r.class])); else if (n === "style") t.style = Ct([t.style, r.style]); else if (Be(n)) { const i = t[n], o = r[n]; o && i !== o && !(g(i) && i.includes(o)) && (t[n] = i ? [].concat(i, o) : o); } else n !== "" && (t[n] = r[n]); } return t; } let xe = null; const ir = () => xe || et; { const e = mt(), t = (s, r) => { let n; return (n = e[s]) || (n = e[s] = []), n.push(r), (i) => { n.length > 1 ? n.forEach((o) => o(i)) : n[0](i); }; }; t( "__VUE_INSTANCE_SETTERS__", (s) => xe = s ), t( "__VUE_SSR_SETTERS__", (s) => De = s ); } let De = !1; process.env.NODE_ENV; const or = /(?:^|[-_])(\w)/g, cr = (e) => e.replace(or, (t) => t.toUpperCase()).replace(/[-_]/g, ""); function Pe(e, t = !0) { return x(e) ? e.displayName || e.name : e.name || t && e.__name; } function Ve(e, t, s = !1) { let r = Pe(t); if (!r && t.__file) { const n = t.__file.match(/([^/\\]+)\.\w+$/); n && (r = n[1]); } if (!r && e && e.parent) { const n = (i) => { for (const o in i) if (i[o] === t) return o; }; r = n( e.components || e.parent.type.components ) || n(e.appContext.components); } return r ? cr(r) : s ? "App" : "Anonymous"; } function Ae(e) { return x(e) && "__vccOpts" in e; } const ar = (e, t) => { const s = Ts(e, t, De); if (process.env.NODE_ENV !== "production") { const r = ir(); r && r.appContext.config.warnRecursiveComputed && (s._warnRecursive = !0); } return s; }; function ur() { if (process.env.NODE_ENV === "production" || typeof window > "u") return; const e = { style: "color:#3ba776" }, t = { style: "color:#1677ff" }, s = { style: "color:#f5222d" }, r = { style: "color:#eb2f96" }, n = { __vue_custom_formatter: !0, header(a) { if (!w(a)) return null; if (a.__isVue) return ["div", e, "VueInstance"]; if (v(a)) { St(); const p = a.value; return bt(), [ "div", {}, ["span", e, d(a)], "<", c(p), ">" ]; } else { if (de(a)) return [ "div", {}, ["span", e, E(a) ? "ShallowReactive" : "Reactive"], "<", c(a), `>${I(a) ? " (readonly)" : ""}` ]; if (I(a)) return [ "div", {}, ["span", e, E(a) ? "ShallowReadonly" : "Readonly"], "<", c(a), ">" ]; } return null; }, hasBody(a)