vue-aliplayer-v2
\ No newline at end of file
+vue-aliplayer-v2
\ No newline at end of file
diff --git a/dist/js/chunk-vendors.3a0a1b08.js.map b/dist/js/chunk-vendors.3a0a1b08.js.map
new file mode 100644
index 0000000..108a8c4
--- /dev/null
+++ b/dist/js/chunk-vendors.3a0a1b08.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_classof.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_property-desc.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_fails.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_wks.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_html.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_user-agent.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_array-includes.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_new-promise-capability.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_for-of.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_export.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-primitive.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_task.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_invoke.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_defined.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_global.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iter-define.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_uid.js","webpack:///./node_modules/_vue-loader@15.7.2@vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_has.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_an-instance.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_cof.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-iobject.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-create.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_dom-create.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_is-array-iter.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_library.js","webpack:///./node_modules/_vue@2.6.10@vue/dist/vue.runtime.esm.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_function-to-string.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-keys-internal.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/es6.function.name.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-keys.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_a-function.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-assign.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-length.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/es7.promise.finally.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_an-object.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-dps.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_microtask.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_species-constructor.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/es6.array.iterator.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_shared-key.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iobject.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-gops.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_promise-resolve.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_redefine-all.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/es6.promise.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-integer.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_redefine.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-object.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iter-detect.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_hide.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iter-create.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_to-absolute-index.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-pie.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iter-step.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-gpo.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_object-dp.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_perform.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_is-object.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_core.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iter-call.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_iterators.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_set-species.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/es6.object.assign.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_ctx.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_shared.js","webpack:///./node_modules/_core-js@2.6.10@core-js/modules/_descriptors.js"],"names":["cof","TAG","ARG","arguments","tryGet","it","key","e","module","exports","O","T","B","undefined","Object","callee","bitmap","value","enumerable","configurable","writable","exec","store","uid","Symbol","USE_SYMBOL","$exports","name","document","documentElement","global","navigator","userAgent","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","length","index","aFunction","PromiseCapability","C","resolve","reject","this","promise","$$resolve","$$reject","TypeError","f","ctx","call","isArrayIter","anObject","getIterFn","BREAK","RETURN","iterable","entries","fn","that","ITERATOR","step","iterator","result","iterFn","next","done","core","hide","redefine","PROTOTYPE","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","target","expProto","Function","U","W","R","defineProperty","get","a","isObject","val","toString","valueOf","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","id","hasOwnProperty","listener","event","data","args","i","push","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","set","clear","un","apply","def","has","tag","stat","prototype","window","Math","self","__g","LIBRARY","Iterators","$iterCreate","setToStringTag","getPrototypeOf","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","px","random","concat","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","forbiddenField","classof","getIteratorMethod","slice","IObject","defined","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","src","contentWindow","open","write","close","create","Properties","is","createElement","ArrayProto","Array","emptyObject","freeze","isUndef","v","isDef","isTrue","isFalse","isPrimitive","obj","_toString","isPlainObject","isRegExp","isValidArrayIndex","n","parseFloat","String","floor","isFinite","isPromise","then","catch","isArray","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","list","split","toLowerCase","isReservedAttribute","remove","arr","item","indexOf","splice","hasOwn","cached","cache","hit","camelizeRE","camelize","replace","_","c","toUpperCase","capitalize","charAt","hyphenateRE","hyphenate","polyfillBind","boundFn","l","_length","nativeBind","bind","toArray","start","ret","extend","to","_from","toObject","res","noop","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","bailRE","RegExp","parsePath","path","test","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","match","nativeWatch","watch","supportsPassive","opts","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","warn","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","pop","VNode","children","text","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","forEach","method","original","len","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","props","inject","computed","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","default","_props","getType","isSameType","expectedTypes","handleError","err","info","cur","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","console","error","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","p","MutationObserver","observer","textNode","createTextNode","characterData","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","_c","d","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","callback","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","force","class","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","$nextTick","_render","ref","ensureCtor","comp","base","__esModule","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","clearTimeout","reason","component","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","handlers","j","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","sort","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","constructor","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","filter","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","Number","created","destroyed","mounted","ref$1","parseInt","builtInComponents","initGlobalAPI","configDef","util","defineReactive","delete","observable","version","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","end","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","innerHTML","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","nodeType","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","join","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","number","trim","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","s","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","pos","getBoundingClientRect","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","left","dy","top","platformComponents","arrayIndexOf","object","names","g","dP","FProto","nameRE","$keys","DESCRIPTORS","getKeys","gOPS","pIE","$assign","assign","A","K","k","aLen","getSymbols","isEnum","toInteger","min","speciesConstructor","promiseResolve","onFinally","isFunction","x","macrotask","WebKitMutationObserver","isNode","head","flush","domain","exit","standalone","toggle","task","SPECIES","D","addToUnscopables","iterated","Arguments","shared","propertyIsEnumerable","getOwnPropertySymbols","newPromiseCapability","promiseCapability","safe","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","microtask","newPromiseCapabilityModule","perform","PROMISE","versions","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","chain","ok","reaction","exited","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","_w","$resolve","wrapper","executor","onFulfilled","onRejected","r","capability","iter","all","remaining","$index","alreadyCalled","race","ceil","SRC","$toString","TO_STRING","TPL","inspectSource","UNSCOPABLES","SAFE_CLOSING","riter","skipClosing","createDesc","descriptor","ObjectProto","IE8_DOM_DEFINE","toPrimitive","Attributes","__e","KEY","SHARED","copyright"],"mappings":"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","file":"js/chunk-vendors.3a0a1b08.js","sourcesContent":["// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","module.exports = false;\n","/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar 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/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Techinically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a speical value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack becaues all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.10';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by \n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '
, or missing
. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes(parentElm, [oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. \n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for