a2d96128be
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
1 line
No EOL
1.6 MiB
1 line
No EOL
1.6 MiB
{"version":3,"sources":["webpack:///main.js","webpack:///webpack/bootstrap feb07454ec6eea84b7a4","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///src/App.vue","webpack:///src/views/Users.vue","webpack:///src/components/appNavigation.vue","webpack:///src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu.vue","webpack:///src/components/popoverMenu.vue","webpack:///src/components/popoverMenu/popoverItem.vue","webpack:///./node_modules/vue-click-outside/index.js","webpack:///src/components/userList.vue","webpack:///src/components/userList/userRow.vue","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///./src/store/api.js","webpack:///./node_modules/axios/lib/helpers/bind.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/cancel/Cancel.js","webpack:///./src/main.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./src/App.vue","webpack:///./src/App.vue?a51e","webpack:///./src/router.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./src/views/Users.vue","webpack:///./src/views/Users.vue?4aad","webpack:///./src/views/Users.vue?ffd5","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./src/components/appNavigation.vue","webpack:///./src/components/appNavigation/navigationItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue","webpack:///./src/components/popoverMenu/popoverItem.vue?f3b9","webpack:///./src/components/popoverMenu.vue?a46a","webpack:///./src/components/appNavigation/navigationItem.vue?d810","webpack:///./src/components/appNavigation.vue?f432","webpack:///./src/components/userList.vue","webpack:///./src/components/userList/userRow.vue","webpack:///./src/components/userList/userRow.vue?a3f8","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./src/components/userList.vue?3914","webpack:///./node_modules/vue-localstorage/dist/vue-local-storage.js","webpack:///./src/views/Users.vue?b1b7","webpack:///./src/store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./src/store/users.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/btoa.js","webpack:///./node_modules/axios/lib/helpers/cookies.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/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./src/store/settings.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","isArray","val","toString","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","length","key","merge","assignValue","result","arguments","extend","a","b","thisArg","bind","isBuffer","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_compiled","functional","_scopeId","hook","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","concat","__webpack_exports__","global","setImmediate","isUndef","v","undefined","isDef","isTrue","isFalse","isPrimitive","value","isPlainObject","_toString","isRegExp","isValidArrayIndex","parseFloat","String","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","expectsLowerCase","map","create","list","split","toLowerCase","remove","arr","item","index","indexOf","splice","hasOwn","cached","cache","polyfillBind","ctx","boundFn","apply","_length","nativeBind","toArray","start","ret","Array","to","_from","toObject","res","noop","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","e","keysA","keys","keysB","looseIndexOf","once","called","isReserved","charCodeAt","def","writable","parsePath","path","bailRE","test","segments","isNative","Ctor","pushTarget","_target","Dep","target","targetStack","push","popTarget","pop","createTextVNode","VNode","cloneVNode","vnode","cloned","tag","data","children","text","elm","componentOptions","asyncFactory","ns","isStatic","isComment","fnContext","fnOptions","fnScopeId","isCloned","toggleObserving","shouldObserve","protoAugment","src","__proto__","copyAugment","observe","asRootData","ob","__ob__","Observer","isServerRendering","isExtensible","_isVue","vmCount","defineReactive","customSetter","shallow","dep","getOwnPropertyDescriptor","setter","set","childOb","depend","dependArray","newVal","notify","max","del","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","mergeAssets","normalizeProps","props","camelize","normalizeInject","inject","normalized","normalizeDirectives","dirs","directives","update","mergeOptions","child","mergeField","strat","strats","defaultStrat","extendsFrom","extends","mixins","resolveAsset","id","warnMissing","assets","camelizedId","PascalCaseId","capitalize","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","hyphenate","stringIndex","getPropDefaultValue","prevShouldObserve","$options","_props","getType","match","isSameType","expectedTypes","len","handleError","err","info","cur","$parent","hooks","errorCaptured","capture","globalHandleError","config","errorHandler","logError","inBrowser","inWeex","console","error","flushCallbacks","pending","copies","callbacks","slice","withMacroTask","_withTask","useMacroTask","nextTick","cb","_resolve","macroTimerFunc","microTimerFunc","Promise","resolve","traverse","_traverse","seenObjects","clear","seen","isA","isFrozen","depId","has","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","event","normalizeEvent","passive","params","mergeVNodeHook","hookKey","wrappedHook","oldHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","node","nestedIndex","lastIndex","last","shift","_isVList","ensureCtor","comp","base","hasSymbol","Symbol","toStringTag","createAsyncPlaceholder","factory","createEmptyVNode","asyncMeta","resolveAsyncComponent","baseCtor","errorComp","resolved","loading","loadingComp","contexts","sync","forceRender","$forceUpdate","reject","reason","then","component","delay","setTimeout","timeout","isAsyncPlaceholder","getFirstComponentChild","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","resolveSlots","slots","slot","name$1","isWhitespace","resolveScopedSlots","initLifecycle","abstract","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","el","hydrating","$el","callHook","updateComponent","_update","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","emptyObject","_parentVnode","_vnode","$attrs","$listeners","propKeys","_propKeys","$slots","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","$emit","resetSchedulerState","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","watcher","sort","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","devtools","emit","queueActivatedComponent","queueWatcher","proxy","sourceKey","sharedPropertyDefinition","initState","_watchers","opts","initProps","methods","initMethods","initData","_data","computed","initComputed","watch","nativeWatch","initWatch","propsOptions","getData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","shouldCache","createComputedGetter","dirty","evaluate","handler","createWatcher","expOrFn","$watch","initProvide","provide","_provided","initInjections","resolveInject","Reflect","ownKeys","filter","provideKey","source","provideDefault","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","slotNodes","_rendered","$createElement","resolveFilter","identity","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","keyCodes","bindObjectProps","asProp","isSync","isReservedAttribute","mustUseProp","domProps","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","bindObjectListeners","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","_c","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","createComponent","_base","cid","resolveConstructorOptions","model","transformModel","nativeOn","installComponentHooks","createComponentInstanceForVnode","parentElm","refElm","_isComponent","_parentElm","_refElm","inlineTemplate","hooksToMerge","componentVNodeHooks","callback","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","is","SIMPLE_NORMALIZE","getTagNamespace","isReservedTag","parsePlatformTagName","applyNS","registerDeepBindings","force","style","class","initRender","parentData","initInternalComponent","constructor","vnodeComponentOptions","_componentTag","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","extended","sealed","sealedOptions","dedupe","Vue","_init","initUse","use","plugin","installedPlugins","_installedPlugins","args","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","ASSET_TYPES","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","componentInstance","$destroy","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","isSVG","isUnknownElement","unknownElementCache","HTMLUnknownElement","HTMLElement","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","namespaceMap","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","registerRef","isRemoval","ref","refs","refInFor","sameVnode","sameInputType","typeA","typeB","isTextInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","dir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldValue","callHook$1","componentUpdated","inserted","callInsert","modifiers","emptyModifiers","getRawDirName","rawName","join","updateAttrs","inheritAttrs","oldAttrs","setAttr","isIE","isEdge","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","baseSetAttr","isBooleanAttr","isFalsyAttrValue","setAttributeNS","isIE9","__ieph","blocker","stopImmediatePropagation","removeEventListener","addEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","parseFilters","exp","pushFilter","filters","lastFilterIndex","prev","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","charAt","validDivisionCharRE","wrapFilter","baseWarn","msg","pluckModuleFunction","_","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","arg","addHandler","important","warn","right","middle","events","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","number","valueExpression","assignment","genAssignmentCode","parseModel","lastIndexOf","index$1","expressionPos","expressionEndPos","eof","chr","next","isStringStart","parseString","parseBracket","inBracket","stringQuote","_warn","warn$1","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","code","lazy","needCompositionGuard","RANGE_TOKEN","normalizeEvents","CHECKBOX_RADIO_TOKEN","change","createOnceHandler","target$1","onceHandler","remove$2","add$1","once$$1","supportsPassive","updateDOMListeners","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","setProp","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","nextFrame","raf","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","end","onEnd","styles","getComputedStyle","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","Number","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","enterClass","enterToClass","enterActiveClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","activeInstance","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","performLeave","beforeLeave","leaveClass","leaveActiveClass","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","setSelected","binding","actuallySetSelected","isMultiple","option","getValue","selectedIndex","hasNoMatchingOption","onCompositionStart","onCompositionEnd","trigger","createEvent","initEvent","dispatchEvent","locateNode","getRealChild","compOptions","extractTransitionData","key$1","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","parseText","delimiters","tagRE","buildRegex","defaultTagRE","tokenValue","tokens","rawTokens","exec","@binding","transformNode","classBinding","genData","transformNode$1","styleBinding","genData$1","decodeAttr","shouldDecodeNewlines","re","encodedAttrWithNewLines","encodedAttr","decodingMap","parseHTML","html","advance","substring","parseEndTag","lowerCasedTagName","stack","lowerCasedTag","lastTag","expectHTML","isUnaryTag$$1","isUnaryTag","no","canBeLeftOpenTag$$1","canBeLeftOpenTag","isPlainTextElement","endTagLength","stackedTag","reStackedTag","reCache","RegExp","rest$1","all","endTag","shouldIgnoreFirstNewline","chars","textEnd","comment","commentEnd","shouldKeepComment","conditionalComment","conditionalEnd","doctypeMatch","doctype","endTagMatch","curIndex","startTagMatch","startTagOpen","attr","startTagClose","attribute","unarySlash","isNonPhrasingTag","unary","IS_REGEX_CAPTURING_BROKEN","shouldDecodeNewlinesForHref","rest","createASTElement","makeAttrsMap","parse","template","closeElement","element","pre","inVPre","platformIsPreTag","inPre","postTransforms","warn$2","isPreTag","platformMustUseProp","platformGetTagNamespace","transforms","preTransforms","root","currentParent","preserveWhitespace","comments","guardIESVGBug","isForbiddenTag","forbidden","processPre","processRawAttrs","processed","processFor","processIf","processOnce","processElement","if","elseif","else","addIfCondition","block","processIfConditions","slotScope","slotTarget","lastNode","isTextTag","decodeHTMLCached","processKey","processRef","processSlot","processComponent","processAttrs","checkInFor","parseFor","inMatch","forAliasRE","for","alias","stripParensRE","iteratorMatch","forIteratorRE","iterator1","iterator2","findPrevElement","condition","ifConditions","slotName","isProp","dirRE","hasBindings","parseModifiers","modifierRE","bindRE","camel","onRE","argMatch","argRE","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","optimize","isStaticKey","genStaticKeysCached","staticKeys","isPlatformReservedTag","markStatic$1","markStaticRoots","genStaticKeys$1","static","i$1","l$1","staticInFor","staticRoot","isBuiltInTag","isDirectChildOfTemplateFor","genHandlers","genHandler","isMethodPath","simplePathRE","isFunctionExpression","fnExpRE","genModifierCode","modifierCode","genGuard","keyModifier","genKeyFilter","genFilterCode","keyVal","parseInt","keyCode","keyName","keyNames","wrapListeners","bind$1","wrapData","generate","ast","state","CodegenState","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","onceId","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","dataGenFns","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","genScopedSlot","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","getNormalizationType","maybeComponent","genNode","needsNormalization","some","genComment","genText","transformSpecialNewlines","bind$$1","componentName","createFunction","errors","Function","createCompileToFunctionFn","compile","compiled","fnGenErrors","getShouldDecode","href","div","innerHTML","getOuterHTML","outerHTML","container","cloneNode","freeze","camelizeRE","toUpperCase","hyphenateRE","SSR_ATTR","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","performance","warnHandler","ignoredElements","isReservedAttr","_lifecycleHooks","hasProto","WXEnvironment","platform","weexPlatform","UA","userAgent","isIOS","_isServer","_Set","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Set","uid","subs","addSub","sub","removeSub","addDep","raw","prototypeAccessors","defineProperties","arrayProto","arrayMethods","method","original","observeArray","arrayKeys","getOwnPropertyNames","walk","items","MessageChannel","channel","port","port2","port1","onmessage","postMessage","uid$1","isRenderWatcher","deep","user","active","deps","newDeps","depIds","newDepIds","cleanupDeps","this$1","tmp","teardown","init","keepAlive","mountedNode","prepatch","$mount","insert","destroy","uid$3","_uid","_self","dataDef","propsDef","$set","$delete","immediate","hookRE","cbs","prevEl","prevVnode","prevActiveInstance","__patch__","__vue__","$nextTick","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","builtInComponents","configDef","util","delete","version","emptyStyle","acceptValue","svg","math","isHTMLTag","nodeOps","baseModules","klass","cssText","listDelimiter","propertyDelimiter","cssVarRE","importantRE","setProperty","normalizedName","normalize","vendorNames","capName","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","requestAnimationFrame","activate","platformModules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","hasChildNodes","childrenMatch","firstChild","fullInvoke","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","patchable","i$2","vmodel","directive","_vOptions","prevOptions","curOptions","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","platformComponents","decoder","regexEscapeRE","open","close","klass$1","style$1","he","decode","ncname","qnameCapture","g","<",">",""","&"," ","	","isIgnoreNewlineTag","model$2","modules$1","directives$1","baseOptions","reduce","esc","tab","space","up","down","stop","prevent","self","ctrl","alt","meta","baseDirectives","cloak","createCompiler","baseCompile","finalOptions","tips","tip","compileToFunctions","idToTemplate","mount","documentElement","eval","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","array","process","title","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","setContentTypeIfUnset","headers","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","defaults","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","beforeMount","getElementById","$store","commit","dataset","server","__WEBPACK_IMPORTED_MODULE_0__components_appNavigation__","__WEBPACK_IMPORTED_MODULE_1__components_userList__","__WEBPACK_IMPORTED_MODULE_2_vue__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__","__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default","appNavigation","userList","groups","getters","getServerData","orderBy","sortGroups","userCount","dispatch","showConfig","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","getLocalstorage","$localStorage","setLocalStorage","route","getRoute","users","getUsers","usersOffset","getUsersOffset","usersLimit","getUsersLimit","getUserCount","menu","_this","getGroups","group","classes","counter","usercount","adminGroup","find","disabledGroup","t","findIndex","activeGroup","new","icon","action","__WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__","navigationItem","__WEBPACK_IMPORTED_MODULE_0__popoverMenu__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__","__WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default","popoverMenu","ClickOutside","openedMenu","showMenu","hideMenu","toggleCollapse","opened","cancelEdit","popupItem","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__","normalizeComponent","Component","__WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__","popoverItem","validate","isPopup","elements","contains","isServer","vNode","$isServer","composedPath","__vueClickOutside__","__WEBPACK_IMPORTED_MODULE_0__userList_userRow__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__","__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default","userRow","Multiselect","InfiniteLoading","unlimitedQuota","label","defaultQuota","scrolled","newUser","displayName","password","mailAddress","subAdminsGroups","quota","settings","canChangePassword","OC","Notification","showTemporary","filteredUsers","enabled","subadmingroups","quotaOptions","quotaPreset","acc","minPasswordLength","getPasswordPolicyMinLength","selectedGroup","infiniteLoading","onScroll","scrollTop","validateQuota","validQuota","Util","computerFileSize","humanFileSize","infiniteHandler","$state","offset","limit","response","loaded","complete","resetForm","assign","createUser","userid","email","subadmin","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__","__WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default","rand","random","subadmins","disable","userActions","deleteUser","enableDisableUser","userGroups","includes","userSubAdminsGroups","_this2","usedQuota","min","round","used","pow","userQuota","humanQuota","generateAvatar","size","generateUrl","oc_userconfig","avatar","limitGroups","count","_this3","_this4","updateDisplayName","_this5","updatePassword","_this6","updateEmail","_this7","createGroup","gid","_this8","addUserGroup","_this9","removeUserGroup","_this10","addUserSubAdmin","_this11","removeUserSubAdmin","_this12","setUserQuota","_this13","r","__g","f","TypeError","u","F","G","S","y","P","B","U","core","W","R","store","__e","virtual","propertyIsEnumerable","ceil","valueOf","x","w","$isLabel","$groupLabel","search","isOpen","prefferedOpenDirection","optimizedHeight","maxHeight","internalSearch","required","trackBy","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","updateSearch","selectGroup","disabled","$isDisabled","pointerDirty","deactivate","removeElement","wholeGroupSelected","removeLastElement","adjustPosition","pointer","focus","blur","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","multiselect__option--highlight","multiselect__option--selected","groupHighlight","multiselect__option--group-selected","addPointerElement","pointerReset","pointerForward","pointerBackward","pointerSet","O","L","k","E","V","entries","values","contentWindow","write","getOwnPropertySymbols","inspectSource","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","showNoResults","tabindex","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","done","preventExtensions","NEED","KEY","fastKey","getWeak","onFreeze","getPrototypeOf","Arguments","C","T","A","$","D","M","N","H","QObject","I","findChild","K","z","iterator","J","q","X","Y","Q","Z","tt","et","keyFor","useSetter","useSimple","multiselect--active","multiselect--disabled","multiselect--above","keydown","currentTarget","preventDefault","stopPropagation","keyup","mousedown","aria-hidden","autocomplete","input","data-select","data-selected","data-deselect","click","mouseenter","__WEBPACK_IMPORTED_MODULE_0_axios__","__WEBPACK_IMPORTED_MODULE_0_axios___default","requestToken","getElementsByTagName","tokenHeaders","requesttoken","sanitize","url","requireAdmin","waitForpassword","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","catch","log","post","put","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","Authorization","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","message","__CANCEL__","Cancel","app","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__","__WEBPACK_IMPORTED_MODULE_2__App_vue__","__WEBPACK_IMPORTED_MODULE_3__router__","__WEBPACK_IMPORTED_MODULE_4__store__","router","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","handle","runIfPresent","currentlyRunningATask","doc","attachTo","importScripts","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","attachEvent","script","onreadystatechange","cloneRoute","fullPath","moduleName","registerModule","namespaced","currentRoute","mutations","ROUTE_CHANGED","currentPath","isTimeTraveling","storeUnwatch","afterEachUnHook","afterEach","unregisterModule","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4449563d_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__","_vm","_h","esExports","__WEBPACK_IMPORTED_MODULE_1_vue_router__","__WEBPACK_IMPORTED_MODULE_2__views_Users__","location","pathName","routes","isError","resolveProps","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","param","parts","stringifyQuery","encode","val2","createRoute","record","redirectedFrom","stringifyQuery$$1","getFullPath","matched","formatMatch","_stringifyQuery","isSameRoute","START","trailingSlashRE","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","guardEvent","metaKey","ctrlKey","shiftKey","defaultPrevented","button","findAnchor","installed","_Vue","registerInstance","callVal","registerRouteInstance","_routerRoot","_router","history","_route","View","Link","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","append","firstChar","segment","hashIndex","queryIndex","cleanPath","defaultDelimiter","delimiter","PATH_REGEXP","escaped","prefix","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","substr","tokensToFunction","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","encodeURIComponent","token","isarray","attachKeys","flags","sensitive","regexpToRegexp","arrayToRegexp","pathToRegexp","stringToRegexp","tokensToRegExp","strict","endsWithDelimiter","fillParams","routeMsg","regexpCompileCache","pathToRegexp_1","createRouteMap","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","instances","redirect","childMatchAs","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","basePath","createMatcher","addRoutes","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","decodeURIComponent","setupScroll","replaceState","getStateKey","saveScrollPosition","setStateKey","handleScroll","isPop","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","positionStore","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","selector","scrollTo","genKey","Time","now","toFixed","_key","pushState","runQueue","step","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","normalizeBase","baseEl","resolveQueue","activated","deactivated","extractGuards","records","reverse","guards","instance","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","getLocation","pathname","checkFallback","ensureSlash","getHash","replaceHash","getUrl","pushHash","supportsPushState","registerHook","createHref","routerView","$route","_routerViewCache","depth","inactive","routerViewDepth","propsToPass","encodeReserveRE","encodeReserveReplacer","commaRE","toTypes","eventTypes","exact","exactActiveClass","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","parse_1","compile_1","tokensToFunction_1","tokensToRegExp_1","ua","Date","History","ready","readyCbs","readyErrorCbs","errorCbs","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","go","fromRoute","getCurrentLocation","HashHistory","setupListeners","supportsScroll","AbstractHistory","targetIndex","VueRouter","apps","matcher","setupHashListener","beforeEach","beforeResolve","back","forward","getMatchedComponents","normalizedTo","injectStyle","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_804a726e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__","__vue_styles__","content","locals","cssWithMappingToString","useSourceMap","cssMapping","sourceMapping","toComment","sources","sourceRoot","sourceMap","unescape","mediaQuery","alreadyImportedModules","addStylesToDom","domStyle","stylesInDom","addStyle","createStyleElement","styleElement","head","ssrIdKey","isProduction","isOldIE","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","applyToTag","newObj","media","styleSheet","replaceText","cssNode","ssrId","hasDocument","DEBUG","listToStyles","parentId","_isProduction","_options","newList","mayRemove","textStore","replacement","newStyles","part","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1c64885e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_dbbe39b4_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_33c03567_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__","icon-loading-small","collapsible","backgroundColor","bullet","isInteger","actions","undo","data-apps-slide-toggle","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1e9cb6d5_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1aafa1fa_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__","icon-loading","height","srcset","submit","autocorrect","autocapitalize","spellcheck","displayname","minlength","tag-placeholder","track-by","storageLocation","lastLogin","formatDate","relativeModifiedDate","currentUser","STATE_CHANGER","INFINITE_EVENT","INFINITE_LOOP","scrollParent","scrollHandler","isLoading","isComplete","isFirstLoad","debounceTimer","debounceDuration","infiniteLoopChecked","infiniteLoopTimer","continuousCallTimes","Spinner","isNoResults","isNoMore","distance","onInfinite","spinner","direction","forceUseInfiniteWrapper","getScrollParent","Event","attemptLoad","stateChanger","reset","getCurrentDistance","offsetWidth","overflowY","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","&scroll","sticky","close-on-select","$$v","infinite","VueLocalStorage","_properties","_namespace","_isSupported","_getLsKey","lsKey","_lsSet","rawValue","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","removeItem","addProperty","vueLocalStorage","SERVER_BUILD","NODE_ENV","isSupported","checked","$$a","$$el","$$c","$$i","__WEBPACK_IMPORTED_MODULE_1_vuex__","__WEBPACK_IMPORTED_MODULE_2__users__","__WEBPACK_IMPORTED_MODULE_3__settings__","API_FAILURE","Store","devtoolPlugin","devtoolHook","_devtoolHook","targetState","subscribe","mutation","forEachValue","isPromise","targetModule","newModule","getChild","genericSubscribe","resetStore","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreVM","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","isRoot","getNamespace","parentState","getNestedState","local","makeLocalContext","forEachMutation","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","_type","_payload","unifyObjectStyle","payload","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","applyMixin","normalizeMap","normalizeNamespace","getModuleByNamespace","helper","vuexInit","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","addChild","ModuleCollection","rawRootModule","register","rawChildModule","unregister","plugins","_committing","_actionSubscribers","_subscribers","_watcherVM","entry","subscribeAction","preserveState","hotUpdate","newOptions","committing","mapState","states","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","__WEBPACK_IMPORTED_MODULE_0__api__","orderGroups","localeCompare","appendUsers","usersObj","setPasswordPolicyMinLength","initGroups","_ref","addGroup","groupid","_ref2","groupSearch","_ref3","_ref4","_ref5","userIndex","addUserData","ocs","_ref6","setUserData","_ref7","humanValue","resetUsers","_ref8","linkToOCS","getUsersFromList","_ref9","getUsersFromGroup","_ref10","removeGroup","_ref11","_ref12","_ref13","_ref14","_ref15","addUser","_ref16","_ref17","_ref18","_ref18$enabled","userStatus","_ref19","createInstance","defaultConfig","Axios","axios","instanceConfig","CancelToken","isCancel","promises","spread","isSlowBuffer","readFloatLE","_isBuffer","interceptors","InterceptorManager","dispatchRequest","chain","interceptor","fulfilled","rejected","serializedParams","toISOString","ignoreDuplicateOf","parsed","line","resolveURL","msie","urlParsingNode","protocol","host","hostname","originURL","requestURL","charCode","output","idx","expires","domain","secure","cookie","toGMTString","eject","throwIfCancellationRequested","throwIfRequested","transformData","isAbsoluteURL","combineURLs","baseURL","relativeURL","executor","resolvePromise","serverData","setServerData"],"mappings":"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","file":"main.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(18);\nvar isBuffer = __webpack_require__(56);\n\n/*global toString:true*/\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 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 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 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 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.replace(/^\\s*/, '').replace(/\\s*$/, '');\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 */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\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 (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\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\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 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};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.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 = 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 = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, setImmediate) {/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces 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\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a 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 a 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 the 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... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards 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/**\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/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string 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 (!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\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];\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: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== '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 * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\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 = /[^\\w.$]/;\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;\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'].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 = (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 (false) {\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\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 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 there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\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 vnode.children,\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.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 var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property 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(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 an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an 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 (\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 if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\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 (false) {\n customSetter();\n }\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 (false\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 \"production\" !== '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(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 (false\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 \"production\" !== '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 (false) {\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 var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\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 \"production\" !== '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 return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\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 \"production\" !== '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 (false) {\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 && \"production\" !== '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 (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\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 (false) {\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 (false) {\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 (false) {\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 = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\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 (false) {\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 var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, 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 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 (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\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 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 (false) {\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 if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\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\n/* */\n\nfunction handleError (err, vm, info) {\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}\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 logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (false) {\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/* globals MessageChannel */\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 both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = 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} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\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 if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\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 (false) {\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 (false) {\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 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) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n 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 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) {\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 cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n \"production\" !== '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);\n }\n add(event.name, cur, event.once, 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 (false) {\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 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 context\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 if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\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();\n }\n });\n\n var reject = once(function (reason) {\n \"production\" !== '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();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\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 setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\n if (isUndef(factory.resolved)) {\n reject(\n false\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, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$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 this$1 = this;\n\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 = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], 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 if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (false) {\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 for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\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 var slots = {};\n if (!children) {\n return slots\n }\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\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\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 if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = 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__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\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 (false) {\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 (false) {\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, null, 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 (false) {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren\n var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\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 (hasChildren) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (false) {\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 if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\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 (false) {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\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 id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (false) {\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) {\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 nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 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 } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // 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 = false\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 = function () {};\n \"production\" !== '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 this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\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 this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\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$1.deps[i].removeSub(this$1);\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 (false) {\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(props, key, value, function () {\n if (vm.$parent && !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(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 \"production\" !== '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 (false) {\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 \"production\" !== '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 (false) {\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 (false) {\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 : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : noop;\n }\n if (false) {\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 initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (false) {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value 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] = methods[key] == null ? 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 (false) {\n dataDef.set = function (newData) {\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 cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\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 (false) {\n defineReactive(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(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).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\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 (false) {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\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 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 if (isDef(ret)) {\n (ret)._isVList = true;\n }\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 (false) {\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 var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (false) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || 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 \"production\" !== '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 if (!(key 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 \"production\" !== '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 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}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\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 () { return resolveSlots(children, parent); };\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 = data.scopedSlots || emptyObject;\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)\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);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\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 (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// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\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 parentElm,\n refElm\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 (false) {\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, context);\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 // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\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 parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\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 hooks[key] = componentVNodeHooks[key];\n }\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';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.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 \"production\" !== '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 (false\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (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 (false) {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\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 // reset _rendered flag on slots for duplicate slot check\n if (false) {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\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 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 (false) {\n if (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 } else {\n vnode = vm._vnode;\n }\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (false) {\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\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 (false) {\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 (false) {\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 (false) {\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 opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\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 extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\n}\n\nfunction Vue (options) {\n if (false\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 (false) {\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 (false) {\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\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 var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.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 (false) {\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\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\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.5.16';\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 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 \"production\" !== '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\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: 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 () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\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 (false) {\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 (false) {\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 */, parentElm, refElm);\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 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 (ref$$1.parentNode === 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 (false) {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (false) {\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);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\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);\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);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\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 (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (false) {\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 (false\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 (false\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, parentElm, refElm) {\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, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, 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 (false) {\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$1 = 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$1,\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$1)) {\n removeVnodes(parentElm$1, [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 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, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\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' && !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\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\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) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n false\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.'\n );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\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 (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\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 = {\n value: value.trim()\n };\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 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\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: (\"\\\"\" + 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;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar 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 (false) {\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 );\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 (false) {\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 );\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 (false) {\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 );\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 (handler, event, 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\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || 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, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\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 (isUndef(props[key])) {\n elm[key] = '';\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') {\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 {\n elm[key] = cur;\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.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\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(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\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(/\\s+/).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(/\\s+/).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) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\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 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\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 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 transitionNode = transitionNode.parent;\n context = transitionNode.context;\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 (false) {\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 (false) {\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) {\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 \"production\" !== '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\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\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 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(function (c) { return c.tag || isAsyncPlaceholder(c); });\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (false) {\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 (false\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(function (d) { return d.name === 'show'; })) {\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\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\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 (false) {\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 beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\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 || /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 false\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 (false\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 = /\\{\\{((?:.|\\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 (false) {\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 );\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 (false) {\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 );\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/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\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 pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\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};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#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));\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(lastTag, 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 advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\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 (false) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"));\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(attribute))) {\n advance(attr[0].length);\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 // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\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 }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\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 if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\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 (false\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\")\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+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\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 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\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 root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\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 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 start: function start (tag, attrs, unary) {\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 (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n \"production\" !== '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 );\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 // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (false) {\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 );\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 );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (false) {\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 );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\n if (!currentParent) {\n if (false) {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.'\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\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 text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\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 children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\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 l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\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 (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(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}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (false) {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\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 (false) {\n warn$2(\n (\"Invalid v-for expression: \" + exp)\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, '');\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 (false) {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\"\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 (false) {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\"\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\nfunction processSlot (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (false) {\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 );\n }\n } else {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (false) {\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 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 (false) {\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 true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\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);\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, isProp;\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);\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 isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\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 if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\n if (false) {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (false) {\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 );\n }\n }\n addAttr(el, name, JSON.stringify(value));\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');\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 false\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name);\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 );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\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$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\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' +\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*\\(/;\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 esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\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 'delete': ['Backspace', 'Delete']\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 warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (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 : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\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 (false) {\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\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 !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\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.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) {\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 = el.plain ? undefined : genData$2(el, state);\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 state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\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 \"production\" !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \"\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 (false\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 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, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\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.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 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.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 (false) {\n state.warn('Inline-template components must have exactly one child element.');\n }\n if (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 slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\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 el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\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 return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = 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 ? (\",\" + normalizationType) : ''))\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 } 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.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\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 res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\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// 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) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\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 if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\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 (false) {\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 (false) {\n if (compiled.errors && compiled.errors.length) {\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 if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\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 (false) {\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 finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\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 var compiled = baseCompile(template, finalOptions);\n if (false) {\n errors.push.apply(errors, detectErrors(compiled.ast));\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 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 \"production\" !== '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 (false) {\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 (false) {\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 (false) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\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 (false) {\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3), __webpack_require__(24).setImmediate))\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\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\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(0);\nvar normalizeHeaderName = __webpack_require__(58);\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 = __webpack_require__(19);\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = __webpack_require__(19);\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\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)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\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\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\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'App',\n\tbeforeMount: function beforeMount() {\n\t\t// importing server data into the store\n\t\tvar serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_userList__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_3_vue_localstorage___default.a);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'Users',\n\tcomponents: {\n\t\tappNavigation: __WEBPACK_IMPORTED_MODULE_0__components_appNavigation__[\"a\" /* default */],\n\t\tuserList: __WEBPACK_IMPORTED_MODULE_1__components_userList__[\"a\" /* default */]\n\t},\n\tbeforeMount: function beforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false\n\t\t\t}\n\t\t};\n\t},\n\n\tmethods: {\n\t\tgetLocalstorage: function getLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tthis.showConfig[key] = this.$localStorage.get(key) === 'true';\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage: function setLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t}\n\t},\n\tcomputed: {\n\t\troute: function route() {\n\t\t\treturn this.$store.getters.getRoute;\n\t\t},\n\t\tusers: function users() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading: function loading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showLastLogin');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showUserBackend');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function get() {\n\t\t\t\treturn this.getLocalstorage('showStoragePath');\n\t\t\t},\n\t\t\tset: function set(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\t\tuserCount: function userCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tmenu: function menu() {\n\t\t\tvar _this = this;\n\n\t\t\tvar self = this;\n\t\t\t// Data provided php side\n\t\t\tvar groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(function (group) {\n\t\t\t\tvar item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = [];\n\t\t\t\titem.href = '#group' + group.id.replace(' ', '_');\n\t\t\t\titem.text = group.name;\n\t\t\t\titem.utils = { counter: group.usercount };\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tvar adminGroup = groups.find(function (group) {\n\t\t\t\treturn group.id == 'admin';\n\t\t\t});\n\t\t\tvar disabledGroup = groups.find(function (group) {\n\t\t\t\treturn group.id == '_disabled';\n\t\t\t});\n\t\t\tif (adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins');\n\t\t\t} // rename admin group\n\t\t\tif (disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users'); // rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(groups.findIndex(function (group) {\n\t\t\t\t\t\treturn group.id == '_disabled';\n\t\t\t\t\t}), 1); // remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: '_everyone',\n\t\t\t\tclasses: [],\n\t\t\t\thref: '#group_everyone',\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: { counter: this.userCount }\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tvar activeGroup = groups.findIndex(function (group) {\n\t\t\t\treturn group.href === _this.route.hash;\n\t\t\t});\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid: 'new-user-button',\n\t\t\t\t\ttext: t('settings', 'New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: function action() {\n\t\t\t\t\t\tself.showConfig.showNewUserForm = !self.showConfig.showNewUserForm;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t};\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__ = __webpack_require__(38);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem: __WEBPACK_IMPORTED_MODULE_0__appNavigation_navigationItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */]\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t};\n\t},\n\n\tmethods: {\n\t\tshowMenu: function showMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse: function toggleCollapse() {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\t__WEBPACK_IMPORTED_MODULE_2_vue__[\"a\" /* default */].set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit: function cancelEdit() {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes)) this.item.classes = this.item.classes.filter(function (item) {\n\t\t\t\treturn item !== 'editing';\n\t\t\t});\n\t\t}\n\t},\n\tmounted: function mounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t}\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__ = __webpack_require__(11);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__ = __webpack_require__(41);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverMenu_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_24e4fcfe_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverMenu_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__ = __webpack_require__(39);\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem: __WEBPACK_IMPORTED_MODULE_0__popoverMenu_popoverItem__[\"a\" /* default */]\n\t}\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tprops: ['item']\n});\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nfunction validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__userList_userRow__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_multiselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userList',\n\tprops: ['users', 'showConfig'],\n\tcomponents: {\n\t\tuserRow: __WEBPACK_IMPORTED_MODULE_0__userList_userRow__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_1_vue_multiselect___default.a,\n\t\tInfiniteLoading: __WEBPACK_IMPORTED_MODULE_2_vue_infinite_loading___default.a\n\t},\n\tdata: function data() {\n\t\tvar unlimitedQuota = { id: 'none', label: t('settings', 'Unlimited') },\n\t\t defaultQuota = { id: 'default', label: t('settings', 'Default quota') };\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid: '',\n\t\t\t\tdisplayName: '',\n\t\t\t\tpassword: '',\n\t\t\t\tmailAddress: '',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota\n\t\t\t}\n\t\t};\n\t},\n\tmounted: function mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tsettings: function settings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers: function filteredUsers() {\n\t\t\tif (this.route.hash === '#group_disabled') {\n\t\t\t\treturn this.users.filter(function (user) {\n\t\t\t\t\treturn user.enabled !== true;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.users.filter(function (user) {\n\t\t\t\treturn user.enabled === true;\n\t\t\t});\n\t\t},\n\t\tgroups: function groups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(function (group) {\n\t\t\t\treturn group.id !== '_disabled';\n\t\t\t});\n\t\t},\n\t\tsubAdminsGroups: function subAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions: function quotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tvar quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n\t\t\t\treturn acc.concat({ id: cur, label: cur });\n\t\t\t}, []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset: function usersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit: function usersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\t\troute: function route() {\n\t\t\treturn this.$store.getters.getRoute;\n\t\t},\n\n\t\t// get selected hash\n\t\tselectedGroup: function selectedGroup() {\n\t\t\tvar hash = this.route.hash;\n\t\t\tif (typeof hash === 'string' && hash.length > 0) {\n\t\t\t\t// we have a valid hash: groupXXXX\n\t\t\t\t// group_XXXX are reserved groups\n\t\t\t\tvar split = hash.split('group');\n\t\t\t\tif (split.length === 2 && split[1].charAt(0) !== '_') {\n\t\t\t\t\treturn hash.split('group')[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function selectedGroup(val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll: function onScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop > 0;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Object}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = { id: quota, label: quota };\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\t\tinfiniteHandler: function infiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', { offset: this.usersOffset, limit: this.usersLimit, group: this.selectedGroup }).then(function (response) {\n\t\t\t\tresponse ? $state.loaded() : $state.complete();\n\t\t\t});\n\t\t},\n\t\tresetForm: function resetForm() {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n\t\t},\n\t\tcreateUser: function createUser() {\n\t\t\tvar _this = this;\n\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(function (group) {\n\t\t\t\t\treturn group.id;\n\t\t\t\t}),\n\t\t\t\tquota: this.newUser.quota.id\n\t\t\t}).then(function () {\n\t\t\t\treturn _this.resetForm();\n\t\t\t});\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popoverMenu__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_click_outside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_multiselect__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n//import Multiselect from '../../../node_modules/vue-multiselect/src/index';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig'],\n\tcomponents: {\n\t\tpopoverMenu: __WEBPACK_IMPORTED_MODULE_0__popoverMenu__[\"a\" /* default */],\n\t\tMultiselect: __WEBPACK_IMPORTED_MODULE_2_vue_multiselect___default.a\n\t},\n\tdirectives: {\n\t\tClickOutside: __WEBPACK_IMPORTED_MODULE_1_vue_click_outside___default.a\n\t},\n\tmounted: function mounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false\n\t\t\t}\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions: function userActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings', 'Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t}, {\n\t\t\t\t'icon': this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t'text': this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n\t\t\t\t'action': this.enableDisableUser\n\t\t\t}];\n\t\t},\n\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups: function userGroups() {\n\t\t\tvar _this = this;\n\n\t\t\tvar userGroups = this.groups.filter(function (group) {\n\t\t\t\treturn _this.user.groups.includes(group.id);\n\t\t\t});\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups: function userSubAdminsGroups() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {\n\t\t\t\treturn _this2.user.subadmin.includes(group.id);\n\t\t\t});\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota: function usedQuota() {\n\t\t\tvar quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - 1 / (usedInGB + 1));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota: function userQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tvar humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tvar userQuota = this.quotaOptions.find(function (quota) {\n\t\t\t\t\treturn quota.id === humanQuota;\n\t\t\t\t});\n\t\t\t\treturn userQuota ? userQuota : { id: humanQuota, label: humanQuota };\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength: function minPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\tshowMenu: function showMenu() {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu: function hideMenu() {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\n\t\t/**\n * Generate avatar url\n * \n * @param {string} user The user name\n * @param {int} size Size integer, default 32\n * @returns {string}\n */\n\t\tgenerateAvatar: function generateAvatar(user) {\n\t\t\tvar size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;\n\n\t\t\treturn OC.generateUrl('/avatar/{user}/{size}?v={version}', {\n\t\t\t\tuser: user,\n\t\t\t\tsize: size,\n\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Format the limit text in the selected options\n * \n * @param {int} count elements left\n * @returns {string}\n */\n\t\tlimitGroups: function limitGroups(count) {\n\t\t\treturn '+' + count;\n\t\t},\n\t\tdeleteUser: function deleteUser() {\n\t\t\tvar _this3 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', { userid: userid }).then(function () {\n\t\t\t\t_this3.loading.delete = false;\n\t\t\t\t_this3.loading.all = false;\n\t\t\t});\n\t\t},\n\t\tenableDisableUser: function enableDisableUser() {\n\t\t\tvar _this4 = this;\n\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', { userid: userid, enabled: enabled }).then(function () {\n\t\t\t\t_this4.loading.delete = false;\n\t\t\t\t_this4.loading.all = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user displayName\n * \n * @param {string} displayName The display name\n * @returns {Promise}\n */\n\t\tupdateDisplayName: function updateDisplayName() {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(function () {\n\t\t\t\t_this5.loading.displayName = false;\n\t\t\t\t_this5.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user password\n * \n * @param {string} password The email adress\n * @returns {Promise}\n */\n\t\tupdatePassword: function updatePassword() {\n\t\t\tvar _this6 = this;\n\n\t\t\tvar password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(function () {\n\t\t\t\t_this6.loading.password = false;\n\t\t\t\t_this6.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Set user mailAddress\n * \n * @param {string} mailAddress The email adress\n * @returns {Promise}\n */\n\t\tupdateEmail: function updateEmail() {\n\t\t\tvar _this7 = this;\n\n\t\t\tvar mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(function () {\n\t\t\t\t_this7.loading.mailAddress = false;\n\t\t\t\t_this7.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Create a new group\n * \n * @param {string} groups Group id\n * @returns {Promise}\n */\n\t\tcreateGroup: function createGroup(gid) {\n\t\t\tvar _this8 = this;\n\n\t\t\tthis.loading = { groups: true, subadmins: true };\n\t\t\tthis.$store.dispatch('addGroup', gid).then(function () {\n\t\t\t\t_this8.loading = { groups: false, subadmins: false };\n\t\t\t\tvar userid = _this8.user.id;\n\t\t\t\t_this8.$store.dispatch('addUserGroup', { userid: userid, gid: gid });\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserGroup: function addUserGroup(group) {\n\t\t\tvar _this9 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this9.loading.groups = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserGroup: function removeUserGroup(group) {\n\t\t\tvar _this10 = this;\n\n\t\t\tthis.loading.groups = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this10.loading.groups = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Add user to group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\taddUserSubAdmin: function addUserSubAdmin(group) {\n\t\t\tvar _this11 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this11.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Remove user from group\n * \n * @param {object} group Group object\n * @returns {Promise}\n */\n\t\tremoveUserSubAdmin: function removeUserSubAdmin(group) {\n\t\t\tvar _this12 = this;\n\n\t\t\tthis.loading.subadmins = true;\n\t\t\tvar userid = this.user.id;\n\t\t\tvar gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', { userid: userid, gid: gid }).then(function () {\n\t\t\t\treturn _this12.loading.subadmins = false;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @returns {string}\n */\n\t\tsetUserQuota: function setUserQuota() {\n\t\t\tvar _this13 = this;\n\n\t\t\tvar quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(function () {\n\t\t\t\treturn _this13.loading.quota = false;\n\t\t\t});\n\t\t\treturn quota;\n\t\t},\n\n\n\t\t/**\n * Validate quota string to make sure it's a valid human file size\n * \n * @param {string} quota Quota in readable format '5 GB'\n * @returns {Promise|boolean}\n */\n\t\tvalidateQuota: function validateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tvar validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid doo not change\n\t\t\treturn false;\n\t\t}\n\t}\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(t,e){ true?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"
\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_axios__);\n\n\nvar requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nvar tokenHeaders = { headers: { requesttoken: requestToken } };\n\nvar sanitize = function sanitize(url) {\n return url.replace(/\\/$/, ''); // Remove last slash of url\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n requireAdmin: function requireAdmin() {\n return new Promise(function (resolve, reject) {\n setTimeout(reject, 5000); // automatically reject 5s if not ok\n function waitForpassword() {\n if (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n setTimeout(waitForpassword, 500);\n return;\n }\n resolve();\n }\n waitForpassword();\n OC.PasswordConfirmation.requirePasswordConfirmation();\n }).catch(function (error) {\n return console.log('Required password not entered');\n });\n },\n get: function get(url) {\n return __WEBPACK_IMPORTED_MODULE_0_axios___default.a.get(sanitize(url), tokenHeaders).then(function (response) {\n return Promise.resolve(response);\n }).catch(function (error) {\n return Promise.reject(error);\n });\n },\n post: function post(url, data) {\n return __WEBPACK_IMPORTED_MODULE_0_axios___default.a.post(sanitize(url), data, tokenHeaders).then(function (response) {\n return Promise.resolve(response);\n }).catch(function (error) {\n return Promise.reject(error);\n });\n },\n patch: function patch(url, data) {\n return __WEBPACK_IMPORTED_MODULE_0_axios___default.a.patch(sanitize(url), data, tokenHeaders).then(function (response) {\n return Promise.resolve(response);\n }).catch(function (error) {\n return Promise.reject(error);\n });\n },\n put: function put(url, data) {\n return __WEBPACK_IMPORTED_MODULE_0_axios___default.a.put(sanitize(url), data, tokenHeaders).then(function (response) {\n return Promise.resolve(response);\n }).catch(function (error) {\n return Promise.reject(error);\n });\n },\n delete: function _delete(url, data) {\n return __WEBPACK_IMPORTED_MODULE_0_axios___default.a.delete(sanitize(url), { data: data, headers: tokenHeaders.headers }).then(function (response) {\n return Promise.resolve(response);\n }).catch(function (error) {\n return Promise.reject(error);\n });\n }\n});\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar settle = __webpack_require__(59);\nvar buildURL = __webpack_require__(61);\nvar parseHeaders = __webpack_require__(62);\nvar isURLSameOrigin = __webpack_require__(63);\nvar createError = __webpack_require__(20);\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(64);\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\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (\"production\" !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\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\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : 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 // 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 reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, '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 var cookies = __webpack_require__(65);\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && 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 (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\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 === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar enhanceError = __webpack_require__(60);\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\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"app\", function() { return app; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex_router_sync___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__App_vue__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__store__ = __webpack_require__(51);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"router\", function() { return __WEBPACK_IMPORTED_MODULE_3__router__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"store\", function() { return __WEBPACK_IMPORTED_MODULE_4__store__[\"a\"]; });\n\n\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vuex_router_sync__[\"sync\"])(__WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */]);\n\n// bind to window\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.t = t;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.OC = OC;\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].prototype.oc_userconfig = oc_userconfig;\n\nvar app = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]({\n router: __WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */],\n store: __WEBPACK_IMPORTED_MODULE_4__store__[\"a\" /* default */],\n render: function render(h) {\n return h(__WEBPACK_IMPORTED_MODULE_2__App_vue__[\"a\" /* default */]);\n }\n}).$mount('#content');\n\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, 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(window, 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\n__webpack_require__(25);\n// On some exotic environments, it's not clear which object `setimmeidate` 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\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(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\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(4)))\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nexports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(6);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4449563d_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(28);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4449563d_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_router__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__views_Users__ = __webpack_require__(31);\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]({\n mode: 'history',\n base: window.location.pathName,\n routes: [{\n path: '/settings/users',\n component: __WEBPACK_IMPORTED_MODULE_2__views_Users__[\"a\" /* default */]\n }]\n}));\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (false) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (false) {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n \"production\" !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (false) {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (false) {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (false) {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (false) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (false) {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (false) {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (false) {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (false) {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (false) {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (false) {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (false) {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (false) {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n \"production\" !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (false) {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n \"production\" !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VueRouter);\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__ = __webpack_require__(7);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_804a726e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__ = __webpack_require__(50);\nfunction injectStyle (ssrContext) {\n __webpack_require__(32)\n}\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Users_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_804a726e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Users_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(33);\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(35)(\"087588a9\", content, true, {});\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(34)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = __webpack_require__(36)\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__ = __webpack_require__(8);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1c64885e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__ = __webpack_require__(43);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_appNavigation_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1c64885e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_appNavigation_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__ = __webpack_require__(9);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_dbbe39b4_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__ = __webpack_require__(42);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_navigationItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_dbbe39b4_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_navigationItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__ = __webpack_require__(12);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_33c03567_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__ = __webpack_require__(40);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_popoverItem_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_33c03567_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_popoverItem_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.item.text))])]):_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.item.text))])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[_vm._v(_vm._s(_vm.item.text))]),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__ = __webpack_require__(14);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1e9cb6d5_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__ = __webpack_require__(48);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userList_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1e9cb6d5_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userList_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__ = __webpack_require__(15);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1aafa1fa_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__ = __webpack_require__(46);\nvar normalizeComponent = __webpack_require__(1)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_userRow_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_1aafa1fa_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_userRow_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading': _vm.loading.delete || _vm.loading.disable}},[_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}})]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{ref:\"displayName\",attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\",attrs:{\"title\":_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.showMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(e,t){ true?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (Object({\"NODE_ENV\":\"production\"}) && Object({\"NODE_ENV\":\"production\"}).VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ __webpack_exports__[\"a\"] = (esExports);\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__users__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__settings__ = __webpack_require__(73);\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */]);\n\nvar debug = \"production\" !== 'production';\n\nvar mutations = {\n\tAPI_FAILURE: function API_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t}\n};\n\nvar getters = {\n\tgetRoute: function getRoute(state) {\n\t\treturn state.route;\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_1_vuex__[\"a\" /* default */].Store({\n\tmodules: {\n\t\tusers: __WEBPACK_IMPORTED_MODULE_2__users__[\"a\" /* default */],\n\t\tsettings: __WEBPACK_IMPORTED_MODULE_3__settings__[\"a\" /* default */]\n\t},\n\tstrict: debug,\n\n\tmutations: mutations,\n\tgetters: getters\n}));\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Store */\n/* unused harmony export install */\n/* unused harmony export mapState */\n/* unused harmony export mapMutations */\n/* unused harmony export mapGetters */\n/* unused harmony export mapActions */\n/* unused harmony export createNamespacedHelpers */\n/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (false) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (false) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (false) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (false) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (false) {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n false\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (false) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (false) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (false) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (false) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (false) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (false) {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (false) {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (false) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (false) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (false) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (index_esm);\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(17);\n\n\nvar orderGroups = function orderGroups(groups, orderBy) {\n /* const SORT_USERCOUNT = 1;\n * const SORT_GROUPNAME = 2;\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\n if (orderBy === 1) {\n return groups.sort(function (a, b) {\n return a.usercount < b.usercount;\n });\n } else {\n return groups.sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n }\n};\n\nvar state = {\n users: [],\n groups: [],\n orderBy: 1,\n minPasswordLength: 0,\n usersOffset: 0,\n usersLimit: 25,\n userCount: 0\n};\n\nvar mutations = {\n appendUsers: function appendUsers(state, usersObj) {\n // convert obj to array\n var users = state.users.concat(Object.keys(usersObj).map(function (userid) {\n return usersObj[userid];\n }));\n state.usersOffset += state.usersLimit;\n state.users = users;\n },\n setPasswordPolicyMinLength: function setPasswordPolicyMinLength(state, length) {\n state.minPasswordLength = length !== '' ? length : 0;\n },\n initGroups: function initGroups(state, _ref) {\n var groups = _ref.groups,\n orderBy = _ref.orderBy,\n userCount = _ref.userCount;\n\n state.groups = groups;\n state.orderBy = orderBy;\n state.userCount = userCount;\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n addGroup: function addGroup(state, groupid) {\n try {\n state.groups.push({\n id: groupid,\n name: groupid,\n usercount: 0 // user will be added after the creation\n });\n state.groups = orderGroups(state.groups, state.orderBy);\n } catch (e) {\n console.log('Can\\'t create group', e);\n }\n },\n addUserGroup: function addUserGroup(state, _ref2) {\n var userid = _ref2.userid,\n gid = _ref2.gid;\n\n // this should not be needed as it would means the user contains a group\n // the server database doesn't have.\n var group = state.groups.find(function (groupSearch) {\n return groupSearch.id == gid;\n });\n if (group) {\n group.usercount++; // increase count\n }\n var groups = state.users.find(function (user) {\n return user.id == userid;\n }).groups;\n groups.push(gid);\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n removeUserGroup: function removeUserGroup(state, _ref3) {\n var userid = _ref3.userid,\n gid = _ref3.gid;\n\n // this should not be needed as it would means the user contains a group\n // the server database doesn't have.\n var group = state.groups.find(function (groupSearch) {\n return groupSearch.id == gid;\n });\n if (group) {\n group.usercount--; // lower count\n }\n var groups = state.users.find(function (user) {\n return user.id == userid;\n }).groups;\n groups.splice(groups.indexOf(gid), 1);\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n addUserSubAdmin: function addUserSubAdmin(state, _ref4) {\n var userid = _ref4.userid,\n gid = _ref4.gid;\n\n var groups = state.users.find(function (user) {\n return user.id == userid;\n }).subadmin;\n groups.push(gid);\n },\n removeUserSubAdmin: function removeUserSubAdmin(state, _ref5) {\n var userid = _ref5.userid,\n gid = _ref5.gid;\n\n var groups = state.users.find(function (user) {\n return user.id == userid;\n }).subadmin;\n groups.splice(groups.indexOf(gid), 1);\n },\n deleteUser: function deleteUser(state, userid) {\n var userIndex = state.users.findIndex(function (user) {\n return user.id == userid;\n });\n state.users.splice(userIndex, 1);\n },\n addUserData: function addUserData(state, response) {\n state.users.push(response.data.ocs.data);\n },\n enableDisableUser: function enableDisableUser(state, _ref6) {\n var userid = _ref6.userid,\n enabled = _ref6.enabled;\n\n state.users.find(function (user) {\n return user.id == userid;\n }).enabled = enabled;\n // increment or not\n state.groups.find(function (group) {\n return group.id == '_disabled';\n }).usercount += enabled ? -1 : 1;\n state.userCount += enabled ? 1 : -1;\n console.log(enabled);\n },\n setUserData: function setUserData(state, _ref7) {\n var userid = _ref7.userid,\n key = _ref7.key,\n value = _ref7.value;\n\n if (key === 'quota') {\n var humanValue = OC.Util.computerFileSize(value);\n state.users.find(function (user) {\n return user.id == userid;\n })[key][key] = humanValue ? humanValue : value;\n } else {\n state.users.find(function (user) {\n return user.id == userid;\n })[key] = value;\n }\n },\n\n\n /**\n * Reset users list\n */\n resetUsers: function resetUsers(state) {\n state.users = [];\n state.usersOffset = 0;\n }\n};\n\nvar getters = {\n getUsers: function getUsers(state) {\n return state.users;\n },\n getGroups: function getGroups(state) {\n return state.groups;\n },\n getPasswordPolicyMinLength: function getPasswordPolicyMinLength(state) {\n return state.minPasswordLength;\n },\n getUsersOffset: function getUsersOffset(state) {\n return state.usersOffset;\n },\n getUsersLimit: function getUsersLimit(state) {\n return state.usersLimit;\n },\n getUserCount: function getUserCount(state) {\n return state.userCount;\n }\n};\n\nvar actions = {\n\n /**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @param {string} options.search Search amongst users\n * @param {string} options.group Get users from group\n * @returns {Promise}\n */\n getUsers: function getUsers(context, _ref8) {\n var offset = _ref8.offset,\n limit = _ref8.limit,\n search = _ref8.search,\n group = _ref8.group;\n\n search = typeof search === 'string' ? search : '';\n group = typeof group === 'string' ? group : '';\n if (group !== '') {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/groups/' + group + '/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n }\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n },\n\n\n /**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n getUsersFromList: function getUsersFromList(context, _ref9) {\n var offset = _ref9.offset,\n limit = _ref9.limit,\n search = _ref9.search;\n\n search = typeof search === 'string' ? search : '';\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/details?offset=' + offset + '&limit=' + limit + '&search=' + search, 2)).then(function (response) {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n },\n\n\n /**\n * Get all users with full details from a groupid\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n getUsersFromGroup: function getUsersFromGroup(context, _ref10) {\n var groupid = _ref10.groupid,\n offset = _ref10.offset,\n limit = _ref10.limit;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + groupid + '/details?offset=' + offset + '&limit=' + limit, 2)).then(function (response) {\n return context.commit('getUsersFromList', response.data.ocs.data.users);\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n },\n getPasswordPolicyMinLength: function getPasswordPolicyMinLength(context) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2)).then(function (response) {\n return context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data);\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n },\n\n\n /**\n * Add group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n addGroup: function addGroup(context, gid) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/groups', 2), { groupid: gid }).then(function (response) {\n return context.commit('addGroup', gid);\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n });\n },\n\n\n /**\n * Remove group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n removeGroup: function removeGroup(context, gid) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/groups', 2), { groupid: gid }).then(function (response) {\n return context.commit('removeGroup', gid);\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n });\n },\n\n\n /**\n * Add user to group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n addUserGroup: function addUserGroup(context, _ref11) {\n var userid = _ref11.userid,\n gid = _ref11.gid;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n return context.commit('addUserGroup', { userid: userid, gid: gid });\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n });\n },\n\n\n /**\n * Remove user from group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n removeUserGroup: function removeUserGroup(context, _ref12) {\n var userid = _ref12.userid,\n gid = _ref12.gid;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/groups', 2), { groupid: gid }).then(function (response) {\n return context.commit('removeUserGroup', { userid: userid, gid: gid });\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /**\n * Add user to group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n addUserSubAdmin: function addUserSubAdmin(context, _ref13) {\n var userid = _ref13.userid,\n gid = _ref13.gid;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n return context.commit('addUserSubAdmin', { userid: userid, gid: gid });\n }).catch(function (error) {\n return context.commit('API_FAILURE', error);\n });\n });\n },\n\n\n /**\n * Remove user from group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n removeUserSubAdmin: function removeUserSubAdmin(context, _ref14) {\n var userid = _ref14.userid,\n gid = _ref14.gid;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid + '/subadmins', 2), { groupid: gid }).then(function (response) {\n return context.commit('removeUserSubAdmin', { userid: userid, gid: gid });\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /**\n * Delete a user\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n deleteUser: function deleteUser(context, _ref15) {\n var userid = _ref15.userid;\n\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].delete(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n return context.commit('deleteUser', userid);\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /**\n * Add a user\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.password User password \n * @param {string} options.email User email\n * @param {string} options.groups User groups\n * @param {string} options.subadmin User subadmin groups\n * @param {string} options.quota User email\n * @returns {Promise}\n */\n addUser: function addUser(_ref16, _ref17) {\n var context = _ref16.context,\n dispatch = _ref16.dispatch;\n var userid = _ref17.userid,\n password = _ref17.password,\n email = _ref17.email,\n groups = _ref17.groups,\n subadmin = _ref17.subadmin,\n quota = _ref17.quota;\n\n console.log(subadmin, quota);\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].post(OC.linkToOCS('cloud/users', 2), { userid: userid, password: password, email: email, groups: groups, subadmin: subadmin, quota: quota }).then(function (response) {\n //let quotaDis = dispatch('setUserData', { userid, key: 'quota', value:quota });\n //let subadminDis = dispatch('addUserSubAdmin', userid);\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /**\n * Get user data and commit addition\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n addUserData: function addUserData(context, userid) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].get(OC.linkToOCS('cloud/users/' + userid, 2)).then(function (response) {\n return context.commit('addUserData', response);\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /** Enable or disable user \n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {boolean} options.enabled User enablement status\n * @returns {Promise}\n */\n enableDisableUser: function enableDisableUser(context, _ref18) {\n var userid = _ref18.userid,\n _ref18$enabled = _ref18.enabled,\n enabled = _ref18$enabled === undefined ? true : _ref18$enabled;\n\n var userStatus = enabled ? 'enable' : 'disable';\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid + '/' + userStatus, 2)).then(function (response) {\n return context.commit('enableDisableUser', { userid: userid, enabled: enabled });\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n },\n\n\n /**\n * Edit user data\n * \n * @param {Object} context \n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.key User field to edit\n * @param {string} options.value Value of the change\n * @returns {Promise}\n */\n setUserData: function setUserData(context, _ref19) {\n var userid = _ref19.userid,\n key = _ref19.key,\n value = _ref19.value;\n\n if (['email', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n // We allow empty email or displayname\n if (typeof value === 'string' && (['quota', 'password'].indexOf(key) !== -1 && value.length > 0 || ['email', 'displayname'].indexOf(key) !== -1)) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].requireAdmin().then(function (response) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].put(OC.linkToOCS('cloud/users/' + userid, 2), { key: key, value: value }).then(function (response) {\n return context.commit('setUserData', { userid: userid, key: key, value: value });\n }).catch(function (error) {\n return context.commit('API_FAILURE', { userid: userid, error: error });\n });\n });\n }\n }\n return Promise.reject(new Error('Invalid request data'));\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(55);\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar bind = __webpack_require__(18);\nvar Axios = __webpack_require__(57);\nvar defaults = __webpack_require__(5);\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(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(22);\naxios.CancelToken = __webpack_require__(71);\naxios.isCancel = __webpack_require__(21);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(72);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(5);\nvar utils = __webpack_require__(0);\nvar InterceptorManager = __webpack_require__(66);\nvar dispatchRequest = __webpack_require__(67);\n\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 = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\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(utils.merge(config || {}, {\n method: method,\n url: url\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(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(20);\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 // Note: status is not exposed by XDomainRequest\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\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\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 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\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\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\nvar transformData = __webpack_require__(68);\nvar isCancel = __webpack_require__(21);\nvar defaults = __webpack_require__(5);\nvar isAbsoluteURL = __webpack_require__(69);\nvar combineURLs = __webpack_require__(70);\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 // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\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(\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(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(0);\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 /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(22);\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\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n\n/***/ }),\n/* 73 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(17);\n\n\nvar state = {\n\tserverData: {}\n};\nvar mutations = {\n\tsetServerData: function setServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nvar getters = {\n\tgetServerData: function getServerData(state) {\n\t\treturn state.serverData;\n\t}\n};\nvar actions = {};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({ state: state, mutations: mutations, getters: getters, actions: actions });\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// main.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap feb07454ec6eea84b7a4","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\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 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 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 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 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.replace(/^\\s*/, '').replace(/\\s*$/, '');\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 */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\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 (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\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\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 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};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/utils.js\n// module id = 0\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.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 = 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 = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 1\n// module chunks = 0","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces 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\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a 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 a 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 the 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... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards 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/**\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/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string 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 (!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\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];\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 * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\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 = /[^\\w.$]/;\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;\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'].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 = (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\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 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 there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\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 vnode.children,\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.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 var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property 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(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 an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an 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 (\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 if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\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 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(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 var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\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 return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\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 (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\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 = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\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 var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, 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 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\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 && isObject(value) && ('@binding' in value))\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 if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\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\n/* */\n\nfunction handleError (err, vm, info) {\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}\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 logError(e, null, 'config.errorHandler');\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/* globals MessageChannel */\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 both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = 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} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\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 if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\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 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) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n 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 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) {\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 cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\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);\n }\n add(event.name, cur, event.once, 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 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 context\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 if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (isDef(factory.contexts)) {\n // already pending\n factory.contexts.push(context);\n } else {\n var contexts = factory.contexts = [context];\n var sync = true;\n\n var forceRender = function () {\n for (var i = 0, l = contexts.length; i < l; i++) {\n contexts[i].$forceUpdate();\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();\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();\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (typeof res.then === 'function') {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isDef(res.component) && typeof res.component.then === 'function') {\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 setTimeout(function () {\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender();\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n setTimeout(function () {\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, once) {\n if (once) {\n target.$once(event, fn);\n } else {\n target.$on(event, fn);\n }\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var this$1 = this;\n\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n this$1.$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 this$1 = this;\n\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 = 0, l = event.length; i < l; i++) {\n this$1.$off(event[i], 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 if (fn) {\n // specific handler\n var cb;\n var i$1 = cbs.length;\n while (i$1--) {\n cb = cbs[i$1];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i$1, 1);\n break\n }\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 for (var i = 0, l = cbs.length; i < l; i++) {\n try {\n cbs[i].apply(vm, args);\n } catch (e) {\n handleError(e, vm, (\"event handler for \\\"\" + event + \"\\\"\"));\n }\n }\n }\n return vm\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 var slots = {};\n if (!children) {\n return slots\n }\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\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res\n) {\n res = res || {};\n for (var i = 0; i < fns.length; i++) {\n if (Array.isArray(fns[i])) {\n resolveScopedSlots(fns[i], res);\n } else {\n res[fns[i].key] = fns[i].fn;\n }\n }\n return res\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\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 if (vm._isMounted) {\n callHook(vm, 'beforeUpdate');\n }\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var prevActiveInstance = activeInstance;\n activeInstance = 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__(\n vm.$el, vnode, hydrating, false /* removeOnly */,\n vm.$options._parentElm,\n vm.$options._refElm\n );\n // no need for the ref nodes after initial patch\n // this prevents keeping a detached DOM tree in memory (#5851)\n vm.$options._parentElm = vm.$options._refElm = null;\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n activeInstance = prevActiveInstance;\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, null, 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 var hasChildren = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n parentVnode.data.scopedSlots || // has new scoped slots\n vm.$scopedSlots !== emptyObject // has old scoped slots\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 (hasChildren) {\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 if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n try {\n handlers[i].call(vm);\n } catch (e) {\n handleError(e, vm, (hook + \" hook\"));\n }\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\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/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\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 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) {\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 nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\nvar uid$1 = 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 } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$1; // 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 = function () {};\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 this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n var dep = this$1.deps[i];\n if (!this$1.newDepIds.has(dep.id)) {\n dep.removeSub(this$1);\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 this$1 = this;\n\n var i = this.deps.length;\n while (i--) {\n this$1.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n var this$1 = this;\n\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$1.deps[i].removeSub(this$1);\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(props, key, value, function () {\n if (vm.$parent && !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(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 : userDef;\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : userDef.get\n : noop;\n sharedPropertyDefinition.set = userDef.set\n ? userDef.set\n : 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 initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (methods[key] == null) {\n warn(\n \"Method \\\"\" + key + \"\\\" has an undefined value 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] = methods[key] == null ? 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 (newData) {\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 cb.call(vm, watcher.value);\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\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(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(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).filter(function (key) {\n /* istanbul ignore next */\n return Object.getOwnPropertyDescriptor(inject, key).enumerable\n })\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\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 * 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 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 if (isDef(ret)) {\n (ret)._isVList = true;\n }\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 var slotNodes = this.$slots[name];\n // warn duplicate slot usage\n if (slotNodes) {\n if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {\n warn(\n \"Duplicate presence of slot \\\"\" + name + \"\\\" found in the same render tree \" +\n \"- this will likely cause render errors.\",\n this\n );\n }\n slotNodes._rendered = true;\n }\n nodes = slotNodes || 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 if (!(key 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 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}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\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 () { return resolveSlots(children, parent); };\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 = data.scopedSlots || emptyObject;\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)\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);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options) {\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 (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// Register the component hook to weex native render engine.\n// The hook will be triggered by native, not javascript.\n\n\n// Updates the state of the component to weex native render engine.\n\n/* */\n\n// https://github.com/Hanks10100/weex-native-directive/tree/master/component\n\n// listening on native callback\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (\n vnode,\n hydrating,\n parentElm,\n refElm\n ) {\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 parentElm,\n refElm\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, context);\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 // Weex specific: invoke recycle-list optimized @render function for\n // extracting cell-slot template.\n // https://github.com/Hanks10100/weex-native-directive/tree/master/component\n /* istanbul ignore if */\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 parentElm,\n refElm\n) {\n var options = {\n _isComponent: true,\n parent: parent,\n _parentVnode: vnode,\n _parentElm: parentElm || null,\n _refElm: refElm || null\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 hooks[key] = componentVNodeHooks[key];\n }\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';(data.props || (data.props = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n if (isDef(on[event])) {\n on[event] = [data.model.callback].concat(on[event]);\n } else {\n on[event] = data.model.callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if (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(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\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 // reset _rendered flag on slots for duplicate slot check\n if (process.env.NODE_ENV !== 'production') {\n for (var key in vm.$slots) {\n // $flow-disable-line\n vm.$slots[key]._rendered = false;\n }\n }\n\n if (_parentVnode) {\n vm.$scopedSlots = _parentVnode.data.scopedSlots || emptyObject;\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 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') {\n if (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 } else {\n vnode = vm._vnode;\n }\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\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 opts._parentElm = options._parentElm;\n opts._refElm = options._refElm;\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 extended = Ctor.extendOptions;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = dedupe(latest[key], extended[key], sealed[key]);\n }\n }\n return modified\n}\n\nfunction dedupe (latest, extended, sealed) {\n // compare latest and sealed to ensure lifecycle hooks won't be duplicated\n // between merges\n if (Array.isArray(latest)) {\n var res = [];\n sealed = Array.isArray(sealed) ? sealed : [sealed];\n extended = Array.isArray(extended) ? extended : [extended];\n for (var i = 0; i < latest.length; i++) {\n // push original options and not sealed options to exclude duplicated options\n if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {\n res.push(latest[i]);\n }\n }\n return res\n } else {\n return latest\n }\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\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 var this$1 = this;\n\n for (var key in this$1.cache) {\n pruneCacheEntry(this$1.cache, key, this$1.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\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\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.5.16';\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 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\n\nvar nodeOps = Object.freeze({\n\tcreateElement: createElement$1,\n\tcreateElementNS: createElementNS,\n\tcreateTextNode: createTextNode,\n\tcreateComment: createComment,\n\tinsertBefore: insertBefore,\n\tremoveChild: removeChild,\n\tappendChild: appendChild,\n\tparentNode: parentNode,\n\tnextSibling: nextSibling,\n\ttagName: tagName,\n\tsetTextContent: setTextContent,\n\tsetStyleScope: 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 () {\n if (--remove.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove.listeners = listeners;\n return remove\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 */, parentElm, refElm);\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 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 (ref$$1.parentNode === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <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);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\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);\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);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {\n if (oldVnode === vnode) {\n return\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 (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {\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, parentElm, refElm);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, 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$1 = 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$1,\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$1)) {\n removeVnodes(parentElm$1, [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 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, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');\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' && !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\nfunction baseWarn (msg) {\n console.error((\"[Vue compiler]: \" + msg));\n}\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) {\n (el.props || (el.props = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\nfunction addAttr (el, name, value) {\n (el.attrs || (el.attrs = [])).push({ name: name, value: value });\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value) {\n el.attrsMap[name] = value;\n el.attrsList.push({ name: name, value: value });\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n modifiers\n) {\n (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });\n el.plain = false;\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn\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 );\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = '!' + name; // mark the event as captured\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = '~' + name; // mark the event as once\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = '&' + name; // mark the event as passive\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 (name === 'click') {\n if (modifiers.right) {\n name = 'contextmenu';\n delete modifiers.right;\n } else if (modifiers.middle) {\n name = 'mouseup';\n }\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 = {\n value: value.trim()\n };\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 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\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: (\"\\\"\" + 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;\nvar str;\nvar chr;\nvar index$1;\nvar expressionPos;\nvar 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 );\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 );\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 );\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 (handler, event, 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\nfunction add$1 (\n event,\n handler,\n once$$1,\n capture,\n passive\n) {\n handler = withMacroTask(handler);\n if (once$$1) { handler = createOnceHandler(handler, event, capture); }\n target$1.addEventListener(\n event,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n event,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n event,\n handler._withTask || 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, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n}\n\n/* */\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 (isUndef(props[key])) {\n elm[key] = '';\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') {\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 {\n elm[key] = cur;\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.lazy) {\n // inputs with lazy should only be updated when not in focus\n return false\n }\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(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\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(/\\s+/).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(/\\s+/).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) {\n if (!def) {\n return\n }\n /* istanbul ignore else */\n if (typeof def === 'object') {\n var res = {};\n if (def.css !== false) {\n extend(res, autoCssTransition(def.name || 'v'));\n }\n extend(res, def);\n return res\n } else if (typeof def === 'string') {\n return autoCssTransition(def)\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 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\nfunction toMs (s) {\n return Number(s.slice(0, -1)) * 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 transitionNode = transitionNode.parent;\n context = transitionNode.context;\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) {\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\n// Provides transition support for a single element/component.\n// supports transition mode (out-in / in-out)\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 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(function (c) { return c.tag || isAsyncPlaceholder(c); });\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(function (d) { return d.name === 'show'; })) {\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\n// Provides transition support for list items.\n// supports move transitions using the FLIP technique.\n\n// Because the vdom's children update algorithm is \"unstable\" - i.e.\n// it doesn't guarantee the relative positioning of removed elements,\n// we force transition-group to update its children into two passes:\n// in the first pass, we remove all nodes that need to be removed,\n// triggering their leaving transition; in the second pass, we insert/move\n// into the final desired state. This way in the second pass removed\n// nodes will remain where they should be.\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\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 beforeUpdate: function beforeUpdate () {\n // force removing pass\n this.__patch__(\n this._vnode,\n this.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this._vnode = this.kept;\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 || /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 isChrome\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 = /\\{\\{((?:.|\\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 );\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 );\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/*!\n * HTML Parser By John Resig (ejohn.org)\n * Modified by Juriy \"kangax\" Zaytsev\n * Original code by Erik Arvidsson, Mozilla Public License\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\n// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName\n// but for Vue templates we can enforce a simple charset\nvar ncname = '[a-zA-Z_][\\\\w\\\\-\\\\.]*';\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 pased as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\nvar IS_REGEX_CAPTURING_BROKEN = false;\n'x'.replace(/x(.)?/g, function (m, g) {\n IS_REGEX_CAPTURING_BROKEN = g === '';\n});\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};\nvar encodedAttr = /&(?:lt|gt|quot|amp);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#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));\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(lastTag, 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 advance(textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n html = '';\n }\n\n if (options.chars && text) {\n options.chars(text);\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 + \"\\\"\"));\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(attribute))) {\n advance(attr[0].length);\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 // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778\n if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('\"\"') === -1) {\n if (args[3] === '') { delete args[3]; }\n if (args[4] === '') { delete args[4]; }\n if (args[5] === '') { delete args[5]; }\n }\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 }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });\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 if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n }\n\n // Find the closest opened tag of the same type\n if (tagName) {\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 );\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+(?:in|of)\\s+([^]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^v-bind:/;\nvar modifierRE = /\\.[^.]+/g;\n\nvar decodeHTMLCached = cached(he.decode);\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\n\n\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 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\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 root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg) {\n if (!warned) {\n warned = true;\n warn$2(msg);\n }\n }\n\n function closeElement (element) {\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 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 start: function start (tag, attrs, unary) {\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 (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 );\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 // element-scope stuff\n processElement(element, options);\n }\n\n function checkRootConstraints (el) {\n if (process.env.NODE_ENV !== 'production') {\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 );\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 );\n }\n }\n }\n\n // tree management\n if (!root) {\n root = element;\n checkRootConstraints(root);\n } else if (!stack.length) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n checkRootConstraints(element);\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 );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else if (element.slotScope) { // scoped slot\n currentParent.plain = false;\n var name = element.slotTarget || '\"default\"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n } else {\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end () {\n // remove trailing whitespace\n var element = stack[stack.length - 1];\n var lastNode = element.children[element.children.length - 1];\n if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {\n element.children.pop();\n }\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n closeElement(element);\n },\n\n chars: function chars (text) {\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 );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\")\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 text = inPre || text.trim()\n ? isTextTag(currentParent) ? text : decodeHTMLCached(text)\n // only preserve whitespace if its not right after a starting tag\n : preserveWhitespace && children.length ? ' ' : '';\n if (text) {\n var res;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n children.push({\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 children.push({\n type: 3,\n text: text\n });\n }\n }\n },\n comment: function comment (text) {\n currentParent.children.push({\n type: 3,\n text: text,\n isComment: true\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 l = el.attrsList.length;\n if (l) {\n var attrs = el.attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n attrs[i] = {\n name: el.attrsList[i].name,\n value: JSON.stringify(el.attrsList[i].value)\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 (element, options) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = !element.key && !element.attrsList.length;\n\n processRef(element);\n processSlot(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}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {\n warn$2(\"<template> cannot be keyed. Place the key on real elements instead.\");\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 );\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, '');\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 );\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 );\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\nfunction processSlot (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 );\n }\n } else {\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 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 true\n );\n }\n el.slotScope = slotScope;\n }\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\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);\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, isProp;\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);\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 isProp = false;\n if (modifiers) {\n if (modifiers.prop) {\n isProp = true;\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n genAssignmentCode(value, \"$event\")\n );\n }\n }\n if (isProp || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value);\n } else {\n addAttr(el, name, value);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n addHandler(el, name, value, modifiers, false, warn$2);\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 if (arg) {\n name = name.slice(0, -(arg.length + 1));\n }\n addDirective(el, name, rawName, value, arg, modifiers);\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 );\n }\n }\n addAttr(el, name, JSON.stringify(value));\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');\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);\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 );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\n/**\n * Expand input[v-model] with dyanmic type bindings into v-if-else chains\n * Turn this:\n * <input v-model=\"data[type]\" :type=\"type\">\n * into this:\n * <input v-if=\"type === 'checkbox'\" type=\"checkbox\" v-model=\"data[type]\">\n * <input v-else-if=\"type === 'radio'\" type=\"radio\" v-model=\"data[type]\">\n * <input v-else :type=\"type\" v-model=\"data[type]\">\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$2 = {\n preTransformNode: preTransformNode\n}\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$2\n]\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"));\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"));\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' +\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*\\(/;\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 esc: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: ' ',\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 'delete': ['Backspace', 'Delete']\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 warn\n) {\n var res = isNative ? 'nativeOn:{' : 'on:{';\n for (var name in events) {\n res += \"\\\"\" + name + \"\\\":\" + (genHandler(name, events[name])) + \",\";\n }\n return res.slice(0, -1) + '}'\n}\n\nfunction genHandler (\n name,\n handler\n) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n /* istanbul ignore if */\n return (\"function($event){\" + (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 : handler.value;\n /* istanbul ignore if */\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\"if(!('button' in $event)&&\" + (keys.map(genFilterCode).join('&&')) + \")return null;\")\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\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 !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\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.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) {\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 = el.plain ? undefined : genData$2(el, state);\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 state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\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 );\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 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, state.warn)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true, state.warn)) + \",\";\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.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 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.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('Inline-template components must have exactly one child element.');\n }\n if (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 slots,\n state\n) {\n return (\"scopedSlots:_u([\" + (Object.keys(slots).map(function (key) {\n return genScopedSlot(key, slots[key], state)\n }).join(',')) + \"])\")\n}\n\nfunction genScopedSlot (\n key,\n el,\n state\n) {\n if (el.for && !el.forProcessed) {\n return genForScopedSlot(key, el, state)\n }\n var fn = \"function(\" + (String(el.slotScope)) + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if\n ? ((el.if) + \"?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n return (\"{key:\" + key + \",fn:\" + fn + \"}\")\n}\n\nfunction genForScopedSlot (\n key,\n el,\n state\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 el.forProcessed = true; // avoid recursion\n return \"_l((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + (genScopedSlot(key, el, state)) +\n '})'\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 return (altGenElement || genElement)(el$1, state)\n }\n var normalizationType = 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 ? (\",\" + normalizationType) : ''))\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 } 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.attrs.map(function (a) { return ((camelize(a.name)) + \":\" + (a.value)); }).join(',')) + \"}\");\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 res = '';\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n /* istanbul ignore if */\n {\n res += \"\\\"\" + (prop.name) + \"\\\":\" + (transformSpecialNewlines(prop.value)) + \",\";\n }\n }\n return res.slice(0, -1)\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// 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) {\n var errors = [];\n if (ast) {\n checkNode(ast, errors);\n }\n return errors\n}\n\nfunction checkNode (node, errors) {\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 if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), errors);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), errors);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], errors);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, errors);\n }\n}\n\nfunction checkEvent (exp, text, errors) {\n var stipped = exp.replace(stripStringRE, '');\n var keywordMatch = stipped.match(unaryOperatorsRE);\n if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {\n errors.push(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim())\n );\n }\n checkExpression(exp, text, errors);\n}\n\nfunction checkFor (node, text, errors) {\n checkExpression(node.for || '', text, errors);\n checkIdentifier(node.alias, 'v-for alias', text, errors);\n checkIdentifier(node.iterator1, 'v-for iterator', text, errors);\n checkIdentifier(node.iterator2, 'v-for iterator', text, errors);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n errors\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n errors.push((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())));\n }\n }\n}\n\nfunction checkExpression (exp, text, errors) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n errors.push(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim())\n );\n } else {\n errors.push(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\"\n );\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 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 if (compiled.tips && compiled.tips.length) {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\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 finalOptions.warn = function (msg, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\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 var compiled = baseCompile(template, finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n errors.push.apply(errors, detectErrors(compiled.ast));\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 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 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue/dist/vue.esm.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\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') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\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)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\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\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/defaults.js\n// module id = 5\n// module chunks = 0","<template>\n\t<router-view></router-view>\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount: function () {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData');\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server));\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","<template>\n\t<div id=\"app\">\n\t\t<app-navigation :menu=\"menu\">\n\t\t\t<template slot=\"settings-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showLastLogin\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showLastLogin\" v-model=\"showLastLogin\">\n\t\t\t\t\t<label for=\"showLastLogin\">{{t('settings', 'Show last login')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showUserBackend\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showUserBackend\" v-model=\"showUserBackend\">\n\t\t\t\t\t<label for=\"showUserBackend\">{{t('settings', 'Show user backend')}}</label>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<input type=\"checkbox\" id=\"showStoragePath\" class=\"checkbox\"\n\t\t\t\t\t\t :checked=\"showStoragePath\" v-model=\"showStoragePath\">\n\t\t\t\t\t<label for=\"showStoragePath\">{{t('settings', 'Show storage path')}}</label>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</app-navigation>\n\t\t<user-list :users=\"users\" :showConfig=\"showConfig\" />\n\t</div>\n</template>\n\n<script>\nimport appNavigation from '../components/appNavigation';\nimport userList from '../components/userList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\tcomponents: {\n\t\tappNavigation,\n\t\tuserList\n\t},\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount\n\t\t});\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength');\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowConfig: {\n\t\t\t\tshowStoragePath: false,\n\t\t\t\tshowUserBackend: false,\n\t\t\t\tshowLastLogin: false,\n\t\t\t\tshowNewUserForm: false\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tthis.showConfig[key] = this.$localStorage.get(key) === 'true';\n\t\t\treturn this.showConfig[key];\n\t\t},\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.showConfig[key] = status;\n\t\t\tthis.$localStorage.set(key, status);\n\t\t\treturn status;\n\t\t}\n\t},\n\tcomputed: {\n\t\troute() {\n\t\t\treturn this.$store.getters.getRoute;\n\t\t},\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers;\n\t\t},\n\t\tloading() {\n\t\t\treturn Object.keys(this.users).length === 0;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\t\tshowLastLogin: {\n\t\t\tget: function() {return this.getLocalstorage('showLastLogin')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status);\n\t\t\t}\n\t\t},\n\t\tshowUserBackend: {\n\t\t\tget: function() {return this.getLocalstorage('showUserBackend')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status);\n\t\t\t}\n\t\t},\n\t\tshowStoragePath: {\n\t\t\tget: function() {return this.getLocalstorage('showStoragePath')},\n\t\t\tset: function(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status);\n\t\t\t}\n\t\t},\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount;\n\t\t},\n\t\tmenu() {\n\t\t\tlet self = this;\n\t\t\t// Data provided php side\n\t\t\tlet groups = this.$store.getters.getGroups;\n\t\t\tgroups = Array.isArray(groups) ? groups : [];\n\n\t\t\t// Map groups\n\t\t\tgroups = groups.map(group => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = group.id.replace(' ', '_');\n\t\t\t\titem.classes = [];\n\t\t\t\titem.href = '#group'+group.id.replace(' ', '_');\n\t\t\t\titem.text = group.name;\n\t\t\t\titem.utils = {counter: group.usercount};\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\t// Adjust data\n\t\t\tlet adminGroup = groups.find(group => group.id == 'admin');\n \t\tlet disabledGroup = groups.find(group => group.id == '_disabled');\n\t\t\tif (adminGroup.text) {\n\t\t\t\tadminGroup.text = t('settings', 'Admins');}\t\t\t// rename admin group\n\t\t\tif (disabledGroup.text) {\n\t\t\t\tdisabledGroup.text = t('settings', 'Disabled users');\t// rename disabled group\n\t\t\t\tif (disabledGroup.utils.counter === 0) {\n\t\t\t\t\tgroups.splice(groups.findIndex(group => group.id == '_disabled'), 1);\t\t\t\t\t\t\t// remove disabled if empty\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add everyone group\n\t\t\tgroups.unshift({\n\t\t\t\tid: '_everyone',\n\t\t\t\tclasses: [],\n\t\t\t\thref:'#group_everyone',\n\t\t\t\ttext: t('settings', 'Everyone'),\n\t\t\t\tutils: {counter: this.userCount}\n\t\t\t});\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = groups.findIndex(group => group.href === this.route.hash);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tgroups[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tgroups[0].classes.push('active');\n\t\t\t}\n\n\t\t\t// Return\n\t\t\treturn {\n\t\t\t\tid: 'usergrouplist',\n\t\t\t\tnew: {\n\t\t\t\t\tid:'new-user-button',\n\t\t\t\t\ttext: t('settings','New user'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: function(){self.showConfig.showNewUserForm=!self.showConfig.showNewUserForm}\n\t\t\t\t},\n\t\t\t\titems: groups\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/views/Users.vue","<template>\n\t<div id=\"app-navigation\">\n\t\t<div class=\"app-navigation-new\" v-if=\"menu.new\">\n\t\t\t<button type=\"button\" :id=\"menu.new.id\" :class=\"menu.new.icon\" @click=\"menu.new.action\">{{menu.new.text}}</button>\n\t\t</div>\n\t\t<ul :id=\"menu.id\">\n\t\t\t<navigation-item v-for=\"(item, key) in menu.items\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t\t<div id=\"app-settings\">\n\t\t\t<div id=\"app-settings-header\">\n\t\t\t\t<button class=\"settings-button\"\n\t\t\t\t\t\tdata-apps-slide-toggle=\"#app-settings-content\"\n\t\t\t\t>{{t('settings', 'Settings')}}</button>\n\t\t\t</div>\n\t\t\t<div id=\"app-settings-content\">\n\t\t\t\t<slot name=\"settings-content\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport navigationItem from './appNavigation/navigationItem';\n\nexport default {\n\tname: 'appNavigation',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tnavigationItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation.vue","<template>\n\t<li :id=\"item.id\" :class=\"[{'icon-loading-small': item.loading, 'open': item.opened, 'collapsible': item.collapsible&&item.children&&item.children.length>0 }, item.classes]\">\n\n\t\t<!-- Bullet -->\n\t\t<div v-if=\"item.bullet\" class=\"app-navigation-entry-bullet\" :style=\"{ backgroundColor: item.bullet }\"></div>\n\n\t\t<!-- Main link -->\n\t\t<a :href=\"(item.href) ? item.href : '#' \" @click=\"toggleCollapse\" :class=\"item.icon\" >{{item.text}}</a>\n\n\t\t<!-- Popover, counter and button(s) -->\n\t\t<div v-if=\"item.utils\" class=\"app-navigation-entry-utils\">\n\t\t\t<ul>\n\t\t\t\t<!-- counter -->\n\t\t\t\t<li v-if=\"Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-counter\">{{item.utils.counter}}</li>\n\n\t\t\t\t<!-- first action if only one action and counter -->\n\t\t\t\t<li v-if=\"item.utils.actions && item.utils.actions.length === 1 && Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button :class=\"item.utils.actions[0].icon\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- second action only two actions and no counter -->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length === 2 && !Number.isInteger(item.utils.counter)\"\n\t\t\t\t\tv-for=\"action in item.utils.actions\" :key=\"action.action\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button :class=\"action.icon\"></button>\n\t\t\t\t</li>\n\n\t\t\t\t<!-- menu if only at least one action and counter OR two actions and no counter-->\n\t\t\t\t<li v-else-if=\"item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t\t\tclass=\"app-navigation-entry-utils-menu-button\">\n\t\t\t\t\t<button v-click-outside=\"hideMenu\" @click=\"showMenu\" ></button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\n\t\t<!-- if more than 2 actions or more than 1 actions with counter -->\n\t\t<div v-if=\"item.utils && item.utils.actions && item.utils.actions.length > 1 && (Number.isInteger(item.utils.counter) || item.utils.actions.length > 2)\"\n\t\t\t class=\"app-navigation-entry-menu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t <popover-menu :menu=\"item.utils.actions\"/>\n\t\t</div>\n\n\t\t<!-- undo entry -->\n\t\t<div class=\"app-navigation-entry-deleted\" v-if=\"item.undo\">\n\t\t\t<div class=\"app-navigation-entry-deleted-description\">{{item.undo.text}}</div>\n\t\t\t<button class=\"app-navigation-entry-deleted-button icon-history\" :title=\"t('settings', 'Undo')\"></button>\n\t\t</div>\n\n\t\t<!-- edit entry -->\n\t\t<div class=\"app-navigation-entry-edit\" v-if=\"item.edit\">\n\t\t\t<form>\n\t\t\t\t<input type=\"text\" v-model=\"item.text\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-close\" @click.stop.prevent=\"cancelEdit\">\n\t\t\t</form>\n\t\t</div>\n\n\t\t<!-- if the item has children, inject the component with proper data -->\n\t\t<ul v-if=\"item.children\">\n\t\t\t<navigation-item v-for=\"(item, key) in item.children\" :item=\"item\" :key=\"key\" />\n\t\t</ul>\n\t</li>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\n\nexport default {\n\tname: 'navigationItem',\n\tprops: ['item'],\n\tcomponents: {\n\t\tpopoverMenu\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tdata () {\n\t\treturn {\n\t\t\topenedMenu: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowMenu () {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu () {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\t\ttoggleCollapse () {\n\t\t\t// if item.opened isn't set, Vue won't trigger view updates https://vuejs.org/v2/api/#Vue-set\n\t\t\t// ternary is here to detect the undefined state of item.opened\n\t\t\tVue.set(this.item, 'opened', this.item.opened ? !this.item.opened : true);\n\t\t},\n\t\tcancelEdit () {\n\t\t\t// remove the editing class\n\t\t\tif (Array.isArray(this.item.classes))\n\t\t\t\tthis.item.classes = this.item.classes.filter(item => item !== 'editing');\n\t\t}\n\t},\n\tmounted () {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/appNavigation/navigationItem.vue","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverMenu.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-24e4fcfe\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverMenu.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu.vue\n// module id = 10\n// module chunks = 0","<template>\n\t<ul>\n\t\t<popover-item v-for=\"(item, key) in menu\" :item=\"item\" :key=\"key\" />\n\t</ul>\n</template>\n\n\n<script>\nimport popoverItem from './popoverMenu/popoverItem';\n\nexport default {\n\tname: 'popoverMenu',\n\tprops: ['menu'],\n\tcomponents: {\n\t\tpopoverItem\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu.vue","<template>\n\t<li>\n\t\t<a @click=\"item.action\" v-if=\"item.href\" :href=\"(item.href) ? item.href : '#' \">\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span>{{item.text}}</span>\n\t\t</a>\n\t\t<button @click=\"item.action\" v-else>\n\t\t\t<span :class=\"item.icon\"></span>\n\t\t\t<span>{{item.text}}</span>\n\t\t</button>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tprops: ['item']\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/popoverMenu/popoverItem.vue","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-click-outside/index.js\n// module id = 13\n// module chunks = 0","<template>\n\t<div id=\"app-content\" class=\"user-list-grid\" v-on:scroll.passive=\"onScroll\">\n\t\t<div class=\"row\" id=\"grid-header\" :class=\"{'sticky': scrolled && !showConfig.showNewUserForm}\">\n\t\t\t<div id=\"headerAvatar\" class=\"avatar\"></div>\n\t\t\t<div id=\"headerName\" class=\"name\">{{ t('settings', 'Username') }}</div>\n\t\t\t<div id=\"headerDisplayName\" class=\"displayName\">{{ t('settings', 'Full name') }}</div>\n\t\t\t<div id=\"headerPassword\" class=\"password\">{{ t('settings', 'Password') }}</div>\n\t\t\t<div id=\"headerAddress\" class=\"mailAddress\">{{ t('settings', 'Email') }}</div>\n\t\t\t<div id=\"headerGroups\" class=\"groups\">{{ t('settings', 'Groups') }}</div>\n\t\t\t<div id=\"headerSubAdmins\" class=\"subadmins\"\n\t\t\t\t v-if=\"subAdminsGroups.length>0\">{{ t('settings', 'Group admin for') }}</div>\n\t\t\t<div id=\"headerQuota\" class=\"quota\">{{ t('settings', 'Quota') }}</div>\n\t\t\t<div class=\"headerStorageLocation storageLocation\"\n\t\t\t\t v-if=\"showConfig.showStoragePath\">{{ t('settings', 'Storage location') }}</div>\n\t\t\t<div class=\"headerUserBackend userBackend\"\n\t\t\t\t v-if=\"showConfig.showUserBackend\">{{ t('settings', 'User backend') }}</div>\n\t\t\t<div class=\"headerLastLogin lastLogin\" \n\t\t\t\t v-if=\"showConfig.showLastLogin\">{{ t('settings', 'Last login') }}</div>\n\t\t\t<div class=\"userActions\"></div>\n\t\t</div>\n\n\t\t<form class=\"row\" id=\"new-user\" v-show=\"showConfig.showNewUserForm\"\n\t\t\t v-on:submit.prevent=\"createUser\" :disabled=\"loading\"\n\t\t\t :class=\"{'sticky': scrolled && showConfig.showNewUserForm}\">\n\t\t\t<div :class=\"loading?'icon-loading-small':'icon-add'\"></div>\n\t\t\t<div class=\"name\">\n\t\t\t\t<input id=\"newusername\" type=\"text\" required v-model=\"newUser.id\"\n\t\t\t\t\t :placeholder=\"t('settings', 'User name')\" name=\"username\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t pattern=\"[a-zA-Z0-9 _\\.@\\-']+\">\n\t\t\t</div>\n\t\t\t<div class=\"displayName\">\n\t\t\t\t<input id=\"newdisplayname\" type=\"text\" v-model=\"newUser.displayName\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Display name')\" name=\"displayname\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"password\">\n\t\t\t\t<input id=\"newuserpassword\" type=\"password\" v-model=\"newUser.password\"\n\t\t\t\t\t :required=\"newUser.mailAddress===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Password')\" name=\"password\"\n\t\t\t\t\t autocomplete=\"new-password\" autocapitalize=\"none\" autocorrect=\"off\"\n\t\t\t\t\t :minlength=\"minPasswordLength\">\n\t\t\t</div>\n\t\t\t<div class=\"mailAddress\">\n\t\t\t\t<input id=\"newemail\" type=\"email\" v-model=\"newUser.mailAddress\"\n\t\t\t\t\t :required=\"newUser.password===''\"\n\t\t\t\t\t :placeholder=\"t('settings', 'Mail address')\" name=\"email\"\n\t\t\t\t\t autocomplete=\"off\" autocapitalize=\"none\" autocorrect=\"off\">\n\t\t\t</div>\n\t\t\t<div class=\"groups\">\n\t\t\t\t<multiselect :options=\"groups\" v-model=\"newUser.groups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\">\n\t\t\t\t<multiselect :options=\"subAdminsGroups\" v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\">\n\t\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"quota\">\n\t\t\t\t<multiselect :options=\"quotaOptions\" v-model=\"newUser.quota\"\n\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t \t @tag=\"validateQuota\" >\n\t\t\t\t</multiselect>\n\t\t\t</div>\n\t\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\"></div>\n\t\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\"></div>\n\t\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\"></div>\n\t\t\t<div class=\"userActions\">\n\t\t\t\t<input type=\"submit\" id=\"newsubmit\" class=\"button primary icon-checkmark-white has-tooltip\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Add a new user')\">\n\t\t\t\t<input type=\"reset\" id=\"newreset\" class=\"button icon-close has-tooltip\" @click=\"resetForm\"\n\t\t\t\t\t value=\"\" :title=\"t('settings', 'Cancel and reset the form')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<user-row v-for=\"(user, key) in filteredUsers\" :user=\"user\" :key=\"key\" :settings=\"settings\" :showConfig=\"showConfig\"\n\t\t\t\t :groups=\"groups\" :subAdminsGroups=\"subAdminsGroups\" :quotaOptions=\"quotaOptions\" />\n\t\t<infinite-loading @infinite=\"infiniteHandler\" ref=\"infiniteLoading\">\n\t\t\t<div slot=\"spinner\"><div class=\"users-icon-loading icon-loading\"></div></div>\n\t\t\t<div slot=\"no-more\"><div class=\"users-list-end\">— {{t('settings', 'no more results')}} —</div></div>\n\t\t\t<div slot=\"no-results\">\n\t\t\t\t<div id=\"emptycontent\">\n\t\t\t\t\t<div class=\"icon-contacts-dark\"></div>\n\t\t\t\t\t<h2>{{t('settings', 'No users in here')}}</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</infinite-loading>\n\t</div>\n</template>\n\n<script>\nimport userRow from './userList/userRow';\nimport Multiselect from 'vue-multiselect';\nimport InfiniteLoading from 'vue-infinite-loading';\n\nexport default {\n\tname: 'userList',\n\tprops: ['users', 'showConfig'],\n\tcomponents: {\n\t\tuserRow,\n\t\tMultiselect,\n\t\tInfiniteLoading\n\t},\n\tdata() {\n\t\tlet unlimitedQuota = {id:'none', label:t('settings', 'Unlimited')},\n\t\t\tdefaultQuota = {id:'default', label:t('settings', 'Default quota')};\n\t\treturn {\n\t\t\tunlimitedQuota: unlimitedQuota,\n\t\t\tdefaultQuota: defaultQuota,\n\t\t\tloading: false,\n\t\t\tscrolled: false,\n\t\t\tnewUser: {\n\t\t\t\tid:'',\n\t\t\t\tdisplayName:'',\n\t\t\t\tpassword:'',\n\t\t\t\tmailAddress:'',\n\t\t\t\tgroups: [],\n\t\t\t\tsubAdminsGroups: [],\n\t\t\t\tquota: defaultQuota\n\t\t\t}\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings','Password change is disabled because the master key is disabled'));\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\t\tfilteredUsers() {\n\t\t\tif (this.route.hash === '#group_disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled !== true);\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled === true);\n\t\t},\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups.filter(group => group.id !== '_disabled');\n\t\t},\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getServerData.subadmingroups;\n\t\t},\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tlet quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({id:cur, label:cur}), []);\n\t\t\t// add default presets\n\t\t\tquotaPreset.unshift(this.unlimitedQuota);\n\t\t\tquotaPreset.unshift(this.defaultQuota);\n\t\t\treturn quotaPreset;\n\t\t},\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t},\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset;\n\t\t},\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit;\n\t\t},\n\t\troute() {\n\t\t\treturn this.$store.getters.getRoute;\n\t\t},\n\t\t// get selected hash\n\t\tselectedGroup() {\n\t\t\tlet hash = this.route.hash;\n\t\t\tif (typeof hash === 'string' && hash.length > 0) {\n\t\t\t\t// we have a valid hash: groupXXXX\n\t\t\t\t// group_XXXX are reserved groups\n\t\t\t\tlet split = hash.split('group');\n\t\t\t\tif (split.length === 2 && split[1].charAt(0) !== '_') {\n\t\t\t\t\treturn hash.split('group')[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t},\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function (val, old) {\n\t\t\tthis.$store.commit('resetUsers');\n\t\t\tthis.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');\n\t\t}\n\t},\n\tmethods: {\n\t\tonScroll(event) {\n\t\t\tthis.scrolled = event.target.scrollTop>0;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota !== null && validQuota > 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n\t\t\t\treturn this.newUser.quota = {id: quota, label: quota};\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\treturn this.newUser.quota = this.quotaOptions[0];\n\t\t},\n\n\t\tinfiniteHandler($state) {\n\t\t\tthis.$store.dispatch('getUsers', {offset:this.usersOffset, limit:this.usersLimit, group:this.selectedGroup})\n\t\t\t\t.then((response) => {response?$state.loaded():$state.complete()});\n\t\t},\n\n\t\tresetForm () {\n\t\t\t// revert form to original state\n\t\t\tObject.assign(this.newUser, this.$options.data.call(this).newUser);\n\t\t\tthis.loading = false;\n },\n\t\tcreateUser() {\n\t\t\tthis.loading = true;\n\t\t\tthis.$store.dispatch('addUser', {\n\t\t\t\tuserid: this.newUser.id,\n\t\t\t\tpassword: this.newUser.password,\n\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\tquota: this.newUser.quota.id\n\t\t\t}).then(() => this.resetForm());\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList.vue","<template>\n\t<div class=\"row\" :class=\"{'disabled': loading.delete || loading.disable}\">\n\t\t<div class=\"avatar\" :class=\"{'icon-loading': loading.delete || loading.disable}\"><img alt=\"\" width=\"32\" height=\"32\" :src=\"generateAvatar(user.id, 32)\" :srcset=\"generateAvatar(user.id, 64)+' 2x, '+generateAvatar(user.id, 128)+' 4x'\"></div>\n\t\t<div class=\"name\">{{user.id}}</div>\n\t\t<form class=\"displayName\" :class=\"{'icon-loading-small': loading.displayName}\" v-on:submit.prevent=\"updateDisplayName\">\n\t\t\t<input :id=\"'displayName'+user.id+rand\" type=\"text\"\n\t\t\t\t\t:disabled=\"loading.displayName||loading.all\"\n\t\t\t\t\t:value=\"user.displayname\" ref=\"displayName\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<form class=\"password\" v-if=\"settings.canChangePassword\" :class=\"{'icon-loading-small': loading.password}\"\n\t\t\t v-on:submit.prevent=\"updatePassword\">\n\t\t\t<input :id=\"'password'+user.id+rand\" type=\"password\" required\n\t\t\t\t\t:disabled=\"loading.password||loading.all\" :minlength=\"minPasswordLength\"\n\t\t\t\t\tvalue=\"\" :placeholder=\"t('settings', 'New password')\" ref=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div v-else></div>\n\t\t<form class=\"mailAddress\" :class=\"{'icon-loading-small': loading.mailAddress}\" v-on:submit.prevent=\"updateEmail\">\n\t\t\t<input :id=\"'mailAddress'+user.id+rand\" type=\"email\"\n\t\t\t\t\t:disabled=\"loading.mailAddress||loading.all\"\n\t\t\t\t\t:value=\"user.email\" ref=\"mailAddress\"\n\t\t\t\t\tautocomplete=\"new-password\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" />\n\t\t\t<input type=\"submit\" class=\"icon-confirm\" value=\"\" />\n\t\t</form>\n\t\t<div class=\"groups\" :class=\"{'icon-loading-small': loading.groups}\">\n\t\t\t<multiselect :value=\"userGroups\" :options=\"groups\" :disabled=\"loading.groups||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Add user in group')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :taggable=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @tag=\"createGroup\" @select=\"addUserGroup\" @remove=\"removeUserGroup\">\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"subadmins\" v-if=\"subAdminsGroups.length>0\" :class=\"{'icon-loading-small': loading.subadmins}\">\n\t\t\t<multiselect :value=\"userSubAdminsGroups\" :options=\"subAdminsGroups\" :disabled=\"loading.subadmins||loading.all\"\n\t\t\t\t\t\t :placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :limit=\"2\" :limitText=\"limitGroups\"\n\t\t\t\t\t\t :multiple=\"true\" :closeOnSelect=\"false\"\n\t\t\t\t\t\t @select=\"addUserSubAdmin\" @remove=\"removeUserSubAdmin\">\n\t\t\t\t<span slot=\"noResult\">{{t('settings','No result')}}</span>\n\t\t\t</multiselect>\n\t\t</div>\n\t\t<div class=\"quota\" :class=\"{'icon-loading-small': loading.quota}\">\n\t\t\t<multiselect :value=\"userQuota\" :options=\"quotaOptions\" :disabled=\"loading.quota||loading.all\"\n\t\t\t\t\t\t tag-placeholder=\"create\" :placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t\t label=\"label\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t :allowEmpty=\"false\" :taggable=\"true\"\n\t\t\t\t\t\t @tag=\"validateQuota\" @input=\"setUserQuota\">\n\t\t\t</multiselect>\n\t\t\t<progress class=\"quota-user-progress\" :class=\"{'warn':usedQuota>80}\" :value=\"usedQuota\" max=\"100\"></progress>\n\t\t</div>\n\t\t<div class=\"storageLocation\" v-if=\"showConfig.showStoragePath\">{{user.storageLocation}}</div>\n\t\t<div class=\"userBackend\" v-if=\"showConfig.showUserBackend\">{{user.backend}}</div>\n\t\t<div class=\"lastLogin\" v-if=\"showConfig.showLastLogin\" :title=\"user.lastLogin>0 ? OC.Util.formatDate(user.lastLogin) : ''\">\n\t\t\t{{user.lastLogin>0 ? OC.Util.relativeModifiedDate(user.lastLogin) : t('settings','Never')}}\n\t\t</div>\n\t\t<div class=\"userActions\">\n\t\t\t<div class=\"toggleUserActions\" v-if=\"OC.currentUser !== user.id && user.id !== 'admin' && !loading.all\">\n\t\t\t\t<div class=\"icon-more\" v-click-outside=\"hideMenu\" @click=\"showMenu\"></div>\n\t\t\t\t<div class=\"popovermenu\" :class=\"{ 'open': openedMenu }\">\n\t\t\t\t\t<popover-menu :menu=\"userActions\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t</div>\n</template>\n\n<script>\nimport popoverMenu from '../popoverMenu';\nimport ClickOutside from 'vue-click-outside';\nimport Multiselect from 'vue-multiselect';\n//import Multiselect from '../../../node_modules/vue-multiselect/src/index';\n\nexport default {\n\tname: 'userRow',\n\tprops: ['user', 'settings', 'groups', 'subAdminsGroups', 'quotaOptions', 'showConfig'],\n\tcomponents: {\n\t\tpopoverMenu,\n\t\tMultiselect\n\t},\n\tdirectives: {\n\t\tClickOutside\n\t},\n\tmounted() {\n\t\t// prevent click outside event with popupItem.\n\t\tthis.popupItem = this.$el;\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trand: parseInt(Math.random() * 1000),\n\t\t\topenedMenu: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\t/* USER POPOVERMENU ACTIONS */\n\t\tuserActions() {\n\t\t\treturn [{\n\t\t\t\ticon: 'icon-delete',\n\t\t\t\ttext: t('settings','Delete user'),\n\t\t\t\taction: this.deleteUser\n\t\t\t},{\n\t\t\t\t'icon': this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t'text': this.user.enabled ? t('settings','Disable user') : t('settings','Enable user'),\n\t\t\t\t'action': this.enableDisableUser\n\t\t\t}]\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tlet userGroups = this.groups.filter(group => this.user.groups.includes(group.id));\n\t\t\treturn userGroups;\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tlet userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id));\n\t\t\treturn userSubAdminsGroups;\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota;\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n\t\t\t} else {\n\t\t\t\tvar usedInGB = this.user.quota.used / (10 * Math.pow(2, 30));\n\t\t\t\t//asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)));\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota;\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota > 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tlet humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n\t\t\t\tlet userQuota = this.quotaOptions.find(quota => quota.id === humanQuota);\n\t\t\t\treturn userQuota ? userQuota : {id:humanQuota, label:humanQuota};\n\t\t\t} else if (this.user.quota.quota === 0 || this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0];\n\t\t\t}\n\t\t\treturn this.quotaOptions[1]; // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength;\n\t\t}\n\t},\n\tmethods: {\n\t\t/* MENU HANDLING */\n\t\tshowMenu () {\n\t\t\tthis.openedMenu = true;\n\t\t},\n\t\thideMenu () {\n\t\t\tthis.openedMenu = false;\n\t\t},\n\n\t\t/**\n\t\t * Generate avatar url\n\t\t * \n\t\t * @param {string} user The user name\n\t\t * @param {int} size Size integer, default 32\n\t\t * @returns {string}\n\t\t */\n\t\tgenerateAvatar(user, size=32) {\n\t\t\treturn OC.generateUrl(\n\t\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t\t{\n\t\t\t\t\tuser: user,\n\t\t\t\t\tsize: size,\n\t\t\t\t\tversion: oc_userconfig.avatar.version\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\n\t\t/**\n\t\t * Format the limit text in the selected options\n\t\t * \n\t\t * @param {int} count elements left\n\t\t * @returns {string}\n\t\t */\n\t\tlimitGroups(count) {\n\t\t\treturn '+'+count;\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\treturn this.$store.dispatch('deleteUser', {userid})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true;\n\t\t\tthis.loading.all = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet enabled = !this.user.enabled;\n\t\t\treturn this.$store.dispatch('enableDisableUser', {userid, enabled})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t * \n\t\t * @param {string} displayName The display name\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tlet displayName = this.$refs.displayName.value;\n\t\t\tthis.loading.displayName = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: displayName\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false;\n\t\t\t\tthis.$refs.displayName.value = displayName;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t * \n\t\t * @param {string} password The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdatePassword() {\n\t\t\tlet password = this.$refs.password.value;\n\t\t\tthis.loading.password = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'password',\n\t\t\t\tvalue: password\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.password = false;\n\t\t\t\tthis.$refs.password.value = ''; // empty & show placeholder \n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t * \n\t\t * @param {string} mailAddress The email adress\n\t\t * @returns {Promise}\n\t\t */\n\t\tupdateEmail() {\n\t\t\tlet mailAddress = this.$refs.mailAddress.value;\n\t\t\tthis.loading.mailAddress = true;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'email',\n\t\t\t\tvalue: mailAddress\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.mailAddress = false;\n\t\t\t\tthis.$refs.mailAddress.value = mailAddress;\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t * \n\t\t * @param {string} groups Group id\n\t\t * @returns {Promise}\n\t\t */\n\t\tcreateGroup(gid) {\n\t\t\tthis.loading = {groups:true, subadmins:true}\n\t\t\tthis.$store.dispatch('addGroup', gid).then(() => {\n\t\t\t\tthis.loading = {groups:false, subadmins:false};\n\t\t\t\tlet userid = this.user.id;\n\t\t\t\tthis.$store.dispatch('addUserGroup', {userid, gid});\n\t\t\t});\n\t\t\treturn this.$store.getters.getGroups[this.groups.length];\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserGroup', {userid, gid})\n\t\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserGroup(group) {\n\t\t\tthis.loading.groups = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserGroup', {userid, gid})\n\t\t\t\t\t.then(() => this.loading.groups = false);\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\taddUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('addUserSubAdmin', {userid, gid})\n\t\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t * \n\t\t * @param {object} group Group object\n\t\t * @returns {Promise}\n\t\t */\n\t\tremoveUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true;\n\t\t\tlet userid = this.user.id;\n\t\t\tlet gid = group.id;\n\t\t\treturn this.$store.dispatch('removeUserSubAdmin', {userid, gid})\n\t\t\t\t\t.then(() => this.loading.subadmins = false);\n\t\t},\n\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string|Object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @returns {string}\n\t\t */\n\t\tsetUserQuota(quota = 'none') {\n\t\t\tthis.loading.quota = true;\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota;\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id, \n\t\t\t\tkey: 'quota',\n\t\t\t\tvalue: quota\n\t\t\t}).then(() => this.loading.quota = false);\n\t\t\treturn quota;\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t * \n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @returns {Promise|boolean}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tlet validQuota = OC.Util.computerFileSize(quota);\n\t\t\tif (validQuota === 0) {\n\t\t\t\treturn this.setUserQuota('none');\n\t\t\t} else if (validQuota !== null) {\n\t\t\t\t// unify format output\n\t\t\t\treturn this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n\t\t\t}\n\t\t\t// if no valid doo not change\n\t\t\treturn false;\n\t\t}\n\t}\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/userList/userRow.vue","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=66)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&\"function\"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)(\"wks\"),r=n(16),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&\"function\"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)(\"keys\"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)(\"wks\"),r=n(58),o=n(9).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,prefferedOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){this.multiple||this.clearOnSelect||console.warn(\"[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false.\"),!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit(\"select\",o,this.id),this.$emit(\"input\",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n=\"object\"===f()(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var i=this.internalValue.slice(0,n).concat(this.internalValue.slice(n+1));this.$emit(\"input\",i,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.prefferedOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(59);n.n(i);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?\"multiselect__option--group\":\"multiselect__option--disabled\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",O=\"values\"==y,L=!1,P=t.prototype,k=P[p]||P[\"@@iterator\"]||y&&P[y],E=k||w(y),j=y?O?w(\"entries\"):E:void 0,V=\"Array\"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&\"values\"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w(\"values\"),keys:g?E:w(\"keys\"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(42)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(76).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)(\"find\")},function(t,e,n){\"use strict\";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i=\"function\"==typeof s&&\"symbol\"==typeof o?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":typeof t})(t)}function r(e){return\"function\"==typeof s&&\"symbol\"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&\"function\"==typeof s&&t.constructor===s&&t!==s.prototype?\"symbol\":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,\"Multiselect\",function(){return i.a}),n.d(e,\"multiselectMixin\",function(){return r.a}),n.d(e,\"pointerMixin\",function(){return o.a}),e.default=i.a},function(t,e,n){\"use strict\";var i=n(39),r=n(40);e.a={name:\"vue-multiselect\",mixins:[i.a,r.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return this.singleValue&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"auto\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f(\"iterator\")},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)(\"meta\"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){\"use strict\";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){\"use strict\";var i=n(87)(!0);n(44)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h(\"_hidden\"),D=h(\"toPrimitive\"),F={}.propertyIsEnumerable,M=c(\"symbol-registry\"),B=c(\"symbols\"),N=c(\"op-symbols\"),R=Object.prototype,H=\"function\"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&\"symbol\"==typeof C.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,\"toString\",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,\"propertyIsEnumerable\",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,\"Symbol\",{for:function(t){return r(M,t+=\"\")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,\"Object\",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return\"[null]\"!=A([t])||\"{}\"!=A({a:t})||\"{}\"!=A(Object(t))})),\"JSON\",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],\"function\"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)},function(t,e,n){n(32)(\"asyncIterator\")},function(t,e,n){n(32)(\"observable\")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)(\"toStringTag\"),u=[\"NodeList\",\"DOMTokenList\",\"MediaList\",\"StyleSheetList\",\"CSSRuleList\"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){\"use strict\";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u=\"[\"+s+\"]\",a=\"
\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e){t.exports=\"\\t\\n\\v\\f\\r \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,\"Array\",{isArray:n(54)})},function(t,e,n){\"use strict\";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(112)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}],keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e){return[t._t(\"tag\",[n(\"span\",{staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keydown:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),n(\"input\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen&&t.searchable,expression:\"isOpen && searchable\"}],ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"off\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,\"ArrowDown\"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,\"ArrowUp\"))return null;e.preventDefault(),t.pointerBackward()},function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[n(\"span\",{staticClass:\"multiselect__single\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-multiselect/dist/vue-multiselect.min.js\n// module id = 16\n// module chunks = 0","import axios from 'axios';\n\nconst requestToken = document.getElementsByTagName('head')[0].getAttribute('data-requesttoken');\nconst tokenHeaders = { headers: { requesttoken: requestToken } };\n\nconst sanitize = function(url) {\n return url.replace(/\\/$/, ''); // Remove last slash of url\n}\n\nexport default {\n requireAdmin() {\n return new Promise(function(resolve, reject) {\n setTimeout(reject, 5000); // automatically reject 5s if not ok\n function waitForpassword() {\n if (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n setTimeout(waitForpassword, 500);\n return;\n }\n resolve();\n }\n waitForpassword();\n OC.PasswordConfirmation.requirePasswordConfirmation();\n }).catch((error) => console.log('Required password not entered'));\n },\n get(url) {\n return axios.get(sanitize(url), tokenHeaders)\n .then((response) => Promise.resolve(response))\n .catch((error) => Promise.reject(error));\n },\n post(url, data) {\n return axios.post(sanitize(url), data, tokenHeaders)\n .then((response) => Promise.resolve(response))\n .catch((error) => Promise.reject(error));\n },\n patch(url, data) {\n return axios.patch(sanitize(url), data, tokenHeaders)\n .then((response) => Promise.resolve(response))\n .catch((error) => Promise.reject(error));\n },\n put(url, data) {\n return axios.put(sanitize(url), data, tokenHeaders)\n .then((response) => Promise.resolve(response))\n .catch((error) => Promise.reject(error));\n },\n delete(url, data) {\n return axios.delete(sanitize(url), { data: data, headers: tokenHeaders.headers })\n .then((response) => Promise.resolve(response))\n .catch((error) => Promise.reject(error));\n }\n};\n\n\n// WEBPACK FOOTER //\n// ./src/store/api.js","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/bind.js\n// module id = 18\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\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\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\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\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : 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 // 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 reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, '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 var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && 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 (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\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 === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/adapters/xhr.js\n// module id = 19\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/createError.js\n// module id = 20\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/isCancel.js\n// module id = 21\n// module chunks = 0","'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\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/Cancel.js\n// module id = 22\n// module chunks = 0","import Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App.vue';\nimport router from './router';\nimport store from './store';\n\nsync(store, router);\n\n// bind to window\nVue.prototype.t = t;\nVue.prototype.OC = OC;\nVue.prototype.oc_userconfig = oc_userconfig;\n\nconst app = new Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#content');\n\nexport { app, router, store };\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, 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(window, 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 `setimmeidate` 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/timers-browserify/main.js\n// module id = 24\n// module chunks = 0","(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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/setimmediate/setImmediate.js\n// module id = 25\n// module chunks = 0","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex-router-sync/index.js\n// module id = 26\n// module chunks = 0","var normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4449563d\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 27\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4449563d\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 28\n// module chunks = 0","import Vue from 'vue';\nimport Router from 'vue-router';\nimport Users from './views/Users';\n\nVue.use(Router);\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * /settings/main.php, where the vue-router will ensure\n * the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n mode: 'history',\n base: window.location.pathName,\n routes: [{\n path: '/settings/users',\n component: Users\n }]\n});\n\n\n// WEBPACK FOOTER //\n// ./src/router.js","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-router/dist/vue-router.esm.js\n// module id = 30\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-804a726e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Users.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Users.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-804a726e\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Users.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/Users.vue\n// module id = 31\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-804a726e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/sass-loader/lib/loader.js!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Users.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"087588a9\", content, true, {});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-804a726e\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/views/Users.vue\n// module id = 32\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-804a726e\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/views/Users.vue\n// module id = 33\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader/lib/css-base.js\n// module id = 34\n// module chunks = 0","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = require('./listToStyles')\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader/lib/addStylesClient.js\n// module id = 35\n// module chunks = 0","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader/lib/listToStyles.js\n// module id = 36\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./appNavigation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1c64885e\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./appNavigation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation.vue\n// module id = 37\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./navigationItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dbbe39b4\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./navigationItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/appNavigation/navigationItem.vue\n// module id = 38\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./popoverItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-33c03567\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./popoverItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/popoverMenu/popoverItem.vue\n// module id = 39\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[(_vm.item.href)?_c('a',{attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.item.text))])]):_c('button',{on:{\"click\":_vm.item.action}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.item.text))])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-33c03567\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu/popoverItem.vue\n// module id = 40\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',_vm._l((_vm.menu),function(item,key){return _c('popover-item',{key:key,attrs:{\"item\":item}})}))}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-24e4fcfe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/popoverMenu.vue\n// module id = 41\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:[{'icon-loading-small': _vm.item.loading, 'open': _vm.item.opened, 'collapsible': _vm.item.collapsible&&_vm.item.children&&_vm.item.children.length>0 }, _vm.item.classes],attrs:{\"id\":_vm.item.id}},[(_vm.item.bullet)?_c('div',{staticClass:\"app-navigation-entry-bullet\",style:({ backgroundColor: _vm.item.bullet })}):_vm._e(),_vm._v(\" \"),_c('a',{class:_vm.item.icon,attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#'},on:{\"click\":_vm.toggleCollapse}},[_vm._v(_vm._s(_vm.item.text))]),_vm._v(\" \"),(_vm.item.utils)?_c('div',{staticClass:\"app-navigation-entry-utils\"},[_c('ul',[(Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-counter\"},[_vm._v(_vm._s(_vm.item.utils.counter))]):_vm._e(),_vm._v(\" \"),(_vm.item.utils.actions && _vm.item.utils.actions.length === 1 && Number.isInteger(_vm.item.utils.counter))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:_vm.item.utils.actions[0].icon})]):(_vm.item.utils.actions && _vm.item.utils.actions.length === 2 && !Number.isInteger(_vm.item.utils.counter))?_vm._l((_vm.item.utils.actions),function(action){return _c('li',{key:action.action,staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{class:action.icon})])}):(_vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('li',{staticClass:\"app-navigation-entry-utils-menu-button\"},[_c('button',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],on:{\"click\":_vm.showMenu}})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(_vm.item.utils && _vm.item.utils.actions && _vm.item.utils.actions.length > 1 && (Number.isInteger(_vm.item.utils.counter) || _vm.item.utils.actions.length > 2))?_c('div',{staticClass:\"app-navigation-entry-menu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.item.utils.actions}})],1):_vm._e(),_vm._v(\" \"),(_vm.item.undo)?_c('div',{staticClass:\"app-navigation-entry-deleted\"},[_c('div',{staticClass:\"app-navigation-entry-deleted-description\"},[_vm._v(_vm._s(_vm.item.undo.text))]),_vm._v(\" \"),_c('button',{staticClass:\"app-navigation-entry-deleted-button icon-history\",attrs:{\"title\":_vm.t('settings', 'Undo')}})]):_vm._e(),_vm._v(\" \"),(_vm.item.edit)?_c('div',{staticClass:\"app-navigation-entry-edit\"},[_c('form',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.text),expression:\"item.text\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.item.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"text\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-close\",attrs:{\"type\":\"submit\",\"value\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.cancelEdit($event)}}})])]):_vm._e(),_vm._v(\" \"),(_vm.item.children)?_c('ul',_vm._l((_vm.item.children),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-dbbe39b4\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation/navigationItem.vue\n// module id = 42\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-navigation\"}},[(_vm.menu.new)?_c('div',{staticClass:\"app-navigation-new\"},[_c('button',{class:_vm.menu.new.icon,attrs:{\"type\":\"button\",\"id\":_vm.menu.new.id},on:{\"click\":_vm.menu.new.action}},[_vm._v(_vm._s(_vm.menu.new.text))])]):_vm._e(),_vm._v(\" \"),_c('ul',{attrs:{\"id\":_vm.menu.id}},_vm._l((_vm.menu.items),function(item,key){return _c('navigation-item',{key:key,attrs:{\"item\":item}})})),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings\"}},[_c('div',{attrs:{\"id\":\"app-settings-header\"}},[_c('button',{staticClass:\"settings-button\",attrs:{\"data-apps-slide-toggle\":\"#app-settings-content\"}},[_vm._v(_vm._s(_vm.t('settings', 'Settings')))])]),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"app-settings-content\"}},[_vm._t(\"settings-content\")],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1c64885e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/appNavigation.vue\n// module id = 43\n// module chunks = 0","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./userList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1e9cb6d5\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./userList.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList.vue\n// module id = 44\n// module chunks = 0","var normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./userRow.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1aafa1fa\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./userRow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/userList/userRow.vue\n// module id = 45\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\",class:{'disabled': _vm.loading.delete || _vm.loading.disable}},[_c('div',{staticClass:\"avatar\",class:{'icon-loading': _vm.loading.delete || _vm.loading.disable}},[_c('img',{attrs:{\"alt\":\"\",\"width\":\"32\",\"height\":\"32\",\"src\":_vm.generateAvatar(_vm.user.id, 32),\"srcset\":_vm.generateAvatar(_vm.user.id, 64)+' 2x, '+_vm.generateAvatar(_vm.user.id, 128)+' 4x'}})]),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.user.id))]),_vm._v(\" \"),_c('form',{staticClass:\"displayName\",class:{'icon-loading-small': _vm.loading.displayName},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateDisplayName($event)}}},[_c('input',{ref:\"displayName\",attrs:{\"id\":'displayName'+_vm.user.id+_vm.rand,\"type\":\"text\",\"disabled\":_vm.loading.displayName||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.displayname}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),(_vm.settings.canChangePassword)?_c('form',{staticClass:\"password\",class:{'icon-loading-small': _vm.loading.password},on:{\"submit\":function($event){$event.preventDefault();return _vm.updatePassword($event)}}},[_c('input',{ref:\"password\",attrs:{\"id\":'password'+_vm.user.id+_vm.rand,\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.loading.password||_vm.loading.all,\"minlength\":_vm.minPasswordLength,\"value\":\"\",\"placeholder\":_vm.t('settings', 'New password'),\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):_c('div'),_vm._v(\" \"),_c('form',{staticClass:\"mailAddress\",class:{'icon-loading-small': _vm.loading.mailAddress},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateEmail($event)}}},[_c('input',{ref:\"mailAddress\",attrs:{\"id\":'mailAddress'+_vm.user.id+_vm.rand,\"type\":\"email\",\"disabled\":_vm.loading.mailAddress||_vm.loading.all,\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.user.email}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",class:{'icon-loading-small': _vm.loading.groups}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userGroups,\"options\":_vm.groups,\"disabled\":_vm.loading.groups||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"taggable\":true,\"closeOnSelect\":false},on:{\"tag\":_vm.createGroup,\"select\":_vm.addUserGroup,\"remove\":_vm.removeUserGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",class:{'icon-loading-small': _vm.loading.subadmins}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userSubAdminsGroups,\"options\":_vm.subAdminsGroups,\"disabled\":_vm.loading.subadmins||_vm.loading.all,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"limit\":2,\"limitText\":_vm.limitGroups,\"multiple\":true,\"closeOnSelect\":false},on:{\"select\":_vm.addUserSubAdmin,\"remove\":_vm.removeUserSubAdmin}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",class:{'icon-loading-small': _vm.loading.quota}},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.userQuota,\"options\":_vm.quotaOptions,\"disabled\":_vm.loading.quota||_vm.loading.all,\"tag-placeholder\":\"create\",\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota,\"input\":_vm.setUserQuota}}),_vm._v(\" \"),_c('progress',{staticClass:\"quota-user-progress\",class:{'warn':_vm.usedQuota>80},attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.usedQuota}})],1),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"},[_vm._v(_vm._s(_vm.user.storageLocation))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"},[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\",attrs:{\"title\":_vm.user.lastLogin>0 ? _vm.OC.Util.formatDate(_vm.user.lastLogin) : ''}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.user.lastLogin>0 ? _vm.OC.Util.relativeModifiedDate(_vm.user.lastLogin) : _vm.t('settings','Never'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[(_vm.OC.currentUser !== _vm.user.id && _vm.user.id !== 'admin' && !_vm.loading.all)?_c('div',{staticClass:\"toggleUserActions\"},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideMenu),expression:\"hideMenu\"}],staticClass:\"icon-more\",on:{\"click\":_vm.showMenu}}),_vm._v(\" \"),_c('div',{staticClass:\"popovermenu\",class:{ 'open': _vm.openedMenu }},[_c('popover-menu',{attrs:{\"menu\":_vm.userActions}})],1)]):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1aafa1fa\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList/userRow.vue\n// module id = 46\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueInfiniteLoading=t():e.VueInfiniteLoading=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var a=i[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var i={};return t.m=e,t.c=i,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,\"a\",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=3)}([function(e,t){function i(e,t){var i=e[1]||\"\",a=e[3];if(!a)return i;if(t&&\"function\"==typeof btoa){var r=n(a);return[i].concat(a.sources.map(function(e){return\"/*# sourceURL=\"+a.sourceRoot+e+\" */\"})).concat([r]).join(\"\\n\")}return[i].join(\"\\n\")}function n(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=i(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n}).join(\"\")},t.i=function(e,i){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var n={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(n[r]=!0)}for(a=0;a<e.length;a++){var o=e[a];\"number\"==typeof o[0]&&n[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]=\"(\"+o[2]+\") and (\"+i+\")\"),t.push(o))}},t}},function(e,t,i){function n(e){for(var t=0;t<e.length;t++){var i=e[t],n=f[i.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](i.parts[a]);for(;a<i.parts.length;a++)n.parts.push(r(i.parts[a]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{for(var o=[],a=0;a<i.parts.length;a++)o.push(r(i.parts[a]));f[i.id]={id:i.id,refs:1,parts:o}}}}function a(){var e=document.createElement(\"style\");return e.type=\"text/css\",c.appendChild(e),e}function r(e){var t,i,n=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(n){if(m)return h;n.parentNode.removeChild(n)}if(b){var r=p++;n=u||(u=a()),t=o.bind(null,n,r,!1),i=o.bind(null,n,r,!0)}else n=a(),t=s.bind(null,n),i=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else i()}}function o(e,t,i,n){var a=i?\"\":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,a);else{var r=document.createTextNode(a),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(r,o[t]):e.appendChild(r)}}function s(e,t){var i=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute(\"media\",n),a&&(i+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var l=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!l)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var d=i(7),f={},c=l&&(document.head||document.getElementsByTagName(\"head\")[0]),u=null,p=0,m=!1,h=function(){},b=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,i){m=i;var a=d(e,t);return n(a),function(t){for(var i=[],r=0;r<a.length;r++){var o=a[r],s=f[o.id];s.refs--,i.push(s)}t?(a=d(e,t),n(a)):a=[];for(var r=0;r<i.length;r++){var s=i[r];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete f[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,i,n,a,r){var o,s=e=e||{},l=typeof e.default;\"object\"!==l&&\"function\"!==l||(o=e,s=e.default);var d=\"function\"==typeof s?s.options:s;t&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0),i&&(d.functional=!0),a&&(d._scopeId=a);var f;if(r?(f=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},d._ssrRegister=f):n&&(f=n),f){var c=d.functional,u=c?d.render:d.beforeCreate;c?(d._injectStyles=f,d.render=function(e,t){return f.call(t),u(e,t)}):d.beforeCreate=u?[].concat(u,f):[f]}return{esModule:o,exports:s,options:d}}},function(e,t,i){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(4);t.default=n.a,\"undefined\"!=typeof window&&window.Vue&&window.Vue.component(\"infinite-loading\",n.a)},function(e,t,i){\"use strict\";function n(e){i(5)}var a=i(8),r=i(14),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-fb2c869e\",null);t.a=l.exports},function(e,t,i){var n=i(6);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"2249d7a7\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,\".infinite-loading-container[data-v-fb2c869e]{clear:both;text-align:center}.infinite-loading-container[data-v-fb2c869e] [class^=loading-]{display:inline-block;margin:15px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.infinite-status-prompt[data-v-fb2c869e]{color:#666;font-size:14px;text-align:center;padding:10px 0}\",\"\"])},function(e,t){e.exports=function(e,t){for(var i=[],n={},a=0;a<t.length;a++){var r=t[a],o=r[0],s=r[1],l=r[2],d=r[3],f={id:e+\":\"+a,css:s,media:l,sourceMap:d};n[o]?n[o].parts.push(f):i.push(n[o]={id:o,parts:[f]})}return i}},function(e,t,i){\"use strict\";var n=i(9),a={STATE_CHANGER:[\"[Vue-infinite-loading warn]: emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"[Vue-infinite-loading warn]: `:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\"},r={INFINITE_LOOP:[\"[Vue-infinite-loading error]: executed the callback function more than 10 times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\",'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper to true --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\"true\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")};t.a={name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isLoading:!1,isComplete:!1,isFirstLoad:!0,debounceTimer:null,debounceDuration:50,infiniteLoopChecked:!1,infiniteLoopTimer:null,continuousCallTimes:0}},components:{Spinner:n.a},computed:{isNoResults:{cache:!1,get:function(){var e=this.$slots[\"no-results\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&this.isFirstLoad&&!t}},isNoMore:{cache:!1,get:function(){var e=this.$slots[\"no-more\"],t=e&&e[0].elm&&\"\"===e[0].elm.textContent;return!this.isLoading&&this.isComplete&&!this.isFirstLoad&&!t}}},props:{distance:{type:Number,default:100},onInfinite:Function,spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:null},mounted:function(){var e=this;this.scrollParent=this.getScrollParent(),this.scrollHandler=function(e){this.isLoading||(clearTimeout(this.debounceTimer),e&&e.constructor===Event?this.debounceTimer=setTimeout(this.attemptLoad,this.debounceDuration):this.attemptLoad())}.bind(this),setTimeout(this.scrollHandler,1),this.scrollParent.addEventListener(\"scroll\",this.scrollHandler),this.$on(\"$InfiniteLoading:loaded\",function(t){e.isFirstLoad=!1,e.isLoading&&e.$nextTick(e.attemptLoad.bind(null,!0)),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:complete\",function(t){e.isLoading=!1,e.isComplete=!0,e.$nextTick(function(){e.$forceUpdate()}),e.scrollParent.removeEventListener(\"scroll\",e.scrollHandler),t&&t.target===e||console.warn(a.STATE_CHANGER)}),this.$on(\"$InfiniteLoading:reset\",function(){e.isLoading=!1,e.isComplete=!1,e.isFirstLoad=!0,e.scrollParent.addEventListener(\"scroll\",e.scrollHandler),setTimeout(e.scrollHandler,1)}),this.onInfinite&&console.warn(a.INFINITE_EVENT),this.stateChanger={loaded:function(){e.$emit(\"$InfiniteLoading:loaded\",{target:e})},complete:function(){e.$emit(\"$InfiniteLoading:complete\",{target:e})},reset:function(){e.$emit(\"$InfiniteLoading:reset\",{target:e})}},this.$watch(\"forceUseInfiniteWrapper\",function(){e.scrollParent=e.getScrollParent()})},deactivated:function(){this.isLoading=!1,this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler)},methods:{attemptLoad:function(e){var t=this,i=this.getCurrentDistance();!this.isComplete&&i<=this.distance&&this.$el.offsetWidth+this.$el.offsetHeight>0?(this.isLoading=!0,\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!e||this.forceUseInfiniteWrapper||this.infiniteLoopChecked||(this.continuousCallTimes+=1,clearTimeout(this.infiniteLoopTimer),this.infiniteLoopTimer=setTimeout(function(){t.infiniteLoopChecked=!0},1e3),this.continuousCallTimes>10&&(console.error(r.INFINITE_LOOP),this.infiniteLoopChecked=!0))):this.isLoading=!1},getCurrentDistance:function(){var e=void 0;if(\"top\"===this.direction)e=isNaN(this.scrollParent.scrollTop)?this.scrollParent.pageYOffset:this.scrollParent.scrollTop;else{e=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom)}return e},getScrollParent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el,t=void 0;return\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e),t||this.getScrollParent(e.parentNode)}},destroyed:function(){this.isComplete||this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler)}}},function(e,t,i){\"use strict\";function n(e){i(10)}var a=i(12),r=i(13),o=i(2),s=n,l=o(a.a,r.a,!1,s,\"data-v-6e1fd88f\",null);t.a=l.exports},function(e,t,i){var n=i(11);\"string\"==typeof n&&(n=[[e.i,n,\"\"]]),n.locals&&(e.exports=n.locals);i(1)(\"29881045\",n,!0)},function(e,t,i){t=e.exports=i(0)(void 0),t.push([e.i,'.loading-wave-dots[data-v-6e1fd88f]{position:relative}.loading-wave-dots[data-v-6e1fd88f] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite;animation:loading-wave-dots-data-v-6e1fd88f linear 2.8s infinite}.loading-wave-dots[data-v-6e1fd88f] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-6e1fd88f] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-6e1fd88f{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-6e1fd88f] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-6e1fd88f linear .75s infinite;animation:loading-circles-data-v-6e1fd88f linear .75s infinite}.loading-circles[data-v-6e1fd88f] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-6e1fd88f] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-6e1fd88f{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-6e1fd88f] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite;animation:loading-bubbles-data-v-6e1fd88f linear .75s infinite}.loading-bubbles[data-v-6e1fd88f] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-6e1fd88f{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-6e1fd88f]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite;animation:loading-rotating-data-v-6e1fd88f ease 1.5s infinite}.loading-default[data-v-6e1fd88f]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-6e1fd88f]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-6e1fd88f linear .85s infinite;animation:loading-rotating-data-v-6e1fd88f linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-6e1fd88f{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-6e1fd88f],.loading-circles[data-v-6e1fd88f]{position:relative}.loading-bubbles[data-v-6e1fd88f] .bubble-item,.loading-circles[data-v-6e1fd88f] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(2),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(3),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(4),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(5),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(6),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:nth-child(7),.loading-circles[data-v-6e1fd88f] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-6e1fd88f] .bubble-item:last-child,.loading-circles[data-v-6e1fd88f] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(e,t,i){\"use strict\";var n={BUBBLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"bubble-item\"}})}))}},CIRCLES:{render:function(e){return e(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map(function(){return e(\"span\",{attrs:{class:\"circle-item\"}})}))}},DEFAULT:{render:function(e){return e(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(e){return e(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(e){return e(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map(function(){return e(\"span\",{attrs:{class:\"wave-item\"}})}))}}};t.a={name:\"spinner\",computed:{spinnerView:function(){return n[(this.spinner||\"\").toUpperCase()]||n.DEFAULT}},props:{spinner:String}}},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.spinnerView,{tag:\"component\"})},a=[],r={render:n,staticRenderFns:a};t.a=r},function(e,t,i){\"use strict\";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"infinite-loading-container\"},[i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isLoading,expression:\"isLoading\"}]},[e._t(\"spinner\",[i(\"spinner\",{attrs:{spinner:e.spinner}})])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoResults,expression:\"isNoResults\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-results\",[e._v(\"No results :(\")])],2),e._v(\" \"),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.isNoMore,expression:\"isNoMore\"}],staticClass:\"infinite-status-prompt\"},[e._t(\"no-more\",[e._v(\"No more data :)\")])],2)])},a=[],r={render:n,staticRenderFns:a};t.a=r}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js\n// module id = 47\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-list-grid\",attrs:{\"id\":\"app-content\"},on:{\"&scroll\":function($event){return _vm.onScroll($event)}}},[_c('div',{staticClass:\"row\",class:{'sticky': _vm.scrolled && !_vm.showConfig.showNewUserForm},attrs:{\"id\":\"grid-header\"}},[_c('div',{staticClass:\"avatar\",attrs:{\"id\":\"headerAvatar\"}}),_vm._v(\" \"),_c('div',{staticClass:\"name\",attrs:{\"id\":\"headerName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Username')))]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\",attrs:{\"id\":\"headerDisplayName\"}},[_vm._v(_vm._s(_vm.t('settings', 'Full name')))]),_vm._v(\" \"),_c('div',{staticClass:\"password\",attrs:{\"id\":\"headerPassword\"}},[_vm._v(_vm._s(_vm.t('settings', 'Password')))]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\",attrs:{\"id\":\"headerAddress\"}},[_vm._v(_vm._s(_vm.t('settings', 'Email')))]),_vm._v(\" \"),_c('div',{staticClass:\"groups\",attrs:{\"id\":\"headerGroups\"}},[_vm._v(_vm._s(_vm.t('settings', 'Groups')))]),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\",attrs:{\"id\":\"headerSubAdmins\"}},[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\",attrs:{\"id\":\"headerQuota\"}},[_vm._v(_vm._s(_vm.t('settings', 'Quota')))]),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"headerStorageLocation storageLocation\"},[_vm._v(_vm._s(_vm.t('settings', 'Storage location')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"headerUserBackend userBackend\"},[_vm._v(_vm._s(_vm.t('settings', 'User backend')))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"headerLastLogin lastLogin\"},[_vm._v(_vm._s(_vm.t('settings', 'Last login')))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"})]),_vm._v(\" \"),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfig.showNewUserForm),expression:\"showConfig.showNewUserForm\"}],staticClass:\"row\",class:{'sticky': _vm.scrolled && _vm.showConfig.showNewUserForm},attrs:{\"id\":\"new-user\",\"disabled\":_vm.loading},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser($event)}}},[_c('div',{class:_vm.loading?'icon-loading-small':'icon-add'}),_vm._v(\" \"),_c('div',{staticClass:\"name\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.id),expression:\"newUser.id\"}],attrs:{\"id\":\"newusername\",\"type\":\"text\",\"required\":\"\",\"placeholder\":_vm.t('settings', 'User name'),\"name\":\"username\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\"},domProps:{\"value\":(_vm.newUser.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"id\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"displayName\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.displayName),expression:\"newUser.displayName\"}],attrs:{\"id\":\"newdisplayname\",\"type\":\"text\",\"placeholder\":_vm.t('settings', 'Display name'),\"name\":\"displayname\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.displayName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"displayName\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.password),expression:\"newUser.password\"}],attrs:{\"id\":\"newuserpassword\",\"type\":\"password\",\"required\":_vm.newUser.mailAddress==='',\"placeholder\":_vm.t('settings', 'Password'),\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"minlength\":_vm.minPasswordLength},domProps:{\"value\":(_vm.newUser.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"password\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"mailAddress\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newUser.mailAddress),expression:\"newUser.mailAddress\"}],attrs:{\"id\":\"newemail\",\"type\":\"email\",\"required\":_vm.newUser.password==='',\"placeholder\":_vm.t('settings', 'Mail address'),\"name\":\"email\",\"autocomplete\":\"off\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":(_vm.newUser.mailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"groups\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"placeholder\":_vm.t('settings', 'Add user in group'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.groups),callback:function ($$v) {_vm.$set(_vm.newUser, \"groups\", $$v)},expression:\"newUser.groups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1),_vm._v(\" \"),(_vm.subAdminsGroups.length>0)?_c('div',{staticClass:\"subadmins\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings','No result')))])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"quota\"},[_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"label\":\"label\",\"track-by\":\"id\",\"allowEmpty\":false,\"taggable\":true},on:{\"tag\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('div',{staticClass:\"storageLocation\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend)?_c('div',{staticClass:\"userBackend\"}):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('div',{staticClass:\"lastLogin\"}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"userActions\"},[_c('input',{staticClass:\"button primary icon-checkmark-white has-tooltip\",attrs:{\"type\":\"submit\",\"id\":\"newsubmit\",\"value\":\"\",\"title\":_vm.t('settings', 'Add a new user')}}),_vm._v(\" \"),_c('input',{staticClass:\"button icon-close has-tooltip\",attrs:{\"type\":\"reset\",\"id\":\"newreset\",\"value\":\"\",\"title\":_vm.t('settings', 'Cancel and reset the form')},on:{\"click\":_vm.resetForm}})])]),_vm._v(\" \"),_vm._l((_vm.filteredUsers),function(user,key){return _c('user-row',{key:key,attrs:{\"user\":user,\"settings\":_vm.settings,\"showConfig\":_vm.showConfig,\"groups\":_vm.groups,\"subAdminsGroups\":_vm.subAdminsGroups,\"quotaOptions\":_vm.quotaOptions}})}),_vm._v(\" \"),_c('infinite-loading',{ref:\"infiniteLoading\",on:{\"infinite\":_vm.infiniteHandler}},[_c('div',{attrs:{\"slot\":\"spinner\"},slot:\"spinner\"},[_c('div',{staticClass:\"users-icon-loading icon-loading\"})]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-more\"},slot:\"no-more\"},[_c('div',{staticClass:\"users-list-end\"},[_vm._v(\"— \"+_vm._s(_vm.t('settings', 'no more results'))+\" —\")])]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"no-results\"},slot:\"no-results\"},[_c('div',{attrs:{\"id\":\"emptycontent\"}},[_c('div',{staticClass:\"icon-contacts-dark\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No users in here')))])])])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1e9cb6d5\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/userList.vue\n// module id = 48\n// module chunks = 0","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-localstorage/dist/vue-local-storage.js\n// module id = 49\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('app-navigation',{attrs:{\"menu\":_vm.menu}},[_c('template',{slot:\"settings-content\"},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showLastLogin),expression:\"showLastLogin\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showLastLogin\"},domProps:{\"checked\":_vm.showLastLogin,\"checked\":Array.isArray(_vm.showLastLogin)?_vm._i(_vm.showLastLogin,null)>-1:(_vm.showLastLogin)},on:{\"change\":function($event){var $$a=_vm.showLastLogin,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showLastLogin=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showLastLogin=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showLastLogin=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showLastLogin\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show last login')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showUserBackend),expression:\"showUserBackend\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showUserBackend\"},domProps:{\"checked\":_vm.showUserBackend,\"checked\":Array.isArray(_vm.showUserBackend)?_vm._i(_vm.showUserBackend,null)>-1:(_vm.showUserBackend)},on:{\"change\":function($event){var $$a=_vm.showUserBackend,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showUserBackend=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showUserBackend=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showUserBackend=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showUserBackend\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show user backend')))])]),_vm._v(\" \"),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showStoragePath),expression:\"showStoragePath\"}],staticClass:\"checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"showStoragePath\"},domProps:{\"checked\":_vm.showStoragePath,\"checked\":Array.isArray(_vm.showStoragePath)?_vm._i(_vm.showStoragePath,null)>-1:(_vm.showStoragePath)},on:{\"change\":function($event){var $$a=_vm.showStoragePath,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showStoragePath=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showStoragePath=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showStoragePath=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"showStoragePath\"}},[_vm._v(_vm._s(_vm.t('settings', 'Show storage path')))])])])],2),_vm._v(\" \"),_c('user-list',{attrs:{\"users\":_vm.users,\"showConfig\":_vm.showConfig}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-804a726e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/Users.vue\n// module id = 50\n// module chunks = 0","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport users from './users';\nimport settings from './settings';\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production';\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\tconsole.log(state, error);\n\t}\n};\n\nconst getters = {\n getRoute(state) {\n return state.route;\n\t}\n};\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tsettings\n\t},\n\tstrict: debug,\n\n\tmutations,\n\tgetters\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vuex/dist/vuex.esm.js\n// module id = 52\n// module chunks = 0","import api from './api';\n\nconst orderGroups = function(groups, orderBy) {\n /* const SORT_USERCOUNT = 1;\n * const SORT_GROUPNAME = 2;\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\n if (orderBy === 1) {\n return groups.sort((a, b) => a.usercount < b.usercount);\n } else {\n return groups.sort((a, b) => a.name.localeCompare(b.name));\n }\n}\n\nconst state = {\n users: [],\n groups: [],\n orderBy: 1,\n minPasswordLength: 0,\n usersOffset: 0,\n usersLimit: 25,\n userCount: 0\n};\n\nconst mutations = {\n appendUsers(state, usersObj) {\n // convert obj to array\n let users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]));\n state.usersOffset += state.usersLimit;\n state.users = users;\n },\n setPasswordPolicyMinLength(state, length) {\n state.minPasswordLength = length!=='' ? length : 0;\n },\n initGroups(state, {groups, orderBy, userCount}) {\n state.groups = groups;\n state.orderBy = orderBy;\n state.userCount = userCount;\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n addGroup(state, groupid) {\n try {\n state.groups.push({\n id: groupid,\n name: groupid,\n usercount: 0 // user will be added after the creation\n });\n state.groups = orderGroups(state.groups, state.orderBy);\n } catch (e) {\n console.log('Can\\'t create group', e);\n }\n },\n addUserGroup(state, { userid, gid }) {\n // this should not be needed as it would means the user contains a group\n // the server database doesn't have.\n let group = state.groups.find(groupSearch => groupSearch.id == gid);\n if (group) {\n group.usercount++; // increase count\n }\n let groups = state.users.find(user => user.id == userid).groups;\n groups.push(gid);\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n removeUserGroup(state, { userid, gid }) {\n // this should not be needed as it would means the user contains a group\n // the server database doesn't have.\n let group = state.groups.find(groupSearch => groupSearch.id == gid);\n if (group) {\n group.usercount--; // lower count\n }\n let groups = state.users.find(user => user.id == userid).groups;\n groups.splice(groups.indexOf(gid),1);\n state.groups = orderGroups(state.groups, state.orderBy);\n },\n addUserSubAdmin(state, { userid, gid }) {\n let groups = state.users.find(user => user.id == userid).subadmin;\n groups.push(gid);\n },\n removeUserSubAdmin(state, { userid, gid }) {\n let groups = state.users.find(user => user.id == userid).subadmin;\n groups.splice(groups.indexOf(gid),1);\n },\n deleteUser(state, userid) {\n let userIndex = state.users.findIndex(user => user.id == userid);\n state.users.splice(userIndex, 1);\n },\n addUserData(state, response) {\n state.users.push(response.data.ocs.data);\n },\n enableDisableUser(state, { userid, enabled }) {\n state.users.find(user => user.id == userid).enabled = enabled;\n // increment or not\n state.groups.find(group => group.id == '_disabled').usercount += enabled ? -1 : 1;\n state.userCount += enabled ? 1 : -1;\n console.log(enabled);\n },\n setUserData(state, { userid, key, value }) {\n if (key === 'quota') {\n let humanValue = OC.Util.computerFileSize(value);\n state.users.find(user => user.id == userid)[key][key] = humanValue?humanValue:value;\n } else {\n state.users.find(user => user.id == userid)[key] = value;\n }\n },\n\n /**\n * Reset users list\n */\n resetUsers(state) {\n state.users = [];\n state.usersOffset = 0;\n }\n};\n\nconst getters = {\n getUsers(state) {\n return state.users;\n },\n getGroups(state) {\n return state.groups;\n },\n getPasswordPolicyMinLength(state) {\n return state.minPasswordLength;\n },\n getUsersOffset(state) {\n return state.usersOffset;\n },\n getUsersLimit(state) {\n return state.usersLimit;\n },\n getUserCount(state) {\n return state.userCount;\n }\n};\n\nconst actions = {\n\n /**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @param {string} options.search Search amongst users\n * @param {string} options.group Get users from group\n * @returns {Promise}\n */\n getUsers(context, { offset, limit, search, group }) {\n search = typeof search === 'string' ? search : '';\n group = typeof group === 'string' ? group : '';\n if (group !== '') {\n return api.get(OC.linkToOCS(`cloud/groups/${group}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n .then((response) => {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n })\n .catch((error) => context.commit('API_FAILURE', error));\n }\n\n return api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n .then((response) => {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n })\n .catch((error) => context.commit('API_FAILURE', error));\n },\n\n /**\n * Get all users with full details\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n getUsersFromList(context, { offset, limit, search }) {\n search = typeof search === 'string' ? search : '';\n return api.get(OC.linkToOCS(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n .then((response) => {\n if (Object.keys(response.data.ocs.data.users).length > 0) {\n context.commit('appendUsers', response.data.ocs.data.users);\n return true;\n }\n return false;\n })\n .catch((error) => context.commit('API_FAILURE', error));\n },\n\n /**\n * Get all users with full details from a groupid\n * \n * @param {Object} context\n * @param {Object} options\n * @param {int} options.offset List offset to request\n * @param {int} options.limit List number to return from offset\n * @returns {Promise}\n */\n getUsersFromGroup(context, { groupid, offset, limit }) {\n return api.get(OC.linkToOCS(`cloud/users/${groupid}/details?offset=${offset}&limit=${limit}`, 2))\n .then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n .catch((error) => context.commit('API_FAILURE', error));\n },\n \n\n getPasswordPolicyMinLength(context) {\n return api.get(OC.linkToOCS('apps/provisioning_api/api/v1/config/apps/password_policy/minLength', 2))\n .then((response) => context.commit('setPasswordPolicyMinLength', response.data.ocs.data.data))\n .catch((error) => context.commit('API_FAILURE', error));\n },\n\n /**\n * Add group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n addGroup(context, gid) {\n return api.requireAdmin().then((response) => {\n return api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n .then((response) => context.commit('addGroup', gid))\n .catch((error) => context.commit('API_FAILURE', error));\n });\n },\n\n /**\n * Remove group\n * \n * @param {Object} context\n * @param {string} gid Group id\n * @returns {Promise}\n */\n removeGroup(context, gid) {\n return api.requireAdmin().then((response) => {\n return api.post(OC.linkToOCS(`cloud/groups`, 2), {groupid: gid})\n .then((response) => context.commit('removeGroup', gid))\n .catch((error) => context.commit('API_FAILURE', error));\n });\n },\n\n /**\n * Add user to group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n addUserGroup(context, { userid, gid }) {\n return api.requireAdmin().then((response) => {\n return api.post(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n .then((response) => context.commit('addUserGroup', { userid, gid }))\n .catch((error) => context.commit('API_FAILURE', error));\n });\n },\n\n /**\n * Remove user from group\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n removeUserGroup(context, { userid, gid }) {\n return api.requireAdmin().then((response) => {\n return api.delete(OC.linkToOCS(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n .then((response) => context.commit('removeUserGroup', { userid, gid }))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /**\n * Add user to group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n addUserSubAdmin(context, { userid, gid }) {\n return api.requireAdmin().then((response) => {\n return api.post(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n .then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n .catch((error) => context.commit('API_FAILURE', error));\n });\n },\n\n /**\n * Remove user from group admin\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.gid Group id\n * @returns {Promise}\n */\n removeUserSubAdmin(context, { userid, gid }) {\n return api.requireAdmin().then((response) => {\n return api.delete(OC.linkToOCS(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n .then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /**\n * Delete a user\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n deleteUser(context, { userid }) {\n return api.requireAdmin().then((response) => {\n return api.delete(OC.linkToOCS(`cloud/users/${userid}`, 2))\n .then((response) => context.commit('deleteUser', userid))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /**\n * Add a user\n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.password User password \n * @param {string} options.email User email\n * @param {string} options.groups User groups\n * @param {string} options.subadmin User subadmin groups\n * @param {string} options.quota User email\n * @returns {Promise}\n */\n addUser({context, dispatch}, { userid, password, email, groups, subadmin, quota }) {\n console.log(subadmin, quota);\n return api.requireAdmin().then((response) => {\n return api.post(OC.linkToOCS(`cloud/users`, 2), { userid, password, email, groups, subadmin, quota })\n .then((response) => {\n //let quotaDis = dispatch('setUserData', { userid, key: 'quota', value:quota });\n //let subadminDis = dispatch('addUserSubAdmin', userid);\n })\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /**\n * Get user data and commit addition\n * \n * @param {Object} context\n * @param {string} userid User id \n * @returns {Promise}\n */\n addUserData(context, userid) {\n return api.requireAdmin().then((response) => {\n return api.get(OC.linkToOCS(`cloud/users/${userid}`, 2))\n .then((response) => context.commit('addUserData', response))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /** Enable or disable user \n * \n * @param {Object} context\n * @param {Object} options\n * @param {string} options.userid User id\n * @param {boolean} options.enabled User enablement status\n * @returns {Promise}\n */\n enableDisableUser(context, { userid, enabled = true }) {\n let userStatus = enabled ? 'enable' : 'disable';\n return api.requireAdmin().then((response) => {\n return api.put(OC.linkToOCS(`cloud/users/${userid}/${userStatus}`, 2))\n .then((response) => context.commit('enableDisableUser', { userid, enabled }))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n },\n\n /**\n * Edit user data\n * \n * @param {Object} context \n * @param {Object} options\n * @param {string} options.userid User id\n * @param {string} options.key User field to edit\n * @param {string} options.value Value of the change\n * @returns {Promise}\n */\n setUserData(context, { userid, key, value }) {\n if (['email', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n // We allow empty email or displayname\n if (typeof value === 'string' &&\n (\n (['quota', 'password'].indexOf(key) !== -1 && value.length > 0) ||\n ['email', 'displayname'].indexOf(key) !== -1\n )\n ) {\n return api.requireAdmin().then((response) => {\n return api.put(OC.linkToOCS(`cloud/users/${userid}`, 2), { key: key, value: value })\n .then((response) => context.commit('setUserData', { userid, key, value }))\n .catch((error) => context.commit('API_FAILURE', { userid, error }));\n });\n }\n }\n return Promise.reject(new Error('Invalid request data'));\n }\n};\n\nexport default { state, mutations, getters, actions };\n\n\n// WEBPACK FOOTER //\n// ./src/store/users.js","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/index.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\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(utils.merge(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\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/axios.js\n// module id = 55\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is-buffer/index.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\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 = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\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(utils.merge(config || {}, {\n method: method,\n url: url\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(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/Axios.js\n// module id = 57\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 58\n// module chunks = 0","'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 // Note: status is not exposed by XDomainRequest\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/settle.js\n// module id = 59\n// module chunks = 0","'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 error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/enhanceError.js\n// module id = 60\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\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 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/buildURL.js\n// module id = 61\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 62\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 63\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/btoa.js\n// module id = 64\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/cookies.js\n// module id = 65\n// module chunks = 0","'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) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/InterceptorManager.js\n// module id = 66\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\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 // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\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(\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(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/dispatchRequest.js\n// module id = 67\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\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 /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/transformData.js\n// module id = 68\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 69\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/combineURLs.js\n// module id = 70\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/CancelToken.js\n// module id = 71\n// module chunks = 0","'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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/spread.js\n// module id = 72\n// module chunks = 0","import api from './api';\n\nconst state = {\n\tserverData: {}\n};\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data;\n\t}\n};\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData;\n\t}\n}\nconst actions = {}\n\nexport default {state, mutations, getters, actions};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/settings.js"],"sourceRoot":""} |