You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
167 KiB
1 line
167 KiB
{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport \"core-js/modules/es.array.to-reversed.js\";\nimport \"core-js/modules/es.array.to-sorted.js\";\nimport \"core-js/modules/es.array.to-spliced.js\";\nimport \"core-js/modules/es.regexp.flags.js\";\nimport \"core-js/modules/es.set.difference.v2.js\";\nimport \"core-js/modules/es.set.intersection.v2.js\";\nimport \"core-js/modules/es.set.is-disjoint-from.v2.js\";\nimport \"core-js/modules/es.set.is-subset-of.v2.js\";\nimport \"core-js/modules/es.set.is-superset-of.v2.js\";\nimport \"core-js/modules/es.set.symmetric-difference.v2.js\";\nimport \"core-js/modules/es.set.union.v2.js\";\n/**\n* @vue/reactivity v3.5.12\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(`onScopeDispose() is called when there is no active effect scope to be associated with.`);\n }\n}\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\"Active effect was not restored correctly - this is likely a Vue internal bug.\");\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const {\n dep,\n prevSub,\n nextSub\n } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && ! --dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const {\n prevDep,\n nextDep\n } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(`onEffectCleanup() was called when there was no active effect to associate with.`);\n }\n}\nfunction cleanupEffect(e) {\n const {\n cleanup\n } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(extend({\n effect: activeSub\n }, debugInfo));\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(extend({\n effect: head.sub\n }, debugInfo));\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\");\nconst ARRAY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = dep => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(...args.map(x => isArray(x) ? reactiveReadArray(x) : x));\n },\n entries() {\n return iterator(this, \"entries\", value => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, v => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function (item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function (item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function (acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function (acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\nconst isNonTrackableKeys = /* @__PURE__ */makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(/* @__PURE__ */Object.getOwnPropertyNames(Symbol).filter(key => key !== \"arguments\" && key !== \"caller\").map(key => Symbol[key]).filter(isSymbol));\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly,\n isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) ||\n // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, isRef(target) ? target : receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler(true);\nconst toShallow = value => value;\nconst getProto = v => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function (...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n return {\n // iterator protocol\n next() {\n const {\n value,\n done\n } = innerIterator.next();\n return done ? {\n value,\n done\n } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const {\n has\n } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(instrumentations, readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const {\n has,\n get\n } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const {\n has,\n get\n } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n }\n });\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach(method => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `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.`);\n }\n}\nconst reactiveMap = /* @__PURE__ */new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */new WeakMap();\nconst readonlyMap = /* @__PURE__ */new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = value => isObject(value) ? reactive(value) : value;\nconst toReadonly = value => isObject(value) ? readonly(value) : value;\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const {\n get,\n set\n } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) &&\n // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(`onWatcherCleanup() was called when there was no active watcher to associate with.`);\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const {\n immediate,\n deep,\n once,\n scheduler,\n augmentJob,\n call\n } = options;\n const warnInvalidSource = s => {\n (options.onWarn || warn)(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`);\n };\n const reactiveGetter = source2 => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = immediateFirstRun => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, boundCleanup];\n call ? call(cb, 3, args) :\n // @ts-expect-error\n cb(...args);\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = fn => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach(v => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };","map":{"version":3,"names":["hasChanged","extend","isArray","isIntegerKey","isSymbol","isMap","hasOwn","isObject","makeMap","toRawType","capitalize","def","isFunction","EMPTY_OBJ","isSet","isPlainObject","NOOP","remove","warn","msg","args","console","activeEffectScope","EffectScope","constructor","detached","_active","effects","cleanups","_isPaused","parent","index","scopes","push","active","pause","i","l","length","resume","run","fn","currentEffectScope","process","env","NODE_ENV","on","off","stop","fromParent","last","pop","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","EffectFlags","pausedQueueEffects","WeakSet","ReactiveEffect","deps","depsTail","flags","next","cleanup","scheduler","has","delete","trigger","notify","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","nextDep","removeSub","onStop","add","runIfDirty","isDirty","dirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","error","err","version","prevActiveLink","dep","activeLink","head","tail","prev","prevDep","removeDep","computed","refreshComputed","_dirty","globalVersion","isSSR","prevSub","value","_value","soft","nextSub","subsHead","subs","sc","map","key","effect","options","runner","bind","trackStack","pauseTracking","enableTracking","resetTracking","onEffectCleanup","Link","Dep","track","debugInfo","addSub","onTrack","onTrigger","currentTail","targetMap","WeakMap","ITERATE_KEY","Symbol","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","target","type","depsMap","get","set","Map","newValue","oldValue","oldTarget","forEach","targetIsArray","isArrayIndex","newLength","Number","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arr","arrayInstrumentations","__proto__","iterator","concat","x","entries","every","thisArg","apply","arguments","filter","v","find","findIndex","findLast","findLastIndex","includes","searchProxy","indexOf","join","separator","lastIndexOf","noTracking","reduce","reduceRight","shift","some","splice","toReversed","toSorted","comparer","toSpliced","unshift","values","self","method","wrapValue","iter","_next","result","arrayProto","Array","prototype","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","item","call","acc","res","isProxy","isNonTrackableKeys","builtInSymbols","Set","Object","getOwnPropertyNames","hasOwnProperty","String","obj","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","Reflect","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","size","callback","observed","clear","proto","checkIdentityKeys","hadItems","iteratorMethods","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","Proxy","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","_rawValue","useDirectValue","triggerRef","ref2","unref","toValue","source","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","newVal","customRef","toRefs","ret","propertyToRef","ObjectRefImpl","_object","_key","_defaultValue","val","GetterRefImpl","_getter","toRef","defaultValue","ComputedRefImpl","setter","__v_isRef","getterOrOptions","debugOptions","getter","cRef","TrackOpTypes","TriggerOpTypes","ReactiveFlags","WatchErrorCodes","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","getCurrentWatcher","onWatcherCleanup","cleanupFn","owner","watch","cb","immediate","deep","once","augmentJob","warnInvalidSource","s","onWarn","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","currentEffect","baseGetter","depth","Infinity","scope","watchHandle","_cb","fill","job","immediateFirstRun","currentWatcher","cleanup2","seen","getOwnPropertySymbols","propertyIsEnumerable"],"sources":["D:/vue/demo/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js"],"sourcesContent":["/**\n* @vue/reactivity v3.5.12\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `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.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |