File: /home/bt667/public_html/wp-content/plugins/disable-media-pages/dist/script.js.map
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/sprintf-js/src/sprintf.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./src/icons/icon-loading.svg","webpack:///./src/icons/icon-ok.svg","webpack:///./src/icons/icon-warning.svg","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/ToolStart.vue","webpack:///src/ToolStart.vue","webpack:///./src/ToolStart.vue?13b5","webpack:///./src/ToolFetch.vue","webpack:///src/ToolFetch.vue","webpack:///./src/ToolFetch.vue?fad6","webpack:///./src/ToolProcess.vue","webpack:///src/ToolProcess.vue","webpack:///./src/ToolProcess.vue?5a10","webpack:///./src/ToolResult.vue","webpack:///src/ToolResult.vue","webpack:///./src/ToolResult.vue?2b3b","webpack:///./src/Mangle.vue","webpack:///src/Mangle.vue","webpack:///./src/Mangle.vue?12fa","webpack:///./src/Restore.vue","webpack:///src/Restore.vue","webpack:///./src/Restore.vue?4a6d","webpack:///./src/Status.vue","webpack:///src/Status.vue","webpack:///./src/Status.vue?afb7","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?90a5","webpack:///./src/script.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","re","not_string","not_bool","not_type","not_primitive","number","numeric_arg","json","not_json","text","modulo","placeholder","key_access","index_access","sign","sprintf","sprintf_format","sprintf_parse","arguments","vsprintf","fmt","argv","apply","concat","parse_tree","arg","k","ph","pad","pad_character","pad_length","is_positive","cursor","tree_length","length","output","keys","undefined","Error","param_no","test","type","Function","isNaN","TypeError","parseInt","toString","String","fromCharCode","JSON","stringify","width","precision","parseFloat","toExponential","toFixed","Number","toPrecision","substring","slice","toLowerCase","valueOf","toUpperCase","replace","pad_char","charAt","repeat","align","sprintf_cache","match","_fmt","arg_names","exec","push","SyntaxError","field_list","replacement_field","field_match","window","define","require","isArray","val","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","forEach","obj","fn","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","extend","a","b","thisArg","trim","str","stripBOM","content","charCodeAt","utils","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","defaults","transitional","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","XMLHttpRequest","process","transformRequest","data","transformResponse","this","strictJSONParsing","responseType","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","method","g","args","Array","encode","encodeURIComponent","url","params","paramsSerializer","serializedParams","parts","v","toISOString","join","hashmarkIndex","indexOf","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","env","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","error","config","code","request","response","isAxiosError","toJSON","message","description","fileName","lineNumber","columnNumber","stack","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","Promise","resolve","reject","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","__CANCEL__","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","axiosKeys","otherKeys","filter","Cancel","emptyObject","freeze","isUndef","isDef","isTrue","isPrimitive","_toString","isRegExp","isValidArrayIndex","Math","floor","isFinite","isPromise","toNumber","makeMap","expectsLowerCase","map","list","split","isBuiltInTag","isReservedAttribute","remove","arr","item","index","splice","hasOwn","cached","cache","camelizeRE","camelize","_","capitalize","hyphenateRE","hyphenate","ctx","boundFn","_length","toArray","start","ret","to","_from","toObject","res","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","writable","configurable","bailRE","RegExp","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","userAgent","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","opts","isServerRendering","global","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","has","add","clear","warn","uid","Dep","id","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","pop","VNode","tag","children","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","getOwnPropertyDescriptor","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","hook","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","options","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","$options","_props","getType","getPropDefaultValue","prevShouldObserve","isSameType","expectedTypes","handleError","err","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","console","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","counter","observer","textNode","createTextNode","characterData","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","shift","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","iterator","next","done","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","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","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","_compiled","needNormalization","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","renderContext","clone","mergeProps","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","ensureCtor","reason","component","delay","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","default","simpleNormalizeChildren","pre","applyNS","force","style","registerDeepBindings","_createElement","comp","base","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","j","_hasHookEvent","$emit","waiting","flushing","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","sort","before","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","abstract","include","exclude","created","destroyed","mounted","configDef","util","defineReactive","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","class","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","query","selected","querySelector","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","chr","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","exp","prev","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","baseWarn","msg","range","pluckModuleFunction","addProp","dynamic","rangeSetItem","plain","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","events","right","middle","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","end","genComponentModel","valueExpression","assignment","genAssignmentCode","lastIndexOf","eof","isStringStart","parseString","parseBracket","parseModel","inBracket","stringQuote","target$1","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","change","normalizeEvents","svgContainer","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","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","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","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","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","h","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","defaultTagRE","regexEscapeRE","buildRegex","delimiters","close","klass$1","staticKeys","transformNode","classBinding","genData","decoder","style$1","styleBinding","he","html","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","decodeHTMLCached","createASTElement","makeAttrsMap","rawAttrsMap","template","isPreTag","root","currentParent","preserveWhitespace","whitespaceOption","whitespace","inPre","closeElement","element","trimEndingWhitespace","processed","processElement","elseif","addIfCondition","block","forbidden","findPrevElement","slotScope","slotTarget","lastNode","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","all","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","rest","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","parseHTML","comments","outputSourceRange","start$1","ieNSBug","ieNSPrefix","guardIESVGBug","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","tagRE","tokenValue","tokens","rawTokens","parseText","processKey","checkInFor","processRef","slotTargetDynamic","getRawBindingAttr","slotBinding","getSlotName","slotBinding$1","ref$1","dynamic$1","slotContainer","processSlotContent","slotName","processComponent","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","processAttrs","inMatch","alias","iteratorMatch","iterator1","iterator2","parseFor","condition","ifConditions","cloneASTElement","modules$1","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","branch1","branch2","isStaticKey","isPlatformReservedTag","baseOptions","_warn","genSelect","valueBinding","trueValueBinding","falseValueBinding","genCheckboxModel","genRadioModel","needCompositionGuard","genDefaultModel","reduce","genStaticKeys","genStaticKeysCached","optimize","markStatic$1","isDirectChildOfTemplateFor","l$1","markStaticRoots","staticInFor","staticRoot","fnExpRE","fnInvokeRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","prevent","self","ctrl","alt","meta","genHandlers","prefix","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genFilterCode","genKeyFilter","keyVal","keyCode","keyName","baseDirectives","wrapListeners","wrapData","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","state","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genChildren","genProps","bind$$1","genSlot","componentName","genData$2","genComponent","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","needRuntime","hasRuntime","gen","genDirectives","containsSlotChild","needsKey","generatedSlots","genScopedSlot","genScopedSlots","inlineRenderFns","genInlineTemplate","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","needsNormalization","getNormalizationType","genNode","genComment","transformSpecialNewlines","genText","staticProps","dynamicProps","createFunction","errors","createCompileToFunctionFn","compile","compiled","fnGenErrors","baseCompile","div","finalOptions","tips","tip","compileToFunctions","getShouldDecode","href","idToTemplate","mount","documentElement","outerHTML","container","getOuterHTML","Axios","mergeConfig","createInstance","defaultConfig","instance","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","validator","validators","interceptors","assertOptions","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","fulfilled","rejected","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","write","expires","domain","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","substr","originURL","msie","urlParsingNode","resolveURL","protocol","host","search","hostname","port","pathname","location","requestURL","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","schema","allowUnknown","executor","resolvePromise","token","payload","scope","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","random","attachEvent","task","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","i18n","disable_media_pages","sendEvent","eventName","_vm","_h","subtitle","buttonText","tool_progress_subtitle","mangle_progress_description","progress","total","startOver","fetchingAllPosts","manglingPosts","posts","currentIndex","complete","round","fetchAllPosts","beforeDestroy","log","processImage","mangle_title","mangle_subtitle","mangle_description","mangle_button","mangle_progress_title","mangle_success_title","mangle_success_button","restore_title","restore_subtitle","restore_description","restore_button","restore_progress_description","restore_progress_title","restore_success_title","restore_success_button","nonUniqueCount","fetchStatus","goToMangle","status_title","status_loading_title","status_loading_description","status_no_issues_title","status_no_issues_description","status_some_issues_title","status_non_unique_count_singular","status_non_unique_count_plural","status_non_unique_description","status_open_tool_button","currentTab","plugin_title","tab_status","tab_mangle","tab_restore","getElementById","App"],"mappings":"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","file":"script.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/wp-content/plugins/disable-media-pages/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 39);\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 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 * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\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 '<Root>'\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)) + \">\") : \"<Anonymous>\") +\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 // Technically 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\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/* 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\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<VNode>. 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. <template>, <slot>, 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 <slot>\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 special 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 if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\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 because 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.12';\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 isPreTag = function (tag) { return tag === 'pre'; };\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 (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 <transition-group>\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(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(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 '<p>, or missing <tbody>. 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([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. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\n\n\n/* eslint-disable no-unused-vars */\nfunction baseWarn (msg, range) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n/* eslint-enable no-unused-vars */\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\nfunction addAttr (el, name, value, range, dynamic) {\n var attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name: name, value: value }, range));\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name: name,\n rawName: rawName,\n value: value,\n arg: arg,\n isDynamicArg: isDynamicArg,\n modifiers: modifiers\n }, range));\n el.plain = false;\n}\n\nfunction prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? (\"_p(\" + name + \",\\\"\" + symbol + \"\\\")\")\n : symbol + name // mark the event as captured\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'contextmenu':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'mouseup':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getRawBindingAttr (\n el,\n name\n) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\nfunction getAndRemoveAttrByRegex (\n el,\n name\n) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n var attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n}\n\nfunction rangeSetItem (\n item,\n range\n) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: JSON.stringify(value),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nvar defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n};\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n};\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n};\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar ncname = \"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\" + (unicodeRegExp.source) + \"]*\";\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being passed as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t',\n ''': \"'\"\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"), { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\"),\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:|^#/;\nvar forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\nvar dynamicArgRE = /^\\[.*\\]$/;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^\\.|^v-bind:/;\nvar modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\nvar slotRE = /^v-slot(:|$)|^#/;\n\nvar lineBreakRE = /[\\r\\n]/;\nvar whitespaceRE$1 = /\\s+/g;\n\nvar invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\nvar decodeHTMLCached = cached(he.decode);\n\nvar emptySlotScopeToken = \"_empty_\";\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\nvar maybeComponent;\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n var isReservedTag = options.isReservedTag || no;\n maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var whitespaceOption = options.whitespace;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\",\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n var name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(function (c) { return !(c).slotScope; });\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n var lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start: function start (tag, attrs, unary, start$1, end) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (options.outputSourceRange) {\n element.start = start$1;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(function (attr) {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n \"Invalid dynamic argument expression: attribute names cannot contain \" +\n \"spaces, quotes, <, >, / or =.\",\n {\n start: attr.start + attr.name.indexOf(\"[\"),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end (tag, start, end$1) {\n var element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n element.end = end$1;\n }\n closeElement(element);\n },\n\n chars: function chars (text, start, end) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start: start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\"),\n { start: start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n var res;\n var child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text: text\n };\n }\n if (child) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment: function comment (text, start, end) {\n // adding anything as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n var child = {\n type: 3,\n text: text,\n isComment: true\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var list = el.attrsList;\n var len = list.length;\n if (len) {\n var attrs = el.attrs = new Array(len);\n for (var i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (\n element,\n options\n) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'template') {\n warn$2(\n \"<template> cannot be keyed. Place the key on real elements instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n var iterator = el.iterator2 || el.iterator1;\n var parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n \"Do not use v-for index as key on <transition-group> children, \" +\n \"this is the same as not using keys.\",\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp),\n el.rawAttrsMap['v-for']\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\",\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\",\n children[i]\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\n// handle content being passed to a component as slot,\n// e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\nfunction processSlotContent (el) {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n var slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n \"<template v-slot> can only appear at the root level inside \" +\n \"the receiving component\",\n el\n );\n }\n }\n var ref = getSlotName(slotBinding);\n var name = ref.name;\n var dynamic = ref.dynamic;\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding$1) {\n if (process.env.NODE_ENV !== 'production') {\n if (!maybeComponent(el)) {\n warn$2(\n \"v-slot can only be used on components or <template>.\",\n slotBinding$1\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n \"To avoid scope ambiguity, the default slot should also use \" +\n \"<template> syntax when there are other named slots.\",\n slotBinding$1\n );\n }\n }\n // add the component's children to its default slot\n var slots = el.scopedSlots || (el.scopedSlots = {});\n var ref$1 = getSlotName(slotBinding$1);\n var name$1 = ref$1.name;\n var dynamic$1 = ref$1.dynamic;\n var slotContainer = slots[name$1] = createASTElement('template', [], el);\n slotContainer.slotTarget = name$1;\n slotContainer.slotTargetDynamic = dynamic$1;\n slotContainer.children = el.children.filter(function (c) {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n}\n\nfunction getSlotName (binding) {\n var name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-slot shorthand syntax requires a slot name.\",\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: (\"\\\"\" + name + \"\\\"\"), dynamic: false }\n}\n\n// handle <slot/> outlets\nfunction processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n value.trim().length === 0\n ) {\n warn$2(\n (\"The value for a v-bind expression cannot be empty. Found in \\\"v-bind:\" + name + \"\\\"\")\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, \"$event\");\n if (!isDynamic) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n (\"update:\" + (hyphenate(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n (\"\\\"update:\\\"+(\" + name + \")\"),\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$1 = {\n preTransformNode: preTransformNode\n};\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$1\n];\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n};\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function(?:\\s+[\\w$]+)?\\s*\\(/;\nvar fnInvokeRE = /\\([^)]*?\\);*$/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative\n) {\n var prefix = isNative ? 'nativeOn:' : 'on:';\n var staticHandlers = \"\";\n var dynamicHandlers = \"\";\n for (var name in events) {\n var handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += name + \",\" + handlerCode + \",\";\n } else {\n staticHandlers += \"\\\"\" + name + \"\\\":\" + handlerCode + \",\";\n }\n }\n staticHandlers = \"{\" + (staticHandlers.slice(0, -1)) + \"}\";\n if (dynamicHandlers) {\n return prefix + \"_d(\" + staticHandlers + \",[\" + (dynamicHandlers.slice(0, -1)) + \"])\"\n } else {\n return prefix + staticHandlers\n }\n}\n\nfunction genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return (\"function($event){\" + (isFunctionInvocation ? (\"return \" + (handler.value)) : handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : isFunctionInvocation\n ? (\"return \" + (handler.value))\n : handler.value;\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n \"if(!$event.type.indexOf('key')&&\" +\n (keys.map(genFilterCode).join('&&')) + \")return null;\"\n )\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n};\n\n/* */\n\n\n\n\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n var originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n state.pre = originalPreState;\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \",\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:\" + (genProps(el.attrs)) + \",\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:\" + (genProps(el.props)) + \",\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el, el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = \"_b(\" + data + \",\\\"\" + (el.tag) + \"\\\",\" + (genProps(el.dynamicAttrs)) + \")\";\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\" + (dir.isDynamicArg ? dir.arg : (\"\\\"\" + (dir.arg) + \"\\\"\"))) : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n el,\n slots,\n state\n) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {\n var slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n var needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n var parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n var generatedSlots = Object.keys(slots)\n .map(function (key) { return genScopedSlot(slots[key], state); })\n .join(',');\n\n return (\"scopedSlots:_u([\" + generatedSlots + \"]\" + (needsForceUpdate ? \",null,true\" : \"\") + (!needsForceUpdate && needsKey ? (\",null,false,\" + (hash(generatedSlots))) : \"\") + \")\")\n}\n\nfunction hash(str) {\n var hash = 5381;\n var i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n}\n\nfunction containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n}\n\nfunction genScopedSlot (\n el,\n state\n) {\n var isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, \"null\")\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n var slotScope = el.slotScope === emptySlotScopeToken\n ? \"\"\n : String(el.slotScope);\n var fn = \"function(\" + slotScope + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if && isLegacySyntax\n ? (\"(\" + (el.if) + \")?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n // reverse proxy v-slot without scope on this.$slots\n var reverseProxy = slotScope ? \"\" : \",proxy:true\";\n return (\"{key:\" + (el.slotTarget || \"\\\"default\\\"\") + \",fn:\" + fn + reverseProxy + \"}\")\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n var normalizationType = checkSkip\n ? state.maybeComponent(el$1) ? \",1\" : \",0\"\n : \"\";\n return (\"\" + ((altGenElement || genElement)(el$1, state)) + normalizationType)\n }\n var normalizationType$1 = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType$1 ? (\",\" + normalizationType$1) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n }); }))\n : null;\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var staticProps = \"\";\n var dynamicProps = \"\";\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += (prop.name) + \",\" + value + \",\";\n } else {\n staticProps += \"\\\"\" + (prop.name) + \"\\\":\" + value + \",\";\n }\n }\n staticProps = \"{\" + (staticProps.slice(0, -1)) + \"}\";\n if (dynamicProps) {\n return (\"_d(\" + staticProps + \",[\" + (dynamicProps.slice(0, -1)) + \"])\")\n } else {\n return staticProps\n }\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n}\n\nfunction checkNode (node, warn) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n var range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (name === 'v-slot' || name[0] === '#') {\n checkFunctionParameterExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n}\n\nfunction checkEvent (exp, text, warn, range) {\n var stripped = exp.replace(stripStringRE, '');\n var keywordMatch = stripped.match(unaryOperatorsRE);\n if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim()),\n range\n );\n }\n checkExpression(exp, text, warn, range);\n}\n\nfunction checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n warn((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())), range);\n }\n }\n}\n\nfunction checkExpression (exp, text, warn, range) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim()),\n range\n );\n } else {\n warn(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n}\n\nfunction checkFunctionParameterExpression (exp, text, warn, range) {\n try {\n new Function(exp, '');\n } catch (e) {\n warn(\n \"invalid function parameter expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n}\n\n/* */\n\nvar range = 2;\n\nfunction generateCodeFrame (\n source,\n start,\n end\n) {\n if ( start === void 0 ) start = 0;\n if ( end === void 0 ) end = source.length;\n\n var lines = source.split(/\\r?\\n/);\n var count = 0;\n var res = [];\n for (var i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (var j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) { continue }\n res.push((\"\" + (j + 1) + (repeat$1(\" \", 3 - String(j + 1).length)) + \"| \" + (lines[j])));\n var lineLength = lines[j].length;\n if (j === i) {\n // push underline\n var pad = start - (count - lineLength) + 1;\n var length = end > count ? lineLength - pad : end - start;\n res.push(\" | \" + repeat$1(\" \", pad) + repeat$1(\"^\", length));\n } else if (j > i) {\n if (end > count) {\n var length$1 = Math.min(end - count, lineLength);\n res.push(\" | \" + repeat$1(\"^\", length$1));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n}\n\nfunction repeat$1 (str, n) {\n var result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) { result += str; }\n n >>>= 1;\n if (n <= 0) { break }\n str += str;\n }\n }\n return result\n}\n\n/* */\n\n\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(function (e) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + (e.msg) + \"\\n\\n\" +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(function (e) { return tip(e.msg, vm); });\n } else {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n\n var warn = function (msg, range, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n // $flow-disable-line\n var leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = function (msg, range, tip) {\n var data = { msg: msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n var compiled = baseCompile(template.trim(), finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compile = ref$1.compile;\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: process.env.NODE_ENV !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","module.exports = \"<svg width=\\\"42\\\" height=\\\"42\\\" viewBox=\\\"0 0 42 42\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M42 21a21 21 0 11-42 0 21 21 0 0142 0z\\\" fill-opacity=\\\".33\\\" fill=\\\"#8D8D8D\\\" fill-rule=\\\"nonzero\\\"/><path d=\\\"M5 5h32v32H5z\\\"/><path d=\\\"M21.5 12.6v3.95l5.25-5.28L21.5 6v3.95a10.52 10.52 0 00-8.87 16.17l1.91-1.93a7.9 7.9 0 016.96-11.6zm8.87 2.28l-1.91 1.93a7.9 7.9 0 01-6.96 11.6v-3.96l-5.25 5.28L21.5 35v-3.95a10.52 10.52 0 008.87-16.17z\\\" fill=\\\"#8D8D8D\\\" fill-rule=\\\"nonzero\\\"/></g></svg>\"","module.exports = \"<svg width=\\\"42\\\" height=\\\"42\\\" viewBox=\\\"0 0 42 42\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill=\\\"#4CAF50\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M42 21a21 21 0 11-42 0 21 21 0 0142 0z\\\" opacity=\\\".33\\\" fill-rule=\\\"nonzero\\\"/><path d=\\\"M19.23 29.74l13.06-13.07a1 1 0 000-1.41l-1.99-2a1 1 0 00-1.41 0l-9.66 9.66a1 1 0 01-1.42 0l-3.7-3.7a1 1 0 00-1.41 0l-2 2a1 1 0 000 1.41l7.11 7.1a1 1 0 001.42 0z\\\"/></g></svg>\"","module.exports = \"<svg width=\\\"42\\\" height=\\\"42\\\" viewBox=\\\"0 0 42 42\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><g fill=\\\"#F44336\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M21 0a21 21 0 100 42 21 21 0 000-42z\\\" opacity=\\\".33\\\" fill-rule=\\\"nonzero\\\"/><circle cx=\\\"21\\\" cy=\\\"30\\\" r=\\\"3\\\"/><path d=\\\"M22.07 24h-2.14a1 1 0 01-1-.93l-.85-12a1 1 0 011-1.07h3.85a1 1 0 011 1.07l-.86 12a1 1 0 01-1 .93z\\\"/></g></svg>\"","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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","import { render, staticRenderFns } from \"./ToolStart.vue?vue&type=template&id=76e25ce4&\"\nimport script from \"./ToolStart.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolStart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div class=\"disable-media-pages-tool__title-container\">\n <h2 class=\"disable-media-pages-tool__title\">{{ title }}</h2>\n </div>\n <div class=\"disable-media-pages-tool__card\">\n <div class=\"disable-media-pages-tool__subtitle\">\n {{subtitle}}\n </div>\n <div class=\"disable-media-pages-tool__description\">\n <p>\n {{ description }}\n </p>\n </div>\n <p>\n <button class=\"button button-primary\" v-on:click=\"sendEvent\">{{ buttonText }}</button>\n </p>\n </div>\n </div>\n</template>\n\n<script>\nimport {sprintf} from 'sprintf-js';\n\nexport default {\n props: ['title', 'description', 'button-text', 'event-name', 'subtitle'],\n data: function () {\n return {\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {},\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n sendEvent() {\n this.$root.$emit(this.eventName);\n }\n },\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"disable-media-pages-tool__title-container\"},[_c('h2',{staticClass:\"disable-media-pages-tool__title\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__card\"},[_c('div',{staticClass:\"disable-media-pages-tool__subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.subtitle)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__description\"},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.description)+\"\\n \")])]),_vm._v(\" \"),_c('p',[_c('button',{staticClass:\"button button-primary\",on:{\"click\":_vm.sendEvent}},[_vm._v(_vm._s(_vm.buttonText))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ToolFetch.vue?vue&type=template&id=74ea5569&\"\nimport script from \"./ToolFetch.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolFetch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div class=\"disable-media-pages-tool__title-container\">\n <h2 class=\"disable-media-pages-tool__title\">{{ title }}</h2>\n </div>\n <div class=\"disable-media-pages-tool__card\">\n <div class=\"disable-media-pages-tool__subtitle\">\n {{ subtitle }}\n </div>\n <div class=\"disable-media-pages-tool\">\n\n <div class=\"disable-media-pages-tool__progress-title\">\n {{ sprintf(description, 0) }}\n </div>\n\n <div class=\"disable-media-pages__progress-bar disable-media-pages__progress-bar--indeterminate\"></div>\n\n <div class=\"disable-media-pages-tool__progress-subtitle\">\n {{ sprintf(i18n.tool_progress_subtitle, 0, '-') }}\n </div>\n\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport {sprintf} from 'sprintf-js';\n\nexport default {\n props: ['title', 'description', 'subtitle'],\n data: function () {\n return {\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {},\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"disable-media-pages-tool__title-container\"},[_c('h2',{staticClass:\"disable-media-pages-tool__title\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__card\"},[_c('div',{staticClass:\"disable-media-pages-tool__subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.subtitle)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool\"},[_c('div',{staticClass:\"disable-media-pages-tool__progress-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.description, 0))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages__progress-bar disable-media-pages__progress-bar--indeterminate\"}),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__progress-subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.i18n.tool_progress_subtitle, 0, '-'))+\"\\n \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ToolProcess.vue?vue&type=template&id=cb501b3e&\"\nimport script from \"./ToolProcess.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolProcess.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div class=\"disable-media-pages-tool__title-container\">\n <h2 class=\"disable-media-pages-tool__title\">{{ title }}</h2>\n </div>\n <div class=\"disable-media-pages-tool__card\">\n <div class=\"disable-media-pages-tool__subtitle\">\n {{ subtitle }}\n </div>\n\n <div class=\"disable-media-pages-tool__progress-title\">\n {{ sprintf(i18n.mangle_progress_description, progress) }}\n </div>\n\n <div class=\"disable-media-pages__progress-bar\">\n <div class=\"disable-media-pages__progress-bar-inner\" v-bind:style=\"{\n width: `${progress}%`\n }\">\n </div>\n </div>\n\n <div class=\"disable-media-pages-tool__progress-subtitle\">\n {{ sprintf(i18n.tool_progress_subtitle, processed, total) }}\n </div>\n\n </div>\n </div>\n</template>\n\n<script>\nimport {sprintf} from 'sprintf-js';\n\nexport default {\n props: ['title', 'description', 'progress', 'subtitle', 'processed', 'total'],\n data: function () {\n return {\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {},\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"disable-media-pages-tool__title-container\"},[_c('h2',{staticClass:\"disable-media-pages-tool__title\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__card\"},[_c('div',{staticClass:\"disable-media-pages-tool__subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.subtitle)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__progress-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.i18n.mangle_progress_description, _vm.progress))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages__progress-bar\"},[_c('div',{staticClass:\"disable-media-pages__progress-bar-inner\",style:({\n width: (_vm.progress + \"%\")\n })})]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__progress-subtitle\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.i18n.tool_progress_subtitle, _vm.processed, _vm.total))+\"\\n \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ToolResult.vue?vue&type=template&id=58b6cfa8&\"\nimport script from \"./ToolResult.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolResult.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div class=\"disable-media-pages-tool__title-container\">\n <h2 class=\"disable-media-pages-tool__title\">{{ title }}</h2>\n </div>\n <div class=\"disable-media-pages-tool__card\">\n\n <div class=\"disable-media-pages-tool__subtitle\">{{ subtitle }}</div>\n\n <div class=\"disable-media-pages-tool__progress-title\">\n {{ sprintf(description, 100) }}\n </div>\n\n <div class=\"disable-media-pages__progress-bar\">\n <div class=\"disable-media-pages__progress-bar-inner\" v-bind:style=\"{\n width: '100%'\n }\">\n </div>\n </div>\n\n <div class=\"disable-media-pages-tool__progress-subtitle disable-media-pages-tool__progress-subtitle--has-button\">\n {{ sprintf(i18n.tool_progress_subtitle, processed, total) }}\n </div>\n\n <p>\n <button class=\"button button-primary\" v-on:click=\"startOver\">{{ buttonText }}</button>\n </p>\n </div>\n </div>\n</template>\n\n<script>\nimport {sprintf} from 'sprintf-js';\nimport Mangle from \"./Mangle\";\n\nexport default {\n props: ['title', 'description', 'buttonText', 'subtitle', 'total', 'processed'],\n components: {Mangle},\n data: function () {\n return {\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {},\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n startOver() {\n this.$root.$emit('start-over');\n }\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"disable-media-pages-tool__title-container\"},[_c('h2',{staticClass:\"disable-media-pages-tool__title\"},[_vm._v(_vm._s(_vm.title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__card\"},[_c('div',{staticClass:\"disable-media-pages-tool__subtitle\"},[_vm._v(_vm._s(_vm.subtitle))]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__progress-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.description, 100))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages__progress-bar\"},[_c('div',{staticClass:\"disable-media-pages__progress-bar-inner\",style:({\n width: '100%'\n })})]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__progress-subtitle disable-media-pages-tool__progress-subtitle--has-button\"},[_vm._v(\"\\n \"+_vm._s(_vm.sprintf(_vm.i18n.tool_progress_subtitle, _vm.processed, _vm.total))+\"\\n \")]),_vm._v(\" \"),_c('p',[_c('button',{staticClass:\"button button-primary\",on:{\"click\":_vm.startOver}},[_vm._v(_vm._s(_vm.buttonText))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Mangle.vue?vue&type=template&id=ad4f43b2&\"\nimport script from \"./Mangle.vue?vue&type=script&lang=js&\"\nexport * from \"./Mangle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <ToolStart v-if=\"!fetchingAllPosts && !manglingPosts && !complete\"\n v-bind:title=\"i18n.mangle_title\"\n v-bind:subtitle=\"i18n.mangle_subtitle\"\n v-bind:description=\"i18n.mangle_description\"\n v-bind:button-text=\"i18n.mangle_button\"\n v-bind:event-name=\"'fetch-all-posts'\"\n />\n <ToolFetch v-if=\"fetchingAllPosts\"\n v-bind:title=\"i18n.mangle_title\"\n v-bind:subtitle=\"i18n.mangle_progress_title\"\n v-bind:description=\"i18n.mangle_progress_description\"\n />\n <ToolProcess v-if=\"manglingPosts\"\n v-bind:title=\"i18n.mangle_title\"\n v-bind:subtitle=\"i18n.mangle_progress_title\"\n v-bind:description=\"i18n.mangle_progress_description\"\n v-bind:progress=\"progress\"\n v-bind:total=\"total\"\n v-bind:processed=\"processed\"\n />\n <ToolResult\n v-if=\"complete\"\n v-bind:title=\"i18n.mangle_title\"\n v-bind:subtitle=\"i18n.mangle_success_title\"\n v-bind:description=\"i18n.mangle_progress_description\"\n v-bind:button-text=\"i18n.mangle_success_button\"\n v-bind:total=\"total\"\n v-bind:processed=\"processed\"\n />\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport {sprintf} from 'sprintf-js';\nimport ToolStart from \"./ToolStart\";\nimport ToolFetch from \"./ToolFetch\";\nimport ToolProcess from \"./ToolProcess\";\nimport ToolResult from \"./ToolResult\";\n\nexport default {\n components: {ToolResult, ToolProcess, ToolFetch, ToolStart},\n data: function () {\n return {\n fetchingAllPosts: false,\n manglingPosts: false,\n posts: [],\n total: 0,\n processed: 0,\n currentIndex: 0,\n complete: false,\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {\n progress: function () {\n return Math.round(this.processed / this.total * 100)\n }\n },\n mounted() {\n this.$root.$on('fetch-all-posts', this.fetchAllPosts);\n this.$root.$on('start-over', this.startOver);\n },\n beforeDestroy() {\n // https://readybytes.in/blog/how-to-fix-duplicate-event-listeners-in-vuejs\n this.$root.$off('fetch-all-posts', this.fetchAllPosts);\n this.$root.$off('start-over', this.startOver);\n },\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n fetchAllPosts() {\n this.fetchingAllPosts = true;\n const options = {\n headers: {\n 'X-WP-Nonce': window.disable_media_pages.token,\n }\n }\n axios.get(`${window.disable_media_pages.root}disable-media-pages/v1/get_all_attachments`, options).then(response => {\n console.log(response)\n this.posts = response.data.posts;\n this.total = response.data.total;\n\n this.fetchingAllPosts = false;\n this.manglingPosts = true;\n if (this.total > 0) {\n this.processImage(this.posts[0])\n } else {\n // Nothing to process\n this.manglingPosts = false;\n this.complete = true;\n }\n })\n },\n processImage(id) {\n const options = {\n headers: {\n 'X-WP-Nonce': window.disable_media_pages.token,\n }\n }\n axios.post(`${window.disable_media_pages.root}disable-media-pages/v1/process/${id}`, null, options).then(response => {\n\n }).catch(response => {\n // TODO: handle error?\n }).finally(() => {\n this.processed = this.processed + 1;\n let newIndex = this.currentIndex + 1;\n if (this.posts[newIndex]) {\n this.currentIndex = newIndex;\n this.processImage(this.posts[newIndex]);\n } else {\n this.manglingPosts = false;\n this.complete = true;\n }\n });\n },\n startOver() {\n this.complete = false;\n this.posts = [];\n this.currentIndex = 0;\n this.total = 0;\n this.processed = 0;\n this.currentIndex = 0;\n }\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.fetchingAllPosts && !_vm.manglingPosts && !_vm.complete)?_c('ToolStart',{attrs:{\"title\":_vm.i18n.mangle_title,\"subtitle\":_vm.i18n.mangle_subtitle,\"description\":_vm.i18n.mangle_description,\"button-text\":_vm.i18n.mangle_button,\"event-name\":'fetch-all-posts'}}):_vm._e(),_vm._v(\" \"),(_vm.fetchingAllPosts)?_c('ToolFetch',{attrs:{\"title\":_vm.i18n.mangle_title,\"subtitle\":_vm.i18n.mangle_progress_title,\"description\":_vm.i18n.mangle_progress_description}}):_vm._e(),_vm._v(\" \"),(_vm.manglingPosts)?_c('ToolProcess',{attrs:{\"title\":_vm.i18n.mangle_title,\"subtitle\":_vm.i18n.mangle_progress_title,\"description\":_vm.i18n.mangle_progress_description,\"progress\":_vm.progress,\"total\":_vm.total,\"processed\":_vm.processed}}):_vm._e(),_vm._v(\" \"),(_vm.complete)?_c('ToolResult',{attrs:{\"title\":_vm.i18n.mangle_title,\"subtitle\":_vm.i18n.mangle_success_title,\"description\":_vm.i18n.mangle_progress_description,\"button-text\":_vm.i18n.mangle_success_button,\"total\":_vm.total,\"processed\":_vm.processed}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Restore.vue?vue&type=template&id=6aae2720&\"\nimport script from \"./Restore.vue?vue&type=script&lang=js&\"\nexport * from \"./Restore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <ToolStart v-if=\"!fetchingAllPosts && !manglingPosts && !complete\"\n v-bind:title=\"i18n.restore_title\"\n v-bind:subtitle=\"i18n.restore_subtitle\"\n v-bind:description=\"i18n.restore_description\"\n v-bind:button-text=\"i18n.restore_button\"\n v-bind:event-name=\"'fetch-all-posts-to-restore'\"\n />\n <ToolFetch v-if=\"fetchingAllPosts\"\n v-bind:description=\"i18n.restore_progress_description\"\n v-bind:title=\"i18n.restore_title\"\n v-bind:subtitle=\"i18n.restore_progress_title\"\n />\n <ToolProcess\n v-if=\"manglingPosts\"\n v-bind:progress=\"progress\"\n v-bind:description=\"i18n.restore_progress_description\"\n v-bind:title=\"i18n.restore_title\"\n v-bind:subtitle=\"i18n.restore_progress_title\"\n v-bind:total=\"total\"\n v-bind:processed=\"processed\"\n />\n <ToolResult\n v-if=\"complete\"\n v-bind:title=\"i18n.restore_title\"\n v-bind:subtitle=\"i18n.restore_success_title\"\n v-bind:description=\"i18n.restore_progress_description\"\n v-bind:button-text=\"i18n.restore_success_button\"\n v-bind:total=\"total\"\n v-bind:processed=\"processed\"\n />\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport {sprintf} from 'sprintf-js';\nimport ToolStart from \"./ToolStart\";\nimport ToolProcess from \"./ToolProcess\";\nimport ToolResult from \"./ToolResult\";\nimport ToolFetch from \"./ToolFetch\";\n\nexport default {\n components: {ToolFetch, ToolResult, ToolProcess, ToolStart},\n data: function () {\n return {\n fetchingAllPosts: false,\n manglingPosts: false,\n posts: [],\n total: 0,\n processed: 0,\n currentIndex: 0,\n complete: false,\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {\n progress: function () {\n return Math.round(this.processed / this.total * 100)\n }\n },\n mounted() {\n this.$root.$on('fetch-all-posts-to-restore', this.fetchAllPosts);\n this.$root.$on('start-over', this.startOver);\n },\n beforeDestroy() {\n // https://readybytes.in/blog/how-to-fix-duplicate-event-listeners-in-vuejs\n this.$root.$off('fetch-all-posts-to-restore', this.fetchAllPosts);\n this.$root.$off('start-over', this.startOver);\n },\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n fetchAllPosts() {\n this.fetchingAllPosts = true;\n const options = {\n headers: {\n 'X-WP-Nonce': window.disable_media_pages.token,\n }\n }\n axios.get(`${window.disable_media_pages.root}disable-media-pages/v1/get-attachments-to-restore`, options).then(response => {\n console.log(response)\n this.posts = response.data.posts;\n this.total = response.data.total;\n\n this.fetchingAllPosts = false;\n this.manglingPosts = true;\n if (this.total > 0) {\n this.processImage(this.posts[0])\n } else {\n // Nothing to process\n this.manglingPosts = false;\n this.complete = true;\n }\n })\n },\n processImage(id) {\n const options = {\n headers: {\n 'X-WP-Nonce': window.disable_media_pages.token,\n }\n }\n axios.post(`${window.disable_media_pages.root}disable-media-pages/v1/restore/${id}`, null, options).then(response => {\n\n }).catch(response => {\n // TODO: handle error?\n }).finally(() => {\n this.processed = this.processed + 1;\n let newIndex = this.currentIndex + 1;\n if (this.posts[newIndex]) {\n this.currentIndex = newIndex;\n this.processImage(this.posts[newIndex]);\n } else {\n this.manglingPosts = false;\n this.complete = true;\n }\n });\n },\n startOver() {\n this.complete = false;\n this.posts = [];\n this.currentIndex = 0;\n this.total = 0;\n this.processed = 0;\n this.currentIndex = 0;\n }\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.fetchingAllPosts && !_vm.manglingPosts && !_vm.complete)?_c('ToolStart',{attrs:{\"title\":_vm.i18n.restore_title,\"subtitle\":_vm.i18n.restore_subtitle,\"description\":_vm.i18n.restore_description,\"button-text\":_vm.i18n.restore_button,\"event-name\":'fetch-all-posts-to-restore'}}):_vm._e(),_vm._v(\" \"),(_vm.fetchingAllPosts)?_c('ToolFetch',{attrs:{\"description\":_vm.i18n.restore_progress_description,\"title\":_vm.i18n.restore_title,\"subtitle\":_vm.i18n.restore_progress_title}}):_vm._e(),_vm._v(\" \"),(_vm.manglingPosts)?_c('ToolProcess',{attrs:{\"progress\":_vm.progress,\"description\":_vm.i18n.restore_progress_description,\"title\":_vm.i18n.restore_title,\"subtitle\":_vm.i18n.restore_progress_title,\"total\":_vm.total,\"processed\":_vm.processed}}):_vm._e(),_vm._v(\" \"),(_vm.complete)?_c('ToolResult',{attrs:{\"title\":_vm.i18n.restore_title,\"subtitle\":_vm.i18n.restore_success_title,\"description\":_vm.i18n.restore_progress_description,\"button-text\":_vm.i18n.restore_success_button,\"total\":_vm.total,\"processed\":_vm.processed}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Status.vue?vue&type=template&id=2e465044&\"\nimport script from \"./Status.vue?vue&type=script&lang=js&\"\nexport * from \"./Status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div class=\"disable-media-pages-tool__title-container\">\n <h2 class=\"disable-media-pages-tool__title\">{{ i18n.status_title }}</h2>\n </div>\n <div class=\"disable-media-pages-tool__card\">\n <div class=\"disable-media-pages-health\" v-if=\"loading\">\n <div class=\"disable-media-pages-health__icon\"\n v-html=\"require('!raw-loader!./icons/icon-loading.svg')\"\n >\n\n </div>\n <div>\n <div class=\"disable-media-pages-health__title\">\n {{ i18n.status_loading_title }}\n </div>\n <div class=\"disable-media-pages-health__description\">\n {{ i18n.status_loading_description }}\n </div>\n </div>\n </div>\n <div class=\"disable-media-pages-health\" v-if=\"!loading && this.nonUniqueCount === 0\">\n <div class=\"disable-media-pages-health__icon\" v-html=\"require('!raw-loader!./icons/icon-ok.svg')\"></div>\n <div>\n <div class=\"disable-media-pages-health__title\">\n {{ i18n.status_no_issues_title }}\n </div>\n <div class=\"disable-media-pages-health__description\">\n {{ i18n.status_no_issues_description }}\n </div>\n </div>\n </div>\n <div class=\"disable-media-pages-health\" v-if=\"!loading && this.nonUniqueCount > 0\">\n <div class=\"disable-media-pages-health__icon\" v-html=\"require('!raw-loader!./icons/icon-warning.svg')\"></div>\n <div>\n <div class=\"disable-media-pages-health__title\">\n <div>{{ i18n.status_some_issues_title }}</div>\n </div>\n <div class=\"disable-media-pages-health__description disable-media-pages-health__description--has-button\">\n <p><span v-if=\"nonUniqueCount === 1\">{{sprintf(i18n.status_non_unique_count_singular, nonUniqueCount)}}</span>\n <span v-else>{{sprintf(i18n.status_non_unique_count_plural, nonUniqueCount)}}</span>\n <span>{{i18n.status_non_unique_description}}</span></p>\n </div>\n <div class=\"disable-media-pages-health__button\">\n <button class=\"button button-primary\" v-on:click=\"goToMangle\">{{i18n.status_open_tool_button}}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport {sprintf} from 'sprintf-js';\n\nexport default {\n components: {},\n data: function () {\n return {\n nonUniqueCount: null,\n loading: false,\n error: false,\n i18n: window.disable_media_pages.i18n,\n }\n },\n computed: {\n },\n mounted() {\n this.fetchStatus();\n },\n beforeDestroy() {\n },\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n fetchStatus() {\n const options = {\n headers: {\n 'X-WP-Nonce': window.disable_media_pages.token,\n }\n }\n this.loading = true;\n axios.get(`${window.disable_media_pages.root}disable-media-pages/v1/get_status`, options).then(response => {\n console.log(response)\n this.loading = false;\n this.nonUniqueCount = response.data.non_unique_count;\n })\n },\n goToMangle() {\n this.$root.$emit('go-to-mangle');\n }\n }\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"disable-media-pages-tool__title-container\"},[_c('h2',{staticClass:\"disable-media-pages-tool__title\"},[_vm._v(_vm._s(_vm.i18n.status_title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-tool__card\"},[(_vm.loading)?_c('div',{staticClass:\"disable-media-pages-health\"},[_c('div',{staticClass:\"disable-media-pages-health__icon\",domProps:{\"innerHTML\":_vm._s(require('!raw-loader!./icons/icon-loading.svg'))}}),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"disable-media-pages-health__title\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.status_loading_title)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-health__description\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.status_loading_description)+\"\\n \")])])]):_vm._e(),_vm._v(\" \"),(!_vm.loading && this.nonUniqueCount === 0)?_c('div',{staticClass:\"disable-media-pages-health\"},[_c('div',{staticClass:\"disable-media-pages-health__icon\",domProps:{\"innerHTML\":_vm._s(require('!raw-loader!./icons/icon-ok.svg'))}}),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"disable-media-pages-health__title\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.status_no_issues_title)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-health__description\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.status_no_issues_description)+\"\\n \")])])]):_vm._e(),_vm._v(\" \"),(!_vm.loading && this.nonUniqueCount > 0)?_c('div',{staticClass:\"disable-media-pages-health\"},[_c('div',{staticClass:\"disable-media-pages-health__icon\",domProps:{\"innerHTML\":_vm._s(require('!raw-loader!./icons/icon-warning.svg'))}}),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"disable-media-pages-health__title\"},[_c('div',[_vm._v(_vm._s(_vm.i18n.status_some_issues_title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-health__description disable-media-pages-health__description--has-button\"},[_c('p',[(_vm.nonUniqueCount === 1)?_c('span',[_vm._v(_vm._s(_vm.sprintf(_vm.i18n.status_non_unique_count_singular, _vm.nonUniqueCount)))]):_c('span',[_vm._v(_vm._s(_vm.sprintf(_vm.i18n.status_non_unique_count_plural, _vm.nonUniqueCount)))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.i18n.status_non_unique_description))])])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-health__button\"},[_c('button',{staticClass:\"button button-primary\",on:{\"click\":_vm.goToMangle}},[_vm._v(_vm._s(_vm.i18n.status_open_tool_button))])])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=29fa83c4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"disable-media-pages\">\n <div class=\"disable-media-pages-toolbar\">\n <div class=\"disable-media-pages-toolbar__plugin-title\">\n <h1>{{ i18n.plugin_title }}</h1>\n </div>\n <div class=\"disable-media-pages-toolbar__tabs\">\n <button class=\"disable-media-pages-toolbar__tabs-tab\"\n v-on:click=\"currentTab = 'status'\"\n v-bind:class=\"{'disable-media-pages-toolbar__tabs-tab--active': currentTab === 'status'}\"\n >\n {{ i18n.tab_status }}\n </button>\n <button class=\"disable-media-pages-toolbar__tabs-tab\"\n v-on:click=\"currentTab = 'mangle'\"\n v-bind:class=\"{'disable-media-pages-toolbar__tabs-tab--active': currentTab === 'mangle'}\"\n >\n {{ i18n.tab_mangle }}\n </button>\n <button class=\"disable-media-pages-toolbar__tabs-tab\"\n v-on:click=\"currentTab = 'restore'\"\n v-bind:class=\"{'disable-media-pages-toolbar__tabs-tab--active': currentTab === 'restore'}\"\n >\n {{ i18n.tab_restore }}\n </button>\n </div>\n </div>\n <div class=\"disable-media-pages-content\">\n <Status v-if=\"currentTab === 'status'\" />\n <Mangle v-if=\"currentTab === 'mangle'\" />\n <Restore v-if=\"currentTab === 'restore'\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { sprintf } from 'sprintf-js';\nimport Mangle from \"./Mangle\";\nimport Restore from \"./Restore\";\nimport Status from \"./Status\";\nexport default {\n components: {Restore, Mangle, Status},\n data: function () {\n return {\n i18n: window.disable_media_pages.i18n,\n currentTab: 'status',\n }\n },\n computed: {\n },\n methods: {\n sprintf(...args) {\n return sprintf(...args)\n },\n goToMangle() {\n this.currentTab = 'mangle';\n }\n },\n mounted() {\n this.$root.$on('go-to-mangle', this.goToMangle);\n },\n beforeDestroy() {\n // https://readybytes.in/blog/how-to-fix-duplicate-event-listeners-in-vuejs\n this.$root.$off('go-to-mangle', this.goToMangle);\n },\n}\n</script>","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"disable-media-pages\"},[_c('div',{staticClass:\"disable-media-pages-toolbar\"},[_c('div',{staticClass:\"disable-media-pages-toolbar__plugin-title\"},[_c('h1',[_vm._v(_vm._s(_vm.i18n.plugin_title))])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-toolbar__tabs\"},[_c('button',{staticClass:\"disable-media-pages-toolbar__tabs-tab\",class:{'disable-media-pages-toolbar__tabs-tab--active': _vm.currentTab === 'status'},on:{\"click\":function($event){_vm.currentTab = 'status'}}},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.tab_status)+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"disable-media-pages-toolbar__tabs-tab\",class:{'disable-media-pages-toolbar__tabs-tab--active': _vm.currentTab === 'mangle'},on:{\"click\":function($event){_vm.currentTab = 'mangle'}}},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.tab_mangle)+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"disable-media-pages-toolbar__tabs-tab\",class:{'disable-media-pages-toolbar__tabs-tab--active': _vm.currentTab === 'restore'},on:{\"click\":function($event){_vm.currentTab = 'restore'}}},[_vm._v(\"\\n \"+_vm._s(_vm.i18n.tab_restore)+\"\\n \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"disable-media-pages-content\"},[(_vm.currentTab === 'status')?_c('Status'):_vm._e(),_vm._v(\" \"),(_vm.currentTab === 'mangle')?_c('Mangle'):_vm._e(),_vm._v(\" \"),(_vm.currentTab === 'restore')?_c('Restore'):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport App from \"./App\";\n\ndocument.addEventListener('DOMContentLoaded', () => {\n let element = document.getElementById('disable-media-pages');\n if (element) {\n new Vue({\n el: element,\n components: {\n 'disable-media-pages': App,\n },\n });\n }\n});"],"sourceRoot":""}