diff --git a/advancedcontentfilter/asset/vue/dist/vue.js b/advancedcontentfilter/asset/vue/dist/vue.js new file mode 100644 index 000000000..04bcb3752 --- /dev/null +++ b/advancedcontentfilter/asset/vue/dist/vue.js @@ -0,0 +1,11894 @@ +/*! + * Vue.js v2.7.13 + * (c) 2014-2022 Evan You + * Released under the MIT License. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Vue = factory()); +})(this, (function () { 'use strict'; + + var emptyObject = Object.freeze({}); + var isArray = Array.isArray; + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef(v) { + return v === undefined || v === null; + } + function isDef(v) { + return v !== undefined && v !== null; + } + function isTrue(v) { + return v === true; + } + function isFalse(v) { + return v === false; + } + /** + * Check if value is primitive. + */ + function isPrimitive(value) { + return (typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean'); + } + function isFunction(value) { + return typeof value === 'function'; + } + /** + * Quick object check - this is primarily used to tell + * objects from primitive values when we know the value + * is a JSON-compliant type. + */ + function isObject(obj) { + return obj !== null && typeof obj === 'object'; + } + /** + * Get the raw type string of a value, e.g., [object Object]. + */ + var _toString = Object.prototype.toString; + function toRawType(value) { + return _toString.call(value).slice(8, -1); + } + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + function isPlainObject(obj) { + return _toString.call(obj) === '[object Object]'; + } + function isRegExp(v) { + return _toString.call(v) === '[object RegExp]'; + } + /** + * Check if val is a valid array index. + */ + function isValidArrayIndex(val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val); + } + function isPromise(val) { + return (isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function'); + } + /** + * Convert a value to a string that is actually rendered. + */ + function toString(val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val); + } + /** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ + function toNumber(val) { + var n = parseFloat(val); + return isNaN(n) ? val : n; + } + /** + * Make a map and return a function for checking if a key + * is in that map. + */ + function makeMap(str, expectsLowerCase) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; }; + } + /** + * Check if a tag is a built-in tag. + */ + var isBuiltInTag = makeMap('slot,component', true); + /** + * Check if an attribute is a reserved attribute. + */ + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); + /** + * Remove an item from an array. + */ + function remove$2(arr, item) { + var len = arr.length; + if (len) { + // fast path for the only / last item + if (item === arr[len - 1]) { + arr.length = len - 1; + return; + } + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1); + } + } + } + /** + * Check whether an object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key); + } + /** + * Create a cached version of a pure function. + */ + function cached(fn) { + var cache = Object.create(null); + return function cachedFn(str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; + } + /** + * Camelize a hyphen-delimited string. + */ + var camelizeRE = /-(\w)/g; + var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); }); + }); + /** + * Capitalize a string. + */ + var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); + }); + /** + * Hyphenate a camelCase string. + */ + var hyphenateRE = /\B([A-Z])/g; + var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase(); + }); + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + /* istanbul ignore next */ + function polyfillBind(fn, ctx) { + function boundFn(a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx); + } + boundFn._length = fn.length; + return boundFn; + } + function nativeBind(fn, ctx) { + return fn.bind(ctx); + } + // @ts-expect-error bind cannot be `undefined` + var bind$1 = Function.prototype.bind ? nativeBind : polyfillBind; + /** + * Convert an Array-like object to a real Array. + */ + function toArray(list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret; + } + /** + * Mix properties into target object. + */ + function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to; + } + /** + * Merge an Array of Objects into a single Object. + */ + function toObject(arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res; + } + /* eslint-disable no-unused-vars */ + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop(a, b, c) { } + /** + * Always return false. + */ + var no = function (a, b, c) { return false; }; + /* eslint-enable no-unused-vars */ + /** + * Return the same value. + */ + var identity = function (_) { return _; }; + /** + * Generate a string containing static keys from compiler modules. + */ + function genStaticKeys$1(modules) { + return modules + .reduce(function (keys, m) { + return keys.concat(m.staticKeys || []); + }, []) + .join(','); + } + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual(a, b) { + if (a === b) + return true; + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return (a.length === b.length && + a.every(function (e, i) { + return looseEqual(e, b[i]); + })); + } + else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime(); + } + else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return (keysA.length === keysB.length && + keysA.every(function (key) { + return looseEqual(a[key], b[key]); + })); + } + else { + /* istanbul ignore next */ + return false; + } + } + catch (e) { + /* istanbul ignore next */ + return false; + } + } + else if (!isObjectA && !isObjectB) { + return String(a) === String(b); + } + else { + return false; + } + } + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) + return i; + } + return -1; + } + /** + * Ensure a function is called only once. + */ + function once(fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + }; + } + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill + function hasChanged(x, y) { + if (x === y) { + return x === 0 && 1 / x !== 1 / y; + } + else { + return x === x || y === y; + } + } + + var SSR_ATTR = 'data-server-rendered'; + var ASSET_TYPES = ['component', 'directive', 'filter']; + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + 'renderTracked', + 'renderTriggered' + ]; + + var config = { + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + /** + * Whether to suppress warnings. + */ + silent: false, + /** + * Show production mode tip message on boot? + */ + productionTip: true, + /** + * Whether to enable devtools + */ + devtools: true, + /** + * Whether to record perf + */ + performance: false, + /** + * Error handler for watcher errors + */ + errorHandler: null, + /** + * Warn handler for watcher warns + */ + warnHandler: null, + /** + * Ignore certain custom elements + */ + ignoredElements: [], + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS + }; + + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + /** + * Check if a string starts with $ or _ + */ + function isReserved(str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5f; + } + /** + * Define a property. + */ + function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); + } + /** + * Parse simple path. + */ + var bailRE = new RegExp("[^".concat(unicodeRegExp.source, ".$_\\d]")); + function parsePath(path) { + if (bailRE.test(path)) { + return; + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) + return; + obj = obj[segments[i]]; + } + return obj; + }; + } + + // can we use __proto__? + var hasProto = '__proto__' in {}; + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined'; + var UA = inBrowser && window.navigator.userAgent.toLowerCase(); + var isIE = UA && /msie|trident/.test(UA); + var isIE9 = UA && UA.indexOf('msie 9.0') > 0; + var isEdge = UA && UA.indexOf('edge/') > 0; + UA && UA.indexOf('android') > 0; + var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); + UA && /chrome\/\d+/.test(UA) && !isEdge; + UA && /phantomjs/.test(UA); + var isFF = UA && UA.match(/firefox\/(\d+)/); + // Firefox has a "watch" function on Object.prototype... + // @ts-expect-error firebox support + var nativeWatch = {}.watch; + var supportsPassive = false; + if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', { + get: function () { + /* istanbul ignore next */ + supportsPassive = true; + } + }); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } + catch (e) { } + } + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer; + var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = + global['process'] && global['process'].env.VUE_ENV === 'server'; + } + else { + _isServer = false; + } + } + return _isServer; + }; + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; + /* istanbul ignore next */ + function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()); + } + var hasSymbol = typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys); + var _Set; // $flow-disable-line + /* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; + } + else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /** @class */ (function () { + function Set() { + this.set = Object.create(null); + } + Set.prototype.has = function (key) { + return this.set[key] === true; + }; + Set.prototype.add = function (key) { + this.set[key] = true; + }; + Set.prototype.clear = function () { + this.set = Object.create(null); + }; + return Set; + }()); + } + + var currentInstance = null; + /** + * This is exposed for compatibility with v3 (e.g. some functions in VueUse + * relies on it). Do not use this internally, just use `currentInstance`. + * + * @internal this function needs manual type declaration because it relies + * on previously manually authored types from Vue 2 + */ + function getCurrentInstance() { + return currentInstance && { proxy: currentInstance }; + } + /** + * @internal + */ + function setCurrentInstance(vm) { + if (vm === void 0) { vm = null; } + if (!vm) + currentInstance && currentInstance._scope.off(); + currentInstance = vm; + vm && vm._scope.on(); + } + + /** + * @internal + */ + var VNode = /** @class */ (function () { + function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; + } + Object.defineProperty(VNode.prototype, "child", { + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + get: function () { + return this.componentInstance; + }, + enumerable: false, + configurable: true + }); + return VNode; + }()); + var createEmptyVNode = function (text) { + if (text === void 0) { text = ''; } + var node = new VNode(); + node.text = text; + node.isComment = true; + return node; + }; + function createTextVNode(val) { + return new VNode(undefined, undefined, undefined, String(val)); + } + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode(vnode) { + var cloned = new VNode(vnode.tag, vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.asyncMeta = vnode.asyncMeta; + cloned.isCloned = true; + return cloned; + } + + /* not type checking this file because flow doesn't play well with Proxy */ + var initProxy; + { + var allowedGlobals_1 = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' + + 'require' // for Webpack/Browserify + ); + var warnNonPresent_1 = function (target, key) { + warn$2("Property or method \"".concat(key, "\" is not defined on the instance but ") + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target); + }; + var warnReservedPrefix_1 = function (target, key) { + warn$2("Property \"".concat(key, "\" must be accessed with \"$data.").concat(key, "\" because ") + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals. ' + + 'See: https://v2.vuejs.org/v2/api/#data', target); + }; + var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy); + if (hasProxy_1) { + var isBuiltInModifier_1 = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function (target, key, value) { + if (isBuiltInModifier_1(key)) { + warn$2("Avoid overwriting built-in modifier in config.keyCodes: .".concat(key)); + return false; + } + else { + target[key] = value; + return true; + } + } + }); + } + var hasHandler_1 = { + has: function (target, key) { + var has = key in target; + var isAllowed = allowedGlobals_1(key) || + (typeof key === 'string' && + key.charAt(0) === '_' && + !(key in target.$data)); + if (!has && !isAllowed) { + if (key in target.$data) + warnReservedPrefix_1(target, key); + else + warnNonPresent_1(target, key); + } + return has || !isAllowed; + } + }; + var getHandler_1 = { + get: function (target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) + warnReservedPrefix_1(target, key); + else + warnNonPresent_1(target, key); + } + return target[key]; + } + }; + initProxy = function initProxy(vm) { + if (hasProxy_1) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped ? getHandler_1 : hasHandler_1; + vm._renderProxy = new Proxy(vm, handlers); + } + else { + vm._renderProxy = vm; + } + }; + } + + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + + var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var uid$2 = 0; + var pendingCleanupDeps = []; + var cleanupDeps = function () { + for (var i = 0; i < pendingCleanupDeps.length; i++) { + var dep = pendingCleanupDeps[i]; + dep.subs = dep.subs.filter(function (s) { return s; }); + dep._pending = false; + } + pendingCleanupDeps.length = 0; + }; + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + * @internal + */ + var Dep = /** @class */ (function () { + function Dep() { + // pending subs cleanup + this._pending = false; + this.id = uid$2++; + this.subs = []; + } + Dep.prototype.addSub = function (sub) { + this.subs.push(sub); + }; + Dep.prototype.removeSub = function (sub) { + // #12696 deps with massive amount of subscribers are extremely slow to + // clean up in Chromium + // to workaround this, we unset the sub for now, and clear them on + // next scheduler flush. + this.subs[this.subs.indexOf(sub)] = null; + if (!this._pending) { + this._pending = true; + pendingCleanupDeps.push(this); + } + }; + Dep.prototype.depend = function (info) { + if (Dep.target) { + Dep.target.addDep(this); + if (info && Dep.target.onTrack) { + Dep.target.onTrack(__assign({ effect: Dep.target }, info)); + } + } + }; + Dep.prototype.notify = function (info) { + // stabilize the subscriber list first + var subs = this.subs.filter(function (s) { return s; }); + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function (a, b) { return a.id - b.id; }); + } + for (var i = 0, l = subs.length; i < l; i++) { + var sub = subs[i]; + if (info) { + sub.onTrigger && + sub.onTrigger(__assign({ effect: subs[i] }, info)); + } + sub.update(); + } + }; + return Dep; + }()); + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null; + var targetStack = []; + function pushTarget(target) { + targetStack.push(target); + Dep.target = target; + } + function popTarget() { + targetStack.pop(); + Dep.target = targetStack[targetStack.length - 1]; + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + var arrayProto = Array.prototype; + var arrayMethods = Object.create(arrayProto); + var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' + ]; + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break; + case 'splice': + inserted = args.slice(2); + break; + } + if (inserted) + ob.observeArray(inserted); + // notify change + { + ob.dep.notify({ + type: "array mutation" /* TriggerOpTypes.ARRAY_MUTATION */, + target: this, + key: method + }); + } + return result; + }); + }); + + var rawMap = new WeakMap(); + function reactive(target) { + makeReactive(target, false); + return target; + } + /** + * Return a shallowly-reactive copy of the original object, where only the root + * level properties are reactive. It also does not auto-unwrap refs (even at the + * root level). + */ + function shallowReactive(target) { + makeReactive(target, true); + def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + return target; + } + function makeReactive(target, shallow) { + // if trying to observe a readonly proxy, return the readonly version. + if (!isReadonly(target)) { + { + if (isArray(target)) { + warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation.")); + } + var existingOb = target && target.__ob__; + if (existingOb && existingOb.shallow !== shallow) { + warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow.")); + } + } + var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */); + if (!ob) { + if (target == null || isPrimitive(target)) { + warn$2("value cannot be made reactive: ".concat(String(target))); + } + if (isCollectionType(target)) { + warn$2("Vue 2 does not support reactive collection types such as Map or Set."); + } + } + } + } + function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]); + } + return !!(value && value.__ob__); + } + function isShallow(value) { + return !!(value && value.__v_isShallow); + } + function isReadonly(value) { + return !!(value && value.__v_isReadonly); + } + function isProxy(value) { + return isReactive(value) || isReadonly(value); + } + function toRaw(observed) { + var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */]; + return raw ? toRaw(raw) : observed; + } + function markRaw(value) { + if (isObject(value)) { + rawMap.set(value, true); + } + return value; + } + /** + * @internal + */ + function isCollectionType(value) { + var type = toRawType(value); + return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet'); + } + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + var NO_INIITIAL_VALUE = {}; + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true; + function toggleObserving(value) { + shouldObserve = value; + } + // ssr mock dep + var mockDep = { + notify: noop, + depend: noop, + addSub: noop, + removeSub: noop + }; + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = /** @class */ (function () { + function Observer(value, shallow, mock) { + if (shallow === void 0) { shallow = false; } + if (mock === void 0) { mock = false; } + this.value = value; + this.shallow = shallow; + this.mock = mock; + // this.value = value + this.dep = mock ? mockDep : new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (isArray(value)) { + if (!mock) { + if (hasProto) { + value.__proto__ = arrayMethods; + /* eslint-enable no-proto */ + } + else { + for (var i = 0, l = arrayKeys.length; i < l; i++) { + var key = arrayKeys[i]; + def(value, key, arrayMethods[key]); + } + } + } + if (!shallow) { + this.observeArray(value); + } + } + else { + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + var keys = Object.keys(value); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock); + } + } + } + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function (value) { + for (var i = 0, l = value.length; i < l; i++) { + observe(value[i], false, this.mock); + } + }; + return Observer; + }()); + // helpers + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe(value, shallow, ssrMockReactivity) { + if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + return value.__ob__; + } + if (shouldObserve && + (ssrMockReactivity || !isServerRendering()) && + (isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value.__v_skip /* ReactiveFlags.SKIP */ && + !rawMap.has(value) && + !isRef(value) && + !(value instanceof VNode)) { + return new Observer(value, shallow, ssrMockReactivity); + } + } + /** + * Define a reactive property on an Object. + */ + function defineReactive(obj, key, val, customSetter, shallow, mock) { + var dep = new Dep(); + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return; + } + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + if ((!getter || setter) && + (val === NO_INIITIAL_VALUE || arguments.length === 2)) { + val = obj[key]; + } + var childOb = !shallow && observe(val, false, mock); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter() { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + { + dep.depend({ + target: obj, + type: "get" /* TrackOpTypes.GET */, + key: key + }); + } + if (childOb) { + childOb.dep.depend(); + if (isArray(value)) { + dependArray(value); + } + } + } + return isRef(value) && !shallow ? value.value : value; + }, + set: function reactiveSetter(newVal) { + var value = getter ? getter.call(obj) : val; + if (!hasChanged(value, newVal)) { + return; + } + if (customSetter) { + customSetter(); + } + if (setter) { + setter.call(obj, newVal); + } + else if (getter) { + // #7981: for accessor properties without setter + return; + } + else if (!shallow && isRef(value) && !isRef(newVal)) { + value.value = newVal; + return; + } + else { + val = newVal; + } + childOb = !shallow && observe(newVal, false, mock); + { + dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: obj, + key: key, + newValue: newVal, + oldValue: value + }); + } + } + }); + return dep; + } + function set(target, key, val) { + if ((isUndef(target) || isPrimitive(target))) { + warn$2("Cannot set reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isReadonly(target)) { + warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + var ob = target.__ob__; + if (isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + // when mocking for SSR, array methods are not hijacked + if (ob && !ob.shallow && ob.mock) { + observe(val, false, true); + } + return val; + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val; + } + if (target._isVue || (ob && ob.vmCount)) { + warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.'); + return val; + } + if (!ob) { + target[key] = val; + return val; + } + defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock); + { + ob.dep.notify({ + type: "add" /* TriggerOpTypes.ADD */, + target: target, + key: key, + newValue: val, + oldValue: undefined + }); + } + return val; + } + function del(target, key) { + if ((isUndef(target) || isPrimitive(target))) { + warn$2("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return; + } + var ob = target.__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn$2('Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.'); + return; + } + if (isReadonly(target)) { + warn$2("Delete operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + if (!hasOwn(target, key)) { + return; + } + delete target[key]; + if (!ob) { + return; + } + { + ob.dep.notify({ + type: "delete" /* TriggerOpTypes.DELETE */, + target: target, + key: key + }); + } + } + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray(value) { + for (var e = void 0, i = 0, l = value.length; i < l; i++) { + e = value[i]; + if (e && e.__ob__) { + e.__ob__.dep.depend(); + } + if (isArray(e)) { + dependArray(e); + } + } + } + + /** + * @internal + */ + var RefFlag = "__v_isRef"; + function isRef(r) { + return !!(r && r.__v_isRef === true); + } + function ref$1(value) { + return createRef(value, false); + } + function shallowRef(value) { + return createRef(value, true); + } + function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + var ref = {}; + def(ref, RefFlag, true); + def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, shallow); + def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering())); + return ref; + } + function triggerRef(ref) { + if (!ref.dep) { + warn$2("received object is not a triggerable ref."); + } + { + ref.dep && + ref.dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: ref, + key: 'value' + }); + } + } + function unref(ref) { + return isRef(ref) ? ref.value : ref; + } + function proxyRefs(objectWithRefs) { + if (isReactive(objectWithRefs)) { + return objectWithRefs; + } + var proxy = {}; + var keys = Object.keys(objectWithRefs); + for (var i = 0; i < keys.length; i++) { + proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]); + } + return proxy; + } + function proxyWithRefUnwrap(target, source, key) { + Object.defineProperty(target, key, { + enumerable: true, + configurable: true, + get: function () { + var val = source[key]; + if (isRef(val)) { + return val.value; + } + else { + var ob = val && val.__ob__; + if (ob) + ob.dep.depend(); + return val; + } + }, + set: function (value) { + var oldValue = source[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + } + else { + source[key] = value; + } + } + }); + } + function customRef(factory) { + var dep = new Dep(); + var _a = factory(function () { + { + dep.depend({ + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + }, function () { + { + dep.notify({ + target: ref, + type: "set" /* TriggerOpTypes.SET */, + key: 'value' + }); + } + }), get = _a.get, set = _a.set; + var ref = { + get value() { + return get(); + }, + set value(newVal) { + set(newVal); + } + }; + def(ref, RefFlag, true); + return ref; + } + function toRefs(object) { + if (!isReactive(object)) { + warn$2("toRefs() expects a reactive object but received a plain one."); + } + var ret = isArray(object) ? new Array(object.length) : {}; + for (var key in object) { + ret[key] = toRef(object, key); + } + return ret; + } + function toRef(object, key, defaultValue) { + var val = object[key]; + if (isRef(val)) { + return val; + } + var ref = { + get value() { + var val = object[key]; + return val === undefined ? defaultValue : val; + }, + set value(newVal) { + object[key] = newVal; + } + }; + def(ref, RefFlag, true); + return ref; + } + + var rawToReadonlyMap = new WeakMap(); + var rawToShallowReadonlyMap = new WeakMap(); + function readonly(target) { + return createReadonly(target, false); + } + function createReadonly(target, shallow) { + if (!isPlainObject(target)) { + { + if (isArray(target)) { + warn$2("Vue 2 does not support readonly arrays."); + } + else if (isCollectionType(target)) { + warn$2("Vue 2 does not support readonly collection types such as Map or Set."); + } + else { + warn$2("value cannot be made readonly: ".concat(typeof target)); + } + } + return target; + } + // already a readonly object + if (isReadonly(target)) { + return target; + } + // already has a readonly proxy + var map = shallow ? rawToShallowReadonlyMap : rawToReadonlyMap; + var existingProxy = map.get(target); + if (existingProxy) { + return existingProxy; + } + var proxy = Object.create(Object.getPrototypeOf(target)); + map.set(target, proxy); + def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true); + def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target); + if (isRef(target)) { + def(proxy, RefFlag, true); + } + if (shallow || isShallow(target)) { + def(proxy, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + } + var keys = Object.keys(target); + for (var i = 0; i < keys.length; i++) { + defineReadonlyProperty(proxy, target, keys[i], shallow); + } + return proxy; + } + function defineReadonlyProperty(proxy, target, key, shallow) { + Object.defineProperty(proxy, key, { + enumerable: true, + configurable: true, + get: function () { + var val = target[key]; + return shallow || !isPlainObject(val) ? val : readonly(val); + }, + set: function () { + warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + } + }); + } + /** + * Returns a reactive-copy of the original object, where only the root level + * properties are readonly, and does NOT unwrap refs nor recursively convert + * returned properties. + * This is used for creating the props proxy object for stateful components. + */ + function shallowReadonly(target) { + return createReadonly(target, true); + } + + function computed(getterOrOptions, debugOptions) { + var getter; + var setter; + var onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = function () { + warn$2('Write operation failed: computed value is readonly'); + } + ; + } + else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + var watcher = isServerRendering() + ? null + : new Watcher(currentInstance, getter, noop, { lazy: true }); + if (watcher && debugOptions) { + watcher.onTrack = debugOptions.onTrack; + watcher.onTrigger = debugOptions.onTrigger; + } + var ref = { + // some libs rely on the presence effect for checking computed refs + // from normal refs, but the implementation doesn't matter + effect: watcher, + get value() { + if (watcher) { + if (watcher.dirty) { + watcher.evaluate(); + } + if (Dep.target) { + if (Dep.target.onTrack) { + Dep.target.onTrack({ + effect: Dep.target, + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + watcher.depend(); + } + return watcher.value; + } + else { + return getter(); + } + }, + set value(newVal) { + setter(newVal); + } + }; + def(ref, RefFlag, true); + def(ref, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, onlyGetter); + return ref; + } + + var mark; + var measure; + { + var perf_1 = inBrowser && window.performance; + /* istanbul ignore if */ + if (perf_1 && + // @ts-ignore + perf_1.mark && + // @ts-ignore + perf_1.measure && + // @ts-ignore + perf_1.clearMarks && + // @ts-ignore + perf_1.clearMeasures) { + mark = function (tag) { return perf_1.mark(tag); }; + measure = function (name, startTag, endTag) { + perf_1.measure(name, startTag, endTag); + perf_1.clearMarks(startTag); + perf_1.clearMarks(endTag); + // perf.clearMeasures(name) + }; + } + } + + var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once = name.charAt(0) === '~'; // Prefixed last, checked first + name = once ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once, + capture: capture, + passive: passive + }; + }); + function createFnInvoker(fns, vm) { + function invoker() { + var fns = invoker.fns; + if (isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments, vm, "v-on handler"); + } + } + else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler"); + } + } + invoker.fns = fns; + return invoker; + } + function updateListeners(on, oldOn, add, remove, createOnceHandler, vm) { + var name, cur, old, event; + for (name in on) { + cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + warn$2("Invalid handler for event \"".concat(event.name, "\": got ") + String(cur), vm); + } + else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm); + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture); + } + add(event.name, cur, event.capture, event.passive, event.params); + } + else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove(event.name, oldOn[name], event.capture); + } + } + } + + function mergeVNodeHook(def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + function wrappedHook() { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove$2(invoker.fns, wrappedHook); + } + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } + else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } + else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + invoker.merged = true; + def[hookKey] = invoker; + } + + function extractPropsFromVNodeData(data, Ctor, tag) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return; + } + var res = {}; + var attrs = data.attrs, props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + { + var keyInLowerCase = key.toLowerCase(); + if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { + tip("Prop \"".concat(keyInLowerCase, "\" is passed to component ") + + "".concat(formatComponentName( + // @ts-expect-error tag is string + tag || Ctor), ", but the declared prop name is") + + " \"".concat(key, "\". ") + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"".concat(altKey, "\" instead of \"").concat(key, "\".")); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res; + } + function checkProp(res, hash, key, altKey, preserve) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true; + } + else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true; + } + } + return false; + } + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array<VNode>. There are + // two cases where extra normalization is needed: + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren(children) { + for (var i = 0; i < children.length; i++) { + if (isArray(children[i])) { + return Array.prototype.concat.apply([], children); + } + } + return children; + } + // 2. When the children contains constructs that always generated nested Arrays, + // e.g. <template>, <slot>, v-for, or when the children is provided by user + // with hand-written render functions / JSX. In such cases a full normalization + // is needed to cater to all possible types of children values. + function normalizeChildren(children) { + return isPrimitive(children) + ? [createTextVNode(children)] + : isArray(children) + ? normalizeArrayChildren(children) + : undefined; + } + function isTextNode(node) { + return isDef(node) && isDef(node.text) && isFalse(node.isComment); + } + function normalizeArrayChildren(children, nestedIndex) { + var res = []; + var i, c, lastIndex, last; + for (i = 0; i < children.length; i++) { + c = children[i]; + if (isUndef(c) || typeof c === 'boolean') + continue; + lastIndex = res.length - 1; + last = res[lastIndex]; + // nested + if (isArray(c)) { + if (c.length > 0) { + c = normalizeArrayChildren(c, "".concat(nestedIndex || '', "_").concat(i)); + // merge adjacent text nodes + if (isTextNode(c[0]) && isTextNode(last)) { + res[lastIndex] = createTextVNode(last.text + c[0].text); + c.shift(); + } + res.push.apply(res, c); + } + } + else if (isPrimitive(c)) { + if (isTextNode(last)) { + // merge adjacent text nodes + // this is necessary for SSR hydration because text nodes are + // essentially merged when rendered to HTML strings + res[lastIndex] = createTextVNode(last.text + c); + } + else if (c !== '') { + // convert primitive to vnode + res.push(createTextVNode(c)); + } + } + else { + if (isTextNode(c) && isTextNode(last)) { + // merge adjacent text nodes + res[lastIndex] = createTextVNode(last.text + c.text); + } + else { + // default key for nested array children (likely generated by v-for) + if (isTrue(children._isVList) && + isDef(c.tag) && + isUndef(c.key) && + isDef(nestedIndex)) { + c.key = "__vlist".concat(nestedIndex, "_").concat(i, "__"); + } + res.push(c); + } + } + } + return res; + } + + var SIMPLE_NORMALIZE = 1; + var ALWAYS_NORMALIZE = 2; + // wrapper function for providing a more flexible interface + // without getting yelled at by flow + function createElement$1(context, tag, data, children, normalizationType, alwaysNormalize) { + if (isArray(data) || isPrimitive(data)) { + normalizationType = children; + children = data; + data = undefined; + } + if (isTrue(alwaysNormalize)) { + normalizationType = ALWAYS_NORMALIZE; + } + return _createElement(context, tag, data, children, normalizationType); + } + function _createElement(context, tag, data, children, normalizationType) { + if (isDef(data) && isDef(data.__ob__)) { + warn$2("Avoid using observed data object as vnode data: ".concat(JSON.stringify(data), "\n") + 'Always create fresh vnode data objects in each render!', context); + return createEmptyVNode(); + } + // object syntax in v-bind + if (isDef(data) && isDef(data.is)) { + tag = data.is; + } + if (!tag) { + // in case of component :is set to falsy value + return createEmptyVNode(); + } + // warn against non-primitive key + if (isDef(data) && isDef(data.key) && !isPrimitive(data.key)) { + warn$2('Avoid using non-primitive value as key, ' + + 'use string/number value instead.', context); + } + // support single function children as default scoped slot + if (isArray(children) && isFunction(children[0])) { + data = data || {}; + data.scopedSlots = { default: children[0] }; + children.length = 0; + } + if (normalizationType === ALWAYS_NORMALIZE) { + children = normalizeChildren(children); + } + else if (normalizationType === SIMPLE_NORMALIZE) { + children = simpleNormalizeChildren(children); + } + var vnode, ns; + if (typeof tag === 'string') { + var Ctor = void 0; + ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); + if (config.isReservedTag(tag)) { + // platform built-in elements + if (isDef(data) && + isDef(data.nativeOn) && + data.tag !== 'component') { + warn$2("The .native modifier for v-on is only valid on components but it was used on <".concat(tag, ">."), context); + } + vnode = new VNode(config.parsePlatformTagName(tag), data, children, undefined, undefined, context); + } + else if ((!data || !data.pre) && + isDef((Ctor = resolveAsset(context.$options, 'components', tag)))) { + // component + vnode = createComponent(Ctor, data, context, children, tag); + } + else { + // unknown or unlisted namespaced elements + // check at runtime because it may get assigned a namespace when its + // parent normalizes children + vnode = new VNode(tag, data, children, undefined, undefined, context); + } + } + else { + // direct component options / constructor + vnode = createComponent(tag, data, context, children); + } + if (isArray(vnode)) { + return vnode; + } + else if (isDef(vnode)) { + if (isDef(ns)) + applyNS(vnode, ns); + if (isDef(data)) + registerDeepBindings(data); + return vnode; + } + else { + return createEmptyVNode(); + } + } + function applyNS(vnode, ns, force) { + vnode.ns = ns; + if (vnode.tag === 'foreignObject') { + // use default namespace inside foreignObject + ns = undefined; + force = true; + } + if (isDef(vnode.children)) { + for (var i = 0, l = vnode.children.length; i < l; i++) { + var child = vnode.children[i]; + if (isDef(child.tag) && + (isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { + applyNS(child, ns, force); + } + } + } + } + // ref #5318 + // necessary to ensure parent re-render when deep bindings like :style and + // :class are used on slot nodes + function registerDeepBindings(data) { + if (isObject(data.style)) { + traverse(data.style); + } + if (isObject(data.class)) { + traverse(data.class); + } + } + + /** + * Runtime helper for rendering v-for lists. + */ + function renderList(val, render) { + var ret = null, i, l, keys, key; + if (isArray(val) || typeof val === 'string') { + ret = new Array(val.length); + for (i = 0, l = val.length; i < l; i++) { + ret[i] = render(val[i], i); + } + } + else if (typeof val === 'number') { + ret = new Array(val); + for (i = 0; i < val; i++) { + ret[i] = render(i + 1, i); + } + } + else if (isObject(val)) { + if (hasSymbol && val[Symbol.iterator]) { + ret = []; + var iterator = val[Symbol.iterator](); + var result = iterator.next(); + while (!result.done) { + ret.push(render(result.value, ret.length)); + result = iterator.next(); + } + } + else { + keys = Object.keys(val); + ret = new Array(keys.length); + for (i = 0, l = keys.length; i < l; i++) { + key = keys[i]; + ret[i] = render(val[key], key, i); + } + } + } + if (!isDef(ret)) { + ret = []; + } + ret._isVList = true; + return ret; + } + + /** + * Runtime helper for rendering <slot> + */ + function renderSlot(name, fallbackRender, props, bindObject) { + var scopedSlotFn = this.$scopedSlots[name]; + var nodes; + if (scopedSlotFn) { + // scoped slot + props = props || {}; + if (bindObject) { + if (!isObject(bindObject)) { + warn$2('slot v-bind without argument expects an Object', this); + } + props = extend(extend({}, bindObject), props); + } + nodes = + scopedSlotFn(props) || + (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); + } + else { + nodes = + this.$slots[name] || + (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); + } + var target = props && props.slot; + if (target) { + return this.$createElement('template', { slot: target }, nodes); + } + else { + return nodes; + } + } + + /** + * Runtime helper for resolving filters + */ + function resolveFilter(id) { + return resolveAsset(this.$options, 'filters', id, true) || identity; + } + + function isKeyNotMatch(expect, actual) { + if (isArray(expect)) { + return expect.indexOf(actual) === -1; + } + else { + return expect !== actual; + } + } + /** + * Runtime helper for checking keyCodes from config. + * exposed as Vue.prototype._k + * passing in eventKeyName as last argument separately for backwards compat + */ + function checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) { + var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; + if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { + return isKeyNotMatch(builtInKeyName, eventKeyName); + } + else if (mappedKeyCode) { + return isKeyNotMatch(mappedKeyCode, eventKeyCode); + } + else if (eventKeyName) { + return hyphenate(eventKeyName) !== key; + } + return eventKeyCode === undefined; + } + + /** + * Runtime helper for merging v-bind="object" into a VNode's data. + */ + function bindObjectProps(data, tag, value, asProp, isSync) { + if (value) { + if (!isObject(value)) { + warn$2('v-bind without argument expects an Object or Array value', this); + } + else { + if (isArray(value)) { + value = toObject(value); + } + var hash = void 0; + var _loop_1 = function (key) { + if (key === 'class' || key === 'style' || isReservedAttribute(key)) { + hash = data; + } + else { + var type = data.attrs && data.attrs.type; + hash = + asProp || config.mustUseProp(tag, type, key) + ? data.domProps || (data.domProps = {}) + : data.attrs || (data.attrs = {}); + } + var camelizedKey = camelize(key); + var hyphenatedKey = hyphenate(key); + if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { + hash[key] = value[key]; + if (isSync) { + var on = data.on || (data.on = {}); + on["update:".concat(key)] = function ($event) { + value[key] = $event; + }; + } + } + }; + for (var key in value) { + _loop_1(key); + } + } + } + return data; + } + + /** + * Runtime helper for rendering static trees. + */ + function renderStatic(index, isInFor) { + var cached = this._staticTrees || (this._staticTrees = []); + var tree = cached[index]; + // if has already-rendered static tree and not inside v-for, + // we can reuse the same tree. + if (tree && !isInFor) { + return tree; + } + // otherwise, render a fresh tree. + tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates + ); + markStatic$1(tree, "__static__".concat(index), false); + return tree; + } + /** + * Runtime helper for v-once. + * Effectively it means marking the node as static with a unique key. + */ + function markOnce(tree, index, key) { + markStatic$1(tree, "__once__".concat(index).concat(key ? "_".concat(key) : ""), true); + return tree; + } + function markStatic$1(tree, key, isOnce) { + if (isArray(tree)) { + for (var i = 0; i < tree.length; i++) { + if (tree[i] && typeof tree[i] !== 'string') { + markStaticNode(tree[i], "".concat(key, "_").concat(i), isOnce); + } + } + } + else { + markStaticNode(tree, key, isOnce); + } + } + function markStaticNode(node, key, isOnce) { + node.isStatic = true; + node.key = key; + node.isOnce = isOnce; + } + + function bindObjectListeners(data, value) { + if (value) { + if (!isPlainObject(value)) { + warn$2('v-on without argument expects an Object value', this); + } + else { + var on = (data.on = data.on ? extend({}, data.on) : {}); + for (var key in value) { + var existing = on[key]; + var ours = value[key]; + on[key] = existing ? [].concat(existing, ours) : ours; + } + } + } + return data; + } + + function resolveScopedSlots(fns, res, + // the following are added in 2.6 + hasDynamicKeys, contentHashKey) { + res = res || { $stable: !hasDynamicKeys }; + for (var i = 0; i < fns.length; i++) { + var slot = fns[i]; + if (isArray(slot)) { + resolveScopedSlots(slot, res, hasDynamicKeys); + } + else if (slot) { + // marker for reverse proxying v-slot without scope on this.$slots + // @ts-expect-error + if (slot.proxy) { + // @ts-expect-error + slot.fn.proxy = true; + } + res[slot.key] = slot.fn; + } + } + if (contentHashKey) { + res.$key = contentHashKey; + } + return res; + } + + // helper to process dynamic keys for dynamic arguments in v-bind and v-on. + function bindDynamicKeys(baseObj, values) { + for (var i = 0; i < values.length; i += 2) { + var key = values[i]; + if (typeof key === 'string' && key) { + baseObj[values[i]] = values[i + 1]; + } + else if (key !== '' && key !== null) { + // null is a special value for explicitly removing a binding + warn$2("Invalid value for dynamic directive argument (expected string or null): ".concat(key), this); + } + } + return baseObj; + } + // helper to dynamically append modifier runtime markers to event names. + // ensure only append when value is already string, otherwise it will be cast + // to string and cause the type check to miss. + function prependModifier(value, symbol) { + return typeof value === 'string' ? symbol + value : value; + } + + function installRenderHelpers(target) { + target._o = markOnce; + target._n = toNumber; + target._s = toString; + target._l = renderList; + target._t = renderSlot; + target._q = looseEqual; + target._i = looseIndexOf; + target._m = renderStatic; + target._f = resolveFilter; + target._k = checkKeyCodes; + target._b = bindObjectProps; + target._v = createTextVNode; + target._e = createEmptyVNode; + target._u = resolveScopedSlots; + target._g = bindObjectListeners; + target._d = bindDynamicKeys; + target._p = prependModifier; + } + + /** + * Runtime helper for resolving raw children VNodes into a slot object. + */ + function resolveSlots(children, context) { + if (!children || !children.length) { + return {}; + } + var slots = {}; + for (var i = 0, l = children.length; i < l; i++) { + var child = children[i]; + var data = child.data; + // remove slot attribute if the node is resolved as a Vue slot node + if (data && data.attrs && data.attrs.slot) { + delete data.attrs.slot; + } + // named slots should only be respected if the vnode was rendered in the + // same context. + if ((child.context === context || child.fnContext === context) && + data && + data.slot != null) { + var name_1 = data.slot; + var slot = slots[name_1] || (slots[name_1] = []); + if (child.tag === 'template') { + slot.push.apply(slot, child.children || []); + } + else { + slot.push(child); + } + } + else { + (slots.default || (slots.default = [])).push(child); + } + } + // ignore slots that contains only whitespace + for (var name_2 in slots) { + if (slots[name_2].every(isWhitespace)) { + delete slots[name_2]; + } + } + return slots; + } + function isWhitespace(node) { + return (node.isComment && !node.asyncFactory) || node.text === ' '; + } + + function isAsyncPlaceholder(node) { + // @ts-expect-error not really boolean type + return node.isComment && node.asyncFactory; + } + + function normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) { + var res; + var hasNormalSlots = Object.keys(normalSlots).length > 0; + var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots; + var key = scopedSlots && scopedSlots.$key; + if (!scopedSlots) { + res = {}; + } + else if (scopedSlots._normalized) { + // fast path 1: child component re-render only, parent did not change + return scopedSlots._normalized; + } + else if (isStable && + prevScopedSlots && + prevScopedSlots !== emptyObject && + key === prevScopedSlots.$key && + !hasNormalSlots && + !prevScopedSlots.$hasNormal) { + // fast path 2: stable scoped slots w/ no normal slots to proxy, + // only need to normalize once + return prevScopedSlots; + } + else { + res = {}; + for (var key_1 in scopedSlots) { + if (scopedSlots[key_1] && key_1[0] !== '$') { + res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]); + } + } + } + // expose normal slots on scopedSlots + for (var key_2 in normalSlots) { + if (!(key_2 in res)) { + res[key_2] = proxyNormalSlot(normalSlots, key_2); + } + } + // avoriaz seems to mock a non-extensible $scopedSlots object + // and when that is passed down this would cause an error + if (scopedSlots && Object.isExtensible(scopedSlots)) { + scopedSlots._normalized = res; + } + def(res, '$stable', isStable); + def(res, '$key', key); + def(res, '$hasNormal', hasNormalSlots); + return res; + } + function normalizeScopedSlot(vm, normalSlots, key, fn) { + var normalized = function () { + var cur = currentInstance; + setCurrentInstance(vm); + var res = arguments.length ? fn.apply(null, arguments) : fn({}); + res = + res && typeof res === 'object' && !isArray(res) + ? [res] // single vnode + : normalizeChildren(res); + var vnode = res && res[0]; + setCurrentInstance(cur); + return res && + (!vnode || + (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391 + ? undefined + : res; + }; + // this is a slot using the new v-slot syntax without scope. although it is + // compiled as a scoped slot, render fn users would expect it to be present + // on this.$slots because the usage is semantically a normal slot. + if (fn.proxy) { + Object.defineProperty(normalSlots, key, { + get: normalized, + enumerable: true, + configurable: true + }); + } + return normalized; + } + function proxyNormalSlot(slots, key) { + return function () { return slots[key]; }; + } + + function initSetup(vm) { + var options = vm.$options; + var setup = options.setup; + if (setup) { + var ctx = (vm._setupContext = createSetupContext(vm)); + setCurrentInstance(vm); + pushTarget(); + var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, "setup"); + popTarget(); + setCurrentInstance(); + if (isFunction(setupResult)) { + // render function + // @ts-ignore + options.render = setupResult; + } + else if (isObject(setupResult)) { + // bindings + if (setupResult instanceof VNode) { + warn$2("setup() should not return VNodes directly - " + + "return a render function instead."); + } + vm._setupState = setupResult; + // __sfc indicates compiled bindings from <script setup> + if (!setupResult.__sfc) { + for (var key in setupResult) { + if (!isReserved(key)) { + proxyWithRefUnwrap(vm, setupResult, key); + } + else { + warn$2("Avoid using variables that start with _ or $ in setup()."); + } + } + } + else { + // exposed for compiled render fn + var proxy = (vm._setupProxy = {}); + for (var key in setupResult) { + if (key !== '__sfc') { + proxyWithRefUnwrap(proxy, setupResult, key); + } + } + } + } + else if (setupResult !== undefined) { + warn$2("setup() should return an object. Received: ".concat(setupResult === null ? 'null' : typeof setupResult)); + } + } + } + function createSetupContext(vm) { + var exposeCalled = false; + return { + get attrs() { + if (!vm._attrsProxy) { + var proxy = (vm._attrsProxy = {}); + def(proxy, '_v_attr_proxy', true); + syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs'); + } + return vm._attrsProxy; + }, + get listeners() { + if (!vm._listenersProxy) { + var proxy = (vm._listenersProxy = {}); + syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners'); + } + return vm._listenersProxy; + }, + get slots() { + return initSlotsProxy(vm); + }, + emit: bind$1(vm.$emit, vm), + expose: function (exposed) { + { + if (exposeCalled) { + warn$2("expose() should be called only once per setup().", vm); + } + exposeCalled = true; + } + if (exposed) { + Object.keys(exposed).forEach(function (key) { + return proxyWithRefUnwrap(vm, exposed, key); + }); + } + } + }; + } + function syncSetupProxy(to, from, prev, instance, type) { + var changed = false; + for (var key in from) { + if (!(key in to)) { + changed = true; + defineProxyAttr(to, key, instance, type); + } + else if (from[key] !== prev[key]) { + changed = true; + } + } + for (var key in to) { + if (!(key in from)) { + changed = true; + delete to[key]; + } + } + return changed; + } + function defineProxyAttr(proxy, key, instance, type) { + Object.defineProperty(proxy, key, { + enumerable: true, + configurable: true, + get: function () { + return instance[type][key]; + } + }); + } + function initSlotsProxy(vm) { + if (!vm._slotsProxy) { + syncSetupSlots((vm._slotsProxy = {}), vm.$scopedSlots); + } + return vm._slotsProxy; + } + function syncSetupSlots(to, from) { + for (var key in from) { + to[key] = from[key]; + } + for (var key in to) { + if (!(key in from)) { + delete to[key]; + } + } + } + /** + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useSlots() { + return getContext().slots; + } + /** + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useAttrs() { + return getContext().attrs; + } + /** + * Vue 2 only + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useListeners() { + return getContext().listeners; + } + function getContext() { + if (!currentInstance) { + warn$2("useContext() called without active instance."); + } + var vm = currentInstance; + return vm._setupContext || (vm._setupContext = createSetupContext(vm)); + } + /** + * Runtime helper for merging default declarations. Imported by compiled code + * only. + * @internal + */ + function mergeDefaults(raw, defaults) { + var props = isArray(raw) + ? raw.reduce(function (normalized, p) { return ((normalized[p] = {}), normalized); }, {}) + : raw; + for (var key in defaults) { + var opt = props[key]; + if (opt) { + if (isArray(opt) || isFunction(opt)) { + props[key] = { type: opt, default: defaults[key] }; + } + else { + opt.default = defaults[key]; + } + } + else if (opt === null) { + props[key] = { default: defaults[key] }; + } + else { + warn$2("props default key \"".concat(key, "\" has no corresponding declaration.")); + } + } + return props; + } + + function initRender(vm) { + vm._vnode = null; // the root of the child tree + vm._staticTrees = null; // v-once cached trees + var options = vm.$options; + var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree + var renderContext = parentVnode && parentVnode.context; + vm.$slots = resolveSlots(options._renderChildren, renderContext); + vm.$scopedSlots = parentVnode + ? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots) + : emptyObject; + // bind the createElement fn to this instance + // so that we get proper render context inside it. + // args order: tag, data, children, normalizationType, alwaysNormalize + // internal version is used by render functions compiled from templates + // @ts-expect-error + vm._c = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, false); }; + // normalization is always applied for the public version, used in + // user-written render functions. + // @ts-expect-error + vm.$createElement = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, true); }; + // $attrs & $listeners are exposed for easier HOC creation. + // they need to be reactive so that HOCs using them are always updated + var parentData = parentVnode && parentVnode.data; + /* istanbul ignore else */ + { + defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, function () { + !isUpdatingChildComponent && warn$2("$attrs is readonly.", vm); + }, true); + defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () { + !isUpdatingChildComponent && warn$2("$listeners is readonly.", vm); + }, true); + } + } + var currentRenderingInstance = null; + function renderMixin(Vue) { + // install runtime convenience helpers + installRenderHelpers(Vue.prototype); + Vue.prototype.$nextTick = function (fn) { + return nextTick(fn, this); + }; + Vue.prototype._render = function () { + var vm = this; + var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode; + if (_parentVnode && vm._isMounted) { + vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots); + if (vm._slotsProxy) { + syncSetupSlots(vm._slotsProxy, vm.$scopedSlots); + } + } + // set parent vnode. this allows render functions to have access + // to the data on the placeholder node. + vm.$vnode = _parentVnode; + // render self + var vnode; + try { + // There's no need to maintain a stack because all render fns are called + // separately from one another. Nested component's render fns are called + // when parent component is patched. + setCurrentInstance(vm); + currentRenderingInstance = vm; + vnode = render.call(vm._renderProxy, vm.$createElement); + } + catch (e) { + handleError(e, vm, "render"); + // return error render result, + // or previous vnode to prevent render error causing blank component + /* istanbul ignore else */ + if (vm.$options.renderError) { + try { + vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); + } + catch (e) { + handleError(e, vm, "renderError"); + vnode = vm._vnode; + } + } + else { + vnode = vm._vnode; + } + } + finally { + currentRenderingInstance = null; + setCurrentInstance(); + } + // if the returned array contains only a single node, allow it + if (isArray(vnode) && vnode.length === 1) { + vnode = vnode[0]; + } + // return empty vnode in case the render function errored out + if (!(vnode instanceof VNode)) { + if (isArray(vnode)) { + warn$2('Multiple root nodes returned from render function. Render function ' + + 'should return a single root node.', vm); + } + vnode = createEmptyVNode(); + } + // set parent + vnode.parent = _parentVnode; + return vnode; + }; + } + + function ensureCtor(comp, base) { + if (comp.__esModule || (hasSymbol && comp[Symbol.toStringTag] === 'Module')) { + comp = comp.default; + } + return isObject(comp) ? base.extend(comp) : comp; + } + function createAsyncPlaceholder(factory, data, context, children, tag) { + var node = createEmptyVNode(); + node.asyncFactory = factory; + node.asyncMeta = { data: data, context: context, children: children, tag: tag }; + return node; + } + function resolveAsyncComponent(factory, baseCtor) { + if (isTrue(factory.error) && isDef(factory.errorComp)) { + return factory.errorComp; + } + if (isDef(factory.resolved)) { + return factory.resolved; + } + var owner = currentRenderingInstance; + if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { + // already pending + factory.owners.push(owner); + } + if (isTrue(factory.loading) && isDef(factory.loadingComp)) { + return factory.loadingComp; + } + if (owner && !isDef(factory.owners)) { + var owners_1 = (factory.owners = [owner]); + var sync_1 = true; + var timerLoading_1 = null; + var timerTimeout_1 = null; + owner.$on('hook:destroyed', function () { return remove$2(owners_1, owner); }); + var forceRender_1 = function (renderCompleted) { + for (var i = 0, l = owners_1.length; i < l; i++) { + owners_1[i].$forceUpdate(); + } + if (renderCompleted) { + owners_1.length = 0; + if (timerLoading_1 !== null) { + clearTimeout(timerLoading_1); + timerLoading_1 = null; + } + if (timerTimeout_1 !== null) { + clearTimeout(timerTimeout_1); + timerTimeout_1 = null; + } + } + }; + var resolve = once(function (res) { + // cache resolved + factory.resolved = ensureCtor(res, baseCtor); + // invoke callbacks only if this is not a synchronous resolve + // (async resolves are shimmed as synchronous during SSR) + if (!sync_1) { + forceRender_1(true); + } + else { + owners_1.length = 0; + } + }); + var reject_1 = once(function (reason) { + warn$2("Failed to resolve async component: ".concat(String(factory)) + + (reason ? "\nReason: ".concat(reason) : '')); + if (isDef(factory.errorComp)) { + factory.error = true; + forceRender_1(true); + } + }); + var res_1 = factory(resolve, reject_1); + if (isObject(res_1)) { + if (isPromise(res_1)) { + // () => Promise + if (isUndef(factory.resolved)) { + res_1.then(resolve, reject_1); + } + } + else if (isPromise(res_1.component)) { + res_1.component.then(resolve, reject_1); + if (isDef(res_1.error)) { + factory.errorComp = ensureCtor(res_1.error, baseCtor); + } + if (isDef(res_1.loading)) { + factory.loadingComp = ensureCtor(res_1.loading, baseCtor); + if (res_1.delay === 0) { + factory.loading = true; + } + else { + // @ts-expect-error NodeJS timeout type + timerLoading_1 = setTimeout(function () { + timerLoading_1 = null; + if (isUndef(factory.resolved) && isUndef(factory.error)) { + factory.loading = true; + forceRender_1(false); + } + }, res_1.delay || 200); + } + } + if (isDef(res_1.timeout)) { + // @ts-expect-error NodeJS timeout type + timerTimeout_1 = setTimeout(function () { + timerTimeout_1 = null; + if (isUndef(factory.resolved)) { + reject_1("timeout (".concat(res_1.timeout, "ms)") ); + } + }, res_1.timeout); + } + } + } + sync_1 = false; + // return in case resolved synchronously + return factory.loading ? factory.loadingComp : factory.resolved; + } + } + + function getFirstComponentChild(children) { + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + var c = children[i]; + if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { + return c; + } + } + } + } + + function initEvents(vm) { + vm._events = Object.create(null); + vm._hasHookEvent = false; + // init parent attached events + var listeners = vm.$options._parentListeners; + if (listeners) { + updateComponentListeners(vm, listeners); + } + } + var target$1; + function add$1(event, fn) { + target$1.$on(event, fn); + } + function remove$1(event, fn) { + target$1.$off(event, fn); + } + function createOnceHandler$1(event, fn) { + var _target = target$1; + return function onceHandler() { + var res = fn.apply(null, arguments); + if (res !== null) { + _target.$off(event, onceHandler); + } + }; + } + function updateComponentListeners(vm, listeners, oldListeners) { + target$1 = vm; + updateListeners(listeners, oldListeners || {}, add$1, remove$1, createOnceHandler$1, vm); + target$1 = undefined; + } + function eventsMixin(Vue) { + var hookRE = /^hook:/; + Vue.prototype.$on = function (event, fn) { + var vm = this; + if (isArray(event)) { + for (var i = 0, l = event.length; i < l; i++) { + vm.$on(event[i], fn); + } + } + else { + (vm._events[event] || (vm._events[event] = [])).push(fn); + // optimize hook:event cost by using a boolean flag marked at registration + // instead of a hash lookup + if (hookRE.test(event)) { + vm._hasHookEvent = true; + } + } + return vm; + }; + Vue.prototype.$once = function (event, fn) { + var vm = this; + function on() { + vm.$off(event, on); + fn.apply(vm, arguments); + } + on.fn = fn; + vm.$on(event, on); + return vm; + }; + Vue.prototype.$off = function (event, fn) { + var vm = this; + // all + if (!arguments.length) { + vm._events = Object.create(null); + return vm; + } + // array of events + if (isArray(event)) { + for (var i_1 = 0, l = event.length; i_1 < l; i_1++) { + vm.$off(event[i_1], fn); + } + return vm; + } + // specific event + var cbs = vm._events[event]; + if (!cbs) { + return vm; + } + if (!fn) { + vm._events[event] = null; + return vm; + } + // specific handler + var cb; + var i = cbs.length; + while (i--) { + cb = cbs[i]; + if (cb === fn || cb.fn === fn) { + cbs.splice(i, 1); + break; + } + } + return vm; + }; + Vue.prototype.$emit = function (event) { + var vm = this; + { + var lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { + tip("Event \"".concat(lowerCaseEvent, "\" is emitted in component ") + + "".concat(formatComponentName(vm), " but the handler is registered for \"").concat(event, "\". ") + + "Note that HTML attributes are case-insensitive and you cannot use " + + "v-on to listen to camelCase events when using in-DOM templates. " + + "You should probably use \"".concat(hyphenate(event), "\" instead of \"").concat(event, "\".")); + } + } + var cbs = vm._events[event]; + if (cbs) { + cbs = cbs.length > 1 ? toArray(cbs) : cbs; + var args = toArray(arguments, 1); + var info = "event handler for \"".concat(event, "\""); + for (var i = 0, l = cbs.length; i < l; i++) { + invokeWithErrorHandling(cbs[i], vm, args, vm, info); + } + } + return vm; + }; + } + + var activeInstance = null; + var isUpdatingChildComponent = false; + function setActiveInstance(vm) { + var prevActiveInstance = activeInstance; + activeInstance = vm; + return function () { + activeInstance = prevActiveInstance; + }; + } + function initLifecycle(vm) { + var options = vm.$options; + // locate first non-abstract parent + var parent = options.parent; + if (parent && !options.abstract) { + while (parent.$options.abstract && parent.$parent) { + parent = parent.$parent; + } + parent.$children.push(vm); + } + vm.$parent = parent; + vm.$root = parent ? parent.$root : vm; + vm.$children = []; + vm.$refs = {}; + vm._provided = parent ? parent._provided : Object.create(null); + vm._watcher = null; + vm._inactive = null; + vm._directInactive = false; + vm._isMounted = false; + vm._isDestroyed = false; + vm._isBeingDestroyed = false; + } + function lifecycleMixin(Vue) { + Vue.prototype._update = function (vnode, hydrating) { + var vm = this; + var prevEl = vm.$el; + var prevVnode = vm._vnode; + var restoreActiveInstance = setActiveInstance(vm); + vm._vnode = vnode; + // Vue.prototype.__patch__ is injected in entry points + // based on the rendering backend used. + if (!prevVnode) { + // initial render + vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */); + } + else { + // updates + vm.$el = vm.__patch__(prevVnode, vnode); + } + restoreActiveInstance(); + // update __vue__ reference + if (prevEl) { + prevEl.__vue__ = null; + } + if (vm.$el) { + vm.$el.__vue__ = vm; + } + // if parent is an HOC, update its $el as well + var wrapper = vm; + while (wrapper && + wrapper.$vnode && + wrapper.$parent && + wrapper.$vnode === wrapper.$parent._vnode) { + wrapper.$parent.$el = wrapper.$el; + wrapper = wrapper.$parent; + } + // updated hook is called by the scheduler to ensure that children are + // updated in a parent's updated hook. + }; + Vue.prototype.$forceUpdate = function () { + var vm = this; + if (vm._watcher) { + vm._watcher.update(); + } + }; + Vue.prototype.$destroy = function () { + var vm = this; + if (vm._isBeingDestroyed) { + return; + } + callHook$1(vm, 'beforeDestroy'); + vm._isBeingDestroyed = true; + // remove self from parent + var parent = vm.$parent; + if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { + remove$2(parent.$children, vm); + } + // teardown scope. this includes both the render watcher and other + // watchers created + vm._scope.stop(); + // remove reference from data ob + // frozen object may not have observer. + if (vm._data.__ob__) { + vm._data.__ob__.vmCount--; + } + // call the last hook... + vm._isDestroyed = true; + // invoke destroy hooks on current rendered tree + vm.__patch__(vm._vnode, null); + // fire destroyed hook + callHook$1(vm, 'destroyed'); + // turn off all instance listeners. + vm.$off(); + // remove __vue__ reference + if (vm.$el) { + vm.$el.__vue__ = null; + } + // release circular reference (#6759) + if (vm.$vnode) { + vm.$vnode.parent = null; + } + }; + } + function mountComponent(vm, el, hydrating) { + vm.$el = el; + if (!vm.$options.render) { + // @ts-expect-error invalid type + vm.$options.render = createEmptyVNode; + { + /* istanbul ignore if */ + if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || + vm.$options.el || + el) { + warn$2('You are using the runtime-only build of Vue where the template ' + + 'compiler is not available. Either pre-compile the templates into ' + + 'render functions, or use the compiler-included build.', vm); + } + else { + warn$2('Failed to mount component: template or render function not defined.', vm); + } + } + } + callHook$1(vm, 'beforeMount'); + var updateComponent; + /* istanbul ignore if */ + if (config.performance && mark) { + updateComponent = function () { + var name = vm._name; + var id = vm._uid; + var startTag = "vue-perf-start:".concat(id); + var endTag = "vue-perf-end:".concat(id); + mark(startTag); + var vnode = vm._render(); + mark(endTag); + measure("vue ".concat(name, " render"), startTag, endTag); + mark(startTag); + vm._update(vnode, hydrating); + mark(endTag); + measure("vue ".concat(name, " patch"), startTag, endTag); + }; + } + else { + updateComponent = function () { + vm._update(vm._render(), hydrating); + }; + } + var watcherOptions = { + before: function () { + if (vm._isMounted && !vm._isDestroyed) { + callHook$1(vm, 'beforeUpdate'); + } + } + }; + { + watcherOptions.onTrack = function (e) { return callHook$1(vm, 'renderTracked', [e]); }; + watcherOptions.onTrigger = function (e) { return callHook$1(vm, 'renderTriggered', [e]); }; + } + // we set this to vm._watcher inside the watcher's constructor + // since the watcher's initial patch may call $forceUpdate (e.g. inside child + // component's mounted hook), which relies on vm._watcher being already defined + new Watcher(vm, updateComponent, noop, watcherOptions, true /* isRenderWatcher */); + hydrating = false; + // flush buffer for flush: "pre" watchers queued in setup() + var preWatchers = vm._preWatchers; + if (preWatchers) { + for (var i = 0; i < preWatchers.length; i++) { + preWatchers[i].run(); + } + } + // manually mounted instance, call mounted on self + // mounted is called for render-created child components in its inserted hook + if (vm.$vnode == null) { + vm._isMounted = true; + callHook$1(vm, 'mounted'); + } + return vm; + } + function updateChildComponent(vm, propsData, listeners, parentVnode, renderChildren) { + { + isUpdatingChildComponent = true; + } + // determine whether component has slot children + // we need to do this before overwriting $options._renderChildren. + // check if there are dynamic scopedSlots (hand-written or compiled but with + // dynamic slot names). Static scoped slots compiled from template has the + // "$stable" marker. + var newScopedSlots = parentVnode.data.scopedSlots; + var oldScopedSlots = vm.$scopedSlots; + var hasDynamicScopedSlot = !!((newScopedSlots && !newScopedSlots.$stable) || + (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || + (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) || + (!newScopedSlots && vm.$scopedSlots.$key)); + // Any static slot children from the parent may have changed during parent's + // update. Dynamic scoped slots may also have changed. In such cases, a forced + // update is necessary to ensure correctness. + var needsForceUpdate = !!(renderChildren || // has new static slots + vm.$options._renderChildren || // has old static slots + hasDynamicScopedSlot); + var prevVNode = vm.$vnode; + vm.$options._parentVnode = parentVnode; + vm.$vnode = parentVnode; // update vm's placeholder node without re-render + if (vm._vnode) { + // update child tree's parent + vm._vnode.parent = parentVnode; + } + vm.$options._renderChildren = renderChildren; + // update $attrs and $listeners hash + // these are also reactive so they may trigger child update if the child + // used them during render + var attrs = parentVnode.data.attrs || emptyObject; + if (vm._attrsProxy) { + // force update if attrs are accessed and has changed since it may be + // passed to a child component. + if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) { + needsForceUpdate = true; + } + } + vm.$attrs = attrs; + // update listeners + listeners = listeners || emptyObject; + var prevListeners = vm.$options._parentListeners; + if (vm._listenersProxy) { + syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners'); + } + vm.$listeners = vm.$options._parentListeners = listeners; + updateComponentListeners(vm, listeners, prevListeners); + // update props + if (propsData && vm.$options.props) { + toggleObserving(false); + var props = vm._props; + var propKeys = vm.$options._propKeys || []; + for (var i = 0; i < propKeys.length; i++) { + var key = propKeys[i]; + var propOptions = vm.$options.props; // wtf flow? + props[key] = validateProp(key, propOptions, propsData, vm); + } + toggleObserving(true); + // keep a copy of raw propsData + vm.$options.propsData = propsData; + } + // resolve slots + force update if has children + if (needsForceUpdate) { + vm.$slots = resolveSlots(renderChildren, parentVnode.context); + vm.$forceUpdate(); + } + { + isUpdatingChildComponent = false; + } + } + function isInInactiveTree(vm) { + while (vm && (vm = vm.$parent)) { + if (vm._inactive) + return true; + } + return false; + } + function activateChildComponent(vm, direct) { + if (direct) { + vm._directInactive = false; + if (isInInactiveTree(vm)) { + return; + } + } + else if (vm._directInactive) { + return; + } + if (vm._inactive || vm._inactive === null) { + vm._inactive = false; + for (var i = 0; i < vm.$children.length; i++) { + activateChildComponent(vm.$children[i]); + } + callHook$1(vm, 'activated'); + } + } + function deactivateChildComponent(vm, direct) { + if (direct) { + vm._directInactive = true; + if (isInInactiveTree(vm)) { + return; + } + } + if (!vm._inactive) { + vm._inactive = true; + for (var i = 0; i < vm.$children.length; i++) { + deactivateChildComponent(vm.$children[i]); + } + callHook$1(vm, 'deactivated'); + } + } + function callHook$1(vm, hook, args, setContext) { + if (setContext === void 0) { setContext = true; } + // #7573 disable dep collection when invoking lifecycle hooks + pushTarget(); + var prev = currentInstance; + setContext && setCurrentInstance(vm); + var handlers = vm.$options[hook]; + var info = "".concat(hook, " hook"); + if (handlers) { + for (var i = 0, j = handlers.length; i < j; i++) { + invokeWithErrorHandling(handlers[i], vm, args || null, vm, info); + } + } + if (vm._hasHookEvent) { + vm.$emit('hook:' + hook); + } + setContext && setCurrentInstance(prev); + popTarget(); + } + + var MAX_UPDATE_COUNT = 100; + var queue = []; + var activatedChildren = []; + var has = {}; + var circular = {}; + var waiting = false; + var flushing = false; + var index$1 = 0; + /** + * Reset the scheduler's state. + */ + function resetSchedulerState() { + index$1 = queue.length = activatedChildren.length = 0; + has = {}; + { + circular = {}; + } + waiting = flushing = false; + } + // Async edge case #6566 requires saving the timestamp when event listeners are + // attached. However, calling performance.now() has a perf overhead especially + // if the page has thousands of event listeners. Instead, we take a timestamp + // every time the scheduler flushes and use that for all event listeners + // attached during that flush. + var currentFlushTimestamp = 0; + // Async edge case fix requires storing an event listener's attach timestamp. + var getNow = Date.now; + // Determine what event timestamp the browser is using. Annoyingly, the + // timestamp can either be hi-res (relative to page load) or low-res + // (relative to UNIX epoch), so in order to compare time we have to use the + // same timestamp type when saving the flush timestamp. + // All IE versions use low-res event timestamps, and have problematic clock + // implementations (#9632) + if (inBrowser && !isIE) { + var performance_1 = window.performance; + if (performance_1 && + typeof performance_1.now === 'function' && + getNow() > document.createEvent('Event').timeStamp) { + // if the event timestamp, although evaluated AFTER the Date.now(), is + // smaller than it, it means the event is using a hi-res timestamp, + // and we need to use the hi-res version for event listener timestamps as + // well. + getNow = function () { return performance_1.now(); }; + } + } + var sortCompareFn = function (a, b) { + if (a.post) { + if (!b.post) + return 1; + } + else if (b.post) { + return -1; + } + return a.id - b.id; + }; + /** + * Flush both queues and run the watchers. + */ + function flushSchedulerQueue() { + currentFlushTimestamp = getNow(); + flushing = true; + var watcher, id; + // Sort queue before flush. + // This ensures that: + // 1. Components are updated from parent to child. (because parent is always + // created before the child) + // 2. A component's user watchers are run before its render watcher (because + // user watchers are created before the render watcher) + // 3. If a component is destroyed during a parent component's watcher run, + // its watchers can be skipped. + queue.sort(sortCompareFn); + // do not cache length because more watchers might be pushed + // as we run existing watchers + for (index$1 = 0; index$1 < queue.length; index$1++) { + watcher = queue[index$1]; + if (watcher.before) { + watcher.before(); + } + id = watcher.id; + has[id] = null; + watcher.run(); + // in dev build, check and stop circular updates. + if (has[id] != null) { + circular[id] = (circular[id] || 0) + 1; + if (circular[id] > MAX_UPDATE_COUNT) { + warn$2('You may have an infinite update loop ' + + (watcher.user + ? "in watcher with expression \"".concat(watcher.expression, "\"") + : "in a component render function."), watcher.vm); + break; + } + } + } + // keep copies of post queues before resetting state + var activatedQueue = activatedChildren.slice(); + var updatedQueue = queue.slice(); + resetSchedulerState(); + // call component updated and activated hooks + callActivatedHooks(activatedQueue); + callUpdatedHooks(updatedQueue); + cleanupDeps(); + // devtool hook + /* istanbul ignore if */ + if (devtools && config.devtools) { + devtools.emit('flush'); + } + } + function callUpdatedHooks(queue) { + var i = queue.length; + while (i--) { + var watcher = queue[i]; + var vm = watcher.vm; + if (vm && vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { + callHook$1(vm, 'updated'); + } + } + } + /** + * Queue a kept-alive component that was activated during patch. + * The queue will be processed after the entire tree has been patched. + */ + function queueActivatedComponent(vm) { + // setting _inactive to false here so that a render function can + // rely on checking whether it's in an inactive tree (e.g. router-view) + vm._inactive = false; + activatedChildren.push(vm); + } + function callActivatedHooks(queue) { + for (var i = 0; i < queue.length; i++) { + queue[i]._inactive = true; + activateChildComponent(queue[i], true /* true */); + } + } + /** + * Push a watcher into the watcher queue. + * Jobs with duplicate IDs will be skipped unless it's + * pushed when the queue is being flushed. + */ + function queueWatcher(watcher) { + var id = watcher.id; + if (has[id] != null) { + return; + } + if (watcher === Dep.target && watcher.noRecurse) { + return; + } + has[id] = true; + if (!flushing) { + queue.push(watcher); + } + else { + // if already flushing, splice the watcher based on its id + // if already past its id, it will be run next immediately. + var i = queue.length - 1; + while (i > index$1 && queue[i].id > watcher.id) { + i--; + } + queue.splice(i + 1, 0, watcher); + } + // queue the flush + if (!waiting) { + waiting = true; + if (!config.async) { + flushSchedulerQueue(); + return; + } + nextTick(flushSchedulerQueue); + } + } + + var WATCHER = "watcher"; + var WATCHER_CB = "".concat(WATCHER, " callback"); + var WATCHER_GETTER = "".concat(WATCHER, " getter"); + var WATCHER_CLEANUP = "".concat(WATCHER, " cleanup"); + // Simple effect. + function watchEffect(effect, options) { + return doWatch(effect, null, options); + } + function watchPostEffect(effect, options) { + return doWatch(effect, null, (__assign(__assign({}, options), { flush: 'post' }) )); + } + function watchSyncEffect(effect, options) { + return doWatch(effect, null, (__assign(__assign({}, options), { flush: 'sync' }) )); + } + // initial value for watchers to trigger on undefined initial values + var INITIAL_WATCHER_VALUE = {}; + // implementation + function watch(source, cb, options) { + if (typeof cb !== 'function') { + warn$2("`watch(fn, options?)` signature has been moved to a separate API. " + + "Use `watchEffect(fn, options?)` instead. `watch` now only " + + "supports `watch(source, cb, options?) signature."); + } + return doWatch(source, cb, options); + } + function doWatch(source, cb, _a) { + var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger; + if (!cb) { + if (immediate !== undefined) { + warn$2("watch() \"immediate\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + if (deep !== undefined) { + warn$2("watch() \"deep\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + } + var warnInvalidSource = function (s) { + warn$2("Invalid watch source: ".concat(s, ". A watch source can only be a getter/effect ") + + "function, a ref, a reactive object, or an array of these types."); + }; + var instance = currentInstance; + var call = function (fn, type, args) { + if (args === void 0) { args = null; } + return invokeWithErrorHandling(fn, null, args, instance, type); + }; + var getter; + var forceTrigger = false; + var isMultiSource = false; + if (isRef(source)) { + getter = function () { return source.value; }; + forceTrigger = isShallow(source); + } + else if (isReactive(source)) { + getter = function () { + source.__ob__.dep.depend(); + return source; + }; + deep = true; + } + else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); }); + getter = function () { + return source.map(function (s) { + if (isRef(s)) { + return s.value; + } + else if (isReactive(s)) { + return traverse(s); + } + else if (isFunction(s)) { + return call(s, WATCHER_GETTER); + } + else { + warnInvalidSource(s); + } + }); + }; + } + else if (isFunction(source)) { + if (cb) { + // getter with cb + getter = function () { return call(source, WATCHER_GETTER); }; + } + else { + // no cb -> simple effect + getter = function () { + if (instance && instance._isDestroyed) { + return; + } + if (cleanup) { + cleanup(); + } + return call(source, WATCHER, [onCleanup]); + }; + } + } + else { + getter = noop; + warnInvalidSource(source); + } + if (cb && deep) { + var baseGetter_1 = getter; + getter = function () { return traverse(baseGetter_1()); }; + } + var cleanup; + var onCleanup = function (fn) { + cleanup = watcher.onStop = function () { + call(fn, WATCHER_CLEANUP); + }; + }; + // in SSR there is no need to setup an actual effect, and it should be noop + // unless it's eager + if (isServerRendering()) { + // we will also not call the invalidate callback (+ runner is not set up) + onCleanup = noop; + if (!cb) { + getter(); + } + else if (immediate) { + call(cb, WATCHER_CB, [ + getter(), + isMultiSource ? [] : undefined, + onCleanup + ]); + } + return noop; + } + var watcher = new Watcher(currentInstance, getter, noop, { + lazy: true + }); + watcher.noRecurse = !cb; + var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; + // overwrite default run + watcher.run = function () { + if (!watcher.active) { + return; + } + if (cb) { + // watch(source, cb) + var newValue = watcher.get(); + if (deep || + forceTrigger || + (isMultiSource + ? newValue.some(function (v, i) { + return hasChanged(v, oldValue[i]); + }) + : hasChanged(newValue, oldValue))) { + // cleanup before running cb again + if (cleanup) { + cleanup(); + } + call(cb, WATCHER_CB, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } + else { + // watchEffect + watcher.get(); + } + }; + if (flush === 'sync') { + watcher.update = watcher.run; + } + else if (flush === 'post') { + watcher.post = true; + watcher.update = function () { return queueWatcher(watcher); }; + } + else { + // pre + watcher.update = function () { + if (instance && instance === currentInstance && !instance._isMounted) { + // pre-watcher triggered before + var buffer = instance._preWatchers || (instance._preWatchers = []); + if (buffer.indexOf(watcher) < 0) + buffer.push(watcher); + } + else { + queueWatcher(watcher); + } + }; + } + { + watcher.onTrack = onTrack; + watcher.onTrigger = onTrigger; + } + // initial run + if (cb) { + if (immediate) { + watcher.run(); + } + else { + oldValue = watcher.get(); + } + } + else if (flush === 'post' && instance) { + instance.$once('hook:mounted', function () { return watcher.get(); }); + } + else { + watcher.get(); + } + return function () { + watcher.teardown(); + }; + } + + var activeEffectScope; + var EffectScope = /** @class */ (function () { + function EffectScope(detached) { + if (detached === void 0) { detached = false; } + this.detached = detached; + /** + * @internal + */ + this.active = true; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = + (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + EffectScope.prototype.run = function (fn) { + if (this.active) { + var currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } + finally { + activeEffectScope = currentEffectScope; + } + } + else { + warn$2("cannot run an inactive effect scope."); + } + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.on = function () { + activeEffectScope = this; + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.off = function () { + activeEffectScope = this.parent; + }; + EffectScope.prototype.stop = function (fromParent) { + if (this.active) { + var i = void 0, l = void 0; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].teardown(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + // nested scope, dereference from parent to avoid memory leaks + if (!this.detached && this.parent && !fromParent) { + // optimized O(1) removal + var last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = undefined; + this.active = false; + } + }; + return EffectScope; + }()); + function effectScope(detached) { + return new EffectScope(detached); + } + /** + * @internal + */ + function recordEffectScope(effect, scope) { + if (scope === void 0) { scope = activeEffectScope; } + if (scope && scope.active) { + scope.effects.push(effect); + } + } + function getCurrentScope() { + return activeEffectScope; + } + function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } + else { + warn$2("onScopeDispose() is called when there is no active effect scope" + + " to be associated with."); + } + } + + function provide(key, value) { + if (!currentInstance) { + { + warn$2("provide() can only be used inside setup()."); + } + } + else { + // TS doesn't allow symbol as index type + resolveProvided(currentInstance)[key] = value; + } + } + function resolveProvided(vm) { + // by default an instance inherits its parent's provides object + // but when it needs to provide values of its own, it creates its + // own provides object using parent provides object as prototype. + // this way in `inject` we can simply look up injections from direct + // parent and let the prototype chain do the work. + var existing = vm._provided; + var parentProvides = vm.$parent && vm.$parent._provided; + if (parentProvides === existing) { + return (vm._provided = Object.create(parentProvides)); + } + else { + return existing; + } + } + function inject(key, defaultValue, treatDefaultAsFactory) { + if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; } + // fallback to `currentRenderingInstance` so that this can be called in + // a functional component + var instance = currentInstance; + if (instance) { + // #2400 + // to support `app.use` plugins, + // fallback to appContext's `provides` if the instance is at root + var provides = instance.$parent && instance.$parent._provided; + if (provides && key in provides) { + // TS doesn't allow symbol as index type + return provides[key]; + } + else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) + ? defaultValue.call(instance) + : defaultValue; + } + else { + warn$2("injection \"".concat(String(key), "\" not found.")); + } + } + else { + warn$2("inject() can only be used inside setup() or functional components."); + } + } + + /** + * @internal this function needs manual public type declaration because it relies + * on previously manually authored types from Vue 2 + */ + function h(type, props, children) { + if (!currentInstance) { + warn$2("globally imported h() can only be invoked when there is an active " + + "component instance, e.g. synchronously in a component's render or setup function."); + } + return createElement$1(currentInstance, type, props, children, 2, true); + } + + function handleError(err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget(); + try { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) + return; + } + catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); + } + finally { + popTarget(); + } + } + function invokeWithErrorHandling(handler, context, args, vm, info) { + var res; + try { + res = args ? handler.apply(context, args) : handler.call(context); + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); + res._handled = true; + } + } + catch (e) { + handleError(e, vm, info); + } + return res; + } + function globalHandleError(err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info); + } + catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler'); + } + } + } + logError(err, vm, info); + } + function logError(err, vm, info) { + { + warn$2("Error in ".concat(info, ": \"").concat(err.toString(), "\""), vm); + } + /* istanbul ignore else */ + if (inBrowser && typeof console !== 'undefined') { + console.error(err); + } + else { + throw err; + } + } + + /* globals MutationObserver */ + var isUsingMicroTask = false; + var callbacks = []; + var pending = false; + function flushCallbacks() { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } + } + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc; + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p_1 = Promise.resolve(); + timerFunc = function () { + p_1.then(flushCallbacks); + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) + setTimeout(noop); + }; + isUsingMicroTask = true; + } + else if (!isIE && + typeof MutationObserver !== 'undefined' && + (isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]')) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter_1 = 1; + var observer = new MutationObserver(flushCallbacks); + var textNode_1 = document.createTextNode(String(counter_1)); + observer.observe(textNode_1, { + characterData: true + }); + timerFunc = function () { + counter_1 = (counter_1 + 1) % 2; + textNode_1.data = String(counter_1); + }; + isUsingMicroTask = true; + } + else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Technically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function () { + setImmediate(flushCallbacks); + }; + } + else { + // Fallback to setTimeout. + timerFunc = function () { + setTimeout(flushCallbacks, 0); + }; + } + /** + * @internal + */ + function nextTick(cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } + catch (e) { + handleError(e, ctx, 'nextTick'); + } + } + else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + timerFunc(); + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }); + } + } + + function useCssModule(name) { + /* istanbul ignore else */ + { + { + warn$2("useCssModule() is not supported in the global build."); + } + return emptyObject; + } + } + + /** + * Runtime helper for SFC's CSS variable injection feature. + * @private + */ + function useCssVars(getter) { + if (!inBrowser && !false) + return; + var instance = currentInstance; + if (!instance) { + warn$2("useCssVars is called without current active component instance."); + return; + } + watchPostEffect(function () { + var el = instance.$el; + var vars = getter(instance, instance._setupProxy); + if (el && el.nodeType === 1) { + var style = el.style; + for (var key in vars) { + style.setProperty("--".concat(key), vars[key]); + } + } + }); + } + + /** + * v3-compatible async component API. + * @internal the type is manually declared in <root>/types/v3-define-async-component.d.ts + * because it relies on existing manual types + */ + function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out + _b = source.suspensible, // undefined = never times out + suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true + userOnError = source.onError; + if (suspensible) { + warn$2("The suspensiblbe option for async components is not supported in Vue2. It is ignored."); + } + var pendingRequest = null; + var retries = 0; + var retry = function () { + retries++; + pendingRequest = null; + return load(); + }; + var load = function () { + var thisRequest; + return (pendingRequest || + (thisRequest = pendingRequest = + loader() + .catch(function (err) { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise(function (resolve, reject) { + var userRetry = function () { return resolve(retry()); }; + var userFail = function () { return reject(err); }; + userOnError(err, userRetry, userFail, retries + 1); + }); + } + else { + throw err; + } + }) + .then(function (comp) { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn$2("Async component loader resolved to undefined. " + + "If you are using retry(), make sure to return its return value."); + } + // interop module default + if (comp && + (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error("Invalid async component load result: ".concat(comp)); + } + return comp; + }))); + }; + return function () { + var component = load(); + return { + component: component, + delay: delay, + timeout: timeout, + error: errorComponent, + loading: loadingComponent + }; + }; + } + + function createLifeCycle(hookName) { + return function (fn, target) { + if (target === void 0) { target = currentInstance; } + if (!target) { + warn$2("".concat(formatName(hookName), " is called when there is no active component instance to be ") + + "associated with. " + + "Lifecycle injection APIs can only be used during execution of setup()."); + return; + } + return injectHook(target, hookName, fn); + }; + } + function formatName(name) { + if (name === 'beforeDestroy') { + name = 'beforeUnmount'; + } + else if (name === 'destroyed') { + name = 'unmounted'; + } + return "on".concat(name[0].toUpperCase() + name.slice(1)); + } + function injectHook(instance, hookName, fn) { + var options = instance.$options; + options[hookName] = mergeLifecycleHook(options[hookName], fn); + } + var onBeforeMount = createLifeCycle('beforeMount'); + var onMounted = createLifeCycle('mounted'); + var onBeforeUpdate = createLifeCycle('beforeUpdate'); + var onUpdated = createLifeCycle('updated'); + var onBeforeUnmount = createLifeCycle('beforeDestroy'); + var onUnmounted = createLifeCycle('destroyed'); + var onActivated = createLifeCycle('activated'); + var onDeactivated = createLifeCycle('deactivated'); + var onServerPrefetch = createLifeCycle('serverPrefetch'); + var onRenderTracked = createLifeCycle('renderTracked'); + var onRenderTriggered = createLifeCycle('renderTriggered'); + var injectErrorCapturedHook = createLifeCycle('errorCaptured'); + function onErrorCaptured(hook, target) { + if (target === void 0) { target = currentInstance; } + injectErrorCapturedHook(hook, target); + } + + /** + * Note: also update dist/vue.runtime.mjs when adding new exports to this file. + */ + var version = '2.7.13'; + /** + * @internal type is manually declared in <root>/types/v3-define-component.d.ts + */ + function defineComponent(options) { + return options; + } + + var vca = /*#__PURE__*/Object.freeze({ + __proto__: null, + version: version, + defineComponent: defineComponent, + ref: ref$1, + shallowRef: shallowRef, + isRef: isRef, + toRef: toRef, + toRefs: toRefs, + unref: unref, + proxyRefs: proxyRefs, + customRef: customRef, + triggerRef: triggerRef, + reactive: reactive, + isReactive: isReactive, + isReadonly: isReadonly, + isShallow: isShallow, + isProxy: isProxy, + shallowReactive: shallowReactive, + markRaw: markRaw, + toRaw: toRaw, + readonly: readonly, + shallowReadonly: shallowReadonly, + computed: computed, + watch: watch, + watchEffect: watchEffect, + watchPostEffect: watchPostEffect, + watchSyncEffect: watchSyncEffect, + EffectScope: EffectScope, + effectScope: effectScope, + onScopeDispose: onScopeDispose, + getCurrentScope: getCurrentScope, + provide: provide, + inject: inject, + h: h, + getCurrentInstance: getCurrentInstance, + useSlots: useSlots, + useAttrs: useAttrs, + useListeners: useListeners, + mergeDefaults: mergeDefaults, + nextTick: nextTick, + set: set, + del: del, + useCssModule: useCssModule, + useCssVars: useCssVars, + defineAsyncComponent: defineAsyncComponent, + onBeforeMount: onBeforeMount, + onMounted: onMounted, + onBeforeUpdate: onBeforeUpdate, + onUpdated: onUpdated, + onBeforeUnmount: onBeforeUnmount, + onUnmounted: onUnmounted, + onActivated: onActivated, + onDeactivated: onDeactivated, + onServerPrefetch: onServerPrefetch, + onRenderTracked: onRenderTracked, + onRenderTriggered: onRenderTriggered, + onErrorCaptured: onErrorCaptured + }); + + var seenObjects = new _Set(); + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse(val) { + _traverse(val, seenObjects); + seenObjects.clear(); + return val; + } + function _traverse(val, seen) { + var i, keys; + var isA = isArray(val); + if ((!isA && !isObject(val)) || + val.__v_skip /* ReactiveFlags.SKIP */ || + Object.isFrozen(val) || + val instanceof VNode) { + return; + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return; + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) + _traverse(val[i], seen); + } + else if (isRef(val)) { + _traverse(val.value, seen); + } + else { + keys = Object.keys(val); + i = keys.length; + while (i--) + _traverse(val[keys[i]], seen); + } + } + + var uid$1 = 0; + /** + * A watcher parses an expression, collects dependencies, + * and fires callback when the expression value changes. + * This is used for both the $watch() api and directives. + * @internal + */ + var Watcher = /** @class */ (function () { + function Watcher(vm, expOrFn, cb, options, isRenderWatcher) { + recordEffectScope(this, + // if the active effect scope is manually created (not a component scope), + // prioritize it + activeEffectScope && !activeEffectScope._vm + ? activeEffectScope + : vm + ? vm._scope + : undefined); + if ((this.vm = vm) && isRenderWatcher) { + vm._watcher = this; + } + // options + if (options) { + this.deep = !!options.deep; + this.user = !!options.user; + this.lazy = !!options.lazy; + this.sync = !!options.sync; + this.before = options.before; + { + this.onTrack = options.onTrack; + this.onTrigger = options.onTrigger; + } + } + else { + this.deep = this.user = this.lazy = this.sync = false; + } + this.cb = cb; + this.id = ++uid$1; // uid for batching + this.active = true; + this.post = false; + this.dirty = this.lazy; // for lazy watchers + this.deps = []; + this.newDeps = []; + this.depIds = new _Set(); + this.newDepIds = new _Set(); + this.expression = expOrFn.toString() ; + // parse expression for getter + if (isFunction(expOrFn)) { + this.getter = expOrFn; + } + else { + this.getter = parsePath(expOrFn); + if (!this.getter) { + this.getter = noop; + warn$2("Failed watching path: \"".concat(expOrFn, "\" ") + + 'Watcher only accepts simple dot-delimited paths. ' + + 'For full control, use a function instead.', vm); + } + } + this.value = this.lazy ? undefined : this.get(); + } + /** + * Evaluate the getter, and re-collect dependencies. + */ + Watcher.prototype.get = function () { + pushTarget(this); + var value; + var vm = this.vm; + try { + value = this.getter.call(vm, vm); + } + catch (e) { + if (this.user) { + handleError(e, vm, "getter for watcher \"".concat(this.expression, "\"")); + } + else { + throw e; + } + } + finally { + // "touch" every property so they are all tracked as + // dependencies for deep watching + if (this.deep) { + traverse(value); + } + popTarget(); + this.cleanupDeps(); + } + return value; + }; + /** + * Add a dependency to this directive. + */ + Watcher.prototype.addDep = function (dep) { + var id = dep.id; + if (!this.newDepIds.has(id)) { + this.newDepIds.add(id); + this.newDeps.push(dep); + if (!this.depIds.has(id)) { + dep.addSub(this); + } + } + }; + /** + * Clean up for dependency collection. + */ + Watcher.prototype.cleanupDeps = function () { + var i = this.deps.length; + while (i--) { + var dep = this.deps[i]; + if (!this.newDepIds.has(dep.id)) { + dep.removeSub(this); + } + } + var tmp = this.depIds; + this.depIds = this.newDepIds; + this.newDepIds = tmp; + this.newDepIds.clear(); + tmp = this.deps; + this.deps = this.newDeps; + this.newDeps = tmp; + this.newDeps.length = 0; + }; + /** + * Subscriber interface. + * Will be called when a dependency changes. + */ + Watcher.prototype.update = function () { + /* istanbul ignore else */ + if (this.lazy) { + this.dirty = true; + } + else if (this.sync) { + this.run(); + } + else { + queueWatcher(this); + } + }; + /** + * Scheduler job interface. + * Will be called by the scheduler. + */ + Watcher.prototype.run = function () { + if (this.active) { + var value = this.get(); + if (value !== this.value || + // Deep watchers and watchers on Object/Arrays should fire even + // when the value is the same, because the value may + // have mutated. + isObject(value) || + this.deep) { + // set new value + var oldValue = this.value; + this.value = value; + if (this.user) { + var info = "callback for watcher \"".concat(this.expression, "\""); + invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info); + } + else { + this.cb.call(this.vm, value, oldValue); + } + } + } + }; + /** + * Evaluate the value of the watcher. + * This only gets called for lazy watchers. + */ + Watcher.prototype.evaluate = function () { + this.value = this.get(); + this.dirty = false; + }; + /** + * Depend on all deps collected by this watcher. + */ + Watcher.prototype.depend = function () { + var i = this.deps.length; + while (i--) { + this.deps[i].depend(); + } + }; + /** + * Remove self from all dependencies' subscriber list. + */ + Watcher.prototype.teardown = function () { + if (this.vm && !this.vm._isBeingDestroyed) { + remove$2(this.vm._scope.effects, this); + } + if (this.active) { + var i = this.deps.length; + while (i--) { + this.deps[i].removeSub(this); + } + this.active = false; + if (this.onStop) { + this.onStop(); + } + } + }; + return Watcher; + }()); + + var sharedPropertyDefinition = { + enumerable: true, + configurable: true, + get: noop, + set: noop + }; + function proxy(target, sourceKey, key) { + sharedPropertyDefinition.get = function proxyGetter() { + return this[sourceKey][key]; + }; + sharedPropertyDefinition.set = function proxySetter(val) { + this[sourceKey][key] = val; + }; + Object.defineProperty(target, key, sharedPropertyDefinition); + } + function initState(vm) { + var opts = vm.$options; + if (opts.props) + initProps$1(vm, opts.props); + // Composition API + initSetup(vm); + if (opts.methods) + initMethods(vm, opts.methods); + if (opts.data) { + initData(vm); + } + else { + var ob = observe((vm._data = {})); + ob && ob.vmCount++; + } + if (opts.computed) + initComputed$1(vm, opts.computed); + if (opts.watch && opts.watch !== nativeWatch) { + initWatch(vm, opts.watch); + } + } + function initProps$1(vm, propsOptions) { + var propsData = vm.$options.propsData || {}; + var props = (vm._props = shallowReactive({})); + // cache prop keys so that future props updates can iterate using Array + // instead of dynamic object key enumeration. + var keys = (vm.$options._propKeys = []); + var isRoot = !vm.$parent; + // root instance props should be converted + if (!isRoot) { + toggleObserving(false); + } + var _loop_1 = function (key) { + keys.push(key); + var value = validateProp(key, propsOptions, propsData, vm); + /* istanbul ignore else */ + { + var hyphenatedKey = hyphenate(key); + if (isReservedAttribute(hyphenatedKey) || + config.isReservedAttr(hyphenatedKey)) { + warn$2("\"".concat(hyphenatedKey, "\" is a reserved attribute and cannot be used as component prop."), vm); + } + defineReactive(props, key, value, function () { + if (!isRoot && !isUpdatingChildComponent) { + warn$2("Avoid mutating a prop directly since the value will be " + + "overwritten whenever the parent component re-renders. " + + "Instead, use a data or computed property based on the prop's " + + "value. Prop being mutated: \"".concat(key, "\""), vm); + } + }); + } + // static props are already proxied on the component's prototype + // during Vue.extend(). We only need to proxy props defined at + // instantiation here. + if (!(key in vm)) { + proxy(vm, "_props", key); + } + }; + for (var key in propsOptions) { + _loop_1(key); + } + toggleObserving(true); + } + function initData(vm) { + var data = vm.$options.data; + data = vm._data = isFunction(data) ? getData(data, vm) : data || {}; + if (!isPlainObject(data)) { + data = {}; + warn$2('data functions should return an object:\n' + + 'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm); + } + // proxy data on instance + var keys = Object.keys(data); + var props = vm.$options.props; + var methods = vm.$options.methods; + var i = keys.length; + while (i--) { + var key = keys[i]; + { + if (methods && hasOwn(methods, key)) { + warn$2("Method \"".concat(key, "\" has already been defined as a data property."), vm); + } + } + if (props && hasOwn(props, key)) { + warn$2("The data property \"".concat(key, "\" is already declared as a prop. ") + + "Use prop default value instead.", vm); + } + else if (!isReserved(key)) { + proxy(vm, "_data", key); + } + } + // observe data + var ob = observe(data); + ob && ob.vmCount++; + } + function getData(data, vm) { + // #7573 disable dep collection when invoking data getters + pushTarget(); + try { + return data.call(vm, vm); + } + catch (e) { + handleError(e, vm, "data()"); + return {}; + } + finally { + popTarget(); + } + } + var computedWatcherOptions = { lazy: true }; + function initComputed$1(vm, computed) { + // $flow-disable-line + var watchers = (vm._computedWatchers = Object.create(null)); + // computed properties are just getters during SSR + var isSSR = isServerRendering(); + for (var key in computed) { + var userDef = computed[key]; + var getter = isFunction(userDef) ? userDef : userDef.get; + if (getter == null) { + warn$2("Getter is missing for computed property \"".concat(key, "\"."), vm); + } + if (!isSSR) { + // create internal watcher for the computed property. + watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions); + } + // component-defined computed properties are already defined on the + // component prototype. We only need to define computed properties defined + // at instantiation here. + if (!(key in vm)) { + defineComputed(vm, key, userDef); + } + else { + if (key in vm.$data) { + warn$2("The computed property \"".concat(key, "\" is already defined in data."), vm); + } + else if (vm.$options.props && key in vm.$options.props) { + warn$2("The computed property \"".concat(key, "\" is already defined as a prop."), vm); + } + else if (vm.$options.methods && key in vm.$options.methods) { + warn$2("The computed property \"".concat(key, "\" is already defined as a method."), vm); + } + } + } + } + function defineComputed(target, key, userDef) { + var shouldCache = !isServerRendering(); + if (isFunction(userDef)) { + sharedPropertyDefinition.get = shouldCache + ? createComputedGetter(key) + : createGetterInvoker(userDef); + sharedPropertyDefinition.set = noop; + } + else { + sharedPropertyDefinition.get = userDef.get + ? shouldCache && userDef.cache !== false + ? createComputedGetter(key) + : createGetterInvoker(userDef.get) + : noop; + sharedPropertyDefinition.set = userDef.set || noop; + } + if (sharedPropertyDefinition.set === noop) { + sharedPropertyDefinition.set = function () { + warn$2("Computed property \"".concat(key, "\" was assigned to but it has no setter."), this); + }; + } + Object.defineProperty(target, key, sharedPropertyDefinition); + } + function createComputedGetter(key) { + return function computedGetter() { + var watcher = this._computedWatchers && this._computedWatchers[key]; + if (watcher) { + if (watcher.dirty) { + watcher.evaluate(); + } + if (Dep.target) { + if (Dep.target.onTrack) { + Dep.target.onTrack({ + effect: Dep.target, + target: this, + type: "get" /* TrackOpTypes.GET */, + key: key + }); + } + watcher.depend(); + } + return watcher.value; + } + }; + } + function createGetterInvoker(fn) { + return function computedGetter() { + return fn.call(this, this); + }; + } + function initMethods(vm, methods) { + var props = vm.$options.props; + for (var key in methods) { + { + if (typeof methods[key] !== 'function') { + warn$2("Method \"".concat(key, "\" has type \"").concat(typeof methods[key], "\" in the component definition. ") + + "Did you reference the function correctly?", vm); + } + if (props && hasOwn(props, key)) { + warn$2("Method \"".concat(key, "\" has already been defined as a prop."), vm); + } + if (key in vm && isReserved(key)) { + warn$2("Method \"".concat(key, "\" conflicts with an existing Vue instance method. ") + + "Avoid defining component methods that start with _ or $."); + } + } + vm[key] = typeof methods[key] !== 'function' ? noop : bind$1(methods[key], vm); + } + } + function initWatch(vm, watch) { + for (var key in watch) { + var handler = watch[key]; + if (isArray(handler)) { + for (var i = 0; i < handler.length; i++) { + createWatcher(vm, key, handler[i]); + } + } + else { + createWatcher(vm, key, handler); + } + } + } + function createWatcher(vm, expOrFn, handler, options) { + if (isPlainObject(handler)) { + options = handler; + handler = handler.handler; + } + if (typeof handler === 'string') { + handler = vm[handler]; + } + return vm.$watch(expOrFn, handler, options); + } + function stateMixin(Vue) { + // flow somehow has problems with directly declared definition object + // when using Object.defineProperty, so we have to procedurally build up + // the object here. + var dataDef = {}; + dataDef.get = function () { + return this._data; + }; + var propsDef = {}; + propsDef.get = function () { + return this._props; + }; + { + dataDef.set = function () { + warn$2('Avoid replacing instance root $data. ' + + 'Use nested data properties instead.', this); + }; + propsDef.set = function () { + warn$2("$props is readonly.", this); + }; + } + Object.defineProperty(Vue.prototype, '$data', dataDef); + Object.defineProperty(Vue.prototype, '$props', propsDef); + Vue.prototype.$set = set; + Vue.prototype.$delete = del; + Vue.prototype.$watch = function (expOrFn, cb, options) { + var vm = this; + if (isPlainObject(cb)) { + return createWatcher(vm, expOrFn, cb, options); + } + options = options || {}; + options.user = true; + var watcher = new Watcher(vm, expOrFn, cb, options); + if (options.immediate) { + var info = "callback for immediate watcher \"".concat(watcher.expression, "\""); + pushTarget(); + invokeWithErrorHandling(cb, vm, [watcher.value], vm, info); + popTarget(); + } + return function unwatchFn() { + watcher.teardown(); + }; + }; + } + + function initProvide(vm) { + var provideOption = vm.$options.provide; + if (provideOption) { + var provided = isFunction(provideOption) + ? provideOption.call(vm) + : provideOption; + if (!isObject(provided)) { + return; + } + var source = resolveProvided(vm); + // IE9 doesn't support Object.getOwnPropertyDescriptors so we have to + // iterate the keys ourselves. + var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key)); + } + } + } + function initInjections(vm) { + var result = resolveInject(vm.$options.inject, vm); + if (result) { + toggleObserving(false); + Object.keys(result).forEach(function (key) { + /* istanbul ignore else */ + { + defineReactive(vm, key, result[key], function () { + warn$2("Avoid mutating an injected value directly since the changes will be " + + "overwritten whenever the provided component re-renders. " + + "injection being mutated: \"".concat(key, "\""), vm); + }); + } + }); + toggleObserving(true); + } + } + function resolveInject(inject, vm) { + if (inject) { + // inject is :any because flow is not smart enough to figure out cached + var result = Object.create(null); + var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + // #6574 in case the inject object is observed... + if (key === '__ob__') + continue; + var provideKey = inject[key].from; + if (provideKey in vm._provided) { + result[key] = vm._provided[provideKey]; + } + else if ('default' in inject[key]) { + var provideDefault = inject[key].default; + result[key] = isFunction(provideDefault) + ? provideDefault.call(vm) + : provideDefault; + } + else { + warn$2("Injection \"".concat(key, "\" not found"), vm); + } + } + return result; + } + } + + var uid = 0; + function initMixin$1(Vue) { + Vue.prototype._init = function (options) { + var vm = this; + // a uid + vm._uid = uid++; + var startTag, endTag; + /* istanbul ignore if */ + if (config.performance && mark) { + startTag = "vue-perf-start:".concat(vm._uid); + endTag = "vue-perf-end:".concat(vm._uid); + mark(startTag); + } + // a flag to mark this as a Vue instance without having to do instanceof + // check + vm._isVue = true; + // avoid instances from being observed + vm.__v_skip = true; + // effect scope + vm._scope = new EffectScope(true /* detached */); + vm._scope._vm = true; + // merge options + if (options && options._isComponent) { + // optimize internal component instantiation + // since dynamic options merging is pretty slow, and none of the + // internal component options needs special treatment. + initInternalComponent(vm, options); + } + else { + vm.$options = mergeOptions(resolveConstructorOptions(vm.constructor), options || {}, vm); + } + /* istanbul ignore else */ + { + initProxy(vm); + } + // expose real self + vm._self = vm; + initLifecycle(vm); + initEvents(vm); + initRender(vm); + callHook$1(vm, 'beforeCreate', undefined, false /* setContext */); + initInjections(vm); // resolve injections before data/props + initState(vm); + initProvide(vm); // resolve provide after data/props + callHook$1(vm, 'created'); + /* istanbul ignore if */ + if (config.performance && mark) { + vm._name = formatComponentName(vm, false); + mark(endTag); + measure("vue ".concat(vm._name, " init"), startTag, endTag); + } + if (vm.$options.el) { + vm.$mount(vm.$options.el); + } + }; + } + function initInternalComponent(vm, options) { + var opts = (vm.$options = Object.create(vm.constructor.options)); + // doing this because it's faster than dynamic enumeration. + var parentVnode = options._parentVnode; + opts.parent = options.parent; + opts._parentVnode = parentVnode; + var vnodeComponentOptions = parentVnode.componentOptions; + opts.propsData = vnodeComponentOptions.propsData; + opts._parentListeners = vnodeComponentOptions.listeners; + opts._renderChildren = vnodeComponentOptions.children; + opts._componentTag = vnodeComponentOptions.tag; + if (options.render) { + opts.render = options.render; + opts.staticRenderFns = options.staticRenderFns; + } + } + function resolveConstructorOptions(Ctor) { + var options = Ctor.options; + if (Ctor.super) { + var superOptions = resolveConstructorOptions(Ctor.super); + var cachedSuperOptions = Ctor.superOptions; + if (superOptions !== cachedSuperOptions) { + // super option changed, + // need to resolve new options. + Ctor.superOptions = superOptions; + // check if there are any late-modified/attached options (#4976) + var modifiedOptions = resolveModifiedOptions(Ctor); + // update base extend options + if (modifiedOptions) { + extend(Ctor.extendOptions, modifiedOptions); + } + options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); + if (options.name) { + options.components[options.name] = Ctor; + } + } + } + return options; + } + function resolveModifiedOptions(Ctor) { + var modified; + var latest = Ctor.options; + var sealed = Ctor.sealedOptions; + for (var key in latest) { + if (latest[key] !== sealed[key]) { + if (!modified) + modified = {}; + modified[key] = latest[key]; + } + } + return modified; + } + + function FunctionalRenderContext(data, props, children, parent, Ctor) { + var _this = this; + var options = Ctor.options; + // ensure the createElement function in functional components + // gets a unique context - this is necessary for correct named slot check + var contextVm; + if (hasOwn(parent, '_uid')) { + contextVm = Object.create(parent); + contextVm._original = parent; + } + else { + // the context vm passed in is a functional context as well. + // in this case we want to make sure we are able to get a hold to the + // real context instance. + contextVm = parent; + // @ts-ignore + parent = parent._original; + } + var isCompiled = isTrue(options._compiled); + var needNormalization = !isCompiled; + this.data = data; + this.props = props; + this.children = children; + this.parent = parent; + this.listeners = data.on || emptyObject; + this.injections = resolveInject(options.inject, parent); + this.slots = function () { + if (!_this.$slots) { + normalizeScopedSlots(parent, data.scopedSlots, (_this.$slots = resolveSlots(children, parent))); + } + return _this.$slots; + }; + Object.defineProperty(this, 'scopedSlots', { + enumerable: true, + get: function () { + return normalizeScopedSlots(parent, data.scopedSlots, this.slots()); + } + }); + // support for compiled functional template + if (isCompiled) { + // exposing $options for renderStatic() + this.$options = options; + // pre-resolve slots for renderSlot() + this.$slots = this.slots(); + this.$scopedSlots = normalizeScopedSlots(parent, data.scopedSlots, this.$slots); + } + if (options._scopeId) { + this._c = function (a, b, c, d) { + var vnode = createElement$1(contextVm, a, b, c, d, needNormalization); + if (vnode && !isArray(vnode)) { + vnode.fnScopeId = options._scopeId; + vnode.fnContext = parent; + } + return vnode; + }; + } + else { + this._c = function (a, b, c, d) { + return createElement$1(contextVm, a, b, c, d, needNormalization); + }; + } + } + installRenderHelpers(FunctionalRenderContext.prototype); + function createFunctionalComponent(Ctor, propsData, data, contextVm, children) { + var options = Ctor.options; + var props = {}; + var propOptions = options.props; + if (isDef(propOptions)) { + for (var key in propOptions) { + props[key] = validateProp(key, propOptions, propsData || emptyObject); + } + } + else { + if (isDef(data.attrs)) + mergeProps(props, data.attrs); + if (isDef(data.props)) + mergeProps(props, data.props); + } + var renderContext = new FunctionalRenderContext(data, props, children, contextVm, Ctor); + var vnode = options.render.call(null, renderContext._c, renderContext); + if (vnode instanceof VNode) { + return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext); + } + else if (isArray(vnode)) { + var vnodes = normalizeChildren(vnode) || []; + var res = new Array(vnodes.length); + for (var i = 0; i < vnodes.length; i++) { + res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); + } + return res; + } + } + function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) { + // #7817 clone node before setting fnContext, otherwise if the node is reused + // (e.g. it was from a cached normal slot) the fnContext causes named slots + // that should not be matched to match. + var clone = cloneVNode(vnode); + clone.fnContext = contextVm; + clone.fnOptions = options; + { + (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = + renderContext; + } + if (data.slot) { + (clone.data || (clone.data = {})).slot = data.slot; + } + return clone; + } + function mergeProps(to, from) { + for (var key in from) { + to[camelize(key)] = from[key]; + } + } + + function getComponentName(options) { + return options.name || options.__name || options._componentTag; + } + // inline hooks to be invoked on component VNodes during patch + var componentVNodeHooks = { + init: function (vnode, hydrating) { + if (vnode.componentInstance && + !vnode.componentInstance._isDestroyed && + vnode.data.keepAlive) { + // kept-alive components, treat as a patch + var mountedNode = vnode; // work around flow + componentVNodeHooks.prepatch(mountedNode, mountedNode); + } + else { + var child = (vnode.componentInstance = createComponentInstanceForVnode(vnode, activeInstance)); + child.$mount(hydrating ? vnode.elm : undefined, hydrating); + } + }, + prepatch: function (oldVnode, vnode) { + var options = vnode.componentOptions; + var child = (vnode.componentInstance = oldVnode.componentInstance); + updateChildComponent(child, options.propsData, // updated props + options.listeners, // updated listeners + vnode, // new parent vnode + options.children // new children + ); + }, + insert: function (vnode) { + var context = vnode.context, componentInstance = vnode.componentInstance; + if (!componentInstance._isMounted) { + componentInstance._isMounted = true; + callHook$1(componentInstance, 'mounted'); + } + if (vnode.data.keepAlive) { + if (context._isMounted) { + // vue-router#1212 + // During updates, a kept-alive component's child components may + // change, so directly walking the tree here may call activated hooks + // on incorrect children. Instead we push them into a queue which will + // be processed after the whole patch process ended. + queueActivatedComponent(componentInstance); + } + else { + activateChildComponent(componentInstance, true /* direct */); + } + } + }, + destroy: function (vnode) { + var componentInstance = vnode.componentInstance; + if (!componentInstance._isDestroyed) { + if (!vnode.data.keepAlive) { + componentInstance.$destroy(); + } + else { + deactivateChildComponent(componentInstance, true /* direct */); + } + } + } + }; + var hooksToMerge = Object.keys(componentVNodeHooks); + function createComponent(Ctor, data, context, children, tag) { + if (isUndef(Ctor)) { + return; + } + var baseCtor = context.$options._base; + // plain options object: turn it into a constructor + if (isObject(Ctor)) { + Ctor = baseCtor.extend(Ctor); + } + // if at this stage it's not a constructor or an async component factory, + // reject. + if (typeof Ctor !== 'function') { + { + warn$2("Invalid Component definition: ".concat(String(Ctor)), context); + } + return; + } + // async component + var asyncFactory; + // @ts-expect-error + if (isUndef(Ctor.cid)) { + asyncFactory = Ctor; + Ctor = resolveAsyncComponent(asyncFactory, baseCtor); + if (Ctor === undefined) { + // return a placeholder node for async component, which is rendered + // as a comment node but preserves all the raw information for the node. + // the information will be used for async server-rendering and hydration. + return createAsyncPlaceholder(asyncFactory, data, context, children, tag); + } + } + data = data || {}; + // resolve constructor options in case global mixins are applied after + // component constructor creation + resolveConstructorOptions(Ctor); + // transform component v-model data into props & events + if (isDef(data.model)) { + // @ts-expect-error + transformModel(Ctor.options, data); + } + // extract props + // @ts-expect-error + var propsData = extractPropsFromVNodeData(data, Ctor, tag); + // functional component + // @ts-expect-error + if (isTrue(Ctor.options.functional)) { + return createFunctionalComponent(Ctor, propsData, data, context, children); + } + // extract listeners, since these needs to be treated as + // child component listeners instead of DOM listeners + var listeners = data.on; + // replace with listeners with .native modifier + // so it gets processed during parent component patch. + data.on = data.nativeOn; + // @ts-expect-error + if (isTrue(Ctor.options.abstract)) { + // abstract components do not keep anything + // other than props & listeners & slot + // work around flow + var slot = data.slot; + data = {}; + if (slot) { + data.slot = slot; + } + } + // install component management hooks onto the placeholder node + installComponentHooks(data); + // return a placeholder vnode + // @ts-expect-error + var name = getComponentName(Ctor.options) || tag; + var vnode = new VNode( + // @ts-expect-error + "vue-component-".concat(Ctor.cid).concat(name ? "-".concat(name) : ''), data, undefined, undefined, undefined, context, + // @ts-expect-error + { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory); + return vnode; + } + function createComponentInstanceForVnode( + // we know it's MountedComponentVNode but flow doesn't + vnode, + // activeInstance in lifecycle state + parent) { + var options = { + _isComponent: true, + _parentVnode: vnode, + parent: parent + }; + // check inline-template render functions + var inlineTemplate = vnode.data.inlineTemplate; + if (isDef(inlineTemplate)) { + options.render = inlineTemplate.render; + options.staticRenderFns = inlineTemplate.staticRenderFns; + } + return new vnode.componentOptions.Ctor(options); + } + function installComponentHooks(data) { + var hooks = data.hook || (data.hook = {}); + for (var i = 0; i < hooksToMerge.length; i++) { + var key = hooksToMerge[i]; + var existing = hooks[key]; + var toMerge = componentVNodeHooks[key]; + // @ts-expect-error + if (existing !== toMerge && !(existing && existing._merged)) { + hooks[key] = existing ? mergeHook(toMerge, existing) : toMerge; + } + } + } + function mergeHook(f1, f2) { + var merged = function (a, b) { + // flow complains about extra args which is why we use any + f1(a, b); + f2(a, b); + }; + merged._merged = true; + return merged; + } + // transform component v-model info (value and callback) into + // prop and event handler respectively. + function transformModel(options, data) { + var prop = (options.model && options.model.prop) || 'value'; + var event = (options.model && options.model.event) || 'input'; + (data.attrs || (data.attrs = {}))[prop] = data.model.value; + var on = data.on || (data.on = {}); + var existing = on[event]; + var callback = data.model.callback; + if (isDef(existing)) { + if (isArray(existing) + ? existing.indexOf(callback) === -1 + : existing !== callback) { + on[event] = [callback].concat(existing); + } + } + else { + on[event] = callback; + } + } + + var warn$2 = noop; + var tip = noop; + var generateComponentTrace; // work around flow check + var formatComponentName; + { + var hasConsole_1 = typeof console !== 'undefined'; + var classifyRE_1 = /(?:^|[-_])(\w)/g; + var classify_1 = function (str) { + return str.replace(classifyRE_1, function (c) { return c.toUpperCase(); }).replace(/[-_]/g, ''); + }; + warn$2 = function (msg, vm) { + if (vm === void 0) { vm = currentInstance; } + var trace = vm ? generateComponentTrace(vm) : ''; + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace); + } + else if (hasConsole_1 && !config.silent) { + console.error("[Vue warn]: ".concat(msg).concat(trace)); + } + }; + tip = function (msg, vm) { + if (hasConsole_1 && !config.silent) { + console.warn("[Vue tip]: ".concat(msg) + (vm ? generateComponentTrace(vm) : '')); + } + }; + formatComponentName = function (vm, includeFile) { + if (vm.$root === vm) { + return '<Root>'; + } + var options = isFunction(vm) && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm; + var name = getComponentName(options); + var file = options.__file; + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/); + name = match && match[1]; + } + return ((name ? "<".concat(classify_1(name), ">") : "<Anonymous>") + + (file && includeFile !== false ? " at ".concat(file) : '')); + }; + var repeat_1 = function (str, n) { + var res = ''; + while (n) { + if (n % 2 === 1) + res += str; + if (n > 1) + str += str; + n >>= 1; + } + return res; + }; + generateComponentTrace = function (vm) { + if (vm._isVue && vm.$parent) { + var tree = []; + var currentRecursiveSequence = 0; + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1]; + if (last.constructor === vm.constructor) { + currentRecursiveSequence++; + vm = vm.$parent; + continue; + } + else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence]; + currentRecursiveSequence = 0; + } + } + tree.push(vm); + vm = vm.$parent; + } + return ('\n\nfound in\n\n' + + tree + .map(function (vm, i) { + return "".concat(i === 0 ? '---> ' : repeat_1(' ', 5 + i * 2)).concat(isArray(vm) + ? "".concat(formatComponentName(vm[0]), "... (").concat(vm[1], " recursive calls)") + : formatComponentName(vm)); + }) + .join('\n')); + } + else { + return "\n\n(found in ".concat(formatComponentName(vm), ")"); + } + }; + } + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies; + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn$2("option \"".concat(key, "\" can only be used during instance ") + + 'creation with the `new` keyword.'); + } + return defaultStrat(parent, child); + }; + } + /** + * Helper that recursively merges two data objects together. + */ + function mergeData(to, from) { + if (!from) + return to; + var key, toVal, fromVal; + var keys = hasSymbol + ? Reflect.ownKeys(from) + : Object.keys(from); + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + // in case the object is already observed... + if (key === '__ob__') + continue; + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + set(to, key, fromVal); + } + else if (toVal !== fromVal && + isPlainObject(toVal) && + isPlainObject(fromVal)) { + mergeData(toVal, fromVal); + } + } + return to; + } + /** + * Data + */ + function mergeDataOrFn(parentVal, childVal, vm) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal; + } + if (!parentVal) { + return childVal; + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn() { + return mergeData(isFunction(childVal) ? childVal.call(this, this) : childVal, isFunction(parentVal) ? parentVal.call(this, this) : parentVal); + }; + } + else { + return function mergedInstanceDataFn() { + // instance merge + var instanceData = isFunction(childVal) + ? childVal.call(vm, vm) + : childVal; + var defaultData = isFunction(parentVal) + ? parentVal.call(vm, vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData); + } + else { + return defaultData; + } + }; + } + } + strats.data = function (parentVal, childVal, vm) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn$2('The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', vm); + return parentVal; + } + return mergeDataOrFn(parentVal, childVal); + } + return mergeDataOrFn(parentVal, childVal, vm); + }; + /** + * Hooks and props are merged as arrays. + */ + function mergeLifecycleHook(parentVal, childVal) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : isArray(childVal) + ? childVal + : [childVal] + : parentVal; + return res ? dedupeHooks(res) : res; + } + function dedupeHooks(hooks) { + var res = []; + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]); + } + } + return res; + } + LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeLifecycleHook; + }); + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets(parentVal, childVal, vm, key) { + var res = Object.create(parentVal || null); + if (childVal) { + assertObjectType(key, childVal, vm); + return extend(res, childVal); + } + else { + return res; + } + } + ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; + }); + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function (parentVal, childVal, vm, key) { + // work around Firefox's Object.prototype.watch... + //@ts-expect-error work around + if (parentVal === nativeWatch) + parentVal = undefined; + //@ts-expect-error work around + if (childVal === nativeWatch) + childVal = undefined; + /* istanbul ignore if */ + if (!childVal) + return Object.create(parentVal || null); + { + assertObjectType(key, childVal, vm); + } + if (!parentVal) + return childVal; + var ret = {}; + extend(ret, parentVal); + for (var key_1 in childVal) { + var parent_1 = ret[key_1]; + var child = childVal[key_1]; + if (parent_1 && !isArray(parent_1)) { + parent_1 = [parent_1]; + } + ret[key_1] = parent_1 ? parent_1.concat(child) : isArray(child) ? child : [child]; + } + return ret; + }; + /** + * Other object hashes. + */ + strats.props = + strats.methods = + strats.inject = + strats.computed = + function (parentVal, childVal, vm, key) { + if (childVal && true) { + assertObjectType(key, childVal, vm); + } + if (!parentVal) + return childVal; + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) + extend(ret, childVal); + return ret; + }; + strats.provide = mergeDataOrFn; + /** + * Default strategy. + */ + var defaultStrat = function (parentVal, childVal) { + return childVal === undefined ? parentVal : childVal; + }; + /** + * Validate component names + */ + function checkComponents(options) { + for (var key in options.components) { + validateComponentName(key); + } + } + function validateComponentName(name) { + if (!new RegExp("^[a-zA-Z][\\-\\.0-9_".concat(unicodeRegExp.source, "]*$")).test(name)) { + warn$2('Invalid component name: "' + + name + + '". Component names ' + + 'should conform to valid custom element name in html5 specification.'); + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn$2('Do not use built-in or reserved HTML elements as component ' + + 'id: ' + + name); + } + } + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps(options, vm) { + var props = options.props; + if (!props) + return; + var res = {}; + var i, val, name; + if (isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } + else { + warn$2('props must be strings when using array syntax.'); + } + } + } + else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) ? val : { type: val }; + } + } + else { + warn$2("Invalid value for option \"props\": expected an Array or an Object, " + + "but got ".concat(toRawType(props), "."), vm); + } + options.props = res; + } + /** + * Normalize all injections into Object-based format + */ + function normalizeInject(options, vm) { + var inject = options.inject; + if (!inject) + return; + var normalized = (options.inject = {}); + if (isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } + else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } + else { + warn$2("Invalid value for option \"inject\": expected an Array or an Object, " + + "but got ".concat(toRawType(inject), "."), vm); + } + } + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives$1(options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def = dirs[key]; + if (isFunction(def)) { + dirs[key] = { bind: def, update: def }; + } + } + } + } + function assertObjectType(name, value, vm) { + if (!isPlainObject(value)) { + warn$2("Invalid value for option \"".concat(name, "\": expected an Object, ") + + "but got ".concat(toRawType(value), "."), vm); + } + } + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions(parent, child, vm) { + { + checkComponents(child); + } + if (isFunction(child)) { + // @ts-expect-error + child = child.options; + } + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives$1(child); + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + } + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField(key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options; + } + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset(options, type, id, warnMissing) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return; + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) + return assets[id]; + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) + return assets[camelizedId]; + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) + return assets[PascalCaseId]; + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if (warnMissing && !res) { + warn$2('Failed to resolve ' + type.slice(0, -1) + ': ' + id); + } + return res; + } + + function validateProp(key, propOptions, propsData, vm) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type); + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } + else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type); + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true; + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve; + toggleObserving(true); + observe(value); + toggleObserving(prevShouldObserve); + } + { + assertProp(prop, key, value, vm, absent); + } + return value; + } + /** + * Get the default value of a prop. + */ + function getPropDefaultValue(vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined; + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn$2('Invalid default value for prop "' + + key + + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', vm); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && + vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined) { + return vm._props[key]; + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return isFunction(def) && getType(prop.type) !== 'Function' + ? def.call(vm) + : def; + } + /** + * Assert whether a prop is valid. + */ + function assertProp(prop, name, value, vm, absent) { + if (prop.required && absent) { + warn$2('Missing required prop: "' + name + '"', vm); + return; + } + if (value == null && !prop.required) { + return; + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i], vm); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + var haveExpectedTypes = expectedTypes.some(function (t) { return t; }); + if (!valid && haveExpectedTypes) { + warn$2(getInvalidTypeMessage(name, value, expectedTypes), vm); + return; + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn$2('Invalid prop: custom validator check failed for prop "' + name + '".', vm); + } + } + } + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/; + function assertType(value, type, vm) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } + else if (expectedType === 'Object') { + valid = isPlainObject(value); + } + else if (expectedType === 'Array') { + valid = isArray(value); + } + else { + try { + valid = value instanceof type; + } + catch (e) { + warn$2('Invalid prop type: "' + String(type) + '" is not a constructor', vm); + valid = false; + } + } + return { + valid: valid, + expectedType: expectedType + }; + } + var functionTypeCheckRE = /^\s*function (\w+)/; + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType(fn) { + var match = fn && fn.toString().match(functionTypeCheckRE); + return match ? match[1] : ''; + } + function isSameType(a, b) { + return getType(a) === getType(b); + } + function getTypeIndex(type, expectedTypes) { + if (!isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1; + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i; + } + } + return -1; + } + function getInvalidTypeMessage(name, value, expectedTypes) { + var message = "Invalid prop: type check failed for prop \"".concat(name, "\".") + + " Expected ".concat(expectedTypes.map(capitalize).join(', ')); + var expectedType = expectedTypes[0]; + var receivedType = toRawType(value); + // check if we need to specify expected value + if (expectedTypes.length === 1 && + isExplicable(expectedType) && + isExplicable(typeof value) && + !isBoolean(expectedType, receivedType)) { + message += " with value ".concat(styleValue(value, expectedType)); + } + message += ", got ".concat(receivedType, " "); + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += "with value ".concat(styleValue(value, receivedType), "."); + } + return message; + } + function styleValue(value, type) { + if (type === 'String') { + return "\"".concat(value, "\""); + } + else if (type === 'Number') { + return "".concat(Number(value)); + } + else { + return "".concat(value); + } + } + var EXPLICABLE_TYPES = ['string', 'number', 'boolean']; + function isExplicable(value) { + return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; }); + } + function isBoolean() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }); + } + + function Vue(options) { + if (!(this instanceof Vue)) { + warn$2('Vue is a constructor and should be called with the `new` keyword'); + } + this._init(options); + } + //@ts-expect-error Vue has function type + initMixin$1(Vue); + //@ts-expect-error Vue has function type + stateMixin(Vue); + //@ts-expect-error Vue has function type + eventsMixin(Vue); + //@ts-expect-error Vue has function type + lifecycleMixin(Vue); + //@ts-expect-error Vue has function type + renderMixin(Vue); + + function initUse(Vue) { + Vue.use = function (plugin) { + var installedPlugins = this._installedPlugins || (this._installedPlugins = []); + if (installedPlugins.indexOf(plugin) > -1) { + return this; + } + // additional parameters + var args = toArray(arguments, 1); + args.unshift(this); + if (isFunction(plugin.install)) { + plugin.install.apply(plugin, args); + } + else if (isFunction(plugin)) { + plugin.apply(null, args); + } + installedPlugins.push(plugin); + return this; + }; + } + + function initMixin(Vue) { + Vue.mixin = function (mixin) { + this.options = mergeOptions(this.options, mixin); + return this; + }; + } + + function initExtend(Vue) { + /** + * Each instance constructor, including Vue, has a unique + * cid. This enables us to create wrapped "child + * constructors" for prototypal inheritance and cache them. + */ + Vue.cid = 0; + var cid = 1; + /** + * Class inheritance + */ + Vue.extend = function (extendOptions) { + extendOptions = extendOptions || {}; + var Super = this; + var SuperId = Super.cid; + var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); + if (cachedCtors[SuperId]) { + return cachedCtors[SuperId]; + } + var name = getComponentName(extendOptions) || getComponentName(Super.options); + if (name) { + validateComponentName(name); + } + var Sub = function VueComponent(options) { + this._init(options); + }; + Sub.prototype = Object.create(Super.prototype); + Sub.prototype.constructor = Sub; + Sub.cid = cid++; + Sub.options = mergeOptions(Super.options, extendOptions); + Sub['super'] = Super; + // For props and computed properties, we define the proxy getters on + // the Vue instances at extension time, on the extended prototype. This + // avoids Object.defineProperty calls for each instance created. + if (Sub.options.props) { + initProps(Sub); + } + if (Sub.options.computed) { + initComputed(Sub); + } + // allow further extension/mixin/plugin usage + Sub.extend = Super.extend; + Sub.mixin = Super.mixin; + Sub.use = Super.use; + // create asset registers, so extended classes + // can have their private assets too. + ASSET_TYPES.forEach(function (type) { + Sub[type] = Super[type]; + }); + // enable recursive self-lookup + if (name) { + Sub.options.components[name] = Sub; + } + // keep a reference to the super options at extension time. + // later at instantiation we can check if Super's options have + // been updated. + Sub.superOptions = Super.options; + Sub.extendOptions = extendOptions; + Sub.sealedOptions = extend({}, Sub.options); + // cache constructor + cachedCtors[SuperId] = Sub; + return Sub; + }; + } + function initProps(Comp) { + var props = Comp.options.props; + for (var key in props) { + proxy(Comp.prototype, "_props", key); + } + } + function initComputed(Comp) { + var computed = Comp.options.computed; + for (var key in computed) { + defineComputed(Comp.prototype, key, computed[key]); + } + } + + function initAssetRegisters(Vue) { + /** + * Create asset registration methods. + */ + ASSET_TYPES.forEach(function (type) { + // @ts-expect-error function is not exact same type + Vue[type] = function (id, definition) { + if (!definition) { + return this.options[type + 's'][id]; + } + else { + /* istanbul ignore if */ + if (type === 'component') { + validateComponentName(id); + } + if (type === 'component' && isPlainObject(definition)) { + // @ts-expect-error + definition.name = definition.name || id; + definition = this.options._base.extend(definition); + } + if (type === 'directive' && isFunction(definition)) { + definition = { bind: definition, update: definition }; + } + this.options[type + 's'][id] = definition; + return definition; + } + }; + }); + } + + function _getComponentName(opts) { + return opts && (getComponentName(opts.Ctor.options) || opts.tag); + } + function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.indexOf(name) > -1; + } + else if (typeof pattern === 'string') { + return pattern.split(',').indexOf(name) > -1; + } + else if (isRegExp(pattern)) { + return pattern.test(name); + } + /* istanbul ignore next */ + return false; + } + function pruneCache(keepAliveInstance, filter) { + var cache = keepAliveInstance.cache, keys = keepAliveInstance.keys, _vnode = keepAliveInstance._vnode; + for (var key in cache) { + var entry = cache[key]; + if (entry) { + var name_1 = entry.name; + if (name_1 && !filter(name_1)) { + pruneCacheEntry(cache, key, keys, _vnode); + } + } + } + } + function pruneCacheEntry(cache, key, keys, current) { + var entry = cache[key]; + if (entry && (!current || entry.tag !== current.tag)) { + // @ts-expect-error can be undefined + entry.componentInstance.$destroy(); + } + cache[key] = null; + remove$2(keys, key); + } + var patternTypes = [String, RegExp, Array]; + // TODO defineComponent + var KeepAlive = { + name: 'keep-alive', + abstract: true, + props: { + include: patternTypes, + exclude: patternTypes, + max: [String, Number] + }, + methods: { + cacheVNode: function () { + var _a = this, cache = _a.cache, keys = _a.keys, vnodeToCache = _a.vnodeToCache, keyToCache = _a.keyToCache; + if (vnodeToCache) { + var tag = vnodeToCache.tag, componentInstance = vnodeToCache.componentInstance, componentOptions = vnodeToCache.componentOptions; + cache[keyToCache] = { + name: _getComponentName(componentOptions), + tag: tag, + componentInstance: componentInstance + }; + keys.push(keyToCache); + // prune oldest entry + if (this.max && keys.length > parseInt(this.max)) { + pruneCacheEntry(cache, keys[0], keys, this._vnode); + } + this.vnodeToCache = null; + } + } + }, + created: function () { + this.cache = Object.create(null); + this.keys = []; + }, + destroyed: function () { + for (var key in this.cache) { + pruneCacheEntry(this.cache, key, this.keys); + } + }, + mounted: function () { + var _this = this; + this.cacheVNode(); + this.$watch('include', function (val) { + pruneCache(_this, function (name) { return matches(val, name); }); + }); + this.$watch('exclude', function (val) { + pruneCache(_this, function (name) { return !matches(val, name); }); + }); + }, + updated: function () { + this.cacheVNode(); + }, + render: function () { + var slot = this.$slots.default; + var vnode = getFirstComponentChild(slot); + var componentOptions = vnode && vnode.componentOptions; + if (componentOptions) { + // check pattern + var name_2 = _getComponentName(componentOptions); + var _a = this, include = _a.include, exclude = _a.exclude; + if ( + // not included + (include && (!name_2 || !matches(include, name_2))) || + // excluded + (exclude && name_2 && matches(exclude, name_2))) { + return vnode; + } + var _b = this, cache = _b.cache, keys = _b.keys; + var key = vnode.key == null + ? // same constructor may get registered as different local components + // so cid alone is not enough (#3269) + componentOptions.Ctor.cid + + (componentOptions.tag ? "::".concat(componentOptions.tag) : '') + : vnode.key; + if (cache[key]) { + vnode.componentInstance = cache[key].componentInstance; + // make current key freshest + remove$2(keys, key); + keys.push(key); + } + else { + // delay setting the cache until update + this.vnodeToCache = vnode; + this.keyToCache = key; + } + // @ts-expect-error can vnode.data can be undefined + vnode.data.keepAlive = true; + } + return vnode || (slot && slot[0]); + } + }; + + var builtInComponents = { + KeepAlive: KeepAlive + }; + + function initGlobalAPI(Vue) { + // config + var configDef = {}; + configDef.get = function () { return config; }; + { + configDef.set = function () { + warn$2('Do not replace the Vue.config object, set individual fields instead.'); + }; + } + Object.defineProperty(Vue, 'config', configDef); + // exposed util methods. + // NOTE: these are not considered part of the public API - avoid relying on + // them unless you are aware of the risk. + Vue.util = { + warn: warn$2, + extend: extend, + mergeOptions: mergeOptions, + defineReactive: defineReactive + }; + Vue.set = set; + Vue.delete = del; + Vue.nextTick = nextTick; + // 2.6 explicit observable API + Vue.observable = function (obj) { + observe(obj); + return obj; + }; + Vue.options = Object.create(null); + ASSET_TYPES.forEach(function (type) { + Vue.options[type + 's'] = Object.create(null); + }); + // this is used to identify the "base" constructor to extend all plain-object + // components with in Weex's multi-instance scenarios. + Vue.options._base = Vue; + extend(Vue.options.components, builtInComponents); + initUse(Vue); + initMixin(Vue); + initExtend(Vue); + initAssetRegisters(Vue); + } + + initGlobalAPI(Vue); + Object.defineProperty(Vue.prototype, '$isServer', { + get: isServerRendering + }); + Object.defineProperty(Vue.prototype, '$ssrContext', { + get: function () { + /* istanbul ignore next */ + return this.$vnode && this.$vnode.ssrContext; + } + }); + // expose FunctionalRenderContext for ssr runtime helper installation + Object.defineProperty(Vue, 'FunctionalRenderContext', { + value: FunctionalRenderContext + }); + Vue.version = version; + + // these are reserved for web because they are directly compiled away + // during template compilation + var isReservedAttr = makeMap('style,class'); + // attributes that should be using props for binding + var acceptValue = makeMap('input,textarea,option,select,progress'); + var mustUseProp = function (tag, type, attr) { + return ((attr === 'value' && acceptValue(tag) && type !== 'button') || + (attr === 'selected' && tag === 'option') || + (attr === 'checked' && tag === 'input') || + (attr === 'muted' && tag === 'video')); + }; + var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck'); + var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only'); + var convertEnumeratedValue = function (key, value) { + return isFalsyAttrValue(value) || value === 'false' + ? 'false' + : // allow arbitrary string value for contenteditable + key === 'contenteditable' && isValidContentEditableValue(value) + ? value + : 'true'; + }; + var isBooleanAttr = makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + + 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + + 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + + 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + + 'required,reversed,scoped,seamless,selected,sortable,' + + 'truespeed,typemustmatch,visible'); + var xlinkNS = 'http://www.w3.org/1999/xlink'; + var isXlink = function (name) { + return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'; + }; + var getXlinkProp = function (name) { + return isXlink(name) ? name.slice(6, name.length) : ''; + }; + var isFalsyAttrValue = function (val) { + return val == null || val === false; + }; + + function genClassForVnode(vnode) { + var data = vnode.data; + var parentNode = vnode; + var childNode = vnode; + while (isDef(childNode.componentInstance)) { + childNode = childNode.componentInstance._vnode; + if (childNode && childNode.data) { + data = mergeClassData(childNode.data, data); + } + } + // @ts-expect-error parentNode.parent not VNodeWithData + while (isDef((parentNode = parentNode.parent))) { + if (parentNode && parentNode.data) { + data = mergeClassData(data, parentNode.data); + } + } + return renderClass(data.staticClass, data.class); + } + function mergeClassData(child, parent) { + return { + staticClass: concat(child.staticClass, parent.staticClass), + class: isDef(child.class) ? [child.class, parent.class] : parent.class + }; + } + function renderClass(staticClass, dynamicClass) { + if (isDef(staticClass) || isDef(dynamicClass)) { + return concat(staticClass, stringifyClass(dynamicClass)); + } + /* istanbul ignore next */ + return ''; + } + function concat(a, b) { + return a ? (b ? a + ' ' + b : a) : b || ''; + } + function stringifyClass(value) { + if (Array.isArray(value)) { + return stringifyArray(value); + } + if (isObject(value)) { + return stringifyObject(value); + } + if (typeof value === 'string') { + return value; + } + /* istanbul ignore next */ + return ''; + } + function stringifyArray(value) { + var res = ''; + var stringified; + for (var i = 0, l = value.length; i < l; i++) { + if (isDef((stringified = stringifyClass(value[i]))) && stringified !== '') { + if (res) + res += ' '; + res += stringified; + } + } + return res; + } + function stringifyObject(value) { + var res = ''; + for (var key in value) { + if (value[key]) { + if (res) + res += ' '; + res += key; + } + } + return res; + } + + var namespaceMap = { + svg: 'http://www.w3.org/2000/svg', + math: 'http://www.w3.org/1998/Math/MathML' + }; + var isHTMLTag = makeMap('html,body,base,head,link,meta,style,title,' + + 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + + 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + + 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + + 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + + 'embed,object,param,source,canvas,script,noscript,del,ins,' + + 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + + 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + + 'output,progress,select,textarea,' + + 'details,dialog,menu,menuitem,summary,' + + 'content,element,shadow,template,blockquote,iframe,tfoot'); + // this map is intentionally selective, only covering SVG elements that may + // contain child elements. + var isSVG = makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + + 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + + 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true); + var isPreTag = function (tag) { return tag === 'pre'; }; + var isReservedTag = function (tag) { + return isHTMLTag(tag) || isSVG(tag); + }; + function getTagNamespace(tag) { + if (isSVG(tag)) { + return 'svg'; + } + // basic support for MathML + // note it doesn't support other MathML elements being component roots + if (tag === 'math') { + return 'math'; + } + } + var unknownElementCache = Object.create(null); + function isUnknownElement(tag) { + /* istanbul ignore if */ + if (!inBrowser) { + return true; + } + if (isReservedTag(tag)) { + return false; + } + tag = tag.toLowerCase(); + /* istanbul ignore if */ + if (unknownElementCache[tag] != null) { + return unknownElementCache[tag]; + } + var el = document.createElement(tag); + if (tag.indexOf('-') > -1) { + // http://stackoverflow.com/a/28210364/1070244 + return (unknownElementCache[tag] = + el.constructor === window.HTMLUnknownElement || + el.constructor === window.HTMLElement); + } + else { + return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())); + } + } + var isTextInputType = makeMap('text,number,password,search,email,tel,url'); + + /** + * Query an element selector if it's not an element already. + */ + function query(el) { + if (typeof el === 'string') { + var selected = document.querySelector(el); + if (!selected) { + warn$2('Cannot find element: ' + el); + return document.createElement('div'); + } + return selected; + } + else { + return el; + } + } + + function createElement(tagName, vnode) { + var elm = document.createElement(tagName); + if (tagName !== 'select') { + return elm; + } + // false or null will remove the attribute but undefined will not + if (vnode.data && + vnode.data.attrs && + vnode.data.attrs.multiple !== undefined) { + elm.setAttribute('multiple', 'multiple'); + } + return elm; + } + function createElementNS(namespace, tagName) { + return document.createElementNS(namespaceMap[namespace], tagName); + } + function createTextNode(text) { + return document.createTextNode(text); + } + function createComment(text) { + return document.createComment(text); + } + function insertBefore(parentNode, newNode, referenceNode) { + parentNode.insertBefore(newNode, referenceNode); + } + function removeChild(node, child) { + node.removeChild(child); + } + function appendChild(node, child) { + node.appendChild(child); + } + function parentNode(node) { + return node.parentNode; + } + function nextSibling(node) { + return node.nextSibling; + } + function tagName(node) { + return node.tagName; + } + function setTextContent(node, text) { + node.textContent = text; + } + function setStyleScope(node, scopeId) { + node.setAttribute(scopeId, ''); + } + + var nodeOps = /*#__PURE__*/Object.freeze({ + __proto__: null, + createElement: createElement, + createElementNS: createElementNS, + createTextNode: createTextNode, + createComment: createComment, + insertBefore: insertBefore, + removeChild: removeChild, + appendChild: appendChild, + parentNode: parentNode, + nextSibling: nextSibling, + tagName: tagName, + setTextContent: setTextContent, + setStyleScope: setStyleScope + }); + + var ref = { + create: function (_, vnode) { + registerRef(vnode); + }, + update: function (oldVnode, vnode) { + if (oldVnode.data.ref !== vnode.data.ref) { + registerRef(oldVnode, true); + registerRef(vnode); + } + }, + destroy: function (vnode) { + registerRef(vnode, true); + } + }; + function registerRef(vnode, isRemoval) { + var ref = vnode.data.ref; + if (!isDef(ref)) + return; + var vm = vnode.context; + var refValue = vnode.componentInstance || vnode.elm; + var value = isRemoval ? null : refValue; + var $refsValue = isRemoval ? undefined : refValue; + if (isFunction(ref)) { + invokeWithErrorHandling(ref, vm, [value], vm, "template ref function"); + return; + } + var isFor = vnode.data.refInFor; + var _isString = typeof ref === 'string' || typeof ref === 'number'; + var _isRef = isRef(ref); + var refs = vm.$refs; + if (_isString || _isRef) { + if (isFor) { + var existing = _isString ? refs[ref] : ref.value; + if (isRemoval) { + isArray(existing) && remove$2(existing, refValue); + } + else { + if (!isArray(existing)) { + if (_isString) { + refs[ref] = [refValue]; + setSetupRef(vm, ref, refs[ref]); + } + else { + ref.value = [refValue]; + } + } + else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } + else if (_isString) { + if (isRemoval && refs[ref] !== refValue) { + return; + } + refs[ref] = $refsValue; + setSetupRef(vm, ref, value); + } + else if (_isRef) { + if (isRemoval && ref.value !== refValue) { + return; + } + ref.value = value; + } + else { + warn$2("Invalid template ref type: ".concat(typeof ref)); + } + } + } + function setSetupRef(_a, key, val) { + var _setupState = _a._setupState; + if (_setupState && hasOwn(_setupState, key)) { + if (isRef(_setupState[key])) { + _setupState[key].value = val; + } + else { + _setupState[key] = val; + } + } + } + + /** + * Virtual DOM patching algorithm based on Snabbdom by + * Simon Friis Vindum (@paldepind) + * Licensed under the MIT License + * https://github.com/paldepind/snabbdom/blob/master/LICENSE + * + * modified by Evan You (@yyx990803) + * + * Not type-checking this because this file is perf-critical and the cost + * of making flow understand it is not worth it. + */ + var emptyNode = new VNode('', {}, []); + var hooks = ['create', 'activate', 'update', 'remove', 'destroy']; + function sameVnode(a, b) { + return (a.key === b.key && + a.asyncFactory === b.asyncFactory && + ((a.tag === b.tag && + a.isComment === b.isComment && + isDef(a.data) === isDef(b.data) && + sameInputType(a, b)) || + (isTrue(a.isAsyncPlaceholder) && isUndef(b.asyncFactory.error)))); + } + function sameInputType(a, b) { + if (a.tag !== 'input') + return true; + var i; + var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type; + var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type; + return typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB)); + } + function createKeyToOldIdx(children, beginIdx, endIdx) { + var i, key; + var map = {}; + for (i = beginIdx; i <= endIdx; ++i) { + key = children[i].key; + if (isDef(key)) + map[key] = i; + } + return map; + } + function createPatchFunction(backend) { + var i, j; + var cbs = {}; + var modules = backend.modules, nodeOps = backend.nodeOps; + for (i = 0; i < hooks.length; ++i) { + cbs[hooks[i]] = []; + for (j = 0; j < modules.length; ++j) { + if (isDef(modules[j][hooks[i]])) { + cbs[hooks[i]].push(modules[j][hooks[i]]); + } + } + } + function emptyNodeAt(elm) { + return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm); + } + function createRmCb(childElm, listeners) { + function remove() { + if (--remove.listeners === 0) { + removeNode(childElm); + } + } + remove.listeners = listeners; + return remove; + } + function removeNode(el) { + var parent = nodeOps.parentNode(el); + // element may have already been removed due to v-html / v-text + if (isDef(parent)) { + nodeOps.removeChild(parent, el); + } + } + function isUnknownElement(vnode, inVPre) { + return (!inVPre && + !vnode.ns && + !(config.ignoredElements.length && + config.ignoredElements.some(function (ignore) { + return isRegExp(ignore) + ? ignore.test(vnode.tag) + : ignore === vnode.tag; + })) && + config.isUnknownElement(vnode.tag)); + } + var creatingElmInVPre = 0; + function createElm(vnode, insertedVnodeQueue, parentElm, refElm, nested, ownerArray, index) { + if (isDef(vnode.elm) && isDef(ownerArray)) { + // This vnode was used in a previous render! + // now it's used as a new node, overwriting its elm would cause + // potential patch errors down the road when it's used as an insertion + // reference node. Instead, we clone the node on-demand before creating + // associated DOM element for it. + vnode = ownerArray[index] = cloneVNode(vnode); + } + vnode.isRootInsert = !nested; // for transition enter check + if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) { + return; + } + var data = vnode.data; + var children = vnode.children; + var tag = vnode.tag; + if (isDef(tag)) { + { + if (data && data.pre) { + creatingElmInVPre++; + } + if (isUnknownElement(vnode, creatingElmInVPre)) { + warn$2('Unknown custom element: <' + + tag + + '> - did you ' + + 'register the component correctly? For recursive components, ' + + 'make sure to provide the "name" option.', vnode.context); + } + } + vnode.elm = vnode.ns + ? nodeOps.createElementNS(vnode.ns, tag) + : nodeOps.createElement(tag, vnode); + setScope(vnode); + createChildren(vnode, children, insertedVnodeQueue); + if (isDef(data)) { + invokeCreateHooks(vnode, insertedVnodeQueue); + } + insert(parentElm, vnode.elm, refElm); + if (data && data.pre) { + creatingElmInVPre--; + } + } + else if (isTrue(vnode.isComment)) { + vnode.elm = nodeOps.createComment(vnode.text); + insert(parentElm, vnode.elm, refElm); + } + else { + vnode.elm = nodeOps.createTextNode(vnode.text); + insert(parentElm, vnode.elm, refElm); + } + } + function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + var i = vnode.data; + if (isDef(i)) { + var isReactivated = isDef(vnode.componentInstance) && i.keepAlive; + if (isDef((i = i.hook)) && isDef((i = i.init))) { + i(vnode, false /* hydrating */); + } + // after calling the init hook, if the vnode is a child component + // it should've created a child instance and mounted it. the child + // component also has set the placeholder vnode's elm. + // in that case we can just return the element and be done. + if (isDef(vnode.componentInstance)) { + initComponent(vnode, insertedVnodeQueue); + insert(parentElm, vnode.elm, refElm); + if (isTrue(isReactivated)) { + reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm); + } + return true; + } + } + } + function initComponent(vnode, insertedVnodeQueue) { + if (isDef(vnode.data.pendingInsert)) { + insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert); + vnode.data.pendingInsert = null; + } + vnode.elm = vnode.componentInstance.$el; + if (isPatchable(vnode)) { + invokeCreateHooks(vnode, insertedVnodeQueue); + setScope(vnode); + } + else { + // empty component root. + // skip all element-related modules except for ref (#3455) + registerRef(vnode); + // make sure to invoke the insert hook + insertedVnodeQueue.push(vnode); + } + } + function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + var i; + // hack for #4339: a reactivated component with inner transition + // does not trigger because the inner node's created hooks are not called + // again. It's not ideal to involve module-specific logic in here but + // there doesn't seem to be a better way to do it. + var innerNode = vnode; + while (innerNode.componentInstance) { + innerNode = innerNode.componentInstance._vnode; + if (isDef((i = innerNode.data)) && isDef((i = i.transition))) { + for (i = 0; i < cbs.activate.length; ++i) { + cbs.activate[i](emptyNode, innerNode); + } + insertedVnodeQueue.push(innerNode); + break; + } + } + // unlike a newly created component, + // a reactivated keep-alive component doesn't insert itself + insert(parentElm, vnode.elm, refElm); + } + function insert(parent, elm, ref) { + if (isDef(parent)) { + if (isDef(ref)) { + if (nodeOps.parentNode(ref) === parent) { + nodeOps.insertBefore(parent, elm, ref); + } + } + else { + nodeOps.appendChild(parent, elm); + } + } + } + function createChildren(vnode, children, insertedVnodeQueue) { + if (isArray(children)) { + { + checkDuplicateKeys(children); + } + for (var i_1 = 0; i_1 < children.length; ++i_1) { + createElm(children[i_1], insertedVnodeQueue, vnode.elm, null, true, children, i_1); + } + } + else if (isPrimitive(vnode.text)) { + nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text))); + } + } + function isPatchable(vnode) { + while (vnode.componentInstance) { + vnode = vnode.componentInstance._vnode; + } + return isDef(vnode.tag); + } + function invokeCreateHooks(vnode, insertedVnodeQueue) { + for (var i_2 = 0; i_2 < cbs.create.length; ++i_2) { + cbs.create[i_2](emptyNode, vnode); + } + i = vnode.data.hook; // Reuse variable + if (isDef(i)) { + if (isDef(i.create)) + i.create(emptyNode, vnode); + if (isDef(i.insert)) + insertedVnodeQueue.push(vnode); + } + } + // set scope id attribute for scoped CSS. + // this is implemented as a special case to avoid the overhead + // of going through the normal attribute patching process. + function setScope(vnode) { + var i; + if (isDef((i = vnode.fnScopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + else { + var ancestor = vnode; + while (ancestor) { + if (isDef((i = ancestor.context)) && isDef((i = i.$options._scopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + ancestor = ancestor.parent; + } + } + // for slot content they should also get the scopeId from the host instance. + if (isDef((i = activeInstance)) && + i !== vnode.context && + i !== vnode.fnContext && + isDef((i = i.$options._scopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + } + function addVnodes(parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) { + for (; startIdx <= endIdx; ++startIdx) { + createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx); + } + } + function invokeDestroyHook(vnode) { + var i, j; + var data = vnode.data; + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.destroy))) + i(vnode); + for (i = 0; i < cbs.destroy.length; ++i) + cbs.destroy[i](vnode); + } + if (isDef((i = vnode.children))) { + for (j = 0; j < vnode.children.length; ++j) { + invokeDestroyHook(vnode.children[j]); + } + } + } + function removeVnodes(vnodes, startIdx, endIdx) { + for (; startIdx <= endIdx; ++startIdx) { + var ch = vnodes[startIdx]; + if (isDef(ch)) { + if (isDef(ch.tag)) { + removeAndInvokeRemoveHook(ch); + invokeDestroyHook(ch); + } + else { + // Text node + removeNode(ch.elm); + } + } + } + } + function removeAndInvokeRemoveHook(vnode, rm) { + if (isDef(rm) || isDef(vnode.data)) { + var i_3; + var listeners = cbs.remove.length + 1; + if (isDef(rm)) { + // we have a recursively passed down rm callback + // increase the listeners count + rm.listeners += listeners; + } + else { + // directly removing + rm = createRmCb(vnode.elm, listeners); + } + // recursively invoke hooks on child component root node + if (isDef((i_3 = vnode.componentInstance)) && + isDef((i_3 = i_3._vnode)) && + isDef(i_3.data)) { + removeAndInvokeRemoveHook(i_3, rm); + } + for (i_3 = 0; i_3 < cbs.remove.length; ++i_3) { + cbs.remove[i_3](vnode, rm); + } + if (isDef((i_3 = vnode.data.hook)) && isDef((i_3 = i_3.remove))) { + i_3(vnode, rm); + } + else { + rm(); + } + } + else { + removeNode(vnode.elm); + } + } + function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { + var oldStartIdx = 0; + var newStartIdx = 0; + var oldEndIdx = oldCh.length - 1; + var oldStartVnode = oldCh[0]; + var oldEndVnode = oldCh[oldEndIdx]; + var newEndIdx = newCh.length - 1; + var newStartVnode = newCh[0]; + var newEndVnode = newCh[newEndIdx]; + var oldKeyToIdx, idxInOld, vnodeToMove, refElm; + // removeOnly is a special flag used only by <transition-group> + // to ensure removed elements stay in correct relative positions + // during leaving transitions + var canMove = !removeOnly; + { + checkDuplicateKeys(newCh); + } + while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { + if (isUndef(oldStartVnode)) { + oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left + } + else if (isUndef(oldEndVnode)) { + oldEndVnode = oldCh[--oldEndIdx]; + } + else if (sameVnode(oldStartVnode, newStartVnode)) { + patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + oldStartVnode = oldCh[++oldStartIdx]; + newStartVnode = newCh[++newStartIdx]; + } + else if (sameVnode(oldEndVnode, newEndVnode)) { + patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); + oldEndVnode = oldCh[--oldEndIdx]; + newEndVnode = newCh[--newEndIdx]; + } + else if (sameVnode(oldStartVnode, newEndVnode)) { + // Vnode moved right + patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); + canMove && + nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm)); + oldStartVnode = oldCh[++oldStartIdx]; + newEndVnode = newCh[--newEndIdx]; + } + else if (sameVnode(oldEndVnode, newStartVnode)) { + // Vnode moved left + patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + canMove && + nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); + oldEndVnode = oldCh[--oldEndIdx]; + newStartVnode = newCh[++newStartIdx]; + } + else { + if (isUndef(oldKeyToIdx)) + oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); + idxInOld = isDef(newStartVnode.key) + ? oldKeyToIdx[newStartVnode.key] + : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); + if (isUndef(idxInOld)) { + // New element + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); + } + else { + vnodeToMove = oldCh[idxInOld]; + if (sameVnode(vnodeToMove, newStartVnode)) { + patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + oldCh[idxInOld] = undefined; + canMove && + nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm); + } + else { + // same key but different element. treat as new element + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); + } + } + newStartVnode = newCh[++newStartIdx]; + } + } + if (oldStartIdx > oldEndIdx) { + refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; + addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); + } + else if (newStartIdx > newEndIdx) { + removeVnodes(oldCh, oldStartIdx, oldEndIdx); + } + } + function checkDuplicateKeys(children) { + var seenKeys = {}; + for (var i_4 = 0; i_4 < children.length; i_4++) { + var vnode = children[i_4]; + var key = vnode.key; + if (isDef(key)) { + if (seenKeys[key]) { + warn$2("Duplicate keys detected: '".concat(key, "'. This may cause an update error."), vnode.context); + } + else { + seenKeys[key] = true; + } + } + } + } + function findIdxInOld(node, oldCh, start, end) { + for (var i_5 = start; i_5 < end; i_5++) { + var c = oldCh[i_5]; + if (isDef(c) && sameVnode(node, c)) + return i_5; + } + } + function patchVnode(oldVnode, vnode, insertedVnodeQueue, ownerArray, index, removeOnly) { + if (oldVnode === vnode) { + return; + } + if (isDef(vnode.elm) && isDef(ownerArray)) { + // clone reused vnode + vnode = ownerArray[index] = cloneVNode(vnode); + } + var elm = (vnode.elm = oldVnode.elm); + if (isTrue(oldVnode.isAsyncPlaceholder)) { + if (isDef(vnode.asyncFactory.resolved)) { + hydrate(oldVnode.elm, vnode, insertedVnodeQueue); + } + else { + vnode.isAsyncPlaceholder = true; + } + return; + } + // reuse element for static trees. + // note we only do this if the vnode is cloned - + // if the new node is not cloned it means the render functions have been + // reset by the hot-reload-api and we need to do a proper re-render. + if (isTrue(vnode.isStatic) && + isTrue(oldVnode.isStatic) && + vnode.key === oldVnode.key && + (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) { + vnode.componentInstance = oldVnode.componentInstance; + return; + } + var i; + var data = vnode.data; + if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) { + i(oldVnode, vnode); + } + var oldCh = oldVnode.children; + var ch = vnode.children; + if (isDef(data) && isPatchable(vnode)) { + for (i = 0; i < cbs.update.length; ++i) + cbs.update[i](oldVnode, vnode); + if (isDef((i = data.hook)) && isDef((i = i.update))) + i(oldVnode, vnode); + } + if (isUndef(vnode.text)) { + if (isDef(oldCh) && isDef(ch)) { + if (oldCh !== ch) + updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); + } + else if (isDef(ch)) { + { + checkDuplicateKeys(ch); + } + if (isDef(oldVnode.text)) + nodeOps.setTextContent(elm, ''); + addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); + } + else if (isDef(oldCh)) { + removeVnodes(oldCh, 0, oldCh.length - 1); + } + else if (isDef(oldVnode.text)) { + nodeOps.setTextContent(elm, ''); + } + } + else if (oldVnode.text !== vnode.text) { + nodeOps.setTextContent(elm, vnode.text); + } + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.postpatch))) + i(oldVnode, vnode); + } + } + function invokeInsertHook(vnode, queue, initial) { + // delay insert hooks for component root nodes, invoke them after the + // element is really inserted + if (isTrue(initial) && isDef(vnode.parent)) { + vnode.parent.data.pendingInsert = queue; + } + else { + for (var i_6 = 0; i_6 < queue.length; ++i_6) { + queue[i_6].data.hook.insert(queue[i_6]); + } + } + } + var hydrationBailed = false; + // list of modules that can skip create hook during hydration because they + // are already rendered on the client or has no need for initialization + // Note: style is excluded because it relies on initial clone for future + // deep updates (#7063). + var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key'); + // Note: this is a browser-only function so we can assume elms are DOM nodes. + function hydrate(elm, vnode, insertedVnodeQueue, inVPre) { + var i; + var tag = vnode.tag, data = vnode.data, children = vnode.children; + inVPre = inVPre || (data && data.pre); + vnode.elm = elm; + if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) { + vnode.isAsyncPlaceholder = true; + return true; + } + // assert node match + { + if (!assertNodeMatch(elm, vnode, inVPre)) { + return false; + } + } + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.init))) + i(vnode, true /* hydrating */); + if (isDef((i = vnode.componentInstance))) { + // child component. it should have hydrated its own tree. + initComponent(vnode, insertedVnodeQueue); + return true; + } + } + if (isDef(tag)) { + if (isDef(children)) { + // empty element, allow client to pick up and populate children + if (!elm.hasChildNodes()) { + createChildren(vnode, children, insertedVnodeQueue); + } + else { + // v-html and domProps: innerHTML + if (isDef((i = data)) && + isDef((i = i.domProps)) && + isDef((i = i.innerHTML))) { + if (i !== elm.innerHTML) { + /* istanbul ignore if */ + if (typeof console !== 'undefined' && + !hydrationBailed) { + hydrationBailed = true; + console.warn('Parent: ', elm); + console.warn('server innerHTML: ', i); + console.warn('client innerHTML: ', elm.innerHTML); + } + return false; + } + } + else { + // iterate and compare children lists + var childrenMatch = true; + var childNode = elm.firstChild; + for (var i_7 = 0; i_7 < children.length; i_7++) { + if (!childNode || + !hydrate(childNode, children[i_7], insertedVnodeQueue, inVPre)) { + childrenMatch = false; + break; + } + childNode = childNode.nextSibling; + } + // if childNode is not null, it means the actual childNodes list is + // longer than the virtual children list. + if (!childrenMatch || childNode) { + /* istanbul ignore if */ + if (typeof console !== 'undefined' && + !hydrationBailed) { + hydrationBailed = true; + console.warn('Parent: ', elm); + console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children); + } + return false; + } + } + } + } + if (isDef(data)) { + var fullInvoke = false; + for (var key in data) { + if (!isRenderedModule(key)) { + fullInvoke = true; + invokeCreateHooks(vnode, insertedVnodeQueue); + break; + } + } + if (!fullInvoke && data['class']) { + // ensure collecting deps for deep class bindings for future updates + traverse(data['class']); + } + } + } + else if (elm.data !== vnode.text) { + elm.data = vnode.text; + } + return true; + } + function assertNodeMatch(node, vnode, inVPre) { + if (isDef(vnode.tag)) { + return (vnode.tag.indexOf('vue-component') === 0 || + (!isUnknownElement(vnode, inVPre) && + vnode.tag.toLowerCase() === + (node.tagName && node.tagName.toLowerCase()))); + } + else { + return node.nodeType === (vnode.isComment ? 8 : 3); + } + } + return function patch(oldVnode, vnode, hydrating, removeOnly) { + if (isUndef(vnode)) { + if (isDef(oldVnode)) + invokeDestroyHook(oldVnode); + return; + } + var isInitialPatch = false; + var insertedVnodeQueue = []; + if (isUndef(oldVnode)) { + // empty mount (likely as component), create new root element + isInitialPatch = true; + createElm(vnode, insertedVnodeQueue); + } + else { + var isRealElement = isDef(oldVnode.nodeType); + if (!isRealElement && sameVnode(oldVnode, vnode)) { + // patch existing root node + patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly); + } + else { + if (isRealElement) { + // mounting to a real element + // check if this is server-rendered content and if we can perform + // a successful hydration. + if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) { + oldVnode.removeAttribute(SSR_ATTR); + hydrating = true; + } + if (isTrue(hydrating)) { + if (hydrate(oldVnode, vnode, insertedVnodeQueue)) { + invokeInsertHook(vnode, insertedVnodeQueue, true); + return oldVnode; + } + else { + warn$2('The client-side rendered virtual DOM tree is not matching ' + + 'server-rendered content. This is likely caused by incorrect ' + + 'HTML markup, for example nesting block-level elements inside ' + + '<p>, or missing <tbody>. Bailing hydration and performing ' + + 'full client-side render.'); + } + } + // either not server-rendered, or hydration failed. + // create an empty node and replace it + oldVnode = emptyNodeAt(oldVnode); + } + // replacing existing element + var oldElm = oldVnode.elm; + var parentElm = nodeOps.parentNode(oldElm); + // create new node + createElm(vnode, insertedVnodeQueue, + // extremely rare edge case: do not insert if old element is in a + // leaving transition. Only happens when combining transition + + // keep-alive + HOCs. (#4590) + oldElm._leaveCb ? null : parentElm, nodeOps.nextSibling(oldElm)); + // update parent placeholder node element, recursively + if (isDef(vnode.parent)) { + var ancestor = vnode.parent; + var patchable = isPatchable(vnode); + while (ancestor) { + for (var i_8 = 0; i_8 < cbs.destroy.length; ++i_8) { + cbs.destroy[i_8](ancestor); + } + ancestor.elm = vnode.elm; + if (patchable) { + for (var i_9 = 0; i_9 < cbs.create.length; ++i_9) { + cbs.create[i_9](emptyNode, ancestor); + } + // #6513 + // invoke insert hooks that may have been merged by create hooks. + // e.g. for directives that uses the "inserted" hook. + var insert_1 = ancestor.data.hook.insert; + if (insert_1.merged) { + // start at index 1 to avoid re-invoking component mounted hook + for (var i_10 = 1; i_10 < insert_1.fns.length; i_10++) { + insert_1.fns[i_10](); + } + } + } + else { + registerRef(ancestor); + } + ancestor = ancestor.parent; + } + } + // destroy old node + if (isDef(parentElm)) { + removeVnodes([oldVnode], 0, 0); + } + else if (isDef(oldVnode.tag)) { + invokeDestroyHook(oldVnode); + } + } + } + invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); + return vnode.elm; + }; + } + + var directives$1 = { + create: updateDirectives, + update: updateDirectives, + destroy: function unbindDirectives(vnode) { + // @ts-expect-error emptyNode is not VNodeWithData + updateDirectives(vnode, emptyNode); + } + }; + function updateDirectives(oldVnode, vnode) { + if (oldVnode.data.directives || vnode.data.directives) { + _update(oldVnode, vnode); + } + } + function _update(oldVnode, vnode) { + var isCreate = oldVnode === emptyNode; + var isDestroy = vnode === emptyNode; + var oldDirs = normalizeDirectives(oldVnode.data.directives, oldVnode.context); + var newDirs = normalizeDirectives(vnode.data.directives, vnode.context); + var dirsWithInsert = []; + var dirsWithPostpatch = []; + var key, oldDir, dir; + for (key in newDirs) { + oldDir = oldDirs[key]; + dir = newDirs[key]; + if (!oldDir) { + // new directive, bind + callHook(dir, 'bind', vnode, oldVnode); + if (dir.def && dir.def.inserted) { + dirsWithInsert.push(dir); + } + } + else { + // existing directive, update + dir.oldValue = oldDir.value; + dir.oldArg = oldDir.arg; + callHook(dir, 'update', vnode, oldVnode); + if (dir.def && dir.def.componentUpdated) { + dirsWithPostpatch.push(dir); + } + } + } + if (dirsWithInsert.length) { + var callInsert = function () { + for (var i = 0; i < dirsWithInsert.length; i++) { + callHook(dirsWithInsert[i], 'inserted', vnode, oldVnode); + } + }; + if (isCreate) { + mergeVNodeHook(vnode, 'insert', callInsert); + } + else { + callInsert(); + } + } + if (dirsWithPostpatch.length) { + mergeVNodeHook(vnode, 'postpatch', function () { + for (var i = 0; i < dirsWithPostpatch.length; i++) { + callHook(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode); + } + }); + } + if (!isCreate) { + for (key in oldDirs) { + if (!newDirs[key]) { + // no longer present, unbind + callHook(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy); + } + } + } + } + var emptyModifiers = Object.create(null); + function normalizeDirectives(dirs, vm) { + var res = Object.create(null); + if (!dirs) { + // $flow-disable-line + return res; + } + var i, dir; + for (i = 0; i < dirs.length; i++) { + dir = dirs[i]; + if (!dir.modifiers) { + // $flow-disable-line + dir.modifiers = emptyModifiers; + } + res[getRawDirName(dir)] = dir; + if (vm._setupState && vm._setupState.__sfc) { + var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name); + if (typeof setupDef === 'function') { + dir.def = { + bind: setupDef, + update: setupDef, + }; + } + else { + dir.def = setupDef; + } + } + dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true); + } + // $flow-disable-line + return res; + } + function getRawDirName(dir) { + return (dir.rawName || "".concat(dir.name, ".").concat(Object.keys(dir.modifiers || {}).join('.'))); + } + function callHook(dir, hook, vnode, oldVnode, isDestroy) { + var fn = dir.def && dir.def[hook]; + if (fn) { + try { + fn(vnode.elm, dir, vnode, oldVnode, isDestroy); + } + catch (e) { + handleError(e, vnode.context, "directive ".concat(dir.name, " ").concat(hook, " hook")); + } + } + } + + var baseModules = [ref, directives$1]; + + function updateAttrs(oldVnode, vnode) { + var opts = vnode.componentOptions; + if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { + return; + } + if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { + return; + } + var key, cur, old; + var elm = vnode.elm; + var oldAttrs = oldVnode.data.attrs || {}; + var attrs = vnode.data.attrs || {}; + // clone observed objects, as the user probably wants to mutate it + if (isDef(attrs.__ob__) || isTrue(attrs._v_attr_proxy)) { + attrs = vnode.data.attrs = extend({}, attrs); + } + for (key in attrs) { + cur = attrs[key]; + old = oldAttrs[key]; + if (old !== cur) { + setAttr(elm, key, cur, vnode.data.pre); + } + } + // #4391: in IE9, setting type can reset value for input[type=radio] + // #6666: IE/Edge forces progress value down to 1 before setting a max + /* istanbul ignore if */ + if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { + setAttr(elm, 'value', attrs.value); + } + for (key in oldAttrs) { + if (isUndef(attrs[key])) { + if (isXlink(key)) { + elm.removeAttributeNS(xlinkNS, getXlinkProp(key)); + } + else if (!isEnumeratedAttr(key)) { + elm.removeAttribute(key); + } + } + } + } + function setAttr(el, key, value, isInPre) { + if (isInPre || el.tagName.indexOf('-') > -1) { + baseSetAttr(el, key, value); + } + else if (isBooleanAttr(key)) { + // set attribute for blank value + // e.g. <option disabled>Select one</option> + if (isFalsyAttrValue(value)) { + el.removeAttribute(key); + } + else { + // technically allowfullscreen is a boolean attribute for <iframe>, + // but Flash expects a value of "true" when used on <embed> tag + value = key === 'allowfullscreen' && el.tagName === 'EMBED' ? 'true' : key; + el.setAttribute(key, value); + } + } + else if (isEnumeratedAttr(key)) { + el.setAttribute(key, convertEnumeratedValue(key, value)); + } + else if (isXlink(key)) { + if (isFalsyAttrValue(value)) { + el.removeAttributeNS(xlinkNS, getXlinkProp(key)); + } + else { + el.setAttributeNS(xlinkNS, key, value); + } + } + else { + baseSetAttr(el, key, value); + } + } + function baseSetAttr(el, key, value) { + if (isFalsyAttrValue(value)) { + el.removeAttribute(key); + } + else { + // #7138: IE10 & 11 fires input event when setting placeholder on + // <textarea>... block the first input event and remove the blocker + // immediately. + /* istanbul ignore if */ + if (isIE && + !isIE9 && + el.tagName === 'TEXTAREA' && + key === 'placeholder' && + value !== '' && + !el.__ieph) { + var blocker_1 = function (e) { + e.stopImmediatePropagation(); + el.removeEventListener('input', blocker_1); + }; + el.addEventListener('input', blocker_1); + // $flow-disable-line + el.__ieph = true; /* IE placeholder patched */ + } + el.setAttribute(key, value); + } + } + var attrs = { + create: updateAttrs, + update: updateAttrs + }; + + function updateClass(oldVnode, vnode) { + var el = vnode.elm; + var data = vnode.data; + var oldData = oldVnode.data; + if (isUndef(data.staticClass) && + isUndef(data.class) && + (isUndef(oldData) || + (isUndef(oldData.staticClass) && isUndef(oldData.class)))) { + return; + } + var cls = genClassForVnode(vnode); + // handle transition classes + var transitionClass = el._transitionClasses; + if (isDef(transitionClass)) { + cls = concat(cls, stringifyClass(transitionClass)); + } + // set the class + if (cls !== el._prevClass) { + el.setAttribute('class', cls); + el._prevClass = cls; + } + } + var klass$1 = { + create: updateClass, + update: updateClass + }; + + var validDivisionCharRE = /[\w).+\-_$\]]/; + function parseFilters(exp) { + var inSingle = false; + var inDouble = false; + var inTemplateString = false; + var inRegex = false; + var curly = 0; + var square = 0; + var paren = 0; + var lastFilterIndex = 0; + var c, prev, i, expression, filters; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 0x27 && prev !== 0x5c) + inSingle = false; + } + else if (inDouble) { + if (c === 0x22 && prev !== 0x5c) + inDouble = false; + } + else if (inTemplateString) { + if (c === 0x60 && prev !== 0x5c) + inTemplateString = false; + } + else if (inRegex) { + if (c === 0x2f && prev !== 0x5c) + inRegex = false; + } + else if (c === 0x7c && // pipe + exp.charCodeAt(i + 1) !== 0x7c && + exp.charCodeAt(i - 1) !== 0x7c && + !curly && + !square && + !paren) { + if (expression === undefined) { + // first filter, end of expression + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } + else { + pushFilter(); + } + } + else { + switch (c) { + case 0x22: + inDouble = true; + break; // " + case 0x27: + inSingle = true; + break; // ' + case 0x60: + inTemplateString = true; + break; // ` + case 0x28: + paren++; + break; // ( + case 0x29: + paren--; + break; // ) + case 0x5b: + square++; + break; // [ + case 0x5d: + square--; + break; // ] + case 0x7b: + curly++; + break; // { + case 0x7d: + curly--; + break; // } + } + if (c === 0x2f) { + // / + var j = i - 1; + var p + // find first non-whitespace prev char + = void 0; + // find first non-whitespace prev char + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== ' ') + break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === undefined) { + expression = exp.slice(0, i).trim(); + } + else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters) { + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i]); + } + } + return expression; + } + function wrapFilter(exp, filter) { + var i = filter.indexOf('('); + if (i < 0) { + // _f: resolveFilter + return "_f(\"".concat(filter, "\")(").concat(exp, ")"); + } + else { + var name_1 = filter.slice(0, i); + var args = filter.slice(i + 1); + return "_f(\"".concat(name_1, "\")(").concat(exp).concat(args !== ')' ? ',' + args : args); + } + } + + /* eslint-disable no-unused-vars */ + function baseWarn(msg, range) { + console.error("[Vue compiler]: ".concat(msg)); + } + /* eslint-enable no-unused-vars */ + function pluckModuleFunction(modules, key) { + return modules ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) : []; + } + function addProp(el, name, value, range, dynamic) { + (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); + el.plain = false; + } + function addAttr(el, name, value, range, dynamic) { + var attrs = dynamic + ? el.dynamicAttrs || (el.dynamicAttrs = []) + : el.attrs || (el.attrs = []); + attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); + el.plain = false; + } + // add a raw attr (use this in preTransforms) + function addRawAttr(el, name, value, range) { + el.attrsMap[name] = value; + el.attrsList.push(rangeSetItem({ name: name, value: value }, range)); + } + function addDirective(el, name, rawName, value, arg, isDynamicArg, modifiers, range) { + (el.directives || (el.directives = [])).push(rangeSetItem({ + name: name, + rawName: rawName, + value: value, + arg: arg, + isDynamicArg: isDynamicArg, + modifiers: modifiers + }, range)); + el.plain = false; + } + function prependModifierMarker(symbol, name, dynamic) { + return dynamic ? "_p(".concat(name, ",\"").concat(symbol, "\")") : symbol + name; // mark the event as captured + } + function addHandler(el, name, value, modifiers, important, warn, range, dynamic) { + modifiers = modifiers || emptyObject; + // warn prevent and passive modifier + /* istanbul ignore if */ + if (warn && modifiers.prevent && modifiers.passive) { + warn("passive and prevent can't be used together. " + + "Passive handler can't prevent default event.", range); + } + // normalize click.right and click.middle since they don't actually fire + // this is technically browser-specific, but at least for now browsers are + // the only target envs that have right/middle clicks. + if (modifiers.right) { + if (dynamic) { + name = "(".concat(name, ")==='click'?'contextmenu':(").concat(name, ")"); + } + else if (name === 'click') { + name = 'contextmenu'; + delete modifiers.right; + } + } + else if (modifiers.middle) { + if (dynamic) { + name = "(".concat(name, ")==='click'?'mouseup':(").concat(name, ")"); + } + else if (name === 'click') { + name = 'mouseup'; + } + } + // check capture modifier + if (modifiers.capture) { + delete modifiers.capture; + name = prependModifierMarker('!', name, dynamic); + } + if (modifiers.once) { + delete modifiers.once; + name = prependModifierMarker('~', name, dynamic); + } + /* istanbul ignore if */ + if (modifiers.passive) { + delete modifiers.passive; + name = prependModifierMarker('&', name, dynamic); + } + var events; + if (modifiers.native) { + delete modifiers.native; + events = el.nativeEvents || (el.nativeEvents = {}); + } + else { + events = el.events || (el.events = {}); + } + var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range); + if (modifiers !== emptyObject) { + newHandler.modifiers = modifiers; + } + var handlers = events[name]; + /* istanbul ignore if */ + if (Array.isArray(handlers)) { + important ? handlers.unshift(newHandler) : handlers.push(newHandler); + } + else if (handlers) { + events[name] = important ? [newHandler, handlers] : [handlers, newHandler]; + } + else { + events[name] = newHandler; + } + el.plain = false; + } + function getRawBindingAttr(el, name) { + return (el.rawAttrsMap[':' + name] || + el.rawAttrsMap['v-bind:' + name] || + el.rawAttrsMap[name]); + } + function getBindingAttr(el, name, getStatic) { + var dynamicValue = getAndRemoveAttr(el, ':' + name) || getAndRemoveAttr(el, 'v-bind:' + name); + if (dynamicValue != null) { + return parseFilters(dynamicValue); + } + else if (getStatic !== false) { + var staticValue = getAndRemoveAttr(el, name); + if (staticValue != null) { + return JSON.stringify(staticValue); + } + } + } + // note: this only removes the attr from the Array (attrsList) so that it + // doesn't get processed by processAttrs. + // By default it does NOT remove it from the map (attrsMap) because the map is + // needed during codegen. + function getAndRemoveAttr(el, name, removeFromMap) { + var val; + if ((val = el.attrsMap[name]) != null) { + var list = el.attrsList; + for (var i = 0, l = list.length; i < l; i++) { + if (list[i].name === name) { + list.splice(i, 1); + break; + } + } + } + if (removeFromMap) { + delete el.attrsMap[name]; + } + return val; + } + function getAndRemoveAttrByRegex(el, name) { + var list = el.attrsList; + for (var i = 0, l = list.length; i < l; i++) { + var attr = list[i]; + if (name.test(attr.name)) { + list.splice(i, 1); + return attr; + } + } + } + function rangeSetItem(item, range) { + if (range) { + if (range.start != null) { + item.start = range.start; + } + if (range.end != null) { + item.end = range.end; + } + } + return item; + } + + /** + * Cross-platform code generation for component v-model + */ + function genComponentModel(el, value, modifiers) { + var _a = modifiers || {}, number = _a.number, trim = _a.trim; + var baseValueExpression = '$$v'; + var valueExpression = baseValueExpression; + if (trim) { + valueExpression = + "(typeof ".concat(baseValueExpression, " === 'string'") + + "? ".concat(baseValueExpression, ".trim()") + + ": ".concat(baseValueExpression, ")"); + } + if (number) { + valueExpression = "_n(".concat(valueExpression, ")"); + } + var assignment = genAssignmentCode(value, valueExpression); + el.model = { + value: "(".concat(value, ")"), + expression: JSON.stringify(value), + callback: "function (".concat(baseValueExpression, ") {").concat(assignment, "}") + }; + } + /** + * Cross-platform codegen helper for generating v-model value assignment code. + */ + function genAssignmentCode(value, assignment) { + var res = parseModel(value); + if (res.key === null) { + return "".concat(value, "=").concat(assignment); + } + else { + return "$set(".concat(res.exp, ", ").concat(res.key, ", ").concat(assignment, ")"); + } + } + /** + * Parse a v-model expression into a base path and a final key segment. + * Handles both dot-path and possible square brackets. + * + * Possible cases: + * + * - test + * - test[key] + * - test[test1[key]] + * - test["a"][key] + * - xxx.test[a[a].test1[key]] + * - test.xxx.a["asa"][test1[key]] + * + */ + var len, str, chr, index, expressionPos, expressionEndPos; + function parseModel(val) { + // Fix https://github.com/vuejs/vue/pull/7730 + // allow v-model="obj.val " (trailing whitespace) + val = val.trim(); + len = val.length; + if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) { + index = val.lastIndexOf('.'); + if (index > -1) { + return { + exp: val.slice(0, index), + key: '"' + val.slice(index + 1) + '"' + }; + } + else { + return { + exp: val, + key: null + }; + } + } + str = val; + index = expressionPos = expressionEndPos = 0; + while (!eof()) { + chr = next(); + /* istanbul ignore if */ + if (isStringStart(chr)) { + parseString(chr); + } + else if (chr === 0x5b) { + parseBracket(chr); + } + } + return { + exp: val.slice(0, expressionPos), + key: val.slice(expressionPos + 1, expressionEndPos) + }; + } + function next() { + return str.charCodeAt(++index); + } + function eof() { + return index >= len; + } + function isStringStart(chr) { + return chr === 0x22 || chr === 0x27; + } + function parseBracket(chr) { + var inBracket = 1; + expressionPos = index; + while (!eof()) { + chr = next(); + if (isStringStart(chr)) { + parseString(chr); + continue; + } + if (chr === 0x5b) + inBracket++; + if (chr === 0x5d) + inBracket--; + if (inBracket === 0) { + expressionEndPos = index; + break; + } + } + } + function parseString(chr) { + var stringQuote = chr; + while (!eof()) { + chr = next(); + if (chr === stringQuote) { + break; + } + } + } + + var warn$1; + // in some cases, the event used has to be determined at runtime + // so we used some reserved tokens during compile. + var RANGE_TOKEN = '__r'; + var CHECKBOX_RADIO_TOKEN = '__c'; + function model$1(el, dir, _warn) { + warn$1 = _warn; + var value = dir.value; + var modifiers = dir.modifiers; + var tag = el.tag; + var type = el.attrsMap.type; + { + // inputs with type="file" are read only and setting the input's + // value will throw an error. + if (tag === 'input' && type === 'file') { + warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\" type=\"file\">:\n") + + "File inputs are read only. Use a v-on:change listener instead.", el.rawAttrsMap['v-model']); + } + } + if (el.component) { + genComponentModel(el, value, modifiers); + // component v-model doesn't need extra runtime + return false; + } + else if (tag === 'select') { + genSelect(el, value, modifiers); + } + else if (tag === 'input' && type === 'checkbox') { + genCheckboxModel(el, value, modifiers); + } + else if (tag === 'input' && type === 'radio') { + genRadioModel(el, value, modifiers); + } + else if (tag === 'input' || tag === 'textarea') { + genDefaultModel(el, value, modifiers); + } + else if (!config.isReservedTag(tag)) { + genComponentModel(el, value, modifiers); + // component v-model doesn't need extra runtime + return false; + } + else { + warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + + "v-model is not supported on this element type. " + + "If you are working with contenteditable, it's recommended to " + + 'wrap a library dedicated for that purpose inside a custom component.', el.rawAttrsMap['v-model']); + } + // ensure runtime directive metadata + return true; + } + function genCheckboxModel(el, value, modifiers) { + var number = modifiers && modifiers.number; + var valueBinding = getBindingAttr(el, 'value') || 'null'; + var trueValueBinding = getBindingAttr(el, 'true-value') || 'true'; + var falseValueBinding = getBindingAttr(el, 'false-value') || 'false'; + addProp(el, 'checked', "Array.isArray(".concat(value, ")") + + "?_i(".concat(value, ",").concat(valueBinding, ")>-1") + + (trueValueBinding === 'true' + ? ":(".concat(value, ")") + : ":_q(".concat(value, ",").concat(trueValueBinding, ")"))); + addHandler(el, 'change', "var $$a=".concat(value, ",") + + '$$el=$event.target,' + + "$$c=$$el.checked?(".concat(trueValueBinding, "):(").concat(falseValueBinding, ");") + + 'if(Array.isArray($$a)){' + + "var $$v=".concat(number ? '_n(' + valueBinding + ')' : valueBinding, ",") + + '$$i=_i($$a,$$v);' + + "if($$el.checked){$$i<0&&(".concat(genAssignmentCode(value, '$$a.concat([$$v])'), ")}") + + "else{$$i>-1&&(".concat(genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))'), ")}") + + "}else{".concat(genAssignmentCode(value, '$$c'), "}"), null, true); + } + function genRadioModel(el, value, modifiers) { + var number = modifiers && modifiers.number; + var valueBinding = getBindingAttr(el, 'value') || 'null'; + valueBinding = number ? "_n(".concat(valueBinding, ")") : valueBinding; + addProp(el, 'checked', "_q(".concat(value, ",").concat(valueBinding, ")")); + addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true); + } + function genSelect(el, value, modifiers) { + var number = modifiers && modifiers.number; + var selectedVal = "Array.prototype.filter" + + ".call($event.target.options,function(o){return o.selected})" + + ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" + + "return ".concat(number ? '_n(val)' : 'val', "})"); + var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]'; + var code = "var $$selectedVal = ".concat(selectedVal, ";"); + code = "".concat(code, " ").concat(genAssignmentCode(value, assignment)); + addHandler(el, 'change', code, null, true); + } + function genDefaultModel(el, value, modifiers) { + var type = el.attrsMap.type; + // warn if v-bind:value conflicts with v-model + // except for inputs with v-bind:type + { + var value_1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value']; + var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type']; + if (value_1 && !typeBinding) { + var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'; + warn$1("".concat(binding, "=\"").concat(value_1, "\" conflicts with v-model on the same element ") + + 'because the latter already expands to a value binding internally', el.rawAttrsMap[binding]); + } + } + var _a = modifiers || {}, lazy = _a.lazy, number = _a.number, trim = _a.trim; + var needCompositionGuard = !lazy && type !== 'range'; + var event = lazy ? 'change' : type === 'range' ? RANGE_TOKEN : 'input'; + var valueExpression = '$event.target.value'; + if (trim) { + valueExpression = "$event.target.value.trim()"; + } + if (number) { + valueExpression = "_n(".concat(valueExpression, ")"); + } + var code = genAssignmentCode(value, valueExpression); + if (needCompositionGuard) { + code = "if($event.target.composing)return;".concat(code); + } + addProp(el, 'value', "(".concat(value, ")")); + addHandler(el, event, code, null, true); + if (trim || number) { + addHandler(el, 'blur', '$forceUpdate()'); + } + } + + // normalize v-model event tokens that can only be determined at runtime. + // it's important to place the event as the first in the array because + // the whole point is ensuring the v-model callback gets called before + // user-attached handlers. + function normalizeEvents(on) { + /* istanbul ignore if */ + if (isDef(on[RANGE_TOKEN])) { + // IE input[type=range] only supports `change` event + var event_1 = isIE ? 'change' : 'input'; + on[event_1] = [].concat(on[RANGE_TOKEN], on[event_1] || []); + delete on[RANGE_TOKEN]; + } + // This was originally intended to fix #4521 but no longer necessary + // after 2.5. Keeping it for backwards compat with generated code from < 2.4 + /* istanbul ignore if */ + if (isDef(on[CHECKBOX_RADIO_TOKEN])) { + on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []); + delete on[CHECKBOX_RADIO_TOKEN]; + } + } + var target; + function createOnceHandler(event, handler, capture) { + var _target = target; // save current target element in closure + return function onceHandler() { + var res = handler.apply(null, arguments); + if (res !== null) { + remove(event, onceHandler, capture, _target); + } + }; + } + // #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp + // implementation and does not fire microtasks in between event propagation, so + // safe to exclude. + var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53); + function add(name, handler, capture, passive) { + // async edge case #6566: inner click event triggers patch, event handler + // attached to outer element during patch, and triggered again. This + // happens because browsers fire microtask ticks between event propagation. + // the solution is simple: we save the timestamp when a handler is attached, + // and the handler would only fire if the event passed to it was fired + // AFTER it was attached. + if (useMicrotaskFix) { + var attachedTimestamp_1 = currentFlushTimestamp; + var original_1 = handler; + //@ts-expect-error + handler = original_1._wrapper = function (e) { + if ( + // no bubbling, should always fire. + // this is just a safety net in case event.timeStamp is unreliable in + // certain weird environments... + e.target === e.currentTarget || + // event is fired after handler attachment + e.timeStamp >= attachedTimestamp_1 || + // bail for environments that have buggy event.timeStamp implementations + // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState + // #9681 QtWebEngine event.timeStamp is negative value + e.timeStamp <= 0 || + // #9448 bail if event is fired in another document in a multi-page + // electron/nw.js app, since event.timeStamp will be using a different + // starting reference + e.target.ownerDocument !== document) { + return original_1.apply(this, arguments); + } + }; + } + target.addEventListener(name, handler, supportsPassive ? { capture: capture, passive: passive } : capture); + } + function remove(name, handler, capture, _target) { + (_target || target).removeEventListener(name, + //@ts-expect-error + handler._wrapper || handler, capture); + } + function updateDOMListeners(oldVnode, vnode) { + if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) { + return; + } + var on = vnode.data.on || {}; + var oldOn = oldVnode.data.on || {}; + // vnode is empty when removing all listeners, + // and use old vnode dom element + target = vnode.elm || oldVnode.elm; + normalizeEvents(on); + updateListeners(on, oldOn, add, remove, createOnceHandler, vnode.context); + target = undefined; + } + var events = { + create: updateDOMListeners, + update: updateDOMListeners, + // @ts-expect-error emptyNode has actually data + destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); } + }; + + var svgContainer; + function updateDOMProps(oldVnode, vnode) { + if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) { + return; + } + var key, cur; + var elm = vnode.elm; + var oldProps = oldVnode.data.domProps || {}; + var props = vnode.data.domProps || {}; + // clone observed objects, as the user probably wants to mutate it + if (isDef(props.__ob__) || isTrue(props._v_attr_proxy)) { + props = vnode.data.domProps = extend({}, props); + } + for (key in oldProps) { + if (!(key in props)) { + elm[key] = ''; + } + } + for (key in props) { + cur = props[key]; + // ignore children if the node has textContent or innerHTML, + // as these will throw away existing DOM nodes and cause removal errors + // on subsequent patches (#3360) + if (key === 'textContent' || key === 'innerHTML') { + if (vnode.children) + vnode.children.length = 0; + if (cur === oldProps[key]) + continue; + // #6601 work around Chrome version <= 55 bug where single textNode + // replaced by innerHTML/textContent retains its parentNode property + if (elm.childNodes.length === 1) { + elm.removeChild(elm.childNodes[0]); + } + } + if (key === 'value' && elm.tagName !== 'PROGRESS') { + // store value as _value as well since + // non-string values will be stringified + elm._value = cur; + // avoid resetting cursor position when value is the same + var strCur = isUndef(cur) ? '' : String(cur); + if (shouldUpdateValue(elm, strCur)) { + elm.value = strCur; + } + } + else if (key === 'innerHTML' && + isSVG(elm.tagName) && + isUndef(elm.innerHTML)) { + // IE doesn't support innerHTML for SVG elements + svgContainer = svgContainer || document.createElement('div'); + svgContainer.innerHTML = "<svg>".concat(cur, "</svg>"); + var svg = svgContainer.firstChild; + while (elm.firstChild) { + elm.removeChild(elm.firstChild); + } + while (svg.firstChild) { + elm.appendChild(svg.firstChild); + } + } + else if ( + // skip the update if old and new VDOM state is the same. + // `value` is handled separately because the DOM value may be temporarily + // out of sync with VDOM state due to focus, composition and modifiers. + // This #4521 by skipping the unnecessary `checked` update. + cur !== oldProps[key]) { + // some property updates can throw + // e.g. `value` on <progress> w/ non-finite value + try { + elm[key] = cur; + } + catch (e) { } + } + } + } + function shouldUpdateValue(elm, checkVal) { + return ( + //@ts-expect-error + !elm.composing && + (elm.tagName === 'OPTION' || + isNotInFocusAndDirty(elm, checkVal) || + isDirtyWithModifiers(elm, checkVal))); + } + function isNotInFocusAndDirty(elm, checkVal) { + // return true when textbox (.number and .trim) loses focus and its value is + // not equal to the updated value + var notInFocus = true; + // #6157 + // work around IE bug when accessing document.activeElement in an iframe + try { + notInFocus = document.activeElement !== elm; + } + catch (e) { } + return notInFocus && elm.value !== checkVal; + } + function isDirtyWithModifiers(elm, newVal) { + var value = elm.value; + var modifiers = elm._vModifiers; // injected by v-model runtime + if (isDef(modifiers)) { + if (modifiers.number) { + return toNumber(value) !== toNumber(newVal); + } + if (modifiers.trim) { + return value.trim() !== newVal.trim(); + } + } + return value !== newVal; + } + var domProps = { + create: updateDOMProps, + update: updateDOMProps + }; + + var parseStyleText = cached(function (cssText) { + var res = {}; + var listDelimiter = /;(?![^(]*\))/g; + var propertyDelimiter = /:(.+)/; + cssText.split(listDelimiter).forEach(function (item) { + if (item) { + var tmp = item.split(propertyDelimiter); + tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); + } + }); + return res; + }); + // merge static and dynamic style data on the same vnode + function normalizeStyleData(data) { + var style = normalizeStyleBinding(data.style); + // static style is pre-processed into an object during compilation + // and is always a fresh object, so it's safe to merge into it + return data.staticStyle ? extend(data.staticStyle, style) : style; + } + // normalize possible array / string values into Object + function normalizeStyleBinding(bindingStyle) { + if (Array.isArray(bindingStyle)) { + return toObject(bindingStyle); + } + if (typeof bindingStyle === 'string') { + return parseStyleText(bindingStyle); + } + return bindingStyle; + } + /** + * parent component style should be after child's + * so that parent component's style could override it + */ + function getStyle(vnode, checkChild) { + var res = {}; + var styleData; + if (checkChild) { + var childNode = vnode; + while (childNode.componentInstance) { + childNode = childNode.componentInstance._vnode; + if (childNode && + childNode.data && + (styleData = normalizeStyleData(childNode.data))) { + extend(res, styleData); + } + } + } + if ((styleData = normalizeStyleData(vnode.data))) { + extend(res, styleData); + } + var parentNode = vnode; + // @ts-expect-error parentNode.parent not VNodeWithData + while ((parentNode = parentNode.parent)) { + if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) { + extend(res, styleData); + } + } + return res; + } + + var cssVarRE = /^--/; + var importantRE = /\s*!important$/; + var setProp = function (el, name, val) { + /* istanbul ignore if */ + if (cssVarRE.test(name)) { + el.style.setProperty(name, val); + } + else if (importantRE.test(val)) { + el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important'); + } + else { + var normalizedName = normalize(name); + if (Array.isArray(val)) { + // Support values array created by autoprefixer, e.g. + // {display: ["-webkit-box", "-ms-flexbox", "flex"]} + // Set them one by one, and the browser will only set those it can recognize + for (var i = 0, len = val.length; i < len; i++) { + el.style[normalizedName] = val[i]; + } + } + else { + el.style[normalizedName] = val; + } + } + }; + var vendorNames = ['Webkit', 'Moz', 'ms']; + var emptyStyle; + var normalize = cached(function (prop) { + emptyStyle = emptyStyle || document.createElement('div').style; + prop = camelize(prop); + if (prop !== 'filter' && prop in emptyStyle) { + return prop; + } + var capName = prop.charAt(0).toUpperCase() + prop.slice(1); + for (var i = 0; i < vendorNames.length; i++) { + var name_1 = vendorNames[i] + capName; + if (name_1 in emptyStyle) { + return name_1; + } + } + }); + function updateStyle(oldVnode, vnode) { + var data = vnode.data; + var oldData = oldVnode.data; + if (isUndef(data.staticStyle) && + isUndef(data.style) && + isUndef(oldData.staticStyle) && + isUndef(oldData.style)) { + return; + } + var cur, name; + var el = vnode.elm; + var oldStaticStyle = oldData.staticStyle; + var oldStyleBinding = oldData.normalizedStyle || oldData.style || {}; + // if static style exists, stylebinding already merged into it when doing normalizeStyleData + var oldStyle = oldStaticStyle || oldStyleBinding; + var style = normalizeStyleBinding(vnode.data.style) || {}; + // store normalized style under a different key for next diff + // make sure to clone it if it's reactive, since the user likely wants + // to mutate it. + vnode.data.normalizedStyle = isDef(style.__ob__) ? extend({}, style) : style; + var newStyle = getStyle(vnode, true); + for (name in oldStyle) { + if (isUndef(newStyle[name])) { + setProp(el, name, ''); + } + } + for (name in newStyle) { + cur = newStyle[name]; + if (cur !== oldStyle[name]) { + // ie9 setting to null has no effect, must use empty string + setProp(el, name, cur == null ? '' : cur); + } + } + } + var style$1 = { + create: updateStyle, + update: updateStyle + }; + + var whitespaceRE$1 = /\s+/; + /** + * Add class with compatibility for SVG since classList is not supported on + * SVG elements in IE + */ + function addClass(el, cls) { + /* istanbul ignore if */ + if (!cls || !(cls = cls.trim())) { + return; + } + /* istanbul ignore else */ + if (el.classList) { + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.add(c); }); + } + else { + el.classList.add(cls); + } + } + else { + var cur = " ".concat(el.getAttribute('class') || '', " "); + if (cur.indexOf(' ' + cls + ' ') < 0) { + el.setAttribute('class', (cur + cls).trim()); + } + } + } + /** + * Remove class with compatibility for SVG since classList is not supported on + * SVG elements in IE + */ + function removeClass(el, cls) { + /* istanbul ignore if */ + if (!cls || !(cls = cls.trim())) { + return; + } + /* istanbul ignore else */ + if (el.classList) { + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.remove(c); }); + } + else { + el.classList.remove(cls); + } + if (!el.classList.length) { + el.removeAttribute('class'); + } + } + else { + var cur = " ".concat(el.getAttribute('class') || '', " "); + var tar = ' ' + cls + ' '; + while (cur.indexOf(tar) >= 0) { + cur = cur.replace(tar, ' '); + } + cur = cur.trim(); + if (cur) { + el.setAttribute('class', cur); + } + else { + el.removeAttribute('class'); + } + } + } + + function resolveTransition(def) { + if (!def) { + return; + } + /* istanbul ignore else */ + if (typeof def === 'object') { + var res = {}; + if (def.css !== false) { + extend(res, autoCssTransition(def.name || 'v')); + } + extend(res, def); + return res; + } + else if (typeof def === 'string') { + return autoCssTransition(def); + } + } + var autoCssTransition = cached(function (name) { + return { + enterClass: "".concat(name, "-enter"), + enterToClass: "".concat(name, "-enter-to"), + enterActiveClass: "".concat(name, "-enter-active"), + leaveClass: "".concat(name, "-leave"), + leaveToClass: "".concat(name, "-leave-to"), + leaveActiveClass: "".concat(name, "-leave-active") + }; + }); + var hasTransition = inBrowser && !isIE9; + var TRANSITION = 'transition'; + var ANIMATION = 'animation'; + // Transition property/event sniffing + var transitionProp = 'transition'; + var transitionEndEvent = 'transitionend'; + var animationProp = 'animation'; + var animationEndEvent = 'animationend'; + if (hasTransition) { + /* istanbul ignore if */ + if (window.ontransitionend === undefined && + window.onwebkittransitionend !== undefined) { + transitionProp = 'WebkitTransition'; + transitionEndEvent = 'webkitTransitionEnd'; + } + if (window.onanimationend === undefined && + window.onwebkitanimationend !== undefined) { + animationProp = 'WebkitAnimation'; + animationEndEvent = 'webkitAnimationEnd'; + } + } + // binding to window is necessary to make hot reload work in IE in strict mode + var raf = inBrowser + ? window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : setTimeout + : /* istanbul ignore next */ function (/* istanbul ignore next */ fn) { return fn(); }; + function nextFrame(fn) { + raf(function () { + // @ts-expect-error + raf(fn); + }); + } + function addTransitionClass(el, cls) { + var transitionClasses = el._transitionClasses || (el._transitionClasses = []); + if (transitionClasses.indexOf(cls) < 0) { + transitionClasses.push(cls); + addClass(el, cls); + } + } + function removeTransitionClass(el, cls) { + if (el._transitionClasses) { + remove$2(el._transitionClasses, cls); + } + removeClass(el, cls); + } + function whenTransitionEnds(el, expectedType, cb) { + var _a = getTransitionInfo(el, expectedType), type = _a.type, timeout = _a.timeout, propCount = _a.propCount; + if (!type) + return cb(); + var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; + var ended = 0; + var end = function () { + el.removeEventListener(event, onEnd); + cb(); + }; + var onEnd = function (e) { + if (e.target === el) { + if (++ended >= propCount) { + end(); + } + } + }; + setTimeout(function () { + if (ended < propCount) { + end(); + } + }, timeout + 1); + el.addEventListener(event, onEnd); + } + var transformRE = /\b(transform|all)(,|$)/; + function getTransitionInfo(el, expectedType) { + var styles = window.getComputedStyle(el); + // JSDOM may return undefined for transition properties + var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', '); + var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', '); + var transitionTimeout = getTimeout(transitionDelays, transitionDurations); + var animationDelays = (styles[animationProp + 'Delay'] || '').split(', '); + var animationDurations = (styles[animationProp + 'Duration'] || '').split(', '); + var animationTimeout = getTimeout(animationDelays, animationDurations); + var type; + var timeout = 0; + var propCount = 0; + /* istanbul ignore if */ + if (expectedType === TRANSITION) { + if (transitionTimeout > 0) { + type = TRANSITION; + timeout = transitionTimeout; + propCount = transitionDurations.length; + } + } + else if (expectedType === ANIMATION) { + if (animationTimeout > 0) { + type = ANIMATION; + timeout = animationTimeout; + propCount = animationDurations.length; + } + } + else { + timeout = Math.max(transitionTimeout, animationTimeout); + type = + timeout > 0 + ? transitionTimeout > animationTimeout + ? TRANSITION + : ANIMATION + : null; + propCount = type + ? type === TRANSITION + ? transitionDurations.length + : animationDurations.length + : 0; + } + var hasTransform = type === TRANSITION && transformRE.test(styles[transitionProp + 'Property']); + return { + type: type, + timeout: timeout, + propCount: propCount, + hasTransform: hasTransform + }; + } + function getTimeout(delays, durations) { + /* istanbul ignore next */ + while (delays.length < durations.length) { + delays = delays.concat(delays); + } + return Math.max.apply(null, durations.map(function (d, i) { + return toMs(d) + toMs(delays[i]); + })); + } + // Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers + // in a locale-dependent way, using a comma instead of a dot. + // If comma is not replaced with a dot, the input will be rounded down (i.e. acting + // as a floor function) causing unexpected behaviors + function toMs(s) { + return Number(s.slice(0, -1).replace(',', '.')) * 1000; + } + + function enter(vnode, toggleDisplay) { + var el = vnode.elm; + // call leave callback now + if (isDef(el._leaveCb)) { + el._leaveCb.cancelled = true; + el._leaveCb(); + } + var data = resolveTransition(vnode.data.transition); + if (isUndef(data)) { + return; + } + /* istanbul ignore if */ + if (isDef(el._enterCb) || el.nodeType !== 1) { + return; + } + var css = data.css, type = data.type, enterClass = data.enterClass, enterToClass = data.enterToClass, enterActiveClass = data.enterActiveClass, appearClass = data.appearClass, appearToClass = data.appearToClass, appearActiveClass = data.appearActiveClass, beforeEnter = data.beforeEnter, enter = data.enter, afterEnter = data.afterEnter, enterCancelled = data.enterCancelled, beforeAppear = data.beforeAppear, appear = data.appear, afterAppear = data.afterAppear, appearCancelled = data.appearCancelled, duration = data.duration; + // activeInstance will always be the <transition> component managing this + // transition. One edge case to check is when the <transition> is placed + // as the root node of a child component. In that case we need to check + // <transition>'s parent for appear check. + var context = activeInstance; + var transitionNode = activeInstance.$vnode; + while (transitionNode && transitionNode.parent) { + context = transitionNode.context; + transitionNode = transitionNode.parent; + } + var isAppear = !context._isMounted || !vnode.isRootInsert; + if (isAppear && !appear && appear !== '') { + return; + } + var startClass = isAppear && appearClass ? appearClass : enterClass; + var activeClass = isAppear && appearActiveClass ? appearActiveClass : enterActiveClass; + var toClass = isAppear && appearToClass ? appearToClass : enterToClass; + var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter; + var enterHook = isAppear ? (isFunction(appear) ? appear : enter) : enter; + var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter; + var enterCancelledHook = isAppear + ? appearCancelled || enterCancelled + : enterCancelled; + var explicitEnterDuration = toNumber(isObject(duration) ? duration.enter : duration); + if (explicitEnterDuration != null) { + checkDuration(explicitEnterDuration, 'enter', vnode); + } + var expectsCSS = css !== false && !isIE9; + var userWantsControl = getHookArgumentsLength(enterHook); + var cb = (el._enterCb = once(function () { + if (expectsCSS) { + removeTransitionClass(el, toClass); + removeTransitionClass(el, activeClass); + } + // @ts-expect-error + if (cb.cancelled) { + if (expectsCSS) { + removeTransitionClass(el, startClass); + } + enterCancelledHook && enterCancelledHook(el); + } + else { + afterEnterHook && afterEnterHook(el); + } + el._enterCb = null; + })); + if (!vnode.data.show) { + // remove pending leave element on enter by injecting an insert hook + mergeVNodeHook(vnode, 'insert', function () { + var parent = el.parentNode; + var pendingNode = parent && parent._pending && parent._pending[vnode.key]; + if (pendingNode && + pendingNode.tag === vnode.tag && + pendingNode.elm._leaveCb) { + pendingNode.elm._leaveCb(); + } + enterHook && enterHook(el, cb); + }); + } + // start enter transition + beforeEnterHook && beforeEnterHook(el); + if (expectsCSS) { + addTransitionClass(el, startClass); + addTransitionClass(el, activeClass); + nextFrame(function () { + removeTransitionClass(el, startClass); + // @ts-expect-error + if (!cb.cancelled) { + addTransitionClass(el, toClass); + if (!userWantsControl) { + if (isValidDuration(explicitEnterDuration)) { + setTimeout(cb, explicitEnterDuration); + } + else { + whenTransitionEnds(el, type, cb); + } + } + } + }); + } + if (vnode.data.show) { + toggleDisplay && toggleDisplay(); + enterHook && enterHook(el, cb); + } + if (!expectsCSS && !userWantsControl) { + cb(); + } + } + function leave(vnode, rm) { + var el = vnode.elm; + // call enter callback now + if (isDef(el._enterCb)) { + el._enterCb.cancelled = true; + el._enterCb(); + } + var data = resolveTransition(vnode.data.transition); + if (isUndef(data) || el.nodeType !== 1) { + return rm(); + } + /* istanbul ignore if */ + if (isDef(el._leaveCb)) { + return; + } + var css = data.css, type = data.type, leaveClass = data.leaveClass, leaveToClass = data.leaveToClass, leaveActiveClass = data.leaveActiveClass, beforeLeave = data.beforeLeave, leave = data.leave, afterLeave = data.afterLeave, leaveCancelled = data.leaveCancelled, delayLeave = data.delayLeave, duration = data.duration; + var expectsCSS = css !== false && !isIE9; + var userWantsControl = getHookArgumentsLength(leave); + var explicitLeaveDuration = toNumber(isObject(duration) ? duration.leave : duration); + if (isDef(explicitLeaveDuration)) { + checkDuration(explicitLeaveDuration, 'leave', vnode); + } + var cb = (el._leaveCb = once(function () { + if (el.parentNode && el.parentNode._pending) { + el.parentNode._pending[vnode.key] = null; + } + if (expectsCSS) { + removeTransitionClass(el, leaveToClass); + removeTransitionClass(el, leaveActiveClass); + } + // @ts-expect-error + if (cb.cancelled) { + if (expectsCSS) { + removeTransitionClass(el, leaveClass); + } + leaveCancelled && leaveCancelled(el); + } + else { + rm(); + afterLeave && afterLeave(el); + } + el._leaveCb = null; + })); + if (delayLeave) { + delayLeave(performLeave); + } + else { + performLeave(); + } + function performLeave() { + // the delayed leave may have already been cancelled + // @ts-expect-error + if (cb.cancelled) { + return; + } + // record leaving element + if (!vnode.data.show && el.parentNode) { + (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = + vnode; + } + beforeLeave && beforeLeave(el); + if (expectsCSS) { + addTransitionClass(el, leaveClass); + addTransitionClass(el, leaveActiveClass); + nextFrame(function () { + removeTransitionClass(el, leaveClass); + // @ts-expect-error + if (!cb.cancelled) { + addTransitionClass(el, leaveToClass); + if (!userWantsControl) { + if (isValidDuration(explicitLeaveDuration)) { + setTimeout(cb, explicitLeaveDuration); + } + else { + whenTransitionEnds(el, type, cb); + } + } + } + }); + } + leave && leave(el, cb); + if (!expectsCSS && !userWantsControl) { + cb(); + } + } + } + // only used in dev mode + function checkDuration(val, name, vnode) { + if (typeof val !== 'number') { + warn$2("<transition> explicit ".concat(name, " duration is not a valid number - ") + + "got ".concat(JSON.stringify(val), "."), vnode.context); + } + else if (isNaN(val)) { + warn$2("<transition> explicit ".concat(name, " duration is NaN - ") + + 'the duration expression might be incorrect.', vnode.context); + } + } + function isValidDuration(val) { + return typeof val === 'number' && !isNaN(val); + } + /** + * Normalize a transition hook's argument length. The hook may be: + * - a merged hook (invoker) with the original in .fns + * - a wrapped component method (check ._length) + * - a plain function (.length) + */ + function getHookArgumentsLength(fn) { + if (isUndef(fn)) { + return false; + } + // @ts-expect-error + var invokerFns = fn.fns; + if (isDef(invokerFns)) { + // invoker + return getHookArgumentsLength(Array.isArray(invokerFns) ? invokerFns[0] : invokerFns); + } + else { + // @ts-expect-error + return (fn._length || fn.length) > 1; + } + } + function _enter(_, vnode) { + if (vnode.data.show !== true) { + enter(vnode); + } + } + var transition = inBrowser + ? { + create: _enter, + activate: _enter, + remove: function (vnode, rm) { + /* istanbul ignore else */ + if (vnode.data.show !== true) { + // @ts-expect-error + leave(vnode, rm); + } + else { + rm(); + } + } + } + : {}; + + var platformModules = [attrs, klass$1, events, domProps, style$1, transition]; + + // the directive module should be applied last, after all + // built-in modules have been applied. + var modules$1 = platformModules.concat(baseModules); + var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules$1 }); + + /** + * Not type checking this file because flow doesn't like attaching + * properties to Elements. + */ + /* istanbul ignore if */ + if (isIE9) { + // http://www.matts411.com/post/internet-explorer-9-oninput/ + document.addEventListener('selectionchange', function () { + var el = document.activeElement; + // @ts-expect-error + if (el && el.vmodel) { + trigger(el, 'input'); + } + }); + } + var directive = { + inserted: function (el, binding, vnode, oldVnode) { + if (vnode.tag === 'select') { + // #6903 + if (oldVnode.elm && !oldVnode.elm._vOptions) { + mergeVNodeHook(vnode, 'postpatch', function () { + directive.componentUpdated(el, binding, vnode); + }); + } + else { + setSelected(el, binding, vnode.context); + } + el._vOptions = [].map.call(el.options, getValue); + } + else if (vnode.tag === 'textarea' || isTextInputType(el.type)) { + el._vModifiers = binding.modifiers; + if (!binding.modifiers.lazy) { + el.addEventListener('compositionstart', onCompositionStart); + el.addEventListener('compositionend', onCompositionEnd); + // Safari < 10.2 & UIWebView doesn't fire compositionend when + // switching focus before confirming composition choice + // this also fixes the issue where some browsers e.g. iOS Chrome + // fires "change" instead of "input" on autocomplete. + el.addEventListener('change', onCompositionEnd); + /* istanbul ignore if */ + if (isIE9) { + el.vmodel = true; + } + } + } + }, + componentUpdated: function (el, binding, vnode) { + if (vnode.tag === 'select') { + setSelected(el, binding, vnode.context); + // in case the options rendered by v-for have changed, + // it's possible that the value is out-of-sync with the rendered options. + // detect such cases and filter out values that no longer has a matching + // option in the DOM. + var prevOptions_1 = el._vOptions; + var curOptions_1 = (el._vOptions = [].map.call(el.options, getValue)); + if (curOptions_1.some(function (o, i) { return !looseEqual(o, prevOptions_1[i]); })) { + // trigger change event if + // no matching option found for at least one value + var needReset = el.multiple + ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions_1); }) + : binding.value !== binding.oldValue && + hasNoMatchingOption(binding.value, curOptions_1); + if (needReset) { + trigger(el, 'change'); + } + } + } + } + }; + function setSelected(el, binding, vm) { + actuallySetSelected(el, binding, vm); + /* istanbul ignore if */ + if (isIE || isEdge) { + setTimeout(function () { + actuallySetSelected(el, binding, vm); + }, 0); + } + } + function actuallySetSelected(el, binding, vm) { + var value = binding.value; + var isMultiple = el.multiple; + if (isMultiple && !Array.isArray(value)) { + warn$2("<select multiple v-model=\"".concat(binding.expression, "\"> ") + + "expects an Array value for its binding, but got ".concat(Object.prototype.toString + .call(value) + .slice(8, -1)), vm); + return; + } + var selected, option; + for (var i = 0, l = el.options.length; i < l; i++) { + option = el.options[i]; + if (isMultiple) { + selected = looseIndexOf(value, getValue(option)) > -1; + if (option.selected !== selected) { + option.selected = selected; + } + } + else { + if (looseEqual(getValue(option), value)) { + if (el.selectedIndex !== i) { + el.selectedIndex = i; + } + return; + } + } + } + if (!isMultiple) { + el.selectedIndex = -1; + } + } + function hasNoMatchingOption(value, options) { + return options.every(function (o) { return !looseEqual(o, value); }); + } + function getValue(option) { + return '_value' in option ? option._value : option.value; + } + function onCompositionStart(e) { + e.target.composing = true; + } + function onCompositionEnd(e) { + // prevent triggering an input event for no reason + if (!e.target.composing) + return; + e.target.composing = false; + trigger(e.target, 'input'); + } + function trigger(el, type) { + var e = document.createEvent('HTMLEvents'); + e.initEvent(type, true, true); + el.dispatchEvent(e); + } + + // recursively search for possible transition defined inside the component root + function locateNode(vnode) { + // @ts-expect-error + return vnode.componentInstance && (!vnode.data || !vnode.data.transition) + ? locateNode(vnode.componentInstance._vnode) + : vnode; + } + var show = { + bind: function (el, _a, vnode) { + var value = _a.value; + vnode = locateNode(vnode); + var transition = vnode.data && vnode.data.transition; + var originalDisplay = (el.__vOriginalDisplay = + el.style.display === 'none' ? '' : el.style.display); + if (value && transition) { + vnode.data.show = true; + enter(vnode, function () { + el.style.display = originalDisplay; + }); + } + else { + el.style.display = value ? originalDisplay : 'none'; + } + }, + update: function (el, _a, vnode) { + var value = _a.value, oldValue = _a.oldValue; + /* istanbul ignore if */ + if (!value === !oldValue) + return; + vnode = locateNode(vnode); + var transition = vnode.data && vnode.data.transition; + if (transition) { + vnode.data.show = true; + if (value) { + enter(vnode, function () { + el.style.display = el.__vOriginalDisplay; + }); + } + else { + leave(vnode, function () { + el.style.display = 'none'; + }); + } + } + else { + el.style.display = value ? el.__vOriginalDisplay : 'none'; + } + }, + unbind: function (el, binding, vnode, oldVnode, isDestroy) { + if (!isDestroy) { + el.style.display = el.__vOriginalDisplay; + } + } + }; + + var platformDirectives = { + model: directive, + show: show + }; + + // Provides transition support for a single element/component. + var transitionProps = { + name: String, + appear: Boolean, + css: Boolean, + mode: String, + type: String, + enterClass: String, + leaveClass: String, + enterToClass: String, + leaveToClass: String, + enterActiveClass: String, + leaveActiveClass: String, + appearClass: String, + appearActiveClass: String, + appearToClass: String, + duration: [Number, String, Object] + }; + // in case the child is also an abstract component, e.g. <keep-alive> + // we want to recursively retrieve the real component to be rendered + function getRealChild(vnode) { + var compOptions = vnode && vnode.componentOptions; + if (compOptions && compOptions.Ctor.options.abstract) { + return getRealChild(getFirstComponentChild(compOptions.children)); + } + else { + return vnode; + } + } + function extractTransitionData(comp) { + var data = {}; + var options = comp.$options; + // props + for (var key in options.propsData) { + data[key] = comp[key]; + } + // events. + // extract listeners and pass them directly to the transition methods + var listeners = options._parentListeners; + for (var key in listeners) { + data[camelize(key)] = listeners[key]; + } + return data; + } + function placeholder(h, rawChild) { + // @ts-expect-error + if (/\d-keep-alive$/.test(rawChild.tag)) { + return h('keep-alive', { + props: rawChild.componentOptions.propsData + }); + } + } + function hasParentTransition(vnode) { + while ((vnode = vnode.parent)) { + if (vnode.data.transition) { + return true; + } + } + } + function isSameChild(child, oldChild) { + return oldChild.key === child.key && oldChild.tag === child.tag; + } + var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); }; + var isVShowDirective = function (d) { return d.name === 'show'; }; + var Transition = { + name: 'transition', + props: transitionProps, + abstract: true, + render: function (h) { + var _this = this; + var children = this.$slots.default; + if (!children) { + return; + } + // filter out text nodes (possible whitespaces) + children = children.filter(isNotTextNode); + /* istanbul ignore if */ + if (!children.length) { + return; + } + // warn multiple elements + if (children.length > 1) { + warn$2('<transition> can only be used on a single element. Use ' + + '<transition-group> for lists.', this.$parent); + } + var mode = this.mode; + // warn invalid mode + if (mode && mode !== 'in-out' && mode !== 'out-in') { + warn$2('invalid <transition> mode: ' + mode, this.$parent); + } + var rawChild = children[0]; + // if this is a component root node and the component's + // parent container node also has transition, skip. + if (hasParentTransition(this.$vnode)) { + return rawChild; + } + // apply transition data to child + // use getRealChild() to ignore abstract components e.g. keep-alive + var child = getRealChild(rawChild); + /* istanbul ignore if */ + if (!child) { + return rawChild; + } + if (this._leaving) { + return placeholder(h, rawChild); + } + // ensure a key that is unique to the vnode type and to this transition + // component instance. This key will be used to remove pending leaving nodes + // during entering. + var id = "__transition-".concat(this._uid, "-"); + child.key = + child.key == null + ? child.isComment + ? id + 'comment' + : id + child.tag + : isPrimitive(child.key) + ? String(child.key).indexOf(id) === 0 + ? child.key + : id + child.key + : child.key; + var data = ((child.data || (child.data = {})).transition = + extractTransitionData(this)); + var oldRawChild = this._vnode; + var oldChild = getRealChild(oldRawChild); + // mark v-show + // so that the transition module can hand over the control to the directive + if (child.data.directives && child.data.directives.some(isVShowDirective)) { + child.data.show = true; + } + if (oldChild && + oldChild.data && + !isSameChild(child, oldChild) && + !isAsyncPlaceholder(oldChild) && + // #6687 component root is a comment node + !(oldChild.componentInstance && + oldChild.componentInstance._vnode.isComment)) { + // replace old child transition data with fresh one + // important for dynamic transitions! + var oldData = (oldChild.data.transition = extend({}, data)); + // handle transition mode + if (mode === 'out-in') { + // return placeholder node and queue update when leave finishes + this._leaving = true; + mergeVNodeHook(oldData, 'afterLeave', function () { + _this._leaving = false; + _this.$forceUpdate(); + }); + return placeholder(h, rawChild); + } + else if (mode === 'in-out') { + if (isAsyncPlaceholder(child)) { + return oldRawChild; + } + var delayedLeave_1; + var performLeave = function () { + delayedLeave_1(); + }; + mergeVNodeHook(data, 'afterEnter', performLeave); + mergeVNodeHook(data, 'enterCancelled', performLeave); + mergeVNodeHook(oldData, 'delayLeave', function (leave) { + delayedLeave_1 = leave; + }); + } + } + return rawChild; + } + }; + + // Provides transition support for list items. + var props = extend({ + tag: String, + moveClass: String + }, transitionProps); + delete props.mode; + var TransitionGroup = { + props: props, + beforeMount: function () { + var _this = this; + var update = this._update; + this._update = function (vnode, hydrating) { + var restoreActiveInstance = setActiveInstance(_this); + // force removing pass + _this.__patch__(_this._vnode, _this.kept, false, // hydrating + true // removeOnly (!important, avoids unnecessary moves) + ); + _this._vnode = _this.kept; + restoreActiveInstance(); + update.call(_this, vnode, hydrating); + }; + }, + render: function (h) { + var tag = this.tag || this.$vnode.data.tag || 'span'; + var map = Object.create(null); + var prevChildren = (this.prevChildren = this.children); + var rawChildren = this.$slots.default || []; + var children = (this.children = []); + var transitionData = extractTransitionData(this); + for (var i = 0; i < rawChildren.length; i++) { + var c = rawChildren[i]; + if (c.tag) { + if (c.key != null && String(c.key).indexOf('__vlist') !== 0) { + children.push(c); + map[c.key] = c; + (c.data || (c.data = {})).transition = transitionData; + } + else { + var opts = c.componentOptions; + var name_1 = opts + ? getComponentName(opts.Ctor.options) || opts.tag || '' + : c.tag; + warn$2("<transition-group> children must be keyed: <".concat(name_1, ">")); + } + } + } + if (prevChildren) { + var kept = []; + var removed = []; + for (var i = 0; i < prevChildren.length; i++) { + var c = prevChildren[i]; + c.data.transition = transitionData; + // @ts-expect-error .getBoundingClientRect is not typed in Node + c.data.pos = c.elm.getBoundingClientRect(); + if (map[c.key]) { + kept.push(c); + } + else { + removed.push(c); + } + } + this.kept = h(tag, null, kept); + this.removed = removed; + } + return h(tag, null, children); + }, + updated: function () { + var children = this.prevChildren; + var moveClass = this.moveClass || (this.name || 'v') + '-move'; + if (!children.length || !this.hasMove(children[0].elm, moveClass)) { + return; + } + // we divide the work into three loops to avoid mixing DOM reads and writes + // in each iteration - which helps prevent layout thrashing. + children.forEach(callPendingCbs); + children.forEach(recordPosition); + children.forEach(applyTranslation); + // force reflow to put everything in position + // assign to this to avoid being removed in tree-shaking + // $flow-disable-line + this._reflow = document.body.offsetHeight; + children.forEach(function (c) { + if (c.data.moved) { + var el_1 = c.elm; + var s = el_1.style; + addTransitionClass(el_1, moveClass); + s.transform = s.WebkitTransform = s.transitionDuration = ''; + el_1.addEventListener(transitionEndEvent, (el_1._moveCb = function cb(e) { + if (e && e.target !== el_1) { + return; + } + if (!e || /transform$/.test(e.propertyName)) { + el_1.removeEventListener(transitionEndEvent, cb); + el_1._moveCb = null; + removeTransitionClass(el_1, moveClass); + } + })); + } + }); + }, + methods: { + hasMove: function (el, moveClass) { + /* istanbul ignore if */ + if (!hasTransition) { + return false; + } + /* istanbul ignore if */ + if (this._hasMove) { + return this._hasMove; + } + // Detect whether an element with the move class applied has + // CSS transitions. Since the element may be inside an entering + // transition at this very moment, we make a clone of it and remove + // all other transition classes applied to ensure only the move class + // is applied. + var clone = el.cloneNode(); + if (el._transitionClasses) { + el._transitionClasses.forEach(function (cls) { + removeClass(clone, cls); + }); + } + addClass(clone, moveClass); + clone.style.display = 'none'; + this.$el.appendChild(clone); + var info = getTransitionInfo(clone); + this.$el.removeChild(clone); + return (this._hasMove = info.hasTransform); + } + } + }; + function callPendingCbs(c) { + /* istanbul ignore if */ + if (c.elm._moveCb) { + c.elm._moveCb(); + } + /* istanbul ignore if */ + if (c.elm._enterCb) { + c.elm._enterCb(); + } + } + function recordPosition(c) { + c.data.newPos = c.elm.getBoundingClientRect(); + } + function applyTranslation(c) { + var oldPos = c.data.pos; + var newPos = c.data.newPos; + var dx = oldPos.left - newPos.left; + var dy = oldPos.top - newPos.top; + if (dx || dy) { + c.data.moved = true; + var s = c.elm.style; + s.transform = s.WebkitTransform = "translate(".concat(dx, "px,").concat(dy, "px)"); + s.transitionDuration = '0s'; + } + } + + var platformComponents = { + Transition: Transition, + TransitionGroup: TransitionGroup + }; + + // install platform specific utils + Vue.config.mustUseProp = mustUseProp; + Vue.config.isReservedTag = isReservedTag; + Vue.config.isReservedAttr = isReservedAttr; + Vue.config.getTagNamespace = getTagNamespace; + Vue.config.isUnknownElement = isUnknownElement; + // install platform runtime directives & components + extend(Vue.options.directives, platformDirectives); + extend(Vue.options.components, platformComponents); + // install platform patch function + Vue.prototype.__patch__ = inBrowser ? patch : noop; + // public mount method + Vue.prototype.$mount = function (el, hydrating) { + el = el && inBrowser ? query(el) : undefined; + return mountComponent(this, el, hydrating); + }; + // devtools global hook + /* istanbul ignore next */ + if (inBrowser) { + setTimeout(function () { + if (config.devtools) { + if (devtools) { + devtools.emit('init', Vue); + } + else { + // @ts-expect-error + console[console.info ? 'info' : 'log']('Download the Vue Devtools extension for a better development experience:\n' + + 'https://github.com/vuejs/vue-devtools'); + } + } + if (config.productionTip !== false && + typeof console !== 'undefined') { + // @ts-expect-error + console[console.info ? 'info' : 'log']("You are running Vue in development mode.\n" + + "Make sure to turn on production mode when deploying for production.\n" + + "See more tips at https://vuejs.org/guide/deployment.html"); + } + }, 0); + } + + var defaultTagRE = /\{\{((?:.|\r?\n)+?)\}\}/g; + var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g; + var buildRegex = cached(function (delimiters) { + var open = delimiters[0].replace(regexEscapeRE, '\\$&'); + var close = delimiters[1].replace(regexEscapeRE, '\\$&'); + return new RegExp(open + '((?:.|\\n)+?)' + close, 'g'); + }); + function parseText(text, delimiters) { + //@ts-expect-error + var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE; + if (!tagRE.test(text)) { + return; + } + var tokens = []; + var rawTokens = []; + var lastIndex = (tagRE.lastIndex = 0); + var match, index, tokenValue; + while ((match = tagRE.exec(text))) { + index = match.index; + // push text token + if (index > lastIndex) { + rawTokens.push((tokenValue = text.slice(lastIndex, index))); + tokens.push(JSON.stringify(tokenValue)); + } + // tag token + var exp = parseFilters(match[1].trim()); + tokens.push("_s(".concat(exp, ")")); + rawTokens.push({ '@binding': exp }); + lastIndex = index + match[0].length; + } + if (lastIndex < text.length) { + rawTokens.push((tokenValue = text.slice(lastIndex))); + tokens.push(JSON.stringify(tokenValue)); + } + return { + expression: tokens.join('+'), + tokens: rawTokens + }; + } + + function transformNode$1(el, options) { + var warn = options.warn || baseWarn; + var staticClass = getAndRemoveAttr(el, 'class'); + if (staticClass) { + var res = parseText(staticClass, options.delimiters); + if (res) { + warn("class=\"".concat(staticClass, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div class="{{ val }}">, use <div :class="val">.', el.rawAttrsMap['class']); + } + } + if (staticClass) { + el.staticClass = JSON.stringify(staticClass.replace(/\s+/g, ' ').trim()); + } + var classBinding = getBindingAttr(el, 'class', false /* getStatic */); + if (classBinding) { + el.classBinding = classBinding; + } + } + function genData$2(el) { + var data = ''; + if (el.staticClass) { + data += "staticClass:".concat(el.staticClass, ","); + } + if (el.classBinding) { + data += "class:".concat(el.classBinding, ","); + } + return data; + } + var klass = { + staticKeys: ['staticClass'], + transformNode: transformNode$1, + genData: genData$2 + }; + + function transformNode(el, options) { + var warn = options.warn || baseWarn; + var staticStyle = getAndRemoveAttr(el, 'style'); + if (staticStyle) { + /* istanbul ignore if */ + { + var res = parseText(staticStyle, options.delimiters); + if (res) { + warn("style=\"".concat(staticStyle, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div style="{{ val }}">, use <div :style="val">.', el.rawAttrsMap['style']); + } + } + el.staticStyle = JSON.stringify(parseStyleText(staticStyle)); + } + var styleBinding = getBindingAttr(el, 'style', false /* getStatic */); + if (styleBinding) { + el.styleBinding = styleBinding; + } + } + function genData$1(el) { + var data = ''; + if (el.staticStyle) { + data += "staticStyle:".concat(el.staticStyle, ","); + } + if (el.styleBinding) { + data += "style:(".concat(el.styleBinding, "),"); + } + return data; + } + var style = { + staticKeys: ['staticStyle'], + transformNode: transformNode, + genData: genData$1 + }; + + var decoder; + var he = { + decode: function (html) { + decoder = decoder || document.createElement('div'); + decoder.innerHTML = html; + return decoder.textContent; + } + }; + + var isUnaryTag = makeMap('area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' + + 'link,meta,param,source,track,wbr'); + // Elements that you can, intentionally, leave open + // (and which close themselves) + var canBeLeftOpenTag = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'); + // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3 + // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content + var isNonPhrasingTag = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' + + 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' + + 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' + + 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' + + 'title,tr,track'); + + /** + * Not type-checking this file because it's mostly vendor code. + */ + // Regular Expressions for parsing tags and attributes + var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(unicodeRegExp.source, "]*"); + var qnameCapture = "((?:".concat(ncname, "\\:)?").concat(ncname, ")"); + var startTagOpen = new RegExp("^<".concat(qnameCapture)); + var startTagClose = /^\s*(\/?)>/; + var endTag = new RegExp("^<\\/".concat(qnameCapture, "[^>]*>")); + var doctype = /^<!DOCTYPE [^>]+>/i; + // #7298: escape - to avoid being passed as HTML comment when inlined in page + var comment = /^<!\--/; + var conditionalComment = /^<!\[/; + // Special Elements (can contain anything) + var isPlainTextElement = makeMap('script,style,textarea', true); + var reCache = {}; + var decodingMap = { + '<': '<', + '>': '>', + '"': '"', + '&': '&', + ' ': '\n', + '	': '\t', + ''': "'" + }; + var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g; + var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g; + // #5992 + var isIgnoreNewlineTag = makeMap('pre,textarea', true); + var shouldIgnoreFirstNewline = function (tag, html) { + return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; + }; + function decodeAttr(value, shouldDecodeNewlines) { + var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr; + return value.replace(re, function (match) { return decodingMap[match]; }); + } + function parseHTML(html, options) { + var stack = []; + var expectHTML = options.expectHTML; + var isUnaryTag = options.isUnaryTag || no; + var canBeLeftOpenTag = options.canBeLeftOpenTag || no; + var index = 0; + var last, lastTag; + var _loop_1 = function () { + last = html; + // Make sure we're not in a plaintext content element like script/style + if (!lastTag || !isPlainTextElement(lastTag)) { + var textEnd = html.indexOf('<'); + if (textEnd === 0) { + // Comment: + if (comment.test(html)) { + var commentEnd = html.indexOf('-->'); + if (commentEnd >= 0) { + if (options.shouldKeepComment && options.comment) { + options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3); + } + advance(commentEnd + 3); + return "continue"; + } + } + // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment + if (conditionalComment.test(html)) { + var conditionalEnd = html.indexOf(']>'); + if (conditionalEnd >= 0) { + advance(conditionalEnd + 2); + return "continue"; + } + } + // Doctype: + var doctypeMatch = html.match(doctype); + if (doctypeMatch) { + advance(doctypeMatch[0].length); + return "continue"; + } + // End tag: + var endTagMatch = html.match(endTag); + if (endTagMatch) { + var curIndex = index; + advance(endTagMatch[0].length); + parseEndTag(endTagMatch[1], curIndex, index); + return "continue"; + } + // Start tag: + var startTagMatch = parseStartTag(); + if (startTagMatch) { + handleStartTag(startTagMatch); + if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) { + advance(1); + } + return "continue"; + } + } + var text = void 0, rest = void 0, next = void 0; + if (textEnd >= 0) { + rest = html.slice(textEnd); + while (!endTag.test(rest) && + !startTagOpen.test(rest) && + !comment.test(rest) && + !conditionalComment.test(rest)) { + // < in plain text, be forgiving and treat it as text + next = rest.indexOf('<', 1); + if (next < 0) + break; + textEnd += next; + rest = html.slice(textEnd); + } + text = html.substring(0, textEnd); + } + if (textEnd < 0) { + text = html; + } + if (text) { + advance(text.length); + } + if (options.chars && text) { + options.chars(text, index - text.length, index); + } + } + else { + var endTagLength_1 = 0; + var stackedTag_1 = lastTag.toLowerCase(); + var reStackedTag = reCache[stackedTag_1] || + (reCache[stackedTag_1] = new RegExp('([\\s\\S]*?)(</' + stackedTag_1 + '[^>]*>)', 'i')); + var rest = html.replace(reStackedTag, function (all, text, endTag) { + endTagLength_1 = endTag.length; + if (!isPlainTextElement(stackedTag_1) && stackedTag_1 !== 'noscript') { + text = text + .replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298 + .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1'); + } + if (shouldIgnoreFirstNewline(stackedTag_1, text)) { + text = text.slice(1); + } + if (options.chars) { + options.chars(text); + } + return ''; + }); + index += html.length - rest.length; + html = rest; + parseEndTag(stackedTag_1, index - endTagLength_1, index); + } + if (html === last) { + options.chars && options.chars(html); + if (!stack.length && options.warn) { + options.warn("Mal-formatted tag at end of template: \"".concat(html, "\""), { + start: index + html.length + }); + } + return "break"; + } + }; + while (html) { + var state_1 = _loop_1(); + if (state_1 === "break") + break; + } + // Clean up any remaining tags + parseEndTag(); + function advance(n) { + index += n; + html = html.substring(n); + } + function parseStartTag() { + var start = html.match(startTagOpen); + if (start) { + var match = { + tagName: start[1], + attrs: [], + start: index + }; + advance(start[0].length); + var end = void 0, attr = void 0; + while (!(end = html.match(startTagClose)) && + (attr = html.match(dynamicArgAttribute) || html.match(attribute))) { + attr.start = index; + advance(attr[0].length); + attr.end = index; + match.attrs.push(attr); + } + if (end) { + match.unarySlash = end[1]; + advance(end[0].length); + match.end = index; + return match; + } + } + } + function handleStartTag(match) { + var tagName = match.tagName; + var unarySlash = match.unarySlash; + if (expectHTML) { + if (lastTag === 'p' && isNonPhrasingTag(tagName)) { + parseEndTag(lastTag); + } + if (canBeLeftOpenTag(tagName) && lastTag === tagName) { + parseEndTag(tagName); + } + } + var unary = isUnaryTag(tagName) || !!unarySlash; + var l = match.attrs.length; + var attrs = new Array(l); + for (var i = 0; i < l; i++) { + var args = match.attrs[i]; + var value = args[3] || args[4] || args[5] || ''; + var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href' + ? options.shouldDecodeNewlinesForHref + : options.shouldDecodeNewlines; + attrs[i] = { + name: args[1], + value: decodeAttr(value, shouldDecodeNewlines) + }; + if (options.outputSourceRange) { + attrs[i].start = args.start + args[0].match(/^\s*/).length; + attrs[i].end = args.end; + } + } + if (!unary) { + stack.push({ + tag: tagName, + lowerCasedTag: tagName.toLowerCase(), + attrs: attrs, + start: match.start, + end: match.end + }); + lastTag = tagName; + } + if (options.start) { + options.start(tagName, attrs, unary, match.start, match.end); + } + } + function parseEndTag(tagName, start, end) { + var pos, lowerCasedTagName; + if (start == null) + start = index; + if (end == null) + end = index; + // Find the closest opened tag of the same type + if (tagName) { + lowerCasedTagName = tagName.toLowerCase(); + for (pos = stack.length - 1; pos >= 0; pos--) { + if (stack[pos].lowerCasedTag === lowerCasedTagName) { + break; + } + } + } + else { + // If no tag name is provided, clean shop + pos = 0; + } + if (pos >= 0) { + // Close all the open elements, up the stack + for (var i = stack.length - 1; i >= pos; i--) { + if ((i > pos || !tagName) && options.warn) { + options.warn("tag <".concat(stack[i].tag, "> has no matching end tag."), { + start: stack[i].start, + end: stack[i].end + }); + } + if (options.end) { + options.end(stack[i].tag, start, end); + } + } + // Remove the open elements from the stack + stack.length = pos; + lastTag = pos && stack[pos - 1].tag; + } + else if (lowerCasedTagName === 'br') { + if (options.start) { + options.start(tagName, [], true, start, end); + } + } + else if (lowerCasedTagName === 'p') { + if (options.start) { + options.start(tagName, [], false, start, end); + } + if (options.end) { + options.end(tagName, start, end); + } + } + } + } + + var onRE = /^@|^v-on:/; + var dirRE = /^v-|^@|^:|^#/; + var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/; + var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; + var stripParensRE = /^\(|\)$/g; + var dynamicArgRE = /^\[.*\]$/; + var argRE = /:(.*)$/; + var bindRE = /^:|^\.|^v-bind:/; + var modifierRE = /\.[^.\]]+(?=[^\]]*$)/g; + var slotRE = /^v-slot(:|$)|^#/; + var lineBreakRE = /[\r\n]/; + var whitespaceRE = /[ \f\t\r\n]+/g; + var invalidAttributeRE = /[\s"'<>\/=]/; + var decodeHTMLCached = cached(he.decode); + var emptySlotScopeToken = "_empty_"; + // configurable state + var warn; + var delimiters; + var transforms; + var preTransforms; + var postTransforms; + var platformIsPreTag; + var platformMustUseProp; + var platformGetTagNamespace; + var maybeComponent; + function createASTElement(tag, attrs, parent) { + return { + type: 1, + tag: tag, + attrsList: attrs, + attrsMap: makeAttrsMap(attrs), + rawAttrsMap: {}, + parent: parent, + children: [] + }; + } + /** + * Convert HTML string to AST. + */ + function parse(template, options) { + warn = options.warn || baseWarn; + platformIsPreTag = options.isPreTag || no; + platformMustUseProp = options.mustUseProp || no; + platformGetTagNamespace = options.getTagNamespace || no; + var isReservedTag = options.isReservedTag || no; + maybeComponent = function (el) { + return !!(el.component || + el.attrsMap[':is'] || + el.attrsMap['v-bind:is'] || + !(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag))); + }; + transforms = pluckModuleFunction(options.modules, 'transformNode'); + preTransforms = pluckModuleFunction(options.modules, 'preTransformNode'); + postTransforms = pluckModuleFunction(options.modules, 'postTransformNode'); + delimiters = options.delimiters; + var stack = []; + var preserveWhitespace = options.preserveWhitespace !== false; + var whitespaceOption = options.whitespace; + var root; + var currentParent; + var inVPre = false; + var inPre = false; + var warned = false; + function warnOnce(msg, range) { + if (!warned) { + warned = true; + warn(msg, range); + } + } + function closeElement(element) { + trimEndingWhitespace(element); + if (!inVPre && !element.processed) { + element = processElement(element, options); + } + // tree management + if (!stack.length && element !== root) { + // allow root elements with v-if, v-else-if and v-else + if (root.if && (element.elseif || element.else)) { + { + checkRootConstraints(element); + } + addIfCondition(root, { + exp: element.elseif, + block: element + }); + } + else { + warnOnce("Component template should contain exactly one root element. " + + "If you are using v-if on multiple elements, " + + "use v-else-if to chain them instead.", { start: element.start }); + } + } + if (currentParent && !element.forbidden) { + if (element.elseif || element.else) { + processIfConditions(element, currentParent); + } + else { + if (element.slotScope) { + // scoped slot + // keep it in the children list so that v-else(-if) conditions can + // find it as the prev node. + var name_1 = element.slotTarget || '"default"'; + (currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name_1] = element; + } + currentParent.children.push(element); + element.parent = currentParent; + } + } + // final children cleanup + // filter out scoped slots + element.children = element.children.filter(function (c) { return !c.slotScope; }); + // remove trailing whitespace node again + trimEndingWhitespace(element); + // check pre state + if (element.pre) { + inVPre = false; + } + if (platformIsPreTag(element.tag)) { + inPre = false; + } + // apply post-transforms + for (var i = 0; i < postTransforms.length; i++) { + postTransforms[i](element, options); + } + } + function trimEndingWhitespace(el) { + // remove trailing whitespace node + if (!inPre) { + var lastNode = void 0; + while ((lastNode = el.children[el.children.length - 1]) && + lastNode.type === 3 && + lastNode.text === ' ') { + el.children.pop(); + } + } + } + function checkRootConstraints(el) { + if (el.tag === 'slot' || el.tag === 'template') { + warnOnce("Cannot use <".concat(el.tag, "> as component root element because it may ") + + 'contain multiple nodes.', { start: el.start }); + } + if (el.attrsMap.hasOwnProperty('v-for')) { + warnOnce('Cannot use v-for on stateful component root element because ' + + 'it renders multiple elements.', el.rawAttrsMap['v-for']); + } + } + parseHTML(template, { + warn: warn, + expectHTML: options.expectHTML, + isUnaryTag: options.isUnaryTag, + canBeLeftOpenTag: options.canBeLeftOpenTag, + shouldDecodeNewlines: options.shouldDecodeNewlines, + shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref, + shouldKeepComment: options.comments, + outputSourceRange: options.outputSourceRange, + start: function (tag, attrs, unary, start, end) { + // check namespace. + // inherit parent ns if there is one + var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag); + // handle IE svg bug + /* istanbul ignore if */ + if (isIE && ns === 'svg') { + attrs = guardIESVGBug(attrs); + } + var element = createASTElement(tag, attrs, currentParent); + if (ns) { + element.ns = ns; + } + { + if (options.outputSourceRange) { + element.start = start; + element.end = end; + element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) { + cumulated[attr.name] = attr; + return cumulated; + }, {}); + } + attrs.forEach(function (attr) { + if (invalidAttributeRE.test(attr.name)) { + warn("Invalid dynamic argument expression: attribute names cannot contain " + + "spaces, quotes, <, >, / or =.", options.outputSourceRange + ? { + start: attr.start + attr.name.indexOf("["), + end: attr.start + attr.name.length + } + : undefined); + } + }); + } + if (isForbiddenTag(element) && !isServerRendering()) { + element.forbidden = true; + warn('Templates should only be responsible for mapping the state to the ' + + 'UI. Avoid placing tags with side-effects in your templates, such as ' + + "<".concat(tag, ">") + + ', as they will not be parsed.', { start: element.start }); + } + // apply pre-transforms + for (var i = 0; i < preTransforms.length; i++) { + element = preTransforms[i](element, options) || element; + } + if (!inVPre) { + processPre(element); + if (element.pre) { + inVPre = true; + } + } + if (platformIsPreTag(element.tag)) { + inPre = true; + } + if (inVPre) { + processRawAttrs(element); + } + else if (!element.processed) { + // structural directives + processFor(element); + processIf(element); + processOnce(element); + } + if (!root) { + root = element; + { + checkRootConstraints(root); + } + } + if (!unary) { + currentParent = element; + stack.push(element); + } + else { + closeElement(element); + } + }, + end: function (tag, start, end) { + var element = stack[stack.length - 1]; + // pop stack + stack.length -= 1; + currentParent = stack[stack.length - 1]; + if (options.outputSourceRange) { + element.end = end; + } + closeElement(element); + }, + chars: function (text, start, end) { + if (!currentParent) { + { + if (text === template) { + warnOnce('Component template requires a root element, rather than just text.', { start: start }); + } + else if ((text = text.trim())) { + warnOnce("text \"".concat(text, "\" outside root element will be ignored."), { + start: start + }); + } + } + return; + } + // IE textarea placeholder bug + /* istanbul ignore if */ + if (isIE && + currentParent.tag === 'textarea' && + currentParent.attrsMap.placeholder === text) { + return; + } + var children = currentParent.children; + if (inPre || text.trim()) { + text = isTextTag(currentParent) + ? text + : decodeHTMLCached(text); + } + else if (!children.length) { + // remove the whitespace-only node right after an opening tag + text = ''; + } + else if (whitespaceOption) { + if (whitespaceOption === 'condense') { + // in condense mode, remove the whitespace node if it contains + // line break, otherwise condense to a single space + text = lineBreakRE.test(text) ? '' : ' '; + } + else { + text = ' '; + } + } + else { + text = preserveWhitespace ? ' ' : ''; + } + if (text) { + if (!inPre && whitespaceOption === 'condense') { + // condense consecutive whitespaces into single space + text = text.replace(whitespaceRE, ' '); + } + var res = void 0; + var child = void 0; + if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) { + child = { + type: 2, + expression: res.expression, + tokens: res.tokens, + text: text + }; + } + else if (text !== ' ' || + !children.length || + children[children.length - 1].text !== ' ') { + child = { + type: 3, + text: text + }; + } + if (child) { + if (options.outputSourceRange) { + child.start = start; + child.end = end; + } + children.push(child); + } + } + }, + comment: function (text, start, end) { + // adding anything as a sibling to the root node is forbidden + // comments should still be allowed, but ignored + if (currentParent) { + var child = { + type: 3, + text: text, + isComment: true + }; + if (options.outputSourceRange) { + child.start = start; + child.end = end; + } + currentParent.children.push(child); + } + } + }); + return root; + } + function processPre(el) { + if (getAndRemoveAttr(el, 'v-pre') != null) { + el.pre = true; + } + } + function processRawAttrs(el) { + var list = el.attrsList; + var len = list.length; + if (len) { + var attrs = (el.attrs = new Array(len)); + for (var i = 0; i < len; i++) { + attrs[i] = { + name: list[i].name, + value: JSON.stringify(list[i].value) + }; + if (list[i].start != null) { + attrs[i].start = list[i].start; + attrs[i].end = list[i].end; + } + } + } + else if (!el.pre) { + // non root node in pre blocks with no attributes + el.plain = true; + } + } + function processElement(element, options) { + processKey(element); + // determine whether this is a plain element after + // removing structural attributes + element.plain = + !element.key && !element.scopedSlots && !element.attrsList.length; + processRef(element); + processSlotContent(element); + processSlotOutlet(element); + processComponent(element); + for (var i = 0; i < transforms.length; i++) { + element = transforms[i](element, options) || element; + } + processAttrs(element); + return element; + } + function processKey(el) { + var exp = getBindingAttr(el, 'key'); + if (exp) { + { + if (el.tag === 'template') { + warn("<template> cannot be keyed. Place the key on real elements instead.", getRawBindingAttr(el, 'key')); + } + if (el.for) { + var iterator = el.iterator2 || el.iterator1; + var parent_1 = el.parent; + if (iterator && + iterator === exp && + parent_1 && + parent_1.tag === 'transition-group') { + warn("Do not use v-for index as key on <transition-group> children, " + + "this is the same as not using keys.", getRawBindingAttr(el, 'key'), true /* tip */); + } + } + } + el.key = exp; + } + } + function processRef(el) { + var ref = getBindingAttr(el, 'ref'); + if (ref) { + el.ref = ref; + el.refInFor = checkInFor(el); + } + } + function processFor(el) { + var exp; + if ((exp = getAndRemoveAttr(el, 'v-for'))) { + var res = parseFor(exp); + if (res) { + extend(el, res); + } + else { + warn("Invalid v-for expression: ".concat(exp), el.rawAttrsMap['v-for']); + } + } + } + function parseFor(exp) { + var inMatch = exp.match(forAliasRE); + if (!inMatch) + return; + var res = {}; + res.for = inMatch[2].trim(); + var alias = inMatch[1].trim().replace(stripParensRE, ''); + var iteratorMatch = alias.match(forIteratorRE); + if (iteratorMatch) { + res.alias = alias.replace(forIteratorRE, '').trim(); + res.iterator1 = iteratorMatch[1].trim(); + if (iteratorMatch[2]) { + res.iterator2 = iteratorMatch[2].trim(); + } + } + else { + res.alias = alias; + } + return res; + } + function processIf(el) { + var exp = getAndRemoveAttr(el, 'v-if'); + if (exp) { + el.if = exp; + addIfCondition(el, { + exp: exp, + block: el + }); + } + else { + if (getAndRemoveAttr(el, 'v-else') != null) { + el.else = true; + } + var elseif = getAndRemoveAttr(el, 'v-else-if'); + if (elseif) { + el.elseif = elseif; + } + } + } + function processIfConditions(el, parent) { + var prev = findPrevElement(parent.children); + if (prev && prev.if) { + addIfCondition(prev, { + exp: el.elseif, + block: el + }); + } + else { + warn("v-".concat(el.elseif ? 'else-if="' + el.elseif + '"' : 'else', " ") + + "used on element <".concat(el.tag, "> without corresponding v-if."), el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']); + } + } + function findPrevElement(children) { + var i = children.length; + while (i--) { + if (children[i].type === 1) { + return children[i]; + } + else { + if (children[i].text !== ' ') { + warn("text \"".concat(children[i].text.trim(), "\" between v-if and v-else(-if) ") + + "will be ignored.", children[i]); + } + children.pop(); + } + } + } + function addIfCondition(el, condition) { + if (!el.ifConditions) { + el.ifConditions = []; + } + el.ifConditions.push(condition); + } + function processOnce(el) { + var once = getAndRemoveAttr(el, 'v-once'); + if (once != null) { + el.once = true; + } + } + // handle content being passed to a component as slot, + // e.g. <template slot="xxx">, <div slot-scope="xxx"> + function processSlotContent(el) { + var slotScope; + if (el.tag === 'template') { + slotScope = getAndRemoveAttr(el, 'scope'); + /* istanbul ignore if */ + if (slotScope) { + warn("the \"scope\" attribute for scoped slots have been deprecated and " + + "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " + + "can also be used on plain elements in addition to <template> to " + + "denote scoped slots.", el.rawAttrsMap['scope'], true); + } + el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope'); + } + else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) { + /* istanbul ignore if */ + if (el.attrsMap['v-for']) { + warn("Ambiguous combined usage of slot-scope and v-for on <".concat(el.tag, "> ") + + "(v-for takes higher priority). Use a wrapper <template> for the " + + "scoped slot to make it clearer.", el.rawAttrsMap['slot-scope'], true); + } + el.slotScope = slotScope; + } + // slot="xxx" + var slotTarget = getBindingAttr(el, 'slot'); + if (slotTarget) { + el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget; + el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']); + // preserve slot as an attribute for native shadow DOM compat + // only for non-scoped slots. + if (el.tag !== 'template' && !el.slotScope) { + addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot')); + } + } + // 2.6 v-slot syntax + { + if (el.tag === 'template') { + // v-slot on <template> + var slotBinding = getAndRemoveAttrByRegex(el, slotRE); + if (slotBinding) { + { + if (el.slotTarget || el.slotScope) { + warn("Unexpected mixed usage of different slot syntaxes.", el); + } + if (el.parent && !maybeComponent(el.parent)) { + warn("<template v-slot> can only appear at the root level inside " + + "the receiving component", el); + } + } + var _a = getSlotName(slotBinding), name_2 = _a.name, dynamic = _a.dynamic; + el.slotTarget = name_2; + el.slotTargetDynamic = dynamic; + el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf + } + } + else { + // v-slot on component, denotes default slot + var slotBinding = getAndRemoveAttrByRegex(el, slotRE); + if (slotBinding) { + { + if (!maybeComponent(el)) { + warn("v-slot can only be used on components or <template>.", slotBinding); + } + if (el.slotScope || el.slotTarget) { + warn("Unexpected mixed usage of different slot syntaxes.", el); + } + if (el.scopedSlots) { + warn("To avoid scope ambiguity, the default slot should also use " + + "<template> syntax when there are other named slots.", slotBinding); + } + } + // add the component's children to its default slot + var slots = el.scopedSlots || (el.scopedSlots = {}); + var _b = getSlotName(slotBinding), name_3 = _b.name, dynamic = _b.dynamic; + var slotContainer_1 = (slots[name_3] = createASTElement('template', [], el)); + slotContainer_1.slotTarget = name_3; + slotContainer_1.slotTargetDynamic = dynamic; + slotContainer_1.children = el.children.filter(function (c) { + if (!c.slotScope) { + c.parent = slotContainer_1; + return true; + } + }); + slotContainer_1.slotScope = slotBinding.value || emptySlotScopeToken; + // remove children as they are returned from scopedSlots now + el.children = []; + // mark el non-plain so data gets generated + el.plain = false; + } + } + } + } + function getSlotName(binding) { + var name = binding.name.replace(slotRE, ''); + if (!name) { + if (binding.name[0] !== '#') { + name = 'default'; + } + else { + warn("v-slot shorthand syntax requires a slot name.", binding); + } + } + return dynamicArgRE.test(name) + ? // dynamic [name] + { name: name.slice(1, -1), dynamic: true } + : // static name + { name: "\"".concat(name, "\""), dynamic: false }; + } + // handle <slot/> outlets + function processSlotOutlet(el) { + if (el.tag === 'slot') { + el.slotName = getBindingAttr(el, 'name'); + if (el.key) { + warn("`key` does not work on <slot> because slots are abstract outlets " + + "and can possibly expand into multiple elements. " + + "Use the key on a wrapping element instead.", getRawBindingAttr(el, 'key')); + } + } + } + function processComponent(el) { + var binding; + if ((binding = getBindingAttr(el, 'is'))) { + el.component = binding; + } + if (getAndRemoveAttr(el, 'inline-template') != null) { + el.inlineTemplate = true; + } + } + function processAttrs(el) { + var list = el.attrsList; + var i, l, name, rawName, value, modifiers, syncGen, isDynamic; + for (i = 0, l = list.length; i < l; i++) { + name = rawName = list[i].name; + value = list[i].value; + if (dirRE.test(name)) { + // mark element as dynamic + el.hasBindings = true; + // modifiers + modifiers = parseModifiers(name.replace(dirRE, '')); + // support .foo shorthand syntax for the .prop modifier + if (modifiers) { + name = name.replace(modifierRE, ''); + } + if (bindRE.test(name)) { + // v-bind + name = name.replace(bindRE, ''); + value = parseFilters(value); + isDynamic = dynamicArgRE.test(name); + if (isDynamic) { + name = name.slice(1, -1); + } + if (value.trim().length === 0) { + warn("The value for a v-bind expression cannot be empty. Found in \"v-bind:".concat(name, "\"")); + } + if (modifiers) { + if (modifiers.prop && !isDynamic) { + name = camelize(name); + if (name === 'innerHtml') + name = 'innerHTML'; + } + if (modifiers.camel && !isDynamic) { + name = camelize(name); + } + if (modifiers.sync) { + syncGen = genAssignmentCode(value, "$event"); + if (!isDynamic) { + addHandler(el, "update:".concat(camelize(name)), syncGen, null, false, warn, list[i]); + if (hyphenate(name) !== camelize(name)) { + addHandler(el, "update:".concat(hyphenate(name)), syncGen, null, false, warn, list[i]); + } + } + else { + // handler w/ dynamic event name + addHandler(el, "\"update:\"+(".concat(name, ")"), syncGen, null, false, warn, list[i], true // dynamic + ); + } + } + } + if ((modifiers && modifiers.prop) || + (!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name))) { + addProp(el, name, value, list[i], isDynamic); + } + else { + addAttr(el, name, value, list[i], isDynamic); + } + } + else if (onRE.test(name)) { + // v-on + name = name.replace(onRE, ''); + isDynamic = dynamicArgRE.test(name); + if (isDynamic) { + name = name.slice(1, -1); + } + addHandler(el, name, value, modifiers, false, warn, list[i], isDynamic); + } + else { + // normal directives + name = name.replace(dirRE, ''); + // parse arg + var argMatch = name.match(argRE); + var arg = argMatch && argMatch[1]; + isDynamic = false; + if (arg) { + name = name.slice(0, -(arg.length + 1)); + if (dynamicArgRE.test(arg)) { + arg = arg.slice(1, -1); + isDynamic = true; + } + } + addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]); + if (name === 'model') { + checkForAliasModel(el, value); + } + } + } + else { + // literal attribute + { + var res = parseText(value, delimiters); + if (res) { + warn("".concat(name, "=\"").concat(value, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div id="{{ val }}">, use <div :id="val">.', list[i]); + } + } + addAttr(el, name, JSON.stringify(value), list[i]); + // #6887 firefox doesn't update muted state if set via attribute + // even immediately after element creation + if (!el.component && + name === 'muted' && + platformMustUseProp(el.tag, el.attrsMap.type, name)) { + addProp(el, name, 'true', list[i]); + } + } + } + } + function checkInFor(el) { + var parent = el; + while (parent) { + if (parent.for !== undefined) { + return true; + } + parent = parent.parent; + } + return false; + } + function parseModifiers(name) { + var match = name.match(modifierRE); + if (match) { + var ret_1 = {}; + match.forEach(function (m) { + ret_1[m.slice(1)] = true; + }); + return ret_1; + } + } + function makeAttrsMap(attrs) { + var map = {}; + for (var i = 0, l = attrs.length; i < l; i++) { + if (map[attrs[i].name] && !isIE && !isEdge) { + warn('duplicate attribute: ' + attrs[i].name, attrs[i]); + } + map[attrs[i].name] = attrs[i].value; + } + return map; + } + // for script (e.g. type="x/template") or style, do not decode content + function isTextTag(el) { + return el.tag === 'script' || el.tag === 'style'; + } + function isForbiddenTag(el) { + return (el.tag === 'style' || + (el.tag === 'script' && + (!el.attrsMap.type || el.attrsMap.type === 'text/javascript'))); + } + var ieNSBug = /^xmlns:NS\d+/; + var ieNSPrefix = /^NS\d+:/; + /* istanbul ignore next */ + function guardIESVGBug(attrs) { + var res = []; + for (var i = 0; i < attrs.length; i++) { + var attr = attrs[i]; + if (!ieNSBug.test(attr.name)) { + attr.name = attr.name.replace(ieNSPrefix, ''); + res.push(attr); + } + } + return res; + } + function checkForAliasModel(el, value) { + var _el = el; + while (_el) { + if (_el.for && _el.alias === value) { + warn("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + + "You are binding v-model directly to a v-for iteration alias. " + + "This will not be able to modify the v-for source array because " + + "writing to the alias is like modifying a function local variable. " + + "Consider using an array of objects and use v-model on an object property instead.", el.rawAttrsMap['v-model']); + } + _el = _el.parent; + } + } + + /** + * Expand input[v-model] with dynamic type bindings into v-if-else chains + * Turn this: + * <input v-model="data[type]" :type="type"> + * into this: + * <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]"> + * <input v-else-if="type === 'radio'" type="radio" v-model="data[type]"> + * <input v-else :type="type" v-model="data[type]"> + */ + function preTransformNode(el, options) { + if (el.tag === 'input') { + var map = el.attrsMap; + if (!map['v-model']) { + return; + } + var typeBinding = void 0; + if (map[':type'] || map['v-bind:type']) { + typeBinding = getBindingAttr(el, 'type'); + } + if (!map.type && !typeBinding && map['v-bind']) { + typeBinding = "(".concat(map['v-bind'], ").type"); + } + if (typeBinding) { + var ifCondition = getAndRemoveAttr(el, 'v-if', true); + var ifConditionExtra = ifCondition ? "&&(".concat(ifCondition, ")") : ""; + var hasElse = getAndRemoveAttr(el, 'v-else', true) != null; + var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true); + // 1. checkbox + var branch0 = cloneASTElement(el); + // process for on the main node + processFor(branch0); + addRawAttr(branch0, 'type', 'checkbox'); + processElement(branch0, options); + branch0.processed = true; // prevent it from double-processed + branch0.if = "(".concat(typeBinding, ")==='checkbox'") + ifConditionExtra; + addIfCondition(branch0, { + exp: branch0.if, + block: branch0 + }); + // 2. add radio else-if condition + var branch1 = cloneASTElement(el); + getAndRemoveAttr(branch1, 'v-for', true); + addRawAttr(branch1, 'type', 'radio'); + processElement(branch1, options); + addIfCondition(branch0, { + exp: "(".concat(typeBinding, ")==='radio'") + ifConditionExtra, + block: branch1 + }); + // 3. other + var branch2 = cloneASTElement(el); + getAndRemoveAttr(branch2, 'v-for', true); + addRawAttr(branch2, ':type', typeBinding); + processElement(branch2, options); + addIfCondition(branch0, { + exp: ifCondition, + block: branch2 + }); + if (hasElse) { + branch0.else = true; + } + else if (elseIfCondition) { + branch0.elseif = elseIfCondition; + } + return branch0; + } + } + } + function cloneASTElement(el) { + return createASTElement(el.tag, el.attrsList.slice(), el.parent); + } + var model = { + preTransformNode: preTransformNode + }; + + var modules = [klass, style, model]; + + function text(el, dir) { + if (dir.value) { + addProp(el, 'textContent', "_s(".concat(dir.value, ")"), dir); + } + } + + function html(el, dir) { + if (dir.value) { + addProp(el, 'innerHTML', "_s(".concat(dir.value, ")"), dir); + } + } + + var directives = { + model: model$1, + text: text, + html: html + }; + + var baseOptions = { + expectHTML: true, + modules: modules, + directives: directives, + isPreTag: isPreTag, + isUnaryTag: isUnaryTag, + mustUseProp: mustUseProp, + canBeLeftOpenTag: canBeLeftOpenTag, + isReservedTag: isReservedTag, + getTagNamespace: getTagNamespace, + staticKeys: genStaticKeys$1(modules) + }; + + var isStaticKey; + var isPlatformReservedTag; + var genStaticKeysCached = cached(genStaticKeys); + /** + * Goal of the optimizer: walk the generated template AST tree + * and detect sub-trees that are purely static, i.e. parts of + * the DOM that never needs to change. + * + * Once we detect these sub-trees, we can: + * + * 1. Hoist them into constants, so that we no longer need to + * create fresh nodes for them on each re-render; + * 2. Completely skip them in the patching process. + */ + function optimize(root, options) { + if (!root) + return; + isStaticKey = genStaticKeysCached(options.staticKeys || ''); + isPlatformReservedTag = options.isReservedTag || no; + // first pass: mark all non-static nodes. + markStatic(root); + // second pass: mark static roots. + markStaticRoots(root, false); + } + function genStaticKeys(keys) { + return makeMap('type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' + + (keys ? ',' + keys : '')); + } + function markStatic(node) { + node.static = isStatic(node); + if (node.type === 1) { + // do not make component slot content static. this avoids + // 1. components not able to mutate slot nodes + // 2. static slot content fails for hot-reloading + if (!isPlatformReservedTag(node.tag) && + node.tag !== 'slot' && + node.attrsMap['inline-template'] == null) { + return; + } + for (var i = 0, l = node.children.length; i < l; i++) { + var child = node.children[i]; + markStatic(child); + if (!child.static) { + node.static = false; + } + } + if (node.ifConditions) { + for (var i = 1, l = node.ifConditions.length; i < l; i++) { + var block = node.ifConditions[i].block; + markStatic(block); + if (!block.static) { + node.static = false; + } + } + } + } + } + function markStaticRoots(node, isInFor) { + if (node.type === 1) { + if (node.static || node.once) { + node.staticInFor = isInFor; + } + // For a node to qualify as a static root, it should have children that + // are not just static text. Otherwise the cost of hoisting out will + // outweigh the benefits and it's better off to just always render it fresh. + if (node.static && + node.children.length && + !(node.children.length === 1 && node.children[0].type === 3)) { + node.staticRoot = true; + return; + } + else { + node.staticRoot = false; + } + if (node.children) { + for (var i = 0, l = node.children.length; i < l; i++) { + markStaticRoots(node.children[i], isInFor || !!node.for); + } + } + if (node.ifConditions) { + for (var i = 1, l = node.ifConditions.length; i < l; i++) { + markStaticRoots(node.ifConditions[i].block, isInFor); + } + } + } + } + function isStatic(node) { + if (node.type === 2) { + // expression + return false; + } + if (node.type === 3) { + // text + return true; + } + return !!(node.pre || + (!node.hasBindings && // no dynamic bindings + !node.if && + !node.for && // not v-if or v-for or v-else + !isBuiltInTag(node.tag) && // not a built-in + isPlatformReservedTag(node.tag) && // not a component + !isDirectChildOfTemplateFor(node) && + Object.keys(node).every(isStaticKey))); + } + function isDirectChildOfTemplateFor(node) { + while (node.parent) { + node = node.parent; + if (node.tag !== 'template') { + return false; + } + if (node.for) { + return true; + } + } + return false; + } + + var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/; + var fnInvokeRE = /\([^)]*?\);*$/; + var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/; + // KeyboardEvent.keyCode aliases + var keyCodes = { + esc: 27, + tab: 9, + enter: 13, + space: 32, + up: 38, + left: 37, + right: 39, + down: 40, + delete: [8, 46] + }; + // KeyboardEvent.key aliases + var keyNames = { + // #7880: IE11 and Edge use `Esc` for Escape key name. + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + // #9112: IE11 uses `Spacebar` for Space key name. + space: [' ', 'Spacebar'], + // #7806: IE11 uses key names without `Arrow` prefix for arrow keys. + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + // #9112: IE11 uses `Del` for Delete key name. + delete: ['Backspace', 'Delete', 'Del'] + }; + // #4868: modifiers that prevent the execution of the listener + // need to explicitly return null so that we can determine whether to remove + // the listener for .once + var genGuard = function (condition) { return "if(".concat(condition, ")return null;"); }; + var modifierCode = { + stop: '$event.stopPropagation();', + prevent: '$event.preventDefault();', + self: genGuard("$event.target !== $event.currentTarget"), + ctrl: genGuard("!$event.ctrlKey"), + shift: genGuard("!$event.shiftKey"), + alt: genGuard("!$event.altKey"), + meta: genGuard("!$event.metaKey"), + left: genGuard("'button' in $event && $event.button !== 0"), + middle: genGuard("'button' in $event && $event.button !== 1"), + right: genGuard("'button' in $event && $event.button !== 2") + }; + function genHandlers(events, isNative) { + var prefix = isNative ? 'nativeOn:' : 'on:'; + var staticHandlers = ""; + var dynamicHandlers = ""; + for (var name_1 in events) { + var handlerCode = genHandler(events[name_1]); + //@ts-expect-error + if (events[name_1] && events[name_1].dynamic) { + dynamicHandlers += "".concat(name_1, ",").concat(handlerCode, ","); + } + else { + staticHandlers += "\"".concat(name_1, "\":").concat(handlerCode, ","); + } + } + staticHandlers = "{".concat(staticHandlers.slice(0, -1), "}"); + if (dynamicHandlers) { + return prefix + "_d(".concat(staticHandlers, ",[").concat(dynamicHandlers.slice(0, -1), "])"); + } + else { + return prefix + staticHandlers; + } + } + function genHandler(handler) { + if (!handler) { + return 'function(){}'; + } + if (Array.isArray(handler)) { + return "[".concat(handler.map(function (handler) { return genHandler(handler); }).join(','), "]"); + } + var isMethodPath = simplePathRE.test(handler.value); + var isFunctionExpression = fnExpRE.test(handler.value); + var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, '')); + if (!handler.modifiers) { + if (isMethodPath || isFunctionExpression) { + return handler.value; + } + return "function($event){".concat(isFunctionInvocation ? "return ".concat(handler.value) : handler.value, "}"); // inline statement + } + else { + var code = ''; + var genModifierCode = ''; + var keys = []; + var _loop_1 = function (key) { + if (modifierCode[key]) { + genModifierCode += modifierCode[key]; + // left/right + if (keyCodes[key]) { + keys.push(key); + } + } + else if (key === 'exact') { + var modifiers_1 = handler.modifiers; + genModifierCode += genGuard(['ctrl', 'shift', 'alt', 'meta'] + .filter(function (keyModifier) { return !modifiers_1[keyModifier]; }) + .map(function (keyModifier) { return "$event.".concat(keyModifier, "Key"); }) + .join('||')); + } + else { + keys.push(key); + } + }; + for (var key in handler.modifiers) { + _loop_1(key); + } + if (keys.length) { + code += genKeyFilter(keys); + } + // Make sure modifiers like prevent and stop get executed after key filtering + if (genModifierCode) { + code += genModifierCode; + } + var handlerCode = isMethodPath + ? "return ".concat(handler.value, ".apply(null, arguments)") + : isFunctionExpression + ? "return (".concat(handler.value, ").apply(null, arguments)") + : isFunctionInvocation + ? "return ".concat(handler.value) + : handler.value; + return "function($event){".concat(code).concat(handlerCode, "}"); + } + } + function genKeyFilter(keys) { + return ( + // make sure the key filters only apply to KeyboardEvents + // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake + // key events that do not have keyCode property... + "if(!$event.type.indexOf('key')&&" + + "".concat(keys.map(genFilterCode).join('&&'), ")return null;")); + } + function genFilterCode(key) { + var keyVal = parseInt(key, 10); + if (keyVal) { + return "$event.keyCode!==".concat(keyVal); + } + var keyCode = keyCodes[key]; + var keyName = keyNames[key]; + return ("_k($event.keyCode," + + "".concat(JSON.stringify(key), ",") + + "".concat(JSON.stringify(keyCode), ",") + + "$event.key," + + "".concat(JSON.stringify(keyName)) + + ")"); + } + + function on(el, dir) { + if (dir.modifiers) { + warn$2("v-on without argument does not support modifiers."); + } + el.wrapListeners = function (code) { return "_g(".concat(code, ",").concat(dir.value, ")"); }; + } + + function bind(el, dir) { + el.wrapData = function (code) { + return "_b(".concat(code, ",'").concat(el.tag, "',").concat(dir.value, ",").concat(dir.modifiers && dir.modifiers.prop ? 'true' : 'false').concat(dir.modifiers && dir.modifiers.sync ? ',true' : '', ")"); + }; + } + + var baseDirectives = { + on: on, + bind: bind, + cloak: noop + }; + + var CodegenState = /** @class */ (function () { + function CodegenState(options) { + this.options = options; + this.warn = options.warn || baseWarn; + this.transforms = pluckModuleFunction(options.modules, 'transformCode'); + this.dataGenFns = pluckModuleFunction(options.modules, 'genData'); + this.directives = extend(extend({}, baseDirectives), options.directives); + var isReservedTag = options.isReservedTag || no; + this.maybeComponent = function (el) { + return !!el.component || !isReservedTag(el.tag); + }; + this.onceId = 0; + this.staticRenderFns = []; + this.pre = false; + } + return CodegenState; + }()); + function generate(ast, options) { + var state = new CodegenState(options); + // fix #11483, Root level <script> tags should not be rendered. + var code = ast + ? ast.tag === 'script' + ? 'null' + : genElement(ast, state) + : '_c("div")'; + return { + render: "with(this){return ".concat(code, "}"), + staticRenderFns: state.staticRenderFns + }; + } + function genElement(el, state) { + if (el.parent) { + el.pre = el.pre || el.parent.pre; + } + if (el.staticRoot && !el.staticProcessed) { + return genStatic(el, state); + } + else if (el.once && !el.onceProcessed) { + return genOnce(el, state); + } + else if (el.for && !el.forProcessed) { + return genFor(el, state); + } + else if (el.if && !el.ifProcessed) { + return genIf(el, state); + } + else if (el.tag === 'template' && !el.slotTarget && !state.pre) { + return genChildren(el, state) || 'void 0'; + } + else if (el.tag === 'slot') { + return genSlot(el, state); + } + else { + // component or element + var code = void 0; + if (el.component) { + code = genComponent(el.component, el, state); + } + else { + var data = void 0; + var maybeComponent = state.maybeComponent(el); + if (!el.plain || (el.pre && maybeComponent)) { + data = genData(el, state); + } + var tag + // check if this is a component in <script setup> + = void 0; + // check if this is a component in <script setup> + var bindings = state.options.bindings; + if (maybeComponent && bindings && bindings.__isScriptSetup !== false) { + tag = checkBindingType(bindings, el.tag); + } + if (!tag) + tag = "'".concat(el.tag, "'"); + var children = el.inlineTemplate ? null : genChildren(el, state, true); + code = "_c(".concat(tag).concat(data ? ",".concat(data) : '' // data + ).concat(children ? ",".concat(children) : '' // children + , ")"); + } + // module transforms + for (var i = 0; i < state.transforms.length; i++) { + code = state.transforms[i](el, code); + } + return code; + } + } + function checkBindingType(bindings, key) { + var camelName = camelize(key); + var PascalName = capitalize(camelName); + var checkType = function (type) { + if (bindings[key] === type) { + return key; + } + if (bindings[camelName] === type) { + return camelName; + } + if (bindings[PascalName] === type) { + return PascalName; + } + }; + var fromConst = checkType("setup-const" /* BindingTypes.SETUP_CONST */) || + checkType("setup-reactive-const" /* BindingTypes.SETUP_REACTIVE_CONST */); + if (fromConst) { + return fromConst; + } + var fromMaybeRef = checkType("setup-let" /* BindingTypes.SETUP_LET */) || + checkType("setup-ref" /* BindingTypes.SETUP_REF */) || + checkType("setup-maybe-ref" /* BindingTypes.SETUP_MAYBE_REF */); + if (fromMaybeRef) { + return fromMaybeRef; + } + } + // hoist static sub-trees out + function genStatic(el, state) { + el.staticProcessed = true; + // Some elements (templates) need to behave differently inside of a v-pre + // node. All pre nodes are static roots, so we can use this as a location to + // wrap a state change and reset it upon exiting the pre node. + var originalPreState = state.pre; + if (el.pre) { + state.pre = el.pre; + } + state.staticRenderFns.push("with(this){return ".concat(genElement(el, state), "}")); + state.pre = originalPreState; + return "_m(".concat(state.staticRenderFns.length - 1).concat(el.staticInFor ? ',true' : '', ")"); + } + // v-once + function genOnce(el, state) { + el.onceProcessed = true; + if (el.if && !el.ifProcessed) { + return genIf(el, state); + } + else if (el.staticInFor) { + var key = ''; + var parent_1 = el.parent; + while (parent_1) { + if (parent_1.for) { + key = parent_1.key; + break; + } + parent_1 = parent_1.parent; + } + if (!key) { + state.warn("v-once can only be used inside v-for that is keyed. ", el.rawAttrsMap['v-once']); + return genElement(el, state); + } + return "_o(".concat(genElement(el, state), ",").concat(state.onceId++, ",").concat(key, ")"); + } + else { + return genStatic(el, state); + } + } + function genIf(el, state, altGen, altEmpty) { + el.ifProcessed = true; // avoid recursion + return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty); + } + function genIfConditions(conditions, state, altGen, altEmpty) { + if (!conditions.length) { + return altEmpty || '_e()'; + } + var condition = conditions.shift(); + if (condition.exp) { + return "(".concat(condition.exp, ")?").concat(genTernaryExp(condition.block), ":").concat(genIfConditions(conditions, state, altGen, altEmpty)); + } + else { + return "".concat(genTernaryExp(condition.block)); + } + // v-if with v-once should generate code like (a)?_m(0):_m(1) + function genTernaryExp(el) { + return altGen + ? altGen(el, state) + : el.once + ? genOnce(el, state) + : genElement(el, state); + } + } + function genFor(el, state, altGen, altHelper) { + var exp = el.for; + var alias = el.alias; + var iterator1 = el.iterator1 ? ",".concat(el.iterator1) : ''; + var iterator2 = el.iterator2 ? ",".concat(el.iterator2) : ''; + if (state.maybeComponent(el) && + el.tag !== 'slot' && + el.tag !== 'template' && + !el.key) { + state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") + + "v-for should have explicit keys. " + + "See https://vuejs.org/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */); + } + el.forProcessed = true; // avoid recursion + return ("".concat(altHelper || '_l', "((").concat(exp, "),") + + "function(".concat(alias).concat(iterator1).concat(iterator2, "){") + + "return ".concat((altGen || genElement)(el, state)) + + '})'); + } + function genData(el, state) { + var data = '{'; + // directives first. + // directives may mutate the el's other properties before they are generated. + var dirs = genDirectives(el, state); + if (dirs) + data += dirs + ','; + // key + if (el.key) { + data += "key:".concat(el.key, ","); + } + // ref + if (el.ref) { + data += "ref:".concat(el.ref, ","); + } + if (el.refInFor) { + data += "refInFor:true,"; + } + // pre + if (el.pre) { + data += "pre:true,"; + } + // record original tag name for components using "is" attribute + if (el.component) { + data += "tag:\"".concat(el.tag, "\","); + } + // module data generation functions + for (var i = 0; i < state.dataGenFns.length; i++) { + data += state.dataGenFns[i](el); + } + // attributes + if (el.attrs) { + data += "attrs:".concat(genProps(el.attrs), ","); + } + // DOM props + if (el.props) { + data += "domProps:".concat(genProps(el.props), ","); + } + // event handlers + if (el.events) { + data += "".concat(genHandlers(el.events, false), ","); + } + if (el.nativeEvents) { + data += "".concat(genHandlers(el.nativeEvents, true), ","); + } + // slot target + // only for non-scoped slots + if (el.slotTarget && !el.slotScope) { + data += "slot:".concat(el.slotTarget, ","); + } + // scoped slots + if (el.scopedSlots) { + data += "".concat(genScopedSlots(el, el.scopedSlots, state), ","); + } + // component v-model + if (el.model) { + data += "model:{value:".concat(el.model.value, ",callback:").concat(el.model.callback, ",expression:").concat(el.model.expression, "},"); + } + // inline-template + if (el.inlineTemplate) { + var inlineTemplate = genInlineTemplate(el, state); + if (inlineTemplate) { + data += "".concat(inlineTemplate, ","); + } + } + data = data.replace(/,$/, '') + '}'; + // v-bind dynamic argument wrap + // v-bind with dynamic arguments must be applied using the same v-bind object + // merge helper so that class/style/mustUseProp attrs are handled correctly. + if (el.dynamicAttrs) { + data = "_b(".concat(data, ",\"").concat(el.tag, "\",").concat(genProps(el.dynamicAttrs), ")"); + } + // v-bind data wrap + if (el.wrapData) { + data = el.wrapData(data); + } + // v-on data wrap + if (el.wrapListeners) { + data = el.wrapListeners(data); + } + return data; + } + function genDirectives(el, state) { + var dirs = el.directives; + if (!dirs) + return; + var res = 'directives:['; + var hasRuntime = false; + var i, l, dir, needRuntime; + for (i = 0, l = dirs.length; i < l; i++) { + dir = dirs[i]; + needRuntime = true; + var gen = state.directives[dir.name]; + if (gen) { + // compile-time directive that manipulates AST. + // returns true if it also needs a runtime counterpart. + needRuntime = !!gen(el, dir, state.warn); + } + if (needRuntime) { + hasRuntime = true; + res += "{name:\"".concat(dir.name, "\",rawName:\"").concat(dir.rawName, "\"").concat(dir.value + ? ",value:(".concat(dir.value, "),expression:").concat(JSON.stringify(dir.value)) + : '').concat(dir.arg ? ",arg:".concat(dir.isDynamicArg ? dir.arg : "\"".concat(dir.arg, "\"")) : '').concat(dir.modifiers ? ",modifiers:".concat(JSON.stringify(dir.modifiers)) : '', "},"); + } + } + if (hasRuntime) { + return res.slice(0, -1) + ']'; + } + } + function genInlineTemplate(el, state) { + var ast = el.children[0]; + if ((el.children.length !== 1 || ast.type !== 1)) { + state.warn('Inline-template components must have exactly one child element.', { start: el.start }); + } + if (ast && ast.type === 1) { + var inlineRenderFns = generate(ast, state.options); + return "inlineTemplate:{render:function(){".concat(inlineRenderFns.render, "},staticRenderFns:[").concat(inlineRenderFns.staticRenderFns + .map(function (code) { return "function(){".concat(code, "}"); }) + .join(','), "]}"); + } + } + function genScopedSlots(el, slots, state) { + // by default scoped slots are considered "stable", this allows child + // components with only scoped slots to skip forced updates from parent. + // but in some cases we have to bail-out of this optimization + // for example if the slot contains dynamic names, has v-if or v-for on them... + var needsForceUpdate = el.for || + Object.keys(slots).some(function (key) { + var slot = slots[key]; + return (slot.slotTargetDynamic || slot.if || slot.for || containsSlotChild(slot) // is passing down slot from parent which may be dynamic + ); + }); + // #9534: if a component with scoped slots is inside a conditional branch, + // it's possible for the same component to be reused but with different + // compiled slot content. To avoid that, we generate a unique key based on + // the generated code of all the slot contents. + var needsKey = !!el.if; + // OR when it is inside another scoped slot or v-for (the reactivity may be + // disconnected due to the intermediate scope variable) + // #9438, #9506 + // TODO: this can be further optimized by properly analyzing in-scope bindings + // and skip force updating ones that do not actually use scope variables. + if (!needsForceUpdate) { + var parent_2 = el.parent; + while (parent_2) { + if ((parent_2.slotScope && parent_2.slotScope !== emptySlotScopeToken) || + parent_2.for) { + needsForceUpdate = true; + break; + } + if (parent_2.if) { + needsKey = true; + } + parent_2 = parent_2.parent; + } + } + var generatedSlots = Object.keys(slots) + .map(function (key) { return genScopedSlot(slots[key], state); }) + .join(','); + return "scopedSlots:_u([".concat(generatedSlots, "]").concat(needsForceUpdate ? ",null,true" : "").concat(!needsForceUpdate && needsKey ? ",null,false,".concat(hash(generatedSlots)) : "", ")"); + } + function hash(str) { + var hash = 5381; + var i = str.length; + while (i) { + hash = (hash * 33) ^ str.charCodeAt(--i); + } + return hash >>> 0; + } + function containsSlotChild(el) { + if (el.type === 1) { + if (el.tag === 'slot') { + return true; + } + return el.children.some(containsSlotChild); + } + return false; + } + function genScopedSlot(el, state) { + var isLegacySyntax = el.attrsMap['slot-scope']; + if (el.if && !el.ifProcessed && !isLegacySyntax) { + return genIf(el, state, genScopedSlot, "null"); + } + if (el.for && !el.forProcessed) { + return genFor(el, state, genScopedSlot); + } + var slotScope = el.slotScope === emptySlotScopeToken ? "" : String(el.slotScope); + var fn = "function(".concat(slotScope, "){") + + "return ".concat(el.tag === 'template' + ? el.if && isLegacySyntax + ? "(".concat(el.if, ")?").concat(genChildren(el, state) || 'undefined', ":undefined") + : genChildren(el, state) || 'undefined' + : genElement(el, state), "}"); + // reverse proxy v-slot without scope on this.$slots + var reverseProxy = slotScope ? "" : ",proxy:true"; + return "{key:".concat(el.slotTarget || "\"default\"", ",fn:").concat(fn).concat(reverseProxy, "}"); + } + function genChildren(el, state, checkSkip, altGenElement, altGenNode) { + var children = el.children; + if (children.length) { + var el_1 = children[0]; + // optimize single v-for + if (children.length === 1 && + el_1.for && + el_1.tag !== 'template' && + el_1.tag !== 'slot') { + var normalizationType_1 = checkSkip + ? state.maybeComponent(el_1) + ? ",1" + : ",0" + : ""; + return "".concat((altGenElement || genElement)(el_1, state)).concat(normalizationType_1); + } + var normalizationType = checkSkip + ? getNormalizationType(children, state.maybeComponent) + : 0; + var gen_1 = altGenNode || genNode; + return "[".concat(children.map(function (c) { return gen_1(c, state); }).join(','), "]").concat(normalizationType ? ",".concat(normalizationType) : ''); + } + } + // determine the normalization needed for the children array. + // 0: no normalization needed + // 1: simple normalization needed (possible 1-level deep nested array) + // 2: full normalization needed + function getNormalizationType(children, maybeComponent) { + var res = 0; + for (var i = 0; i < children.length; i++) { + var el = children[i]; + if (el.type !== 1) { + continue; + } + if (needsNormalization(el) || + (el.ifConditions && + el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) { + res = 2; + break; + } + if (maybeComponent(el) || + (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) { + res = 1; + } + } + return res; + } + function needsNormalization(el) { + return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'; + } + function genNode(node, state) { + if (node.type === 1) { + return genElement(node, state); + } + else if (node.type === 3 && node.isComment) { + return genComment(node); + } + else { + return genText(node); + } + } + function genText(text) { + return "_v(".concat(text.type === 2 + ? text.expression // no need for () because already wrapped in _s() + : transformSpecialNewlines(JSON.stringify(text.text)), ")"); + } + function genComment(comment) { + return "_e(".concat(JSON.stringify(comment.text), ")"); + } + function genSlot(el, state) { + var slotName = el.slotName || '"default"'; + var children = genChildren(el, state); + var res = "_t(".concat(slotName).concat(children ? ",function(){return ".concat(children, "}") : ''); + var attrs = el.attrs || el.dynamicAttrs + ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({ + // slot props are camelized + name: camelize(attr.name), + value: attr.value, + dynamic: attr.dynamic + }); })) + : null; + var bind = el.attrsMap['v-bind']; + if ((attrs || bind) && !children) { + res += ",null"; + } + if (attrs) { + res += ",".concat(attrs); + } + if (bind) { + res += "".concat(attrs ? '' : ',null', ",").concat(bind); + } + return res + ')'; + } + // componentName is el.component, take it as argument to shun flow's pessimistic refinement + function genComponent(componentName, el, state) { + var children = el.inlineTemplate ? null : genChildren(el, state, true); + return "_c(".concat(componentName, ",").concat(genData(el, state)).concat(children ? ",".concat(children) : '', ")"); + } + function genProps(props) { + var staticProps = ""; + var dynamicProps = ""; + for (var i = 0; i < props.length; i++) { + var prop = props[i]; + var value = transformSpecialNewlines(prop.value); + if (prop.dynamic) { + dynamicProps += "".concat(prop.name, ",").concat(value, ","); + } + else { + staticProps += "\"".concat(prop.name, "\":").concat(value, ","); + } + } + staticProps = "{".concat(staticProps.slice(0, -1), "}"); + if (dynamicProps) { + return "_d(".concat(staticProps, ",[").concat(dynamicProps.slice(0, -1), "])"); + } + else { + return staticProps; + } + } + // #3895, #4268 + function transformSpecialNewlines(text) { + return text.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029'); + } + + // these keywords should not appear inside expressions, but operators like + // typeof, instanceof and in are allowed + var prohibitedKeywordRE = new RegExp('\\b' + + ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' + + 'super,throw,while,yield,delete,export,import,return,switch,default,' + + 'extends,finally,continue,debugger,function,arguments') + .split(',') + .join('\\b|\\b') + + '\\b'); + // these unary operators should not be used as property/method names + var unaryOperatorsRE = new RegExp('\\b' + + 'delete,typeof,void'.split(',').join('\\s*\\([^\\)]*\\)|\\b') + + '\\s*\\([^\\)]*\\)'); + // strip strings in expressions + var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; + // detect problematic expressions in a template + function detectErrors(ast, warn) { + if (ast) { + checkNode(ast, warn); + } + } + function checkNode(node, warn) { + if (node.type === 1) { + for (var name_1 in node.attrsMap) { + if (dirRE.test(name_1)) { + var value = node.attrsMap[name_1]; + if (value) { + var range = node.rawAttrsMap[name_1]; + if (name_1 === 'v-for') { + checkFor(node, "v-for=\"".concat(value, "\""), warn, range); + } + else if (name_1 === 'v-slot' || name_1[0] === '#') { + checkFunctionParameterExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + else if (onRE.test(name_1)) { + checkEvent(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + else { + checkExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + } + } + } + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + checkNode(node.children[i], warn); + } + } + } + else if (node.type === 2) { + checkExpression(node.expression, node.text, warn, node); + } + } + function checkEvent(exp, text, warn, range) { + var stripped = exp.replace(stripStringRE, ''); + var keywordMatch = stripped.match(unaryOperatorsRE); + if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') { + warn("avoid using JavaScript unary operator as property name: " + + "\"".concat(keywordMatch[0], "\" in expression ").concat(text.trim()), range); + } + checkExpression(exp, text, warn, range); + } + function checkFor(node, text, warn, range) { + checkExpression(node.for || '', text, warn, range); + checkIdentifier(node.alias, 'v-for alias', text, warn, range); + checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range); + checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range); + } + function checkIdentifier(ident, type, text, warn, range) { + if (typeof ident === 'string') { + try { + new Function("var ".concat(ident, "=_")); + } + catch (e) { + warn("invalid ".concat(type, " \"").concat(ident, "\" in expression: ").concat(text.trim()), range); + } + } + } + function checkExpression(exp, text, warn, range) { + try { + new Function("return ".concat(exp)); + } + catch (e) { + var keywordMatch = exp + .replace(stripStringRE, '') + .match(prohibitedKeywordRE); + if (keywordMatch) { + warn("avoid using JavaScript keyword as property name: " + + "\"".concat(keywordMatch[0], "\"\n Raw expression: ").concat(text.trim()), range); + } + else { + warn("invalid expression: ".concat(e.message, " in\n\n") + + " ".concat(exp, "\n\n") + + " Raw expression: ".concat(text.trim(), "\n"), range); + } + } + } + function checkFunctionParameterExpression(exp, text, warn, range) { + try { + new Function(exp, ''); + } + catch (e) { + warn("invalid function parameter expression: ".concat(e.message, " in\n\n") + + " ".concat(exp, "\n\n") + + " Raw expression: ".concat(text.trim(), "\n"), range); + } + } + + var range = 2; + function generateCodeFrame(source, start, end) { + if (start === void 0) { start = 0; } + if (end === void 0) { end = source.length; } + var lines = source.split(/\r?\n/); + var count = 0; + var res = []; + for (var i = 0; i < lines.length; i++) { + count += lines[i].length + 1; + if (count >= start) { + for (var j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + res.push("".concat(j + 1).concat(repeat(" ", 3 - String(j + 1).length), "| ").concat(lines[j])); + var lineLength = lines[j].length; + if (j === i) { + // push underline + var pad = start - (count - lineLength) + 1; + var length_1 = end > count ? lineLength - pad : end - start; + res.push(" | " + repeat(" ", pad) + repeat("^", length_1)); + } + else if (j > i) { + if (end > count) { + var length_2 = Math.min(end - count, lineLength); + res.push(" | " + repeat("^", length_2)); + } + count += lineLength + 1; + } + } + break; + } + } + return res.join('\n'); + } + function repeat(str, n) { + var result = ''; + if (n > 0) { + // eslint-disable-next-line no-constant-condition + while (true) { + // eslint-disable-line + if (n & 1) + result += str; + n >>>= 1; + if (n <= 0) + break; + str += str; + } + } + return result; + } + + function createFunction(code, errors) { + try { + return new Function(code); + } + catch (err) { + errors.push({ err: err, code: code }); + return noop; + } + } + function createCompileToFunctionFn(compile) { + var cache = Object.create(null); + return function compileToFunctions(template, options, vm) { + options = extend({}, options); + var warn = options.warn || warn$2; + delete options.warn; + /* istanbul ignore if */ + { + // detect possible CSP restriction + try { + new Function('return 1'); + } + catch (e) { + if (e.toString().match(/unsafe-eval|CSP/)) { + warn('It seems you are using the standalone build of Vue.js in an ' + + 'environment with Content Security Policy that prohibits unsafe-eval. ' + + 'The template compiler cannot work in this environment. Consider ' + + 'relaxing the policy to allow unsafe-eval or pre-compiling your ' + + 'templates into render functions.'); + } + } + } + // check cache + var key = options.delimiters + ? String(options.delimiters) + template + : template; + if (cache[key]) { + return cache[key]; + } + // compile + var compiled = compile(template, options); + // check compilation errors/tips + { + if (compiled.errors && compiled.errors.length) { + if (options.outputSourceRange) { + compiled.errors.forEach(function (e) { + warn("Error compiling template:\n\n".concat(e.msg, "\n\n") + + generateCodeFrame(template, e.start, e.end), vm); + }); + } + else { + warn("Error compiling template:\n\n".concat(template, "\n\n") + + compiled.errors.map(function (e) { return "- ".concat(e); }).join('\n') + + '\n', vm); + } + } + if (compiled.tips && compiled.tips.length) { + if (options.outputSourceRange) { + compiled.tips.forEach(function (e) { return tip(e.msg, vm); }); + } + else { + compiled.tips.forEach(function (msg) { return tip(msg, vm); }); + } + } + } + // turn code into functions + var res = {}; + var fnGenErrors = []; + res.render = createFunction(compiled.render, fnGenErrors); + res.staticRenderFns = compiled.staticRenderFns.map(function (code) { + return createFunction(code, fnGenErrors); + }); + // check function generation errors. + // this should only happen if there is a bug in the compiler itself. + // mostly for codegen development use + /* istanbul ignore if */ + { + if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) { + warn("Failed to generate render function:\n\n" + + fnGenErrors + .map(function (_a) { + var err = _a.err, code = _a.code; + return "".concat(err.toString(), " in\n\n").concat(code, "\n"); + }) + .join('\n'), vm); + } + } + return (cache[key] = res); + }; + } + + function createCompilerCreator(baseCompile) { + return function createCompiler(baseOptions) { + function compile(template, options) { + var finalOptions = Object.create(baseOptions); + var errors = []; + var tips = []; + var warn = function (msg, range, tip) { + (tip ? tips : errors).push(msg); + }; + if (options) { + if (options.outputSourceRange) { + // $flow-disable-line + var leadingSpaceLength_1 = template.match(/^\s*/)[0].length; + warn = function (msg, range, tip) { + var data = typeof msg === 'string' ? { msg: msg } : msg; + if (range) { + if (range.start != null) { + data.start = range.start + leadingSpaceLength_1; + } + if (range.end != null) { + data.end = range.end + leadingSpaceLength_1; + } + } + (tip ? tips : errors).push(data); + }; + } + // merge custom modules + if (options.modules) { + finalOptions.modules = (baseOptions.modules || []).concat(options.modules); + } + // merge custom directives + if (options.directives) { + finalOptions.directives = extend(Object.create(baseOptions.directives || null), options.directives); + } + // copy other options + for (var key in options) { + if (key !== 'modules' && key !== 'directives') { + finalOptions[key] = options[key]; + } + } + } + finalOptions.warn = warn; + var compiled = baseCompile(template.trim(), finalOptions); + { + detectErrors(compiled.ast, warn); + } + compiled.errors = errors; + compiled.tips = tips; + return compiled; + } + return { + compile: compile, + compileToFunctions: createCompileToFunctionFn(compile) + }; + }; + } + + // `createCompilerCreator` allows creating compilers that use alternative + // parser/optimizer/codegen, e.g the SSR optimizing compiler. + // Here we just export a default compiler using the default parts. + var createCompiler = createCompilerCreator(function baseCompile(template, options) { + var ast = parse(template.trim(), options); + if (options.optimize !== false) { + optimize(ast, options); + } + var code = generate(ast, options); + return { + ast: ast, + render: code.render, + staticRenderFns: code.staticRenderFns + }; + }); + + var _a = createCompiler(baseOptions), compileToFunctions = _a.compileToFunctions; + + // check whether current browser encodes a char inside attribute values + var div; + function getShouldDecode(href) { + div = div || document.createElement('div'); + div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>"; + return div.innerHTML.indexOf(' ') > 0; + } + // #3663: IE encodes newlines inside attribute values while other browsers don't + var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false; + // #6828: chrome encodes content in a[href] + var shouldDecodeNewlinesForHref = inBrowser + ? getShouldDecode(true) + : false; + + var idToTemplate = cached(function (id) { + var el = query(id); + return el && el.innerHTML; + }); + var mount = Vue.prototype.$mount; + Vue.prototype.$mount = function (el, hydrating) { + el = el && query(el); + /* istanbul ignore if */ + if (el === document.body || el === document.documentElement) { + warn$2("Do not mount Vue to <html> or <body> - mount to normal elements instead."); + return this; + } + var options = this.$options; + // resolve template/el and convert to render function + if (!options.render) { + var template = options.template; + if (template) { + if (typeof template === 'string') { + if (template.charAt(0) === '#') { + template = idToTemplate(template); + /* istanbul ignore if */ + if (!template) { + warn$2("Template element not found or is empty: ".concat(options.template), this); + } + } + } + else if (template.nodeType) { + template = template.innerHTML; + } + else { + { + warn$2('invalid template option:' + template, this); + } + return this; + } + } + else if (el) { + // @ts-expect-error + template = getOuterHTML(el); + } + if (template) { + /* istanbul ignore if */ + if (config.performance && mark) { + mark('compile'); + } + var _a = compileToFunctions(template, { + outputSourceRange: true, + shouldDecodeNewlines: shouldDecodeNewlines, + shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, + delimiters: options.delimiters, + comments: options.comments + }, this), render = _a.render, staticRenderFns = _a.staticRenderFns; + options.render = render; + options.staticRenderFns = staticRenderFns; + /* istanbul ignore if */ + if (config.performance && mark) { + mark('compile end'); + measure("vue ".concat(this._name, " compile"), 'compile', 'compile end'); + } + } + } + return mount.call(this, el, hydrating); + }; + /** + * Get outerHTML of elements, taking care + * of SVG elements in IE as well. + */ + function getOuterHTML(el) { + if (el.outerHTML) { + return el.outerHTML; + } + else { + var container = document.createElement('div'); + container.appendChild(el.cloneNode(true)); + return container.innerHTML; + } + } + Vue.compile = compileToFunctions; + + // export type EffectScheduler = (...args: any[]) => any + /** + * @internal since we are not exposing this in Vue 2, it's used only for + * internal testing. + */ + function effect(fn, scheduler) { + var watcher = new Watcher(currentInstance, fn, noop, { + sync: true + }); + if (scheduler) { + watcher.update = function () { + scheduler(function () { return watcher.run(); }); + }; + } + } + + extend(Vue, vca); + Vue.effect = effect; + + return Vue; + +})); diff --git a/advancedcontentfilter/asset/vue/dist/vue.min.js b/advancedcontentfilter/asset/vue/dist/vue.min.js new file mode 100644 index 000000000..72d8a13ec --- /dev/null +++ b/advancedcontentfilter/asset/vue/dist/vue.min.js @@ -0,0 +1,11 @@ +/*! + * Vue.js v2.7.13 + * (c) 2014-2022 Evan You + * Released under the MIT License. + */ +/*! + * Vue.js v2.7.13 + * (c) 2014-2022 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Vue=e()}(this,(function(){"use strict";var t=Object.freeze({}),e=Array.isArray;function n(t){return null==t}function r(t){return null!=t}function o(t){return!0===t}function i(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function a(t){return"function"==typeof t}function s(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function u(t){return"[object Object]"===c.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function f(t){return r(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function d(t){return null==t?"":Array.isArray(t)||u(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function p(t){var e=parseFloat(t);return isNaN(e)?t:e}function v(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var h=v("slot,component",!0),m=v("key,ref,slot,slot-scope,is");function g(t,e){var n=t.length;if(n){if(e===t[n-1])return void(t.length=n-1);var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}var y=Object.prototype.hasOwnProperty;function _(t,e){return y.call(t,e)}function b(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var $=/-(\w)/g,w=b((function(t){return t.replace($,(function(t,e){return e?e.toUpperCase():""}))})),x=b((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),C=/\B([A-Z])/g,k=b((function(t){return t.replace(C,"-$1").toLowerCase()}));var S=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function O(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function A(t){for(var e={},n=0;n<t.length;n++)t[n]&&T(e,t[n]);return e}function j(t,e,n){}var E=function(t,e,n){return!1},N=function(t){return t};function P(t,e){if(t===e)return!0;var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every((function(t,n){return P(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),c=Object.keys(e);return a.length===c.length&&a.every((function(n){return P(t[n],e[n])}))}catch(t){return!1}}function D(t,e){for(var n=0;n<t.length;n++)if(P(t[n],e))return n;return-1}function M(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function I(t,e){return t===e?0===t&&1/t!=1/e:t==t||e==e}var L="data-server-rendered",R=["component","directive","filter"],F=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],H={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:E,isReservedAttr:E,isUnknownElement:E,getTagNamespace:j,parsePlatformTagName:N,mustUseProp:E,async:!0,_lifecycleHooks:F},B=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function U(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function z(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var V=new RegExp("[^".concat(B.source,".$_\\d]"));var K="__proto__"in{},J="undefined"!=typeof window,W=J&&window.navigator.userAgent.toLowerCase(),q=W&&/msie|trident/.test(W),Z=W&&W.indexOf("msie 9.0")>0,G=W&&W.indexOf("edge/")>0;W&&W.indexOf("android");var X=W&&/iphone|ipad|ipod|ios/.test(W);W&&/chrome\/\d+/.test(W),W&&/phantomjs/.test(W);var Y,Q=W&&W.match(/firefox\/(\d+)/),tt={}.watch,et=!1;if(J)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===Y&&(Y=!J&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),Y},ot=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function it(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&it(Symbol)&&"undefined"!=typeof Reflect&&it(Reflect.ownKeys);at="undefined"!=typeof Set&&it(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ct=null;function ut(t){void 0===t&&(t=null),t||ct&&ct._scope.off(),ct=t,t&&t._scope.on()}var lt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),ft=function(t){void 0===t&&(t="");var e=new lt;return e.text=t,e.isComment=!0,e};function dt(t){return new lt(void 0,void 0,void 0,String(t))}function pt(t){var e=new lt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var vt=0,ht=[],mt=function(){function t(){this._pending=!1,this.id=vt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,ht.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){for(var e=this.subs.filter((function(t){return t})),n=0,r=e.length;n<r;n++){e[n].update()}},t}();mt.target=null;var gt=[];function yt(t){gt.push(t),mt.target=t}function _t(){gt.pop(),mt.target=gt[gt.length-1]}var bt=Array.prototype,$t=Object.create(bt);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=bt[t];z($t,t,(function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i}))}));var wt=new WeakMap;function xt(t){return Ct(t,!0),z(t,"__v_isShallow",!0),t}function Ct(t,e){Ot(t)||Dt(t,e,rt())}function kt(t){return Ot(t)?kt(t.__v_raw):!(!t||!t.__ob__)}function St(t){return!(!t||!t.__v_isShallow)}function Ot(t){return!(!t||!t.__v_isReadonly)}var Tt=Object.getOwnPropertyNames($t),At={},jt=!0;function Et(t){jt=t}var Nt={notify:j,depend:j,addSub:j,removeSub:j},Pt=function(){function t(t,n,r){if(void 0===n&&(n=!1),void 0===r&&(r=!1),this.value=t,this.shallow=n,this.mock=r,this.dep=r?Nt:new mt,this.vmCount=0,z(t,"__ob__",this),e(t)){if(!r)if(K)t.__proto__=$t;else for(var o=0,i=Tt.length;o<i;o++){z(t,s=Tt[o],$t[s])}n||this.observeArray(t)}else{var a=Object.keys(t);for(o=0;o<a.length;o++){var s;Mt(t,s=a[o],At,void 0,n,r)}}}return t.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)Dt(t[e],!1,this.mock)},t}();function Dt(t,n,r){return t&&_(t,"__ob__")&&t.__ob__ instanceof Pt?t.__ob__:!jt||!r&&rt()||!e(t)&&!u(t)||!Object.isExtensible(t)||t.__v_skip||wt.has(t)||Ht(t)||t instanceof lt?void 0:new Pt(t,n,r)}function Mt(t,n,r,o,i,a){var s=new mt,c=Object.getOwnPropertyDescriptor(t,n);if(!c||!1!==c.configurable){var u=c&&c.get,l=c&&c.set;u&&!l||r!==At&&2!==arguments.length||(r=t[n]);var f=!i&&Dt(r,!1,a);return Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var n=u?u.call(t):r;return mt.target&&(s.depend(),f&&(f.dep.depend(),e(n)&&Rt(n))),Ht(n)&&!i?n.value:n},set:function(e){var n=u?u.call(t):r;if(I(n,e)){if(l)l.call(t,e);else{if(u)return;if(!i&&Ht(n)&&!Ht(e))return void(n.value=e);r=e}f=!i&&Dt(e,!1,a),s.notify()}}}),s}}function It(t,n,r){if(!Ot(t)){var o=t.__ob__;return e(t)&&l(n)?(t.length=Math.max(t.length,n),t.splice(n,1,r),o&&!o.shallow&&o.mock&&Dt(r,!1,!0),r):n in t&&!(n in Object.prototype)?(t[n]=r,r):t._isVue||o&&o.vmCount?r:o?(Mt(o.value,n,r,void 0,o.shallow,o.mock),o.dep.notify(),r):(t[n]=r,r)}}function Lt(t,n){if(e(t)&&l(n))t.splice(n,1);else{var r=t.__ob__;t._isVue||r&&r.vmCount||Ot(t)||_(t,n)&&(delete t[n],r&&r.dep.notify())}}function Rt(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),e(n)&&Rt(n)}var Ft="__v_isRef";function Ht(t){return!(!t||!0!==t.__v_isRef)}function Bt(t,e){if(Ht(t))return t;var n={};return z(n,Ft,!0),z(n,"__v_isShallow",e),z(n,"dep",Mt(n,"value",t,null,e,rt())),n}function Ut(t,e,n){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];if(Ht(t))return t.value;var r=t&&t.__ob__;return r&&r.dep.depend(),t},set:function(t){var r=e[n];Ht(r)&&!Ht(t)?r.value=t:e[n]=t}})}function zt(t,e,n){var r=t[e];if(Ht(r))return r;var o={get value(){var r=t[e];return void 0===r?n:r},set value(n){t[e]=n}};return z(o,Ft,!0),o}var Vt=new WeakMap,Kt=new WeakMap;function Jt(t){return Wt(t,!1)}function Wt(t,e){if(!u(t))return t;if(Ot(t))return t;var n=e?Kt:Vt,r=n.get(t);if(r)return r;var o=Object.create(Object.getPrototypeOf(t));n.set(t,o),z(o,"__v_isReadonly",!0),z(o,"__v_raw",t),Ht(t)&&z(o,Ft,!0),(e||St(t))&&z(o,"__v_isShallow",!0);for(var i=Object.keys(t),a=0;a<i.length;a++)qt(o,t,i[a],e);return o}function qt(t,e,n,r){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];return r||!u(t)?t:Jt(t)},set:function(){}})}var Zt=b((function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function Gt(t,n){function r(){var t=r.fns;if(!e(t))return hn(t,null,arguments,n,"v-on handler");for(var o=t.slice(),i=0;i<o.length;i++)hn(o[i],null,arguments,n,"v-on handler")}return r.fns=t,r}function Xt(t,e,r,i,a,s){var c,u,l,f;for(c in t)u=t[c],l=e[c],f=Zt(c),n(u)||(n(l)?(n(u.fns)&&(u=t[c]=Gt(u,s)),o(f.once)&&(u=t[c]=a(f.name,u,f.capture)),r(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,t[c]=l));for(c in e)n(t[c])&&i((f=Zt(c)).name,e[c],f.capture)}function Yt(t,e,i){var a;t instanceof lt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){i.apply(this,arguments),g(a.fns,c)}n(s)?a=Gt([c]):r(s.fns)&&o(s.merged)?(a=s).fns.push(c):a=Gt([s,c]),a.merged=!0,t[e]=a}function Qt(t,e,n,o,i){if(r(e)){if(_(e,n))return t[n]=e[n],i||delete e[n],!0;if(_(e,o))return t[n]=e[o],i||delete e[o],!0}return!1}function te(t){return i(t)?[dt(t)]:e(t)?ne(t):void 0}function ee(t){return r(t)&&r(t.text)&&!1===t.isComment}function ne(t,a){var s,c,u,l,f=[];for(s=0;s<t.length;s++)n(c=t[s])||"boolean"==typeof c||(l=f[u=f.length-1],e(c)?c.length>0&&(ee((c=ne(c,"".concat(a||"","_").concat(s)))[0])&&ee(l)&&(f[u]=dt(l.text+c[0].text),c.shift()),f.push.apply(f,c)):i(c)?ee(l)?f[u]=dt(l.text+c):""!==c&&f.push(dt(c)):ee(c)&&ee(l)?f[u]=dt(l.text+c.text):(o(t._isVList)&&r(c.tag)&&n(c.key)&&r(a)&&(c.key="__vlist".concat(a,"_").concat(s,"__")),f.push(c)));return f}function re(t,n,c,u,l,f){return(e(c)||i(c))&&(l=u,u=c,c=void 0),o(f)&&(l=2),function(t,n,o,i,c){if(r(o)&&r(o.__ob__))return ft();r(o)&&r(o.is)&&(n=o.is);if(!n)return ft();e(i)&&a(i[0])&&((o=o||{}).scopedSlots={default:i[0]},i.length=0);2===c?i=te(i):1===c&&(i=function(t){for(var n=0;n<t.length;n++)if(e(t[n]))return Array.prototype.concat.apply([],t);return t}(i));var u,l;if("string"==typeof n){var f=void 0;l=t.$vnode&&t.$vnode.ns||H.getTagNamespace(n),u=H.isReservedTag(n)?new lt(H.parsePlatformTagName(n),o,i,void 0,void 0,t):o&&o.pre||!r(f=$r(t.$options,"components",n))?new lt(n,o,i,void 0,void 0,t):fr(f,o,t,i,n)}else u=fr(n,o,t,i);return e(u)?u:r(u)?(r(l)&&oe(u,l),r(o)&&function(t){s(t.style)&&Vn(t.style);s(t.class)&&Vn(t.class)}(o),u):ft()}(t,n,c,u,l)}function oe(t,e,i){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,i=!0),r(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];r(c.tag)&&(n(c.ns)||o(i)&&"svg"!==c.tag)&&oe(c,e,i)}}function ie(t,n){var o,i,a,c,u=null;if(e(t)||"string"==typeof t)for(u=new Array(t.length),o=0,i=t.length;o<i;o++)u[o]=n(t[o],o);else if("number"==typeof t)for(u=new Array(t),o=0;o<t;o++)u[o]=n(o+1,o);else if(s(t))if(st&&t[Symbol.iterator]){u=[];for(var l=t[Symbol.iterator](),f=l.next();!f.done;)u.push(n(f.value,u.length)),f=l.next()}else for(a=Object.keys(t),u=new Array(a.length),o=0,i=a.length;o<i;o++)c=a[o],u[o]=n(t[c],c,o);return r(u)||(u=[]),u._isVList=!0,u}function ae(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&(n=T(T({},r),n)),o=i(n)||(a(e)?e():e)):o=this.$slots[t]||(a(e)?e():e);var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function se(t){return $r(this.$options,"filters",t)||N}function ce(t,n){return e(t)?-1===t.indexOf(n):t!==n}function ue(t,e,n,r,o){var i=H.keyCodes[e]||n;return o&&r&&!H.keyCodes[e]?ce(o,r):i?ce(i,t):r?k(r)!==e:void 0===t}function le(t,n,r,o,i){if(r)if(s(r)){e(r)&&(r=A(r));var a=void 0,c=function(e){if("class"===e||"style"===e||m(e))a=t;else{var s=t.attrs&&t.attrs.type;a=o||H.mustUseProp(n,s,e)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=w(e),u=k(e);c in a||u in a||(a[e]=r[e],i&&((t.on||(t.on={}))["update:".concat(e)]=function(t){r[e]=t}))};for(var u in r)c(u)}else;return t}function fe(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||pe(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,this._c,this),"__static__".concat(t),!1),r}function de(t,e,n){return pe(t,"__once__".concat(e).concat(n?"_".concat(n):""),!0),t}function pe(t,n,r){if(e(t))for(var o=0;o<t.length;o++)t[o]&&"string"!=typeof t[o]&&ve(t[o],"".concat(n,"_").concat(o),r);else ve(t,n,r)}function ve(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function he(t,e){if(e)if(u(e)){var n=t.on=t.on?T({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function me(t,n,r,o){n=n||{$stable:!r};for(var i=0;i<t.length;i++){var a=t[i];e(a)?me(a,n,r):a&&(a.proxy&&(a.fn.proxy=!0),n[a.key]=a.fn)}return o&&(n.$key=o),n}function ge(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function ye(t,e){return"string"==typeof t?e+t:t}function _e(t){t._o=de,t._n=p,t._s=d,t._l=ie,t._t=ae,t._q=P,t._i=D,t._m=fe,t._f=se,t._k=ue,t._b=le,t._v=dt,t._e=ft,t._u=me,t._g=he,t._d=ge,t._p=ye}function be(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var u in n)n[u].every($e)&&delete n[u];return n}function $e(t){return t.isComment&&!t.asyncFactory||" "===t.text}function we(t){return t.isComment&&t.asyncFactory}function xe(e,n,r,o){var i,a=Object.keys(r).length>0,s=n?!!n.$stable:!a,c=n&&n.$key;if(n){if(n._normalized)return n._normalized;if(s&&o&&o!==t&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},n)n[u]&&"$"!==u[0]&&(i[u]=Ce(e,r,u,n[u]))}else i={};for(var l in r)l in i||(i[l]=ke(r,l));return n&&Object.isExtensible(n)&&(n._normalized=i),z(i,"$stable",s),z(i,"$key",c),z(i,"$hasNormal",a),i}function Ce(t,n,r,o){var i=function(){var n=ct;ut(t);var r=arguments.length?o.apply(null,arguments):o({}),i=(r=r&&"object"==typeof r&&!e(r)?[r]:te(r))&&r[0];return ut(n),r&&(!i||1===r.length&&i.isComment&&!we(i))?void 0:r};return o.proxy&&Object.defineProperty(n,r,{get:i,enumerable:!0,configurable:!0}),i}function ke(t,e){return function(){return t[e]}}function Se(e){return{get attrs(){if(!e._attrsProxy){var n=e._attrsProxy={};z(n,"_v_attr_proxy",!0),Oe(n,e.$attrs,t,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||Oe(e._listenersProxy={},e.$listeners,t,e,"$listeners");return e._listenersProxy},get slots(){return function(t){t._slotsProxy||Ae(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(e)},emit:S(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Ut(e,t,n)}))}}}function Oe(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,Te(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function Te(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function Ae(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function je(){var t=ct;return t._setupContext||(t._setupContext=Se(t))}var Ee,Ne=null;function Pe(t,e){return(t.__esModule||st&&"Module"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function De(t){if(e(t))for(var n=0;n<t.length;n++){var o=t[n];if(r(o)&&(r(o.componentOptions)||we(o)))return o}}function Me(t,e){Ee.$on(t,e)}function Ie(t,e){Ee.$off(t,e)}function Le(t,e){var n=Ee;return function r(){var o=e.apply(null,arguments);null!==o&&n.$off(t,r)}}function Re(t,e,n){Ee=t,Xt(e,n||{},Me,Ie,Le,t),Ee=void 0}var Fe=null;function He(t){var e=Fe;return Fe=t,function(){Fe=e}}function Be(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function Ue(t,e){if(e){if(t._directInactive=!1,Be(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Ue(t.$children[n]);Ve(t,"activated")}}function ze(t,e){if(!(e&&(t._directInactive=!0,Be(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)ze(t.$children[n]);Ve(t,"deactivated")}}function Ve(t,e,n,r){void 0===r&&(r=!0),yt();var o=ct;r&&ut(t);var i=t.$options[e],a="".concat(e," hook");if(i)for(var s=0,c=i.length;s<c;s++)hn(i[s],t,n||null,t,a);t._hasHookEvent&&t.$emit("hook:"+e),r&&ut(o),_t()}var Ke=[],Je=[],We={},qe=!1,Ze=!1,Ge=0;var Xe=0,Ye=Date.now;if(J&&!q){var Qe=window.performance;Qe&&"function"==typeof Qe.now&&Ye()>document.createEvent("Event").timeStamp&&(Ye=function(){return Qe.now()})}var tn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function en(){var t,e;for(Xe=Ye(),Ze=!0,Ke.sort(tn),Ge=0;Ge<Ke.length;Ge++)(t=Ke[Ge]).before&&t.before(),e=t.id,We[e]=null,t.run();var n=Je.slice(),r=Ke.slice();Ge=Ke.length=Je.length=0,We={},qe=Ze=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Ue(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r&&r._watcher===n&&r._isMounted&&!r._isDestroyed&&Ve(r,"updated")}}(r),function(){for(var t=0;t<ht.length;t++){var e=ht[t];e.subs=e.subs.filter((function(t){return t})),e._pending=!1}ht.length=0}(),ot&&H.devtools&&ot.emit("flush")}function nn(t){var e=t.id;if(null==We[e]&&(t!==mt.target||!t.noRecurse)){if(We[e]=!0,Ze){for(var n=Ke.length-1;n>Ge&&Ke[n].id>t.id;)n--;Ke.splice(n+1,0,t)}else Ke.push(t);qe||(qe=!0,On(en))}}var rn="watcher",on="".concat(rn," callback"),an="".concat(rn," getter"),sn="".concat(rn," cleanup");function cn(t,e){return fn(t,null,{flush:"post"})}var un,ln={};function fn(n,r,o){var i=void 0===o?t:o,s=i.immediate,c=i.deep,u=i.flush,l=void 0===u?"pre":u;i.onTrack,i.onTrigger;var f,d,p=ct,v=function(t,e,n){return void 0===n&&(n=null),hn(t,null,n,p,e)},h=!1,m=!1;if(Ht(n)?(f=function(){return n.value},h=St(n)):kt(n)?(f=function(){return n.__ob__.dep.depend(),n},c=!0):e(n)?(m=!0,h=n.some((function(t){return kt(t)||St(t)})),f=function(){return n.map((function(t){return Ht(t)?t.value:kt(t)?Vn(t):a(t)?v(t,an):void 0}))}):f=a(n)?r?function(){return v(n,an)}:function(){if(!p||!p._isDestroyed)return d&&d(),v(n,rn,[y])}:j,r&&c){var g=f;f=function(){return Vn(g())}}var y=function(t){d=_.onStop=function(){v(t,sn)}};if(rt())return y=j,r?s&&v(r,on,[f(),m?[]:void 0,y]):f(),j;var _=new Wn(ct,f,j,{lazy:!0});_.noRecurse=!r;var b=m?[]:ln;return _.run=function(){if(_.active)if(r){var t=_.get();(c||h||(m?t.some((function(t,e){return I(t,b[e])})):I(t,b)))&&(d&&d(),v(r,on,[t,b===ln?void 0:b,y]),b=t)}else _.get()},"sync"===l?_.update=_.run:"post"===l?(_.post=!0,_.update=function(){return nn(_)}):_.update=function(){if(p&&p===ct&&!p._isMounted){var t=p._preWatchers||(p._preWatchers=[]);t.indexOf(_)<0&&t.push(_)}else nn(_)},r?s?_.run():b=_.get():"post"===l&&p?p.$once("hook:mounted",(function(){return _.get()})):_.get(),function(){_.teardown()}}var dn=function(){function t(t){void 0===t&&(t=!1),this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=un,!t&&un&&(this.index=(un.scopes||(un.scopes=[])).push(this)-1)}return t.prototype.run=function(t){if(this.active){var e=un;try{return un=this,t()}finally{un=e}}},t.prototype.on=function(){un=this},t.prototype.off=function(){un=this.parent},t.prototype.stop=function(t){if(this.active){var e=void 0,n=void 0;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].teardown();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(!this.detached&&this.parent&&!t){var r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this.active=!1}},t}();function pn(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function vn(t,e,n){yt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){mn(t,r,"errorCaptured hook")}}mn(t,e,n)}finally{_t()}}function hn(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&f(i)&&!i._handled&&(i.catch((function(t){return vn(t,r,o+" (Promise/async)")})),i._handled=!0)}catch(t){vn(t,r,o)}return i}function mn(t,e,n){if(H.errorHandler)try{return H.errorHandler.call(null,t,e,n)}catch(e){e!==t&&gn(e)}gn(t)}function gn(t,e,n){if(!J||"undefined"==typeof console)throw t;console.error(t)}var yn,_n=!1,bn=[],$n=!1;function wn(){$n=!1;var t=bn.slice(0);bn.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&it(Promise)){var xn=Promise.resolve();yn=function(){xn.then(wn),X&&setTimeout(j)},_n=!0}else if(q||"undefined"==typeof MutationObserver||!it(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())yn="undefined"!=typeof setImmediate&&it(setImmediate)?function(){setImmediate(wn)}:function(){setTimeout(wn,0)};else{var Cn=1,kn=new MutationObserver(wn),Sn=document.createTextNode(String(Cn));kn.observe(Sn,{characterData:!0}),yn=function(){Cn=(Cn+1)%2,Sn.data=String(Cn)},_n=!0}function On(t,e){var n;if(bn.push((function(){if(t)try{t.call(e)}catch(t){vn(t,e,"nextTick")}else n&&n(e)})),$n||($n=!0,yn()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){n=t}))}function Tn(t){return function(e,n){if(void 0===n&&(n=ct),n)return function(t,e,n){var r=t.$options;r[e]=gr(r[e],n)}(n,t,e)}}var An=Tn("beforeMount"),jn=Tn("mounted"),En=Tn("beforeUpdate"),Nn=Tn("updated"),Pn=Tn("beforeDestroy"),Dn=Tn("destroyed"),Mn=Tn("activated"),In=Tn("deactivated"),Ln=Tn("serverPrefetch"),Rn=Tn("renderTracked"),Fn=Tn("renderTriggered"),Hn=Tn("errorCaptured");var Bn="2.7.13";var Un=Object.freeze({__proto__:null,version:Bn,defineComponent:function(t){return t},ref:function(t){return Bt(t,!1)},shallowRef:function(t){return Bt(t,!0)},isRef:Ht,toRef:zt,toRefs:function(t){var n=e(t)?new Array(t.length):{};for(var r in t)n[r]=zt(t,r);return n},unref:function(t){return Ht(t)?t.value:t},proxyRefs:function(t){if(kt(t))return t;for(var e={},n=Object.keys(t),r=0;r<n.length;r++)Ut(e,t,n[r]);return e},customRef:function(t){var e=new mt,n=t((function(){e.depend()}),(function(){e.notify()})),r=n.get,o=n.set,i={get value(){return r()},set value(t){o(t)}};return z(i,Ft,!0),i},triggerRef:function(t){t.dep&&t.dep.notify()},reactive:function(t){return Ct(t,!1),t},isReactive:kt,isReadonly:Ot,isShallow:St,isProxy:function(t){return kt(t)||Ot(t)},shallowReactive:xt,markRaw:function(t){return s(t)&&wt.set(t,!0),t},toRaw:function t(e){var n=e&&e.__v_raw;return n?t(n):e},readonly:Jt,shallowReadonly:function(t){return Wt(t,!0)},computed:function(t,e){var n,r,o=a(t);o?(n=t,r=j):(n=t.get,r=t.set);var i=rt()?null:new Wn(ct,n,j,{lazy:!0}),s={effect:i,get value(){return i?(i.dirty&&i.evaluate(),mt.target&&i.depend(),i.value):n()},set value(t){r(t)}};return z(s,Ft,!0),z(s,"__v_isReadonly",o),s},watch:function(t,e,n){return fn(t,e,n)},watchEffect:function(t,e){return fn(t,null,e)},watchPostEffect:cn,watchSyncEffect:function(t,e){return fn(t,null,{flush:"sync"})},EffectScope:dn,effectScope:function(t){return new dn(t)},onScopeDispose:function(t){un&&un.cleanups.push(t)},getCurrentScope:function(){return un},provide:function(t,e){ct&&(pn(ct)[t]=e)},inject:function(t,e,n){void 0===n&&(n=!1);var r=ct;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&a(e)?e.call(r):e}},h:function(t,e,n){return re(ct,t,e,n,2,!0)},getCurrentInstance:function(){return ct&&{proxy:ct}},useSlots:function(){return je().slots},useAttrs:function(){return je().attrs},useListeners:function(){return je().listeners},mergeDefaults:function(t,n){var r=e(t)?t.reduce((function(t,e){return t[e]={},t}),{}):t;for(var o in n){var i=r[o];i?e(i)||a(i)?r[o]={type:i,default:n[o]}:i.default=n[o]:null===i&&(r[o]={default:n[o]})}return r},nextTick:On,set:It,del:Lt,useCssModule:function(e){return t},useCssVars:function(t){if(J){var e=ct;e&&cn((function(){var n=e.$el,r=t(e,e._setupProxy);if(n&&1===n.nodeType){var o=n.style;for(var i in r)o.setProperty("--".concat(i),r[i])}}))}},defineAsyncComponent:function(t){a(t)&&(t={loader:t});var e=t.loader,n=t.loadingComponent,r=t.errorComponent,o=t.delay,i=void 0===o?200:o,s=t.timeout;t.suspensible;var c=t.onError,u=null,l=0,f=function(){var t;return u||(t=u=e().catch((function(t){if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise((function(e,n){c(t,(function(){return e((l++,u=null,f()))}),(function(){return n(t)}),l+1)}));throw t})).then((function(e){return t!==u&&u?u:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),e)})))};return function(){return{component:f(),delay:i,timeout:s,error:r,loading:n}}},onBeforeMount:An,onMounted:jn,onBeforeUpdate:En,onUpdated:Nn,onBeforeUnmount:Pn,onUnmounted:Dn,onActivated:Mn,onDeactivated:In,onServerPrefetch:Ln,onRenderTracked:Rn,onRenderTriggered:Fn,onErrorCaptured:function(t,e){void 0===e&&(e=ct),Hn(t,e)}}),zn=new at;function Vn(t){return Kn(t,zn),zn.clear(),t}function Kn(t,n){var r,o,i=e(t);if(!(!i&&!s(t)||t.__v_skip||Object.isFrozen(t)||t instanceof lt)){if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)Kn(t[r],n);else if(Ht(t))Kn(t.value,n);else for(r=(o=Object.keys(t)).length;r--;)Kn(t[o[r]],n)}}var Jn=0,Wn=function(){function t(t,e,n,r,o){!function(t,e){void 0===e&&(e=un),e&&e.active&&e.effects.push(t)}(this,un&&!un._vm?un:t?t._scope:void 0),(this.vm=t)&&o&&(t._watcher=this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Jn,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new at,this.newDepIds=new at,this.expression="",a(e)?this.getter=e:(this.getter=function(t){if(!V.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=j)),this.value=this.lazy?void 0:this.get()}return t.prototype.get=function(){var t;yt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;vn(t,e,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&Vn(t),_t(),this.cleanupDeps()}return t},t.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},t.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},t.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():nn(this)},t.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'.concat(this.expression,'"');hn(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},t.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},t.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},t.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&g(this.vm._scope.effects,this),this.active){for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},t}(),qn={enumerable:!0,configurable:!0,get:j,set:j};function Zn(t,e,n){qn.get=function(){return this[e][n]},qn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,qn)}function Gn(t){var n=t.$options;if(n.props&&function(t,e){var n=t.$options.propsData||{},r=t._props=xt({}),o=t.$options._propKeys=[];t.$parent&&Et(!1);var i=function(i){o.push(i);var a=wr(i,e,n,t);Mt(r,i,a),i in t||Zn(t,"_props",i)};for(var a in e)i(a);Et(!0)}(t,n.props),function(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=Se(t);ut(t),yt();var o=hn(n,null,[t._props||xt({}),r],t,"setup");if(_t(),ut(),a(o))e.render=o;else if(s(o))if(t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var c in o)"__sfc"!==c&&Ut(i,o,c)}else for(var c in o)U(c)||Ut(t,o,c)}}(t),n.methods&&function(t,e){for(var n in t.$options.props,e)t[n]="function"!=typeof e[n]?j:S(e[n],t)}(t,n.methods),n.data)!function(t){var e=t.$options.data;u(e=t._data=a(e)?function(t,e){yt();try{return t.call(e,e)}catch(t){return vn(t,e,"data()"),{}}finally{_t()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props;t.$options.methods;var o=n.length;for(;o--;){var i=n[o];r&&_(r,i)||U(i)||Zn(t,"_data",i)}var s=Dt(e);s&&s.vmCount++}(t);else{var r=Dt(t._data={});r&&r.vmCount++}n.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var o in e){var i=e[o],s=a(i)?i:i.get;r||(n[o]=new Wn(t,s||j,j,Xn)),o in t||Yn(t,o,i)}}(t,n.computed),n.watch&&n.watch!==tt&&function(t,n){for(var r in n){var o=n[r];if(e(o))for(var i=0;i<o.length;i++)er(t,r,o[i]);else er(t,r,o)}}(t,n.watch)}var Xn={lazy:!0};function Yn(t,e,n){var r=!rt();a(n)?(qn.get=r?Qn(e):tr(n),qn.set=j):(qn.get=n.get?r&&!1!==n.cache?Qn(e):tr(n.get):j,qn.set=n.set||j),Object.defineProperty(t,e,qn)}function Qn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),mt.target&&e.depend(),e.value}}function tr(t){return function(){return t.call(this,this)}}function er(t,e,n,r){return u(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function nr(t,e){if(t){for(var n=Object.create(null),r=st?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){var s=t[i].from;if(s in e._provided)n[i]=e._provided[s];else if("default"in t[i]){var c=t[i].default;n[i]=a(c)?c.call(e):c}}}return n}}var rr=0;function or(t){var e=t.options;if(t.super){var n=or(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&T(t.extendOptions,r),(e=t.options=br(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function ir(n,r,i,a,s){var c,u=this,l=s.options;_(a,"_uid")?(c=Object.create(a))._original=a:(c=a,a=a._original);var f=o(l._compiled),d=!f;this.data=n,this.props=r,this.children=i,this.parent=a,this.listeners=n.on||t,this.injections=nr(l.inject,a),this.slots=function(){return u.$slots||xe(a,n.scopedSlots,u.$slots=be(i,a)),u.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return xe(a,n.scopedSlots,this.slots())}}),f&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=xe(a,n.scopedSlots,this.$slots)),l._scopeId?this._c=function(t,n,r,o){var i=re(c,t,n,r,o,d);return i&&!e(i)&&(i.fnScopeId=l._scopeId,i.fnContext=a),i}:this._c=function(t,e,n,r){return re(c,t,e,n,r,d)}}function ar(t,e,n,r,o){var i=pt(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function sr(t,e){for(var n in e)t[w(n)]=e[n]}function cr(t){return t.name||t.__name||t._componentTag}_e(ir.prototype);var ur={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;ur.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},o=t.data.inlineTemplate;r(o)&&(n.render=o.render,n.staticRenderFns=o.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,Fe)).$mount(e?t.elm:void 0,e)}},prepatch:function(e,n){var r=n.componentOptions;!function(e,n,r,o,i){var a=o.data.scopedSlots,s=e.$scopedSlots,c=!!(a&&!a.$stable||s!==t&&!s.$stable||a&&e.$scopedSlots.$key!==a.$key||!a&&e.$scopedSlots.$key),u=!!(i||e.$options._renderChildren||c),l=e.$vnode;e.$options._parentVnode=o,e.$vnode=o,e._vnode&&(e._vnode.parent=o),e.$options._renderChildren=i;var f=o.data.attrs||t;e._attrsProxy&&Oe(e._attrsProxy,f,l.data&&l.data.attrs||t,e,"$attrs")&&(u=!0),e.$attrs=f,r=r||t;var d=e.$options._parentListeners;if(e._listenersProxy&&Oe(e._listenersProxy,r,d||t,e,"$listeners"),e.$listeners=e.$options._parentListeners=r,Re(e,r,d),n&&e.$options.props){Et(!1);for(var p=e._props,v=e.$options._propKeys||[],h=0;h<v.length;h++){var m=v[h],g=e.$options.props;p[m]=wr(m,g,n,e)}Et(!0),e.$options.propsData=n}u&&(e.$slots=be(i,o.context),e.$forceUpdate())}(n.componentInstance=e.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(t){var e,n=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,Ve(r,"mounted")),t.data.keepAlive&&(n._isMounted?((e=r)._inactive=!1,Je.push(e)):Ue(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?ze(e,!0):e.$destroy())}},lr=Object.keys(ur);function fr(i,a,c,u,l){if(!n(i)){var d=c.$options._base;if(s(i)&&(i=d.extend(i)),"function"==typeof i){var p;if(n(i.cid)&&(i=function(t,e){if(o(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;var i=Ne;if(i&&r(t.owners)&&-1===t.owners.indexOf(i)&&t.owners.push(i),o(t.loading)&&r(t.loadingComp))return t.loadingComp;if(i&&!r(t.owners)){var a=t.owners=[i],c=!0,u=null,l=null;i.$on("hook:destroyed",(function(){return g(a,i)}));var d=function(t){for(var e=0,n=a.length;e<n;e++)a[e].$forceUpdate();t&&(a.length=0,null!==u&&(clearTimeout(u),u=null),null!==l&&(clearTimeout(l),l=null))},p=M((function(n){t.resolved=Pe(n,e),c?a.length=0:d(!0)})),v=M((function(e){r(t.errorComp)&&(t.error=!0,d(!0))})),h=t(p,v);return s(h)&&(f(h)?n(t.resolved)&&h.then(p,v):f(h.component)&&(h.component.then(p,v),r(h.error)&&(t.errorComp=Pe(h.error,e)),r(h.loading)&&(t.loadingComp=Pe(h.loading,e),0===h.delay?t.loading=!0:u=setTimeout((function(){u=null,n(t.resolved)&&n(t.error)&&(t.loading=!0,d(!1))}),h.delay||200)),r(h.timeout)&&(l=setTimeout((function(){l=null,n(t.resolved)&&v(null)}),h.timeout)))),c=!1,t.loading?t.loadingComp:t.resolved}}(p=i,d),void 0===i))return function(t,e,n,r,o){var i=ft();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,a,c,u,l);a=a||{},or(i),r(a.model)&&function(t,n){var o=t.model&&t.model.prop||"value",i=t.model&&t.model.event||"input";(n.attrs||(n.attrs={}))[o]=n.model.value;var a=n.on||(n.on={}),s=a[i],c=n.model.callback;r(s)?(e(s)?-1===s.indexOf(c):s!==c)&&(a[i]=[c].concat(s)):a[i]=c}(i.options,a);var v=function(t,e,o){var i=e.options.props;if(!n(i)){var a={},s=t.attrs,c=t.props;if(r(s)||r(c))for(var u in i){var l=k(u);Qt(a,c,u,l,!0)||Qt(a,s,u,l,!1)}return a}}(a,i);if(o(i.options.functional))return function(n,o,i,a,s){var c=n.options,u={},l=c.props;if(r(l))for(var f in l)u[f]=wr(f,l,o||t);else r(i.attrs)&&sr(u,i.attrs),r(i.props)&&sr(u,i.props);var d=new ir(i,u,s,a,n),p=c.render.call(null,d._c,d);if(p instanceof lt)return ar(p,i,d.parent,c);if(e(p)){for(var v=te(p)||[],h=new Array(v.length),m=0;m<v.length;m++)h[m]=ar(v[m],i,d.parent,c);return h}}(i,v,a,c,u);var h=a.on;if(a.on=a.nativeOn,o(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<lr.length;n++){var r=lr[n],o=e[r],i=ur[r];o===i||o&&o._merged||(e[r]=o?dr(i,o):i)}}(a);var y=cr(i.options)||l;return new lt("vue-component-".concat(i.cid).concat(y?"-".concat(y):""),a,void 0,void 0,void 0,c,{Ctor:i,propsData:v,listeners:h,tag:l,children:u},p)}}}function dr(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}var pr=j,vr=H.optionMergeStrategies;function hr(t,e){if(!e)return t;for(var n,r,o,i=st?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=t[n],o=e[n],_(t,n)?r!==o&&u(r)&&u(o)&&hr(r,o):It(t,n,o));return t}function mr(t,e,n){return n?function(){var r=a(e)?e.call(n,n):e,o=a(t)?t.call(n,n):t;return r?hr(r,o):o}:e?t?function(){return hr(a(e)?e.call(this,this):e,a(t)?t.call(this,this):t)}:e:t}function gr(t,n){var r=n?t?t.concat(n):e(n)?n:[n]:t;return r?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(r):r}function yr(t,e,n,r){var o=Object.create(t||null);return e?T(o,e):o}vr.data=function(t,e,n){return n?mr(t,e,n):e&&"function"!=typeof e?t:mr(t,e)},F.forEach((function(t){vr[t]=gr})),R.forEach((function(t){vr[t+"s"]=yr})),vr.watch=function(t,n,r,o){if(t===tt&&(t=void 0),n===tt&&(n=void 0),!n)return Object.create(t||null);if(!t)return n;var i={};for(var a in T(i,t),n){var s=i[a],c=n[a];s&&!e(s)&&(s=[s]),i[a]=s?s.concat(c):e(c)?c:[c]}return i},vr.props=vr.methods=vr.inject=vr.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return T(o,t),e&&T(o,e),o},vr.provide=mr;var _r=function(t,e){return void 0===e?t:e};function br(t,n,r){if(a(n)&&(n=n.options),function(t,n){var r=t.props;if(r){var o,i,a={};if(e(r))for(o=r.length;o--;)"string"==typeof(i=r[o])&&(a[w(i)]={type:null});else if(u(r))for(var s in r)i=r[s],a[w(s)]=u(i)?i:{type:i};t.props=a}}(n),function(t,n){var r=t.inject;if(r){var o=t.inject={};if(e(r))for(var i=0;i<r.length;i++)o[r[i]]={from:r[i]};else if(u(r))for(var a in r){var s=r[a];o[a]=u(s)?T({from:a},s):{from:s}}}}(n),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];a(r)&&(e[n]={bind:r,update:r})}}(n),!n._base&&(n.extends&&(t=br(t,n.extends,r)),n.mixins))for(var o=0,i=n.mixins.length;o<i;o++)t=br(t,n.mixins[o],r);var s,c={};for(s in t)l(s);for(s in n)_(t,s)||l(s);function l(e){var o=vr[e]||_r;c[e]=o(t[e],n[e],r,e)}return c}function $r(t,e,n,r){if("string"==typeof n){var o=t[e];if(_(o,n))return o[n];var i=w(n);if(_(o,i))return o[i];var a=x(i);return _(o,a)?o[a]:o[n]||o[i]||o[a]}}function wr(t,e,n,r){var o=e[t],i=!_(n,t),s=n[t],c=Sr(Boolean,o.type);if(c>-1)if(i&&!_(o,"default"))s=!1;else if(""===s||s===k(t)){var u=Sr(String,o.type);(u<0||c<u)&&(s=!0)}if(void 0===s){s=function(t,e,n){if(!_(e,"default"))return;var r=e.default;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return a(r)&&"Function"!==Cr(e.type)?r.call(t):r}(r,o,t);var l=jt;Et(!0),Dt(s),Et(l)}return s}var xr=/^\s*function (\w+)/;function Cr(t){var e=t&&t.toString().match(xr);return e?e[1]:""}function kr(t,e){return Cr(t)===Cr(e)}function Sr(t,n){if(!e(n))return kr(n,t)?0:-1;for(var r=0,o=n.length;r<o;r++)if(kr(n[r],t))return r;return-1}function Or(t){this._init(t)}function Tr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=cr(t)||cr(n.options),a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=br(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Zn(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Yn(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,R.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=T({},a.options),o[r]=a,a}}function Ar(t){return t&&(cr(t.Ctor.options)||t.tag)}function jr(t,n){return e(t)?t.indexOf(n)>-1:"string"==typeof t?t.split(",").indexOf(n)>-1:(r=t,"[object RegExp]"===c.call(r)&&t.test(n));var r}function Er(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&Nr(n,i,r,o)}}}function Nr(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}!function(e){e.prototype._init=function(e){var n=this;n._uid=rr++,n._isVue=!0,n.__v_skip=!0,n._scope=new dn(!0),n._scope._vm=!0,e&&e._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(n,e):n.$options=br(or(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(n),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Re(t,e)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,r=e.$vnode=n._parentVnode,o=r&&r.context;e.$slots=be(n._renderChildren,o),e.$scopedSlots=r?xe(e.$parent,r.data.scopedSlots,e.$slots):t,e._c=function(t,n,r,o){return re(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return re(e,t,n,r,o,!0)};var i=r&&r.data;Mt(e,"$attrs",i&&i.attrs||t,null,!0),Mt(e,"$listeners",n._parentListeners||t,null,!0)}(n),Ve(n,"beforeCreate",void 0,!1),function(t){var e=nr(t.$options.inject,t);e&&(Et(!1),Object.keys(e).forEach((function(n){Mt(t,n,e[n])})),Et(!0))}(n),Gn(n),function(t){var e=t.$options.provide;if(e){var n=a(e)?e.call(t):e;if(!s(n))return;for(var r=pn(t),o=st?Reflect.ownKeys(n):Object.keys(n),i=0;i<o.length;i++){var c=o[i];Object.defineProperty(r,c,Object.getOwnPropertyDescriptor(n,c))}}}(n),Ve(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(Or),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=It,t.prototype.$delete=Lt,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return er(r,t,e,n);(n=n||{}).user=!0;var o=new Wn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher "'.concat(o.expression,'"');yt(),hn(e,r,[o.value],r,i),_t()}return function(){o.teardown()}}}(Or),function(t){var n=/^hook:/;t.prototype.$on=function(t,r){var o=this;if(e(t))for(var i=0,a=t.length;i<a;i++)o.$on(t[i],r);else(o._events[t]||(o._events[t]=[])).push(r),n.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,n){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(e(t)){for(var o=0,i=t.length;o<i;o++)r.$off(t[o],n);return r}var a,s=r._events[t];if(!s)return r;if(!n)return r._events[t]=null,r;for(var c=s.length;c--;)if((a=s[c])===n||a.fn===n){s.splice(c,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?O(n):n;for(var r=O(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;i<a;i++)hn(n[i],e,r,e,o)}return e}}(Or),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=He(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n);for(var a=n;a&&a.$vnode&&a.$parent&&a.$vnode===a.$parent._vnode;)a.$parent.$el=a.$el,a=a.$parent},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ve(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._scope.stop(),t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ve(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Or),function(t){_e(t.prototype),t.prototype.$nextTick=function(t){return On(t,this)},t.prototype._render=function(){var t,n=this,r=n.$options,o=r.render,i=r._parentVnode;i&&n._isMounted&&(n.$scopedSlots=xe(n.$parent,i.data.scopedSlots,n.$slots,n.$scopedSlots),n._slotsProxy&&Ae(n._slotsProxy,n.$scopedSlots)),n.$vnode=i;try{ut(n),Ne=n,t=o.call(n._renderProxy,n.$createElement)}catch(e){vn(e,n,"render"),t=n._vnode}finally{Ne=null,ut()}return e(t)&&1===t.length&&(t=t[0]),t instanceof lt||(t=ft()),t.parent=i,t}}(Or);var Pr=[String,RegExp,Array],Dr={name:"keep-alive",abstract:!0,props:{include:Pr,exclude:Pr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Ar(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&Nr(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Nr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Er(t,(function(t){return jr(e,t)}))})),this.$watch("exclude",(function(e){Er(t,(function(t){return!jr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=De(t),n=e&&e.componentOptions;if(n){var r=Ar(n),o=this.include,i=this.exclude;if(o&&(!r||!jr(o,r))||i&&r&&jr(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,g(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}},Mr={KeepAlive:Dr};!function(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:pr,extend:T,mergeOptions:br,defineReactive:Mt},t.set=It,t.delete=Lt,t.nextTick=On,t.observable=function(t){return Dt(t),t},t.options=Object.create(null),R.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,Mr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=O(arguments,1);return n.unshift(this),a(t.install)?t.install.apply(t,n):a(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=br(this.options,t),this}}(t),Tr(t),function(t){R.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&a(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Or),Object.defineProperty(Or.prototype,"$isServer",{get:rt}),Object.defineProperty(Or.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Or,"FunctionalRenderContext",{value:ir}),Or.version=Bn;var Ir=v("style,class"),Lr=v("input,textarea,option,select,progress"),Rr=function(t,e,n){return"value"===n&&Lr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Fr=v("contenteditable,draggable,spellcheck"),Hr=v("events,caret,typing,plaintext-only"),Br=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Ur="http://www.w3.org/1999/xlink",zr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Vr=function(t){return zr(t)?t.slice(6,t.length):""},Kr=function(t){return null==t||!1===t};function Jr(t){for(var e=t.data,n=t,o=t;r(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=Wr(o.data,e));for(;r(n=n.parent);)n&&n.data&&(e=Wr(e,n.data));return function(t,e){if(r(t)||r(e))return qr(t,Zr(e));return""}(e.staticClass,e.class)}function Wr(t,e){return{staticClass:qr(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function qr(t,e){return t?e?t+" "+e:t:e||""}function Zr(t){return Array.isArray(t)?function(t){for(var e,n="",o=0,i=t.length;o<i;o++)r(e=Zr(t[o]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):s(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var Gr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Xr=v("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Yr=v("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Qr=function(t){return Xr(t)||Yr(t)};function to(t){return Yr(t)?"svg":"math"===t?"math":void 0}var eo=Object.create(null);var no=v("text,number,password,search,email,tel,url");function ro(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}var oo=Object.freeze({__proto__:null,createElement:function(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(t,e){return document.createElementNS(Gr[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),io={create:function(t,e){ao(e)},update:function(t,e){t.data.ref!==e.data.ref&&(ao(t,!0),ao(e))},destroy:function(t){ao(t,!0)}};function ao(t,n){var o=t.data.ref;if(r(o)){var i=t.context,s=t.componentInstance||t.elm,c=n?null:s,u=n?void 0:s;if(a(o))hn(o,i,[c],i,"template ref function");else{var l=t.data.refInFor,f="string"==typeof o||"number"==typeof o,d=Ht(o),p=i.$refs;if(f||d)if(l){var v=f?p[o]:o.value;n?e(v)&&g(v,s):e(v)?v.includes(s)||v.push(s):f?(p[o]=[s],so(i,o,p[o])):o.value=[s]}else if(f){if(n&&p[o]!==s)return;p[o]=u,so(i,o,c)}else if(d){if(n&&o.value!==s)return;o.value=c}}}}function so(t,e,n){var r=t._setupState;r&&_(r,e)&&(Ht(r[e])?r[e].value=n:r[e]=n)}var co=new lt("",{},[]),uo=["create","activate","update","remove","destroy"];function lo(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,o=r(n=t.data)&&r(n=n.attrs)&&n.type,i=r(n=e.data)&&r(n=n.attrs)&&n.type;return o===i||no(o)&&no(i)}(t,e)||o(t.isAsyncPlaceholder)&&n(e.asyncFactory.error))}function fo(t,e,n){var o,i,a={};for(o=e;o<=n;++o)r(i=t[o].key)&&(a[i]=o);return a}var po={create:vo,update:vo,destroy:function(t){vo(t,co)}};function vo(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===co,a=e===co,s=mo(t.data.directives,t.context),c=mo(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,o.oldArg=r.arg,yo(o,"update",e,t),o.def&&o.def.componentUpdated&&l.push(o)):(yo(o,"bind",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var f=function(){for(var n=0;n<u.length;n++)yo(u[n],"inserted",e,t)};i?Yt(e,"insert",f):f()}l.length&&Yt(e,"postpatch",(function(){for(var n=0;n<l.length;n++)yo(l[n],"componentUpdated",e,t)}));if(!i)for(n in s)c[n]||yo(s[n],"unbind",t,t,a)}(t,e)}var ho=Object.create(null);function mo(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++){if((r=t[n]).modifiers||(r.modifiers=ho),o[go(r)]=r,e._setupState&&e._setupState.__sfc){var i=r.def||$r(e,"_setupState","v-"+r.name);r.def="function"==typeof i?{bind:i,update:i}:i}r.def=r.def||$r(e.$options,"directives",r.name)}return o}function go(t){return t.rawName||"".concat(t.name,".").concat(Object.keys(t.modifiers||{}).join("."))}function yo(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){vn(r,n.context,"directive ".concat(t.name," ").concat(e," hook"))}}var _o=[io,po];function bo(t,e){var i=e.componentOptions;if(!(r(i)&&!1===i.Ctor.options.inheritAttrs||n(t.data.attrs)&&n(e.data.attrs))){var a,s,c=e.elm,u=t.data.attrs||{},l=e.data.attrs||{};for(a in(r(l.__ob__)||o(l._v_attr_proxy))&&(l=e.data.attrs=T({},l)),l)s=l[a],u[a]!==s&&$o(c,a,s,e.data.pre);for(a in(q||G)&&l.value!==u.value&&$o(c,"value",l.value),u)n(l[a])&&(zr(a)?c.removeAttributeNS(Ur,Vr(a)):Fr(a)||c.removeAttribute(a))}}function $o(t,e,n,r){r||t.tagName.indexOf("-")>-1?wo(t,e,n):Br(e)?Kr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Fr(e)?t.setAttribute(e,function(t,e){return Kr(e)||"false"===e?"false":"contenteditable"===t&&Hr(e)?e:"true"}(e,n)):zr(e)?Kr(n)?t.removeAttributeNS(Ur,Vr(e)):t.setAttributeNS(Ur,e,n):wo(t,e,n)}function wo(t,e,n){if(Kr(n))t.removeAttribute(e);else{if(q&&!Z&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var xo={create:bo,update:bo};function Co(t,e){var o=e.elm,i=e.data,a=t.data;if(!(n(i.staticClass)&&n(i.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=Jr(e),c=o._transitionClasses;r(c)&&(s=qr(s,Zr(c))),s!==o._prevClass&&(o.setAttribute("class",s),o._prevClass=s)}}var ko,So,Oo,To,Ao,jo,Eo={create:Co,update:Co},No=/[\w).+\-_$\]]/;function Po(t){var e,n,r,o,i,a=!1,s=!1,c=!1,u=!1,l=0,f=0,d=0,p=0;for(r=0;r<t.length;r++)if(n=e,e=t.charCodeAt(r),a)39===e&&92!==n&&(a=!1);else if(s)34===e&&92!==n&&(s=!1);else if(c)96===e&&92!==n&&(c=!1);else if(u)47===e&&92!==n&&(u=!1);else if(124!==e||124===t.charCodeAt(r+1)||124===t.charCodeAt(r-1)||l||f||d){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:d++;break;case 41:d--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===e){for(var v=r-1,h=void 0;v>=0&&" "===(h=t.charAt(v));v--);h&&No.test(h)||(u=!0)}}else void 0===o?(p=r+1,o=t.slice(0,r).trim()):m();function m(){(i||(i=[])).push(t.slice(p,r).trim()),p=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==p&&m(),i)for(r=0;r<i.length;r++)o=Do(o,i[r]);return o}function Do(t,e){var n=e.indexOf("(");if(n<0)return'_f("'.concat(e,'")(').concat(t,")");var r=e.slice(0,n),o=e.slice(n+1);return'_f("'.concat(r,'")(').concat(t).concat(")"!==o?","+o:o)}function Mo(t,e){console.error("[Vue compiler]: ".concat(t))}function Io(t,e){return t?t.map((function(t){return t[e]})).filter((function(t){return t})):[]}function Lo(t,e,n,r,o){(t.props||(t.props=[])).push(Jo({name:e,value:n,dynamic:o},r)),t.plain=!1}function Ro(t,e,n,r,o){(o?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Jo({name:e,value:n,dynamic:o},r)),t.plain=!1}function Fo(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(Jo({name:e,value:n},r))}function Ho(t,e,n,r,o,i,a,s){(t.directives||(t.directives=[])).push(Jo({name:e,rawName:n,value:r,arg:o,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Bo(t,e,n){return n?"_p(".concat(e,',"').concat(t,'")'):t+e}function Uo(e,n,r,o,i,a,s,c){var u;(o=o||t).right?c?n="(".concat(n,")==='click'?'contextmenu':(").concat(n,")"):"click"===n&&(n="contextmenu",delete o.right):o.middle&&(c?n="(".concat(n,")==='click'?'mouseup':(").concat(n,")"):"click"===n&&(n="mouseup")),o.capture&&(delete o.capture,n=Bo("!",n,c)),o.once&&(delete o.once,n=Bo("~",n,c)),o.passive&&(delete o.passive,n=Bo("&",n,c)),o.native?(delete o.native,u=e.nativeEvents||(e.nativeEvents={})):u=e.events||(e.events={});var l=Jo({value:r.trim(),dynamic:c},s);o!==t&&(l.modifiers=o);var f=u[n];Array.isArray(f)?i?f.unshift(l):f.push(l):u[n]=f?i?[l,f]:[f,l]:l,e.plain=!1}function zo(t,e,n){var r=Vo(t,":"+e)||Vo(t,"v-bind:"+e);if(null!=r)return Po(r);if(!1!==n){var o=Vo(t,e);if(null!=o)return JSON.stringify(o)}}function Vo(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function Ko(t,e){for(var n=t.attrsList,r=0,o=n.length;r<o;r++){var i=n[r];if(e.test(i.name))return n.splice(r,1),i}}function Jo(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Wo(t,e,n){var r=n||{},o=r.number,i="$$v",a=i;r.trim&&(a="(typeof ".concat(i," === 'string'")+"? ".concat(i,".trim()")+": ".concat(i,")")),o&&(a="_n(".concat(a,")"));var s=qo(e,a);t.model={value:"(".concat(e,")"),expression:JSON.stringify(e),callback:"function (".concat(i,") {").concat(s,"}")}}function qo(t,e){var n=function(t){if(t=t.trim(),ko=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<ko-1)return(To=t.lastIndexOf("."))>-1?{exp:t.slice(0,To),key:'"'+t.slice(To+1)+'"'}:{exp:t,key:null};So=t,To=Ao=jo=0;for(;!Go();)Xo(Oo=Zo())?Qo(Oo):91===Oo&&Yo(Oo);return{exp:t.slice(0,Ao),key:t.slice(Ao+1,jo)}}(t);return null===n.key?"".concat(t,"=").concat(e):"$set(".concat(n.exp,", ").concat(n.key,", ").concat(e,")")}function Zo(){return So.charCodeAt(++To)}function Go(){return To>=ko}function Xo(t){return 34===t||39===t}function Yo(t){var e=1;for(Ao=To;!Go();)if(Xo(t=Zo()))Qo(t);else if(91===t&&e++,93===t&&e--,0===e){jo=To;break}}function Qo(t){for(var e=t;!Go()&&(t=Zo())!==e;);}var ti,ei="__r";function ni(t,e,n){var r=ti;return function o(){var i=e.apply(null,arguments);null!==i&&ii(t,o,n,r)}}var ri=_n&&!(Q&&Number(Q[1])<=53);function oi(t,e,n,r){if(ri){var o=Xe,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}ti.addEventListener(t,e,et?{capture:n,passive:r}:n)}function ii(t,e,n,r){(r||ti).removeEventListener(t,e._wrapper||e,n)}function ai(t,e){if(!n(t.data.on)||!n(e.data.on)){var o=e.data.on||{},i=t.data.on||{};ti=e.elm||t.elm,function(t){if(r(t.__r)){var e=q?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}r(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(o),Xt(o,i,oi,ii,ni,e.context),ti=void 0}}var si,ci={create:ai,update:ai,destroy:function(t){return ai(t,co)}};function ui(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,a,s=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(i in(r(u.__ob__)||o(u._v_attr_proxy))&&(u=e.data.domProps=T({},u)),c)i in u||(s[i]="");for(i in u){if(a=u[i],"textContent"===i||"innerHTML"===i){if(e.children&&(e.children.length=0),a===c[i])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if("value"===i&&"PROGRESS"!==s.tagName){s._value=a;var l=n(a)?"":String(a);li(s,l)&&(s.value=l)}else if("innerHTML"===i&&Yr(s.tagName)&&n(s.innerHTML)){(si=si||document.createElement("div")).innerHTML="<svg>".concat(a,"</svg>");for(var f=si.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;f.firstChild;)s.appendChild(f.firstChild)}else if(a!==c[i])try{s[i]=a}catch(t){}}}}function li(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,o=t._vModifiers;if(r(o)){if(o.number)return p(n)!==p(e);if(o.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var fi={create:ui,update:ui},di=b((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function pi(t){var e=vi(t.style);return t.staticStyle?T(t.staticStyle,e):e}function vi(t){return Array.isArray(t)?A(t):"string"==typeof t?di(t):t}var hi,mi=/^--/,gi=/\s*!important$/,yi=function(t,e,n){if(mi.test(e))t.style.setProperty(e,n);else if(gi.test(n))t.style.setProperty(k(e),n.replace(gi,""),"important");else{var r=bi(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},_i=["Webkit","Moz","ms"],bi=b((function(t){if(hi=hi||document.createElement("div").style,"filter"!==(t=w(t))&&t in hi)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<_i.length;n++){var r=_i[n]+e;if(r in hi)return r}}));function $i(t,e){var o=e.data,i=t.data;if(!(n(o.staticStyle)&&n(o.style)&&n(i.staticStyle)&&n(i.style))){var a,s,c=e.elm,u=i.staticStyle,l=i.normalizedStyle||i.style||{},f=u||l,d=vi(e.data.style)||{};e.data.normalizedStyle=r(d.__ob__)?T({},d):d;var p=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=pi(o.data))&&T(r,n);(n=pi(t.data))&&T(r,n);for(var i=t;i=i.parent;)i.data&&(n=pi(i.data))&&T(r,n);return r}(e,!0);for(s in f)n(p[s])&&yi(c,s,"");for(s in p)(a=p[s])!==f[s]&&yi(c,s,null==a?"":a)}}var wi={create:$i,update:$i},xi=/\s+/;function Ci(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(xi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ki(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(xi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Si(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Oi(t.name||"v")),T(e,t),e}return"string"==typeof t?Oi(t):void 0}}var Oi=b((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),Ti=J&&!Z,Ai="transition",ji="animation",Ei="transition",Ni="transitionend",Pi="animation",Di="animationend";Ti&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ei="WebkitTransition",Ni="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Pi="WebkitAnimation",Di="webkitAnimationEnd"));var Mi=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ii(t){Mi((function(){Mi(t)}))}function Li(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Ci(t,e))}function Ri(t,e){t._transitionClasses&&g(t._transitionClasses,e),ki(t,e)}function Fi(t,e,n){var r=Bi(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Ai?Ni:Di,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c<a&&u()}),i+1),t.addEventListener(s,l)}var Hi=/\b(transform|all)(,|$)/;function Bi(t,e){var n,r=window.getComputedStyle(t),o=(r[Ei+"Delay"]||"").split(", "),i=(r[Ei+"Duration"]||"").split(", "),a=Ui(o,i),s=(r[Pi+"Delay"]||"").split(", "),c=(r[Pi+"Duration"]||"").split(", "),u=Ui(s,c),l=0,f=0;return e===Ai?a>0&&(n=Ai,l=a,f=i.length):e===ji?u>0&&(n=ji,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Ai:ji:null)?n===Ai?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Ai&&Hi.test(r[Ei+"Property"])}}function Ui(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return zi(e)+zi(t[n])})))}function zi(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Vi(t,e){var o=t.elm;r(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var i=Si(t.data.transition);if(!n(i)&&!r(o._enterCb)&&1===o.nodeType){for(var c=i.css,u=i.type,l=i.enterClass,f=i.enterToClass,d=i.enterActiveClass,v=i.appearClass,h=i.appearToClass,m=i.appearActiveClass,g=i.beforeEnter,y=i.enter,_=i.afterEnter,b=i.enterCancelled,$=i.beforeAppear,w=i.appear,x=i.afterAppear,C=i.appearCancelled,k=i.duration,S=Fe,O=Fe.$vnode;O&&O.parent;)S=O.context,O=O.parent;var T=!S._isMounted||!t.isRootInsert;if(!T||w||""===w){var A=T&&v?v:l,j=T&&m?m:d,E=T&&h?h:f,N=T&&$||g,P=T&&a(w)?w:y,D=T&&x||_,I=T&&C||b,L=p(s(k)?k.enter:k),R=!1!==c&&!Z,F=Wi(P),H=o._enterCb=M((function(){R&&(Ri(o,E),Ri(o,j)),H.cancelled?(R&&Ri(o,A),I&&I(o)):D&&D(o),o._enterCb=null}));t.data.show||Yt(t,"insert",(function(){var e=o.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),P&&P(o,H)})),N&&N(o),R&&(Li(o,A),Li(o,j),Ii((function(){Ri(o,A),H.cancelled||(Li(o,E),F||(Ji(L)?setTimeout(H,L):Fi(o,u,H)))}))),t.data.show&&(e&&e(),P&&P(o,H)),R||F||H()}}}function Ki(t,e){var o=t.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var i=Si(t.data.transition);if(n(i)||1!==o.nodeType)return e();if(!r(o._leaveCb)){var a=i.css,c=i.type,u=i.leaveClass,l=i.leaveToClass,f=i.leaveActiveClass,d=i.beforeLeave,v=i.leave,h=i.afterLeave,m=i.leaveCancelled,g=i.delayLeave,y=i.duration,_=!1!==a&&!Z,b=Wi(v),$=p(s(y)?y.leave:y),w=o._leaveCb=M((function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Ri(o,l),Ri(o,f)),w.cancelled?(_&&Ri(o,u),m&&m(o)):(e(),h&&h(o)),o._leaveCb=null}));g?g(x):x()}function x(){w.cancelled||(!t.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),d&&d(o),_&&(Li(o,u),Li(o,f),Ii((function(){Ri(o,u),w.cancelled||(Li(o,l),b||(Ji($)?setTimeout(w,$):Fi(o,c,w)))}))),v&&v(o,w),_||b||w())}}function Ji(t){return"number"==typeof t&&!isNaN(t)}function Wi(t){if(n(t))return!1;var e=t.fns;return r(e)?Wi(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function qi(t,e){!0!==e.data.show&&Vi(e)}var Zi=function(t){var a,s,c={},u=t.modules,l=t.nodeOps;for(a=0;a<uo.length;++a)for(c[uo[a]]=[],s=0;s<u.length;++s)r(u[s][uo[a]])&&c[uo[a]].push(u[s][uo[a]]);function f(t){var e=l.parentNode(t);r(e)&&l.removeChild(e,t)}function d(t,e,n,i,a,s,u){if(r(t.elm)&&r(s)&&(t=s[u]=pt(t)),t.isRootInsert=!a,!function(t,e,n,i){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1),r(t.componentInstance))return p(t,e),h(n,t.elm,i),o(s)&&function(t,e,n,o){var i,a=t;for(;a.componentInstance;)if(r(i=(a=a.componentInstance._vnode).data)&&r(i=i.transition)){for(i=0;i<c.activate.length;++i)c.activate[i](co,a);e.push(a);break}h(n,t.elm,o)}(t,e,n,i),!0}}(t,e,n,i)){var f=t.data,d=t.children,v=t.tag;r(v)?(t.elm=t.ns?l.createElementNS(t.ns,v):l.createElement(v,t),_(t),m(t,d,e),r(f)&&y(t,e),h(n,t.elm,i)):o(t.isComment)?(t.elm=l.createComment(t.text),h(n,t.elm,i)):(t.elm=l.createTextNode(t.text),h(n,t.elm,i))}}function p(t,e){r(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,g(t)?(y(t,e),_(t)):(ao(t),e.push(t))}function h(t,e,n){r(t)&&(r(n)?l.parentNode(n)===t&&l.insertBefore(t,e,n):l.appendChild(t,e))}function m(t,n,r){if(e(n))for(var o=0;o<n.length;++o)d(n[o],r,t.elm,null,!0,n,o);else i(t.text)&&l.appendChild(t.elm,l.createTextNode(String(t.text)))}function g(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return r(t.tag)}function y(t,e){for(var n=0;n<c.create.length;++n)c.create[n](co,t);r(a=t.data.hook)&&(r(a.create)&&a.create(co,t),r(a.insert)&&e.push(t))}function _(t){var e;if(r(e=t.fnScopeId))l.setStyleScope(t.elm,e);else for(var n=t;n;)r(e=n.context)&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e),n=n.parent;r(e=Fe)&&e!==t.context&&e!==t.fnContext&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e)}function b(t,e,n,r,o,i){for(;r<=o;++r)d(n[r],i,t,e,!1,n,r)}function $(t){var e,n,o=t.data;if(r(o))for(r(e=o.hook)&&r(e=e.destroy)&&e(t),e=0;e<c.destroy.length;++e)c.destroy[e](t);if(r(e=t.children))for(n=0;n<t.children.length;++n)$(t.children[n])}function w(t,e,n){for(;e<=n;++e){var o=t[e];r(o)&&(r(o.tag)?(x(o),$(o)):f(o.elm))}}function x(t,e){if(r(e)||r(t.data)){var n,o=c.remove.length+1;for(r(e)?e.listeners+=o:e=function(t,e){function n(){0==--n.listeners&&f(t)}return n.listeners=e,n}(t.elm,o),r(n=t.componentInstance)&&r(n=n._vnode)&&r(n.data)&&x(n,e),n=0;n<c.remove.length;++n)c.remove[n](t,e);r(n=t.data.hook)&&r(n=n.remove)?n(t,e):e()}else f(t.elm)}function C(t,e,n,o){for(var i=n;i<o;i++){var a=e[i];if(r(a)&&lo(t,a))return i}}function k(t,e,i,a,s,u){if(t!==e){r(e.elm)&&r(a)&&(e=a[s]=pt(e));var f=e.elm=t.elm;if(o(t.isAsyncPlaceholder))r(e.asyncFactory.resolved)?T(t.elm,e,i):e.isAsyncPlaceholder=!0;else if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,v=e.data;r(v)&&r(p=v.hook)&&r(p=p.prepatch)&&p(t,e);var h=t.children,m=e.children;if(r(v)&&g(e)){for(p=0;p<c.update.length;++p)c.update[p](t,e);r(p=v.hook)&&r(p=p.update)&&p(t,e)}n(e.text)?r(h)&&r(m)?h!==m&&function(t,e,o,i,a){for(var s,c,u,f=0,p=0,v=e.length-1,h=e[0],m=e[v],g=o.length-1,y=o[0],_=o[g],$=!a;f<=v&&p<=g;)n(h)?h=e[++f]:n(m)?m=e[--v]:lo(h,y)?(k(h,y,i,o,p),h=e[++f],y=o[++p]):lo(m,_)?(k(m,_,i,o,g),m=e[--v],_=o[--g]):lo(h,_)?(k(h,_,i,o,g),$&&l.insertBefore(t,h.elm,l.nextSibling(m.elm)),h=e[++f],_=o[--g]):lo(m,y)?(k(m,y,i,o,p),$&&l.insertBefore(t,m.elm,h.elm),m=e[--v],y=o[++p]):(n(s)&&(s=fo(e,f,v)),n(c=r(y.key)?s[y.key]:C(y,e,f,v))?d(y,i,t,h.elm,!1,o,p):lo(u=e[c],y)?(k(u,y,i,o,p),e[c]=void 0,$&&l.insertBefore(t,u.elm,h.elm)):d(y,i,t,h.elm,!1,o,p),y=o[++p]);f>v?b(t,n(o[g+1])?null:o[g+1].elm,o,p,g,i):p>g&&w(e,f,v)}(f,h,m,i,u):r(m)?(r(t.text)&&l.setTextContent(f,""),b(f,null,m,0,m.length-1,i)):r(h)?w(h,0,h.length-1):r(t.text)&&l.setTextContent(f,""):t.text!==e.text&&l.setTextContent(f,e.text),r(v)&&r(p=v.hook)&&r(p=p.postpatch)&&p(t,e)}}}function S(t,e,n){if(o(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i<e.length;++i)e[i].data.hook.insert(e[i])}var O=v("attrs,class,staticClass,staticStyle,key");function T(t,e,n,i){var a,s=e.tag,c=e.data,u=e.children;if(i=i||c&&c.pre,e.elm=t,o(e.isComment)&&r(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(r(c)&&(r(a=c.hook)&&r(a=a.init)&&a(e,!0),r(a=e.componentInstance)))return p(e,n),!0;if(r(s)){if(r(u))if(t.hasChildNodes())if(r(a=c)&&r(a=a.domProps)&&r(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,d=0;d<u.length;d++){if(!f||!T(f,u[d],n,i)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else m(e,u,n);if(r(c)){var v=!1;for(var h in c)if(!O(h)){v=!0,y(e,n);break}!v&&c.class&&Vn(c.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,i,a){if(!n(e)){var s,u=!1,f=[];if(n(t))u=!0,d(e,f);else{var p=r(t.nodeType);if(!p&&lo(t,e))k(t,e,f,null,null,a);else{if(p){if(1===t.nodeType&&t.hasAttribute(L)&&(t.removeAttribute(L),i=!0),o(i)&&T(t,e,f))return S(e,f,!0),t;s=t,t=new lt(l.tagName(s).toLowerCase(),{},[],void 0,s)}var v=t.elm,h=l.parentNode(v);if(d(e,f,v._leaveCb?null:h,l.nextSibling(v)),r(e.parent))for(var m=e.parent,y=g(e);m;){for(var _=0;_<c.destroy.length;++_)c.destroy[_](m);if(m.elm=e.elm,y){for(var b=0;b<c.create.length;++b)c.create[b](co,m);var x=m.data.hook.insert;if(x.merged)for(var C=1;C<x.fns.length;C++)x.fns[C]()}else ao(m);m=m.parent}r(h)?w([t],0,0):r(t.tag)&&$(t)}}return S(e,f,u),e.elm}r(t)&&$(t)}}({nodeOps:oo,modules:[xo,Eo,ci,fi,wi,J?{create:qi,activate:qi,remove:function(t,e){!0!==t.data.show?Ki(t,e):e()}}:{}].concat(_o)});Z&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&ra(t,"input")}));var Gi={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Yt(n,"postpatch",(function(){Gi.componentUpdated(t,e,n)})):Xi(t,e,n.context),t._vOptions=[].map.call(t.options,ta)):("textarea"===n.tag||no(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ea),t.addEventListener("compositionend",na),t.addEventListener("change",na),Z&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Xi(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,ta);if(o.some((function(t,e){return!P(t,r[e])})))(t.multiple?e.value.some((function(t){return Qi(t,o)})):e.value!==e.oldValue&&Qi(e.value,o))&&ra(t,"change")}}};function Xi(t,e,n){Yi(t,e),(q||G)&&setTimeout((function(){Yi(t,e)}),0)}function Yi(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],o)i=D(r,ta(a))>-1,a.selected!==i&&(a.selected=i);else if(P(ta(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Qi(t,e){return e.every((function(e){return!P(e,t)}))}function ta(t){return"_value"in t?t._value:t.value}function ea(t){t.target.composing=!0}function na(t){t.target.composing&&(t.target.composing=!1,ra(t.target,"input"))}function ra(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function oa(t){return!t.componentInstance||t.data&&t.data.transition?t:oa(t.componentInstance._vnode)}var ia={bind:function(t,e,n){var r=e.value,o=(n=oa(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Vi(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=oa(n)).data&&n.data.transition?(n.data.show=!0,r?Vi(n,(function(){t.style.display=t.__vOriginalDisplay})):Ki(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},aa={model:Gi,show:ia},sa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ca(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ca(De(e.children)):t}function ua(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[w(r)]=o[r];return e}function la(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var fa=function(t){return t.tag||we(t)},da=function(t){return"show"===t.name},pa={name:"transition",props:sa,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(fa)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var a=ca(o);if(!a)return o;if(this._leaving)return la(t,o);var s="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=ua(this),u=this._vnode,l=ca(u);if(a.data.directives&&a.data.directives.some(da)&&(a.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(a,l)&&!we(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=T({},c);if("out-in"===r)return this._leaving=!0,Yt(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),la(t,o);if("in-out"===r){if(we(a))return u;var d,p=function(){d()};Yt(c,"afterEnter",p),Yt(c,"enterCancelled",p),Yt(f,"delayLeave",(function(t){d=t}))}}return o}}},va=T({tag:String,moveClass:String},sa);delete va.mode;var ha={props:va,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=He(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ua(this),s=0;s<o.length;s++){(l=o[s]).tag&&null!=l.key&&0!==String(l.key).indexOf("__vlist")&&(i.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a)}if(r){var c=[],u=[];for(s=0;s<r.length;s++){var l;(l=r[s]).data.transition=a,l.data.pos=l.elm.getBoundingClientRect(),n[l.key]?c.push(l):u.push(l)}this.kept=t(e,null,c),this.removed=u}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(ma),t.forEach(ga),t.forEach(ya),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;Li(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ni,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ni,t),n._moveCb=null,Ri(n,e))})}})))},methods:{hasMove:function(t,e){if(!Ti)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){ki(n,t)})),Ci(n,e),n.style.display="none",this.$el.appendChild(n);var r=Bi(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function ma(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function ga(t){t.data.newPos=t.elm.getBoundingClientRect()}function ya(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}var _a={Transition:pa,TransitionGroup:ha};Or.config.mustUseProp=Rr,Or.config.isReservedTag=Qr,Or.config.isReservedAttr=Ir,Or.config.getTagNamespace=to,Or.config.isUnknownElement=function(t){if(!J)return!0;if(Qr(t))return!1;if(t=t.toLowerCase(),null!=eo[t])return eo[t];var e=document.createElement(t);return t.indexOf("-")>-1?eo[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:eo[t]=/HTMLUnknownElement/.test(e.toString())},T(Or.options.directives,aa),T(Or.options.components,_a),Or.prototype.__patch__=J?Zi:j,Or.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=ft),Ve(t,"beforeMount"),r=function(){t._update(t._render(),n)},new Wn(t,r,j,{before:function(){t._isMounted&&!t._isDestroyed&&Ve(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i<o.length;i++)o[i].run();return null==t.$vnode&&(t._isMounted=!0,Ve(t,"mounted")),t}(this,t=t&&J?ro(t):void 0,e)},J&&setTimeout((function(){H.devtools&&ot&&ot.emit("init",Or)}),0);var ba=/\{\{((?:.|\r?\n)+?)\}\}/g,$a=/[-.*+?^${}()|[\]\/\\]/g,wa=b((function(t){var e=t[0].replace($a,"\\$&"),n=t[1].replace($a,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}));var xa={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=Vo(t,"class");n&&(t.staticClass=JSON.stringify(n.replace(/\s+/g," ").trim()));var r=zo(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:".concat(t.staticClass,",")),t.classBinding&&(e+="class:".concat(t.classBinding,",")),e}};var Ca,ka={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=Vo(t,"style");n&&(t.staticStyle=JSON.stringify(di(n)));var r=zo(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:".concat(t.staticStyle,",")),t.styleBinding&&(e+="style:(".concat(t.styleBinding,"),")),e}},Sa=function(t){return(Ca=Ca||document.createElement("div")).innerHTML=t,Ca.textContent},Oa=v("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Ta=v("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Aa=v("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),ja=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ea=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Na="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(B.source,"]*"),Pa="((?:".concat(Na,"\\:)?").concat(Na,")"),Da=new RegExp("^<".concat(Pa)),Ma=/^\s*(\/?)>/,Ia=new RegExp("^<\\/".concat(Pa,"[^>]*>")),La=/^<!DOCTYPE [^>]+>/i,Ra=/^<!\--/,Fa=/^<!\[/,Ha=v("script,style,textarea",!0),Ba={},Ua={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},za=/&(?:lt|gt|quot|amp|#39);/g,Va=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ka=v("pre,textarea",!0),Ja=function(t,e){return t&&Ka(t)&&"\n"===e[0]};function Wa(t,e){var n=e?Va:za;return t.replace(n,(function(t){return Ua[t]}))}function qa(t,e){for(var n,r,o=[],i=e.expectHTML,a=e.isUnaryTag||E,s=e.canBeLeftOpenTag||E,c=0,u=function(){if(n=t,r&&Ha(r)){var u=0,d=r.toLowerCase(),p=Ba[d]||(Ba[d]=new RegExp("([\\s\\S]*?)(</"+d+"[^>]*>)","i"));w=t.replace(p,(function(t,n,r){return u=r.length,Ha(d)||"noscript"===d||(n=n.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),Ja(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""}));c+=t.length-w.length,t=w,f(d,c-u,c)}else{var v=t.indexOf("<");if(0===v){if(Ra.test(t)){var h=t.indexOf("--\x3e");if(h>=0)return e.shouldKeepComment&&e.comment&&e.comment(t.substring(4,h),c,c+h+3),l(h+3),"continue"}if(Fa.test(t)){var m=t.indexOf("]>");if(m>=0)return l(m+2),"continue"}var g=t.match(La);if(g)return l(g[0].length),"continue";var y=t.match(Ia);if(y){var _=c;return l(y[0].length),f(y[1],_,c),"continue"}var b=function(){var e=t.match(Da);if(e){var n={tagName:e[1],attrs:[],start:c};l(e[0].length);for(var r=void 0,o=void 0;!(r=t.match(Ma))&&(o=t.match(Ea)||t.match(ja));)o.start=c,l(o[0].length),o.end=c,n.attrs.push(o);if(r)return n.unarySlash=r[1],l(r[0].length),n.end=c,n}}();if(b)return function(t){var n=t.tagName,c=t.unarySlash;i&&("p"===r&&Aa(n)&&f(r),s(n)&&r===n&&f(n));for(var u=a(n)||!!c,l=t.attrs.length,d=new Array(l),p=0;p<l;p++){var v=t.attrs[p],h=v[3]||v[4]||v[5]||"",m="a"===n&&"href"===v[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;d[p]={name:v[1],value:Wa(h,m)}}u||(o.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:d,start:t.start,end:t.end}),r=n);e.start&&e.start(n,d,u,t.start,t.end)}(b),Ja(b.tagName,t)&&l(1),"continue"}var $=void 0,w=void 0,x=void 0;if(v>=0){for(w=t.slice(v);!(Ia.test(w)||Da.test(w)||Ra.test(w)||Fa.test(w)||(x=w.indexOf("<",1))<0);)v+=x,w=t.slice(v);$=t.substring(0,v)}v<0&&($=t),$&&l($.length),e.chars&&$&&e.chars($,c-$.length,c)}if(t===n)return e.chars&&e.chars(t),"break"};t;){if("break"===u())break}function l(e){c+=e,t=t.substring(e)}function f(t,n,i){var a,s;if(null==n&&(n=c),null==i&&(i=c),t)for(s=t.toLowerCase(),a=o.length-1;a>=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=o.length-1;u>=a;u--)e.end&&e.end(o[u].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,i):"p"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}f()}var Za,Ga,Xa,Ya,Qa,ts,es,ns,rs=/^@|^v-on:/,os=/^v-|^@|^:|^#/,is=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,as=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ss=/^\(|\)$/g,cs=/^\[.*\]$/,us=/:(.*)$/,ls=/^:|^\.|^v-bind:/,fs=/\.[^.\]]+(?=[^\]]*$)/g,ds=/^v-slot(:|$)|^#/,ps=/[\r\n]/,vs=/[ \f\t\r\n]+/g,hs=b(Sa),ms="_empty_";function gs(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:Cs(e),rawAttrsMap:{},parent:n,children:[]}}function ys(t,e){Za=e.warn||Mo,ts=e.isPreTag||E,es=e.mustUseProp||E,ns=e.getTagNamespace||E,e.isReservedTag,Xa=Io(e.modules,"transformNode"),Ya=Io(e.modules,"preTransformNode"),Qa=Io(e.modules,"postTransformNode"),Ga=e.delimiters;var n,r,o=[],i=!1!==e.preserveWhitespace,a=e.whitespace,s=!1,c=!1;function u(t){if(l(t),s||t.processed||(t=_s(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&$s(n,{exp:t.elseif,block:t}),r&&!t.forbidden)if(t.elseif||t.else)a=t,u=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(r.children),u&&u.if&&$s(u,{exp:a.elseif,block:a});else{if(t.slotScope){var i=t.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[i]=t}r.children.push(t),t.parent=r}var a,u;t.children=t.children.filter((function(t){return!t.slotScope})),l(t),t.pre&&(s=!1),ts(t.tag)&&(c=!1);for(var f=0;f<Qa.length;f++)Qa[f](t,e)}function l(t){if(!c)for(var e=void 0;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}return qa(t,{warn:Za,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,l,f){var d=r&&r.ns||ns(t);q&&"svg"===d&&(i=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];ks.test(r.name)||(r.name=r.name.replace(Ss,""),e.push(r))}return e}(i));var p,v=gs(t,i,r);d&&(v.ns=d),"style"!==(p=v).tag&&("script"!==p.tag||p.attrsMap.type&&"text/javascript"!==p.attrsMap.type)||rt()||(v.forbidden=!0);for(var h=0;h<Ya.length;h++)v=Ya[h](v,e)||v;s||(!function(t){null!=Vo(t,"v-pre")&&(t.pre=!0)}(v),v.pre&&(s=!0)),ts(v.tag)&&(c=!0),s?function(t){var e=t.attrsList,n=e.length;if(n)for(var r=t.attrs=new Array(n),o=0;o<n;o++)r[o]={name:e[o].name,value:JSON.stringify(e[o].value)},null!=e[o].start&&(r[o].start=e[o].start,r[o].end=e[o].end);else t.pre||(t.plain=!0)}(v):v.processed||(bs(v),function(t){var e=Vo(t,"v-if");if(e)t.if=e,$s(t,{exp:e,block:t});else{null!=Vo(t,"v-else")&&(t.else=!0);var n=Vo(t,"v-else-if");n&&(t.elseif=n)}}(v),function(t){null!=Vo(t,"v-once")&&(t.once=!0)}(v)),n||(n=v),a?u(v):(r=v,o.push(v))},end:function(t,e,n){var i=o[o.length-1];o.length-=1,r=o[o.length-1],u(i)},chars:function(t,e,n){if(r&&(!q||"textarea"!==r.tag||r.attrsMap.placeholder!==t)){var o,u=r.children;if(t=c||t.trim()?"script"===(o=r).tag||"style"===o.tag?t:hs(t):u.length?a?"condense"===a&&ps.test(t)?"":" ":i?" ":"":""){c||"condense"!==a||(t=t.replace(vs," "));var l=void 0,f=void 0;!s&&" "!==t&&(l=function(t,e){var n=e?wa(e):ba;if(n.test(t)){for(var r,o,i,a=[],s=[],c=n.lastIndex=0;r=n.exec(t);){(o=r.index)>c&&(s.push(i=t.slice(c,o)),a.push(JSON.stringify(i)));var u=Po(r[1].trim());a.push("_s(".concat(u,")")),s.push({"@binding":u}),c=o+r[0].length}return c<t.length&&(s.push(i=t.slice(c)),a.push(JSON.stringify(i))),{expression:a.join("+"),tokens:s}}}(t,Ga))?f={type:2,expression:l.expression,tokens:l.tokens,text:t}:" "===t&&u.length&&" "===u[u.length-1].text||(f={type:3,text:t}),f&&u.push(f)}}},comment:function(t,e,n){if(r){var o={type:3,text:t,isComment:!0};r.children.push(o)}}}),n}function _s(t,e){var n,r;(r=zo(n=t,"key"))&&(n.key=r),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=zo(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;"template"===t.tag?(e=Vo(t,"scope"),t.slotScope=e||Vo(t,"slot-scope")):(e=Vo(t,"slot-scope"))&&(t.slotScope=e);var n=zo(t,"slot");n&&(t.slotTarget='""'===n?'"default"':n,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Ro(t,"slot",n,function(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}(t,"slot")));if("template"===t.tag){if(a=Ko(t,ds)){var r=ws(a),o=r.name,i=r.dynamic;t.slotTarget=o,t.slotTargetDynamic=i,t.slotScope=a.value||ms}}else{var a;if(a=Ko(t,ds)){var s=t.scopedSlots||(t.scopedSlots={}),c=ws(a),u=c.name,l=(i=c.dynamic,s[u]=gs("template",[],t));l.slotTarget=u,l.slotTargetDynamic=i,l.children=t.children.filter((function(t){if(!t.slotScope)return t.parent=l,!0})),l.slotScope=a.value||ms,t.children=[],t.plain=!1}}}(t),function(t){"slot"===t.tag&&(t.slotName=zo(t,"name"))}(t),function(t){var e;(e=zo(t,"is"))&&(t.component=e);null!=Vo(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var o=0;o<Xa.length;o++)t=Xa[o](t,e)||t;return function(t){var e,n,r,o,i,a,s,c,u=t.attrsList;for(e=0,n=u.length;e<n;e++)if(r=o=u[e].name,i=u[e].value,os.test(r))if(t.hasBindings=!0,(a=xs(r.replace(os,"")))&&(r=r.replace(fs,"")),ls.test(r))r=r.replace(ls,""),i=Po(i),(c=cs.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&"innerHtml"===(r=w(r))&&(r="innerHTML"),a.camel&&!c&&(r=w(r)),a.sync&&(s=qo(i,"$event"),c?Uo(t,'"update:"+('.concat(r,")"),s,null,!1,0,u[e],!0):(Uo(t,"update:".concat(w(r)),s,null,!1,0,u[e]),k(r)!==w(r)&&Uo(t,"update:".concat(k(r)),s,null,!1,0,u[e])))),a&&a.prop||!t.component&&es(t.tag,t.attrsMap.type,r)?Lo(t,r,i,u[e],c):Ro(t,r,i,u[e],c);else if(rs.test(r))r=r.replace(rs,""),(c=cs.test(r))&&(r=r.slice(1,-1)),Uo(t,r,i,a,!1,0,u[e],c);else{var l=(r=r.replace(os,"")).match(us),f=l&&l[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),cs.test(f)&&(f=f.slice(1,-1),c=!0)),Ho(t,r,o,i,f,c,a,u[e])}else Ro(t,r,JSON.stringify(i),u[e]),!t.component&&"muted"===r&&es(t.tag,t.attrsMap.type,r)&&Lo(t,r,"true",u[e])}(t),t}function bs(t){var e;if(e=Vo(t,"v-for")){var n=function(t){var e=t.match(is);if(!e)return;var n={};n.for=e[2].trim();var r=e[1].trim().replace(ss,""),o=r.match(as);o?(n.alias=r.replace(as,"").trim(),n.iterator1=o[1].trim(),o[2]&&(n.iterator2=o[2].trim())):n.alias=r;return n}(e);n&&T(t,n)}}function $s(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function ws(t){var e=t.name.replace(ds,"");return e||"#"!==t.name[0]&&(e="default"),cs.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'.concat(e,'"'),dynamic:!1}}function xs(t){var e=t.match(fs);if(e){var n={};return e.forEach((function(t){n[t.slice(1)]=!0})),n}}function Cs(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}var ks=/^xmlns:NS\d+/,Ss=/^NS\d+:/;function Os(t){return gs(t.tag,t.attrsList.slice(),t.parent)}var Ts=[xa,ka,{preTransformNode:function(t,e){if("input"===t.tag){var n=t.attrsMap;if(!n["v-model"])return;var r=void 0;if((n[":type"]||n["v-bind:type"])&&(r=zo(t,"type")),n.type||r||!n["v-bind"]||(r="(".concat(n["v-bind"],").type")),r){var o=Vo(t,"v-if",!0),i=o?"&&(".concat(o,")"):"",a=null!=Vo(t,"v-else",!0),s=Vo(t,"v-else-if",!0),c=Os(t);bs(c),Fo(c,"type","checkbox"),_s(c,e),c.processed=!0,c.if="(".concat(r,")==='checkbox'")+i,$s(c,{exp:c.if,block:c});var u=Os(t);Vo(u,"v-for",!0),Fo(u,"type","radio"),_s(u,e),$s(c,{exp:"(".concat(r,")==='radio'")+i,block:u});var l=Os(t);return Vo(l,"v-for",!0),Fo(l,":type",r),_s(l,e),$s(c,{exp:o,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var As,js,Es={model:function(t,e,n){var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return Wo(t,r,o),!1;if("select"===i)!function(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;'+"return ".concat(r?"_n(val)":"val","})"),i="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = ".concat(o,";");a="".concat(a," ").concat(qo(e,i)),Uo(t,"change",a,null,!0)}(t,r,o);else if("input"===i&&"checkbox"===a)!function(t,e,n){var r=n&&n.number,o=zo(t,"value")||"null",i=zo(t,"true-value")||"true",a=zo(t,"false-value")||"false";Lo(t,"checked","Array.isArray(".concat(e,")")+"?_i(".concat(e,",").concat(o,")>-1")+("true"===i?":(".concat(e,")"):":_q(".concat(e,",").concat(i,")"))),Uo(t,"change","var $$a=".concat(e,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(i,"):(").concat(a,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(r?"_n("+o+")":o,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(qo(e,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(qo(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(qo(e,"$$c"),"}"),null,!0)}(t,r,o);else if("input"===i&&"radio"===a)!function(t,e,n){var r=n&&n.number,o=zo(t,"value")||"null";o=r?"_n(".concat(o,")"):o,Lo(t,"checked","_q(".concat(e,",").concat(o,")")),Uo(t,"change",qo(e,o),null,!0)}(t,r,o);else if("input"===i||"textarea"===i)!function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c=!i&&"range"!==r,u=i?"change":"range"===r?ei:"input",l="$event.target.value";s&&(l="$event.target.value.trim()");a&&(l="_n(".concat(l,")"));var f=qo(e,l);c&&(f="if($event.target.composing)return;".concat(f));Lo(t,"value","(".concat(e,")")),Uo(t,u,f,null,!0),(s||a)&&Uo(t,"blur","$forceUpdate()")}(t,r,o);else if(!H.isReservedTag(i))return Wo(t,r,o),!1;return!0},text:function(t,e){e.value&&Lo(t,"textContent","_s(".concat(e.value,")"),e)},html:function(t,e){e.value&&Lo(t,"innerHTML","_s(".concat(e.value,")"),e)}},Ns={expectHTML:!0,modules:Ts,directives:Es,isPreTag:function(t){return"pre"===t},isUnaryTag:Oa,mustUseProp:Rr,canBeLeftOpenTag:Ta,isReservedTag:Qr,getTagNamespace:to,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(",")}(Ts)},Ps=b((function(t){return v("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}));function Ds(t,e){t&&(As=Ps(e.staticKeys||""),js=e.isReservedTag||E,Ms(t),Is(t,!1))}function Ms(t){if(t.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||h(t.tag)||!js(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(As)))}(t),1===t.type){if(!js(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Ms(r),r.static||(t.static=!1)}if(t.ifConditions)for(e=1,n=t.ifConditions.length;e<n;e++){var o=t.ifConditions[e].block;Ms(o),o.static||(t.static=!1)}}}function Is(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Is(t.children[n],e||!!t.for);if(t.ifConditions)for(n=1,r=t.ifConditions.length;n<r;n++)Is(t.ifConditions[n].block,e)}}var Ls=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,Rs=/\([^)]*?\);*$/,Fs=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Hs={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Bs={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Us=function(t){return"if(".concat(t,")return null;")},zs={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Us("$event.target !== $event.currentTarget"),ctrl:Us("!$event.ctrlKey"),shift:Us("!$event.shiftKey"),alt:Us("!$event.altKey"),meta:Us("!$event.metaKey"),left:Us("'button' in $event && $event.button !== 0"),middle:Us("'button' in $event && $event.button !== 1"),right:Us("'button' in $event && $event.button !== 2")};function Vs(t,e){var n=e?"nativeOn:":"on:",r="",o="";for(var i in t){var a=Ks(t[i]);t[i]&&t[i].dynamic?o+="".concat(i,",").concat(a,","):r+='"'.concat(i,'":').concat(a,",")}return r="{".concat(r.slice(0,-1),"}"),o?n+"_d(".concat(r,",[").concat(o.slice(0,-1),"])"):n+r}function Ks(t){if(!t)return"function(){}";if(Array.isArray(t))return"[".concat(t.map((function(t){return Ks(t)})).join(","),"]");var e=Fs.test(t.value),n=Ls.test(t.value),r=Fs.test(t.value.replace(Rs,""));if(t.modifiers){var o="",i="",a=[],s=function(e){if(zs[e])i+=zs[e],Hs[e]&&a.push(e);else if("exact"===e){var n=t.modifiers;i+=Us(["ctrl","shift","alt","meta"].filter((function(t){return!n[t]})).map((function(t){return"$event.".concat(t,"Key")})).join("||"))}else a.push(e)};for(var c in t.modifiers)s(c);a.length&&(o+=function(t){return"if(!$event.type.indexOf('key')&&"+"".concat(t.map(Js).join("&&"),")return null;")}(a)),i&&(o+=i);var u=e?"return ".concat(t.value,".apply(null, arguments)"):n?"return (".concat(t.value,").apply(null, arguments)"):r?"return ".concat(t.value):t.value;return"function($event){".concat(o).concat(u,"}")}return e||n?t.value:"function($event){".concat(r?"return ".concat(t.value):t.value,"}")}function Js(t){var e=parseInt(t,10);if(e)return"$event.keyCode!==".concat(e);var n=Hs[t],r=Bs[t];return"_k($event.keyCode,"+"".concat(JSON.stringify(t),",")+"".concat(JSON.stringify(n),",")+"$event.key,"+"".concat(JSON.stringify(r))+")"}var Ws={on:function(t,e){t.wrapListeners=function(t){return"_g(".concat(t,",").concat(e.value,")")}},bind:function(t,e){t.wrapData=function(n){return"_b(".concat(n,",'").concat(t.tag,"',").concat(e.value,",").concat(e.modifiers&&e.modifiers.prop?"true":"false").concat(e.modifiers&&e.modifiers.sync?",true":"",")")}},cloak:j},qs=function(t){this.options=t,this.warn=t.warn||Mo,this.transforms=Io(t.modules,"transformCode"),this.dataGenFns=Io(t.modules,"genData"),this.directives=T(T({},Ws),t.directives);var e=t.isReservedTag||E;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Zs(t,e){var n=new qs(e),r=t?"script"===t.tag?"null":Gs(t,n):'_c("div")';return{render:"with(this){return ".concat(r,"}"),staticRenderFns:n.staticRenderFns}}function Gs(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Xs(t,e);if(t.once&&!t.onceProcessed)return Ys(t,e);if(t.for&&!t.forProcessed)return ec(t,e);if(t.if&&!t.ifProcessed)return Qs(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=ic(t,e),o="_t(".concat(n).concat(r?",function(){return ".concat(r,"}"):""),i=t.attrs||t.dynamicAttrs?cc((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:w(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap["v-bind"];!i&&!a||r||(o+=",null");i&&(o+=",".concat(i));a&&(o+="".concat(i?"":",null",",").concat(a));return o+")"}(t,e);var n=void 0;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:ic(e,n,!0);return"_c(".concat(t,",").concat(nc(e,n)).concat(r?",".concat(r):"",")")}(t.component,t,e);else{var r=void 0,o=e.maybeComponent(t);(!t.plain||t.pre&&o)&&(r=nc(t,e));var i=void 0,a=e.options.bindings;o&&a&&!1!==a.__isScriptSetup&&(i=function(t,e){var n=w(e),r=x(n),o=function(o){return t[e]===o?e:t[n]===o?n:t[r]===o?r:void 0},i=o("setup-const")||o("setup-reactive-const");if(i)return i;var a=o("setup-let")||o("setup-ref")||o("setup-maybe-ref");if(a)return a}(a,t.tag)),i||(i="'".concat(t.tag,"'"));var s=t.inlineTemplate?null:ic(t,e,!0);n="_c(".concat(i).concat(r?",".concat(r):"").concat(s?",".concat(s):"",")")}for(var c=0;c<e.transforms.length;c++)n=e.transforms[c](t,n);return n}return ic(t,e)||"void 0"}function Xs(t,e){t.staticProcessed=!0;var n=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return ".concat(Gs(t,e),"}")),e.pre=n,"_m(".concat(e.staticRenderFns.length-1).concat(t.staticInFor?",true":"",")")}function Ys(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return Qs(t,e);if(t.staticInFor){for(var n="",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o(".concat(Gs(t,e),",").concat(e.onceId++,",").concat(n,")"):Gs(t,e)}return Xs(t,e)}function Qs(t,e,n,r){return t.ifProcessed=!0,tc(t.ifConditions.slice(),e,n,r)}function tc(t,e,n,r){if(!t.length)return r||"_e()";var o=t.shift();return o.exp?"(".concat(o.exp,")?").concat(i(o.block),":").concat(tc(t,e,n,r)):"".concat(i(o.block));function i(t){return n?n(t,e):t.once?Ys(t,e):Gs(t,e)}}function ec(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?",".concat(t.iterator1):"",s=t.iterator2?",".concat(t.iterator2):"";return t.forProcessed=!0,"".concat(r||"_l","((").concat(o,"),")+"function(".concat(i).concat(a).concat(s,"){")+"return ".concat((n||Gs)(t,e))+"})"}function nc(t,e){var n="{",r=function(t,e){var n=t.directives;if(!n)return;var r,o,i,a,s="directives:[",c=!1;for(r=0,o=n.length;r<o;r++){i=n[r],a=!0;var u=e.directives[i.name];u&&(a=!!u(t,i,e.warn)),a&&(c=!0,s+='{name:"'.concat(i.name,'",rawName:"').concat(i.rawName,'"').concat(i.value?",value:(".concat(i.value,"),expression:").concat(JSON.stringify(i.value)):"").concat(i.arg?",arg:".concat(i.isDynamicArg?i.arg:'"'.concat(i.arg,'"')):"").concat(i.modifiers?",modifiers:".concat(JSON.stringify(i.modifiers)):"","},"))}if(c)return s.slice(0,-1)+"]"}(t,e);r&&(n+=r+","),t.key&&(n+="key:".concat(t.key,",")),t.ref&&(n+="ref:".concat(t.ref,",")),t.refInFor&&(n+="refInFor:true,"),t.pre&&(n+="pre:true,"),t.component&&(n+='tag:"'.concat(t.tag,'",'));for(var o=0;o<e.dataGenFns.length;o++)n+=e.dataGenFns[o](t);if(t.attrs&&(n+="attrs:".concat(cc(t.attrs),",")),t.props&&(n+="domProps:".concat(cc(t.props),",")),t.events&&(n+="".concat(Vs(t.events,!1),",")),t.nativeEvents&&(n+="".concat(Vs(t.nativeEvents,!0),",")),t.slotTarget&&!t.slotScope&&(n+="slot:".concat(t.slotTarget,",")),t.scopedSlots&&(n+="".concat(function(t,e,n){var r=t.for||Object.keys(e).some((function(t){var n=e[t];return n.slotTargetDynamic||n.if||n.for||rc(n)})),o=!!t.if;if(!r)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==ms||i.for){r=!0;break}i.if&&(o=!0),i=i.parent}var a=Object.keys(e).map((function(t){return oc(e[t],n)})).join(",");return"scopedSlots:_u([".concat(a,"]").concat(r?",null,true":"").concat(!r&&o?",null,false,".concat(function(t){var e=5381,n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(a)):"",")")}(t,t.scopedSlots,e),",")),t.model&&(n+="model:{value:".concat(t.model.value,",callback:").concat(t.model.callback,",expression:").concat(t.model.expression,"},")),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=Zs(n,e.options);return"inlineTemplate:{render:function(){".concat(r.render,"},staticRenderFns:[").concat(r.staticRenderFns.map((function(t){return"function(){".concat(t,"}")})).join(","),"]}")}}(t,e);i&&(n+="".concat(i,","))}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b(".concat(n,',"').concat(t.tag,'",').concat(cc(t.dynamicAttrs),")")),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function rc(t){return 1===t.type&&("slot"===t.tag||t.children.some(rc))}function oc(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return Qs(t,e,oc,"null");if(t.for&&!t.forProcessed)return ec(t,e,oc);var r=t.slotScope===ms?"":String(t.slotScope),o="function(".concat(r,"){")+"return ".concat("template"===t.tag?t.if&&n?"(".concat(t.if,")?").concat(ic(t,e)||"undefined",":undefined"):ic(t,e)||"undefined":Gs(t,e),"}"),i=r?"":",proxy:true";return"{key:".concat(t.slotTarget||'"default"',",fn:").concat(o).concat(i,"}")}function ic(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return"".concat((r||Gs)(a,e)).concat(s)}var c=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.type){if(ac(o)||o.ifConditions&&o.ifConditions.some((function(t){return ac(t.block)}))){n=2;break}(e(o)||o.ifConditions&&o.ifConditions.some((function(t){return e(t.block)})))&&(n=1)}}return n}(i,e.maybeComponent):0,u=o||sc;return"[".concat(i.map((function(t){return u(t,e)})).join(","),"]").concat(c?",".concat(c):"")}}function ac(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function sc(t,e){return 1===t.type?Gs(t,e):3===t.type&&t.isComment?function(t){return"_e(".concat(JSON.stringify(t.text),")")}(t):function(t){return"_v(".concat(2===t.type?t.expression:uc(JSON.stringify(t.text)),")")}(t)}function cc(t){for(var e="",n="",r=0;r<t.length;r++){var o=t[r],i=uc(o.value);o.dynamic?n+="".concat(o.name,",").concat(i,","):e+='"'.concat(o.name,'":').concat(i,",")}return e="{".concat(e.slice(0,-1),"}"),n?"_d(".concat(e,",[").concat(n.slice(0,-1),"])"):e}function uc(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function lc(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),j}}function fc(t){var e=Object.create(null);return function(n,r,o){(r=T({},r)).warn,delete r.warn;var i=r.delimiters?String(r.delimiters)+n:n;if(e[i])return e[i];var a=t(n,r),s={},c=[];return s.render=lc(a.render,c),s.staticRenderFns=a.staticRenderFns.map((function(t){return lc(t,c)})),e[i]=s}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");var dc,pc,vc=(dc=function(t,e){var n=ys(t.trim(),e);!1!==e.optimize&&Ds(n,e);var r=Zs(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(t){function e(e,n){var r=Object.create(t),o=[],i=[];if(n)for(var a in n.modules&&(r.modules=(t.modules||[]).concat(n.modules)),n.directives&&(r.directives=T(Object.create(t.directives||null),n.directives)),n)"modules"!==a&&"directives"!==a&&(r[a]=n[a]);r.warn=function(t,e,n){(n?i:o).push(t)};var s=dc(e.trim(),r);return s.errors=o,s.tips=i,s}return{compile:e,compileToFunctions:fc(e)}}),hc=vc(Ns).compileToFunctions;function mc(t){return(pc=pc||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',pc.innerHTML.indexOf(" ")>0}var gc=!!J&&mc(!1),yc=!!J&&mc(!0),_c=b((function(t){var e=ro(t);return e&&e.innerHTML})),bc=Or.prototype.$mount;return Or.prototype.$mount=function(t,e){if((t=t&&ro(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=_c(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=hc(r,{outputSourceRange:!1,shouldDecodeNewlines:gc,shouldDecodeNewlinesForHref:yc,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return bc.call(this,t,e)},Or.compile=hc,T(Or,Un),Or.effect=function(t,e){var n=new Wn(ct,t,j,{sync:!0});e&&(n.update=function(){e((function(){return n.run()}))})},Or})); \ No newline at end of file diff --git a/advancedcontentfilter/templates/settings.tpl b/advancedcontentfilter/templates/settings.tpl index 9ae56c3b4..c9dfbe3ae 100644 --- a/advancedcontentfilter/templates/settings.tpl +++ b/advancedcontentfilter/templates/settings.tpl @@ -17,6 +17,6 @@ </script> <!-- JS --> - <script src="{{$baseurl}}/view/asset/vue/dist/vue.min.js"></script> + <script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script> <script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script> </div>