From ccaa593a446917d36c97a3e314a9d79e7f1a862f Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 2 Feb 2021 18:02:03 +0100 Subject: [PATCH] Make user list pagination more tolerant In case the server returns more results than expected by the limit, it is now still interpreted as there being more results to query. This situation can happen when there are multiple user backends in place. Signed-off-by: Vincent Petry --- apps/settings/js/vue-settings-apps-users-management.js | 4 ++-- apps/settings/js/vue-settings-apps-users-management.js.map | 2 +- apps/settings/src/store/users.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/settings/js/vue-settings-apps-users-management.js b/apps/settings/js/vue-settings-apps-users-management.js index b6f7c0f89e..ca8a4e401d 100644 --- a/apps/settings/js/vue-settings-apps-users-management.js +++ b/apps/settings/js/vue-settings-apps-users-management.js @@ -1,2 +1,2 @@ -!function(t){function e(e){for(var n,o,i=e[0],a=e[1],s=0,u=[];s0?o(r(t),9007199254740991):0}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(37),o=n(18);t.exports=function(t){return r(o(t))}},function(t,e,n){"use strict";n.r(e),function(t,n){var r=Object.freeze({});function o(t){return null==t}function i(t){return null!=t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function c(t){return null!==t&&"object"==typeof t}var u=Object.prototype.toString;function f(t){return"[object Object]"===u.call(t)}function l(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||f(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function _(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var O=/-(\w)/g,E=w((function(t){return t.replace(O,(function(t,e){return e?e.toUpperCase():""}))})),x=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,C=w((function(t){return t.replace(A,"-$1").toLowerCase()}));var S=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function I(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function j(t){for(var e={},n=0;n0,J=W&&W.indexOf("edge/")>0,Q=(W&&W.indexOf("android"),W&&/iphone|ipad|ipod|ios/.test(W)||"ios"===X),Z=(W&&/chrome\/\d+/.test(W),W&&/phantomjs/.test(W),W&&W.match(/firefox\/(\d+)/)),tt={}.watch,et=!1;if(V)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===z&&(z=!V&&!q&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),z},ot=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function it(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&it(Symbol)&&"undefined"!=typeof Reflect&&it(Reflect.ownKeys);at="undefined"!=typeof Set&&it(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ct=k,ut=0,ft=function(){this.id=ut++,this.subs=[]};ft.prototype.addSub=function(t){this.subs.push(t)},ft.prototype.removeSub=function(t){g(this.subs,t)},ft.prototype.depend=function(){ft.target&&ft.target.addDep(this)},ft.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(i&&!_(o,"default"))a=!1;else if(""===a||a===C(t)){var c=Bt(String,o.type);(c<0||s0&&(fe((c=t(c,(n||"")+"_"+r))[0])&&fe(f)&&(l[u]=yt(f.text+c[0].text),c.shift()),l.push.apply(l,c)):s(c)?fe(f)?l[u]=yt(f.text+c):""!==c&&l.push(yt(c)):fe(c)&&fe(f)?l[u]=yt(f.text+c.text):(a(e._isVList)&&i(c.tag)&&o(c.key)&&i(n)&&(c.key="__vlist"+n+"_"+r+"__"),l.push(c)));return l}(t):void 0}function fe(t){return i(t)&&i(t.text)&&!1===t.isComment}function le(t,e){if(t){for(var n=Object.create(null),r=st?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==r&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var c in o={},t)t[c]&&"$"!==c[0]&&(o[c]=ve(e,c,t[c]))}else o={};for(var u in e)u in o||(o[u]=me(e,u));return t&&Object.isExtensible(t)&&(t._normalized=o),B(o,"$stable",a),B(o,"$key",s),B(o,"$hasNormal",i),o}function ve(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:ue(t))&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function me(t,e){return function(){return t[e]}}function ye(t,e){var n,r,o,a,s;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,o=t.length;rdocument.createEvent("Event").timeStamp&&(cn=function(){return un.now()})}function fn(){var t,e;for(sn=cn(),on=!0,tn.sort((function(t,e){return t.id-e.id})),an=0;anan&&tn[n].id>t.id;)n--;tn.splice(n+1,0,t)}else tn.push(t);rn||(rn=!0,ee(fn))}}(this)},pn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Ht(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},pn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},pn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},pn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var dn={enumerable:!0,configurable:!0,get:k,set:k};function hn(t,e,n){dn.get=function(){return this[e][n]},dn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,dn)}function vn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&Et(!1);var i=function(i){o.push(i);var a=Dt(i,e,n,t);Ct(r,i,a),i in t||hn(t,"_props",i)};for(var a in e)i(a);Et(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]="function"!=typeof e[n]?k:S(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;f(e=t._data="function"==typeof e?function(t,e){pt();try{return t.call(e,e)}catch(t){return Ht(t,e,"data()"),{}}finally{dt()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);for(;o--;){var i=n[o];0,r&&_(r,i)||(a=void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&hn(t,"_data",i))}var a;At(e,!0)}(t):At(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new pn(t,a||k,k,mn)),o in t||yn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==tt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function Sn(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=An(a.componentOptions);s&&!e(s)&&In(n,i,r,o)}}}function In(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=wn++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Nt(On(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&We(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=pe(e._renderChildren,o),t.$scopedSlots=r,t._c=function(e,n,r,o){return Me(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Me(t,e,n,r,o,!0)};var i=n&&n.data;Ct(t,"$attrs",i&&i.attrs||r,null,!0),Ct(t,"$listeners",e._parentListeners||r,null,!0)}(e),Ze(e,"beforeCreate"),function(t){var e=le(t.$options.inject,t);e&&(Et(!1),Object.keys(e).forEach((function(n){Ct(t,n,e[n])})),Et(!0))}(e),vn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),Ze(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(En),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=St,t.prototype.$delete=It,t.prototype.$watch=function(t,e,n){if(f(e))return _n(this,t,e,n);(n=n||{}).user=!0;var r=new pn(this,t,e,n);if(n.immediate)try{e.call(this,r.value)}catch(t){Ht(t,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(En),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o1?I(n):n;for(var r=I(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;iparseInt(this.max)&&In(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return M}};Object.defineProperty(t,"config",e),t.util={warn:ct,extend:T,mergeOptions:Nt,defineReactive:Ct},t.set=St,t.delete=It,t.nextTick=ee,t.observable=function(t){return At(t),t},t.options=Object.create(null),U.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,jn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=I(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Nt(this.options,t),this}}(t),xn(t),function(t){U.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&f(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(En),Object.defineProperty(En.prototype,"$isServer",{get:rt}),Object.defineProperty(En.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(En,"FunctionalRenderContext",{value:Le}),En.version="2.6.12";var kn=m("style,class"),Ln=m("input,textarea,option,select,progress"),$n=m("contenteditable,draggable,spellcheck"),Pn=m("events,caret,typing,plaintext-only"),Rn=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Nn="http://www.w3.org/1999/xlink",Un=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Dn=function(t){return Un(t)?t.slice(6,t.length):""},Mn=function(t){return null==t||!1===t};function Fn(t){for(var e=t.data,n=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Bn(r.data,e));for(;i(n=n.parent);)n&&n.data&&(e=Bn(e,n.data));return function(t,e){if(i(t)||i(e))return Hn(t,zn(e));return""}(e.staticClass,e.class)}function Bn(t,e){return{staticClass:Hn(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Hn(t,e){return t?e?t+" "+e:t:e||""}function zn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1?pr(t,e,n):Rn(e)?Mn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):$n(e)?t.setAttribute(e,function(t,e){return Mn(e)||"false"===e?"false":"contenteditable"===t&&Pn(e)?e:"true"}(e,n)):Un(e)?Mn(n)?t.removeAttributeNS(Nn,Dn(e)):t.setAttributeNS(Nn,e,n):pr(t,e,n)}function pr(t,e,n){if(Mn(n))t.removeAttribute(e);else{if(K&&!Y&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var dr={create:fr,update:fr};function hr(t,e){var n=e.elm,r=e.data,a=t.data;if(!(o(r.staticClass)&&o(r.class)&&(o(a)||o(a.staticClass)&&o(a.class)))){var s=Fn(e),c=n._transitionClasses;i(c)&&(s=Hn(s,zn(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var vr,mr={create:hr,update:hr};function yr(t,e,n){var r=vr;return function o(){var i=e.apply(null,arguments);null!==i&&_r(t,o,n,r)}}var gr=Xt&&!(Z&&Number(Z[1])<=53);function br(t,e,n,r){if(gr){var o=sn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}vr.addEventListener(t,e,et?{capture:n,passive:r}:n)}function _r(t,e,n,r){(r||vr).removeEventListener(t,e._wrapper||e,n)}function wr(t,e){if(!o(t.data.on)||!o(e.data.on)){var n=e.data.on||{},r=t.data.on||{};vr=e.elm,function(t){if(i(t.__r)){var e=K?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}i(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),ae(n,r,br,_r,yr,e.context),vr=void 0}}var Or,Er={create:wr,update:wr};function xr(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var n,r,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in i(c.__ob__)&&(c=e.data.domProps=T({},c)),s)n in c||(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var u=o(r)?"":String(r);Ar(a,u)&&(a.value=u)}else if("innerHTML"===n&&qn(a.tagName)&&o(a.innerHTML)){(Or=Or||document.createElement("div")).innerHTML=""+r+"";for(var f=Or.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;f.firstChild;)a.appendChild(f.firstChild)}else if(r!==s[n])try{a[n]=r}catch(t){}}}}function Ar(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Cr={create:xr,update:xr},Sr=w((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Ir(t){var e=Tr(t.style);return t.staticStyle?T(t.staticStyle,e):e}function Tr(t){return Array.isArray(t)?j(t):"string"==typeof t?Sr(t):t}var jr,kr=/^--/,Lr=/\s*!important$/,$r=function(t,e,n){if(kr.test(e))t.style.setProperty(e,n);else if(Lr.test(n))t.style.setProperty(C(e),n.replace(Lr,""),"important");else{var r=Rr(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(Dr).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Fr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Dr).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Br(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Hr(t.name||"v")),T(e,t),e}return"string"==typeof t?Hr(t):void 0}}var Hr=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),zr=V&&!Y,Gr="transition",Vr="transitionend",qr="animation",Xr="animationend";zr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Gr="WebkitTransition",Vr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(qr="WebkitAnimation",Xr="webkitAnimationEnd"));var Wr=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Kr(t){Wr((function(){Wr(t)}))}function Yr(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Mr(t,e))}function Jr(t,e){t._transitionClasses&&g(t._transitionClasses,e),Fr(t,e)}function Qr(t,e,n){var r=to(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?Vr:Xr,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n="transition",f=a,l=i.length):"animation"===e?u>0&&(n="animation",f=u,l=c.length):l=(n=(f=Math.max(a,u))>0?a>u?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:f,propCount:l,hasTransform:"transition"===n&&Zr.test(r[Gr+"Property"])}}function eo(t,e){for(;t.length1}function so(t,e){!0!==e.data.show&&ro(e)}var co=function(t){var e,n,r={},c=t.modules,u=t.nodeOps;for(e=0;eh?b(t,o(n[y+1])?null:n[y+1].elm,n,d,y,r):d>y&&w(e,p,h)}(p,m,y,n,f):i(y)?(i(t.text)&&u.setTextContent(p,""),b(p,null,y,0,y.length-1,n)):i(m)?w(m,0,m.length-1):i(t.text)&&u.setTextContent(p,""):t.text!==e.text&&u.setTextContent(p,e.text),i(h)&&i(d=h.hook)&&i(d=d.postpatch)&&d(t,e)}}}function A(t,e,n){if(a(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(P(ho(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function po(t,e){return e.every((function(e){return!P(e,t)}))}function ho(t){return"_value"in t?t._value:t.value}function vo(t){t.target.composing=!0}function mo(t){t.target.composing&&(t.target.composing=!1,yo(t.target,"input"))}function yo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function go(t){return!t.componentInstance||t.data&&t.data.transition?t:go(t.componentInstance._vnode)}var bo={model:uo,show:{bind:function(t,e,n){var r=e.value,o=(n=go(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,ro(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=go(n)).data&&n.data.transition?(n.data.show=!0,r?ro(n,(function(){t.style.display=t.__vOriginalDisplay})):oo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},_o={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function wo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?wo(Ge(e.children)):t}function Oo(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[E(i)]=o[i];return e}function Eo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var xo=function(t){return t.tag||ze(t)},Ao=function(t){return"show"===t.name},Co={name:"transition",props:_o,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(xo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=wo(o);if(!i)return o;if(this._leaving)return Eo(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var c=(i.data||(i.data={})).transition=Oo(this),u=this._vnode,f=wo(u);if(i.data.directives&&i.data.directives.some(Ao)&&(i.data.show=!0),f&&f.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,f)&&!ze(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=T({},c);if("out-in"===r)return this._leaving=!0,se(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Eo(t,o);if("in-out"===r){if(ze(i))return u;var p,d=function(){p()};se(c,"afterEnter",d),se(c,"enterCancelled",d),se(l,"delayLeave",(function(t){p=t}))}}return o}}},So=T({tag:String,moveClass:String},_o);function Io(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function To(t){t.data.newPos=t.elm.getBoundingClientRect()}function jo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete So.mode;var ko={Transition:Co,TransitionGroup:{props:So,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Ye(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Oo(this),s=0;s-1?Wn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Wn[t]=/HTMLUnknownElement/.test(e.toString())},T(En.options.directives,bo),T(En.options.components,ko),En.prototype.__patch__=V?co:k,En.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=mt),Ze(t,"beforeMount"),r=function(){t._update(t._render(),n)},new pn(t,r,k,{before:function(){t._isMounted&&!t._isDestroyed&&Ze(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Ze(t,"mounted")),t}(this,t=t&&V?function(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}(t):void 0,e)},V&&setTimeout((function(){M.devtools&&ot&&ot.emit("init",En)}),0),e.default=En}.call(this,n(14),n(146).setImmediate)},function(t,e,n){var r=n(18);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(7),o=n(0),i=n(4),a=Object.defineProperty,s={},c=function(t){throw t};t.exports=function(t,e){if(i(s,t))return s[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,f=i(e,0)?e[0]:c,l=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?a(t,1,{enumerable:!0,get:c}):t[1]=1,n.call(t,f,l)}))}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r,o,i,a=n(135),s=n(1),c=n(5),u=n(11),f=n(4),l=n(42),p=n(28),d=s.WeakMap;if(a){var h=new d,v=h.get,m=h.has,y=h.set;r=function(t,e){return y.call(h,t,e),e},o=function(t){return v.call(h,t)||{}},i=function(t){return m.call(h,t)}}else{var g=l("state");p[g]=!0,r=function(t,e){return u(t,g,e),e},o=function(t){return f(t,g)?t[g]:{}},i=function(t){return f(t,g)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},function(t,e,n){var r=n(91),o=n(1),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},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 r=n(7),o=n(48),i=n(23),a=n(15),s=n(30),c=n(4),u=n(75),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=a(t),e=s(e,!0),u)try{return f(t,e)}catch(t){}if(c(t,e))return i(!o.f.call(t,e),t[e])}},function(t,e){t.exports=!1},function(t,e,n){"use strict";n(93),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,o=(r=n(148))&&r.__esModule?r:{default:r},i=n(121);var a=o.default.create({headers:{requesttoken:(0,i.getRequestToken)()}}),s=Object.assign(a,{CancelToken:o.default.CancelToken,isCancel:o.default.isCancel});(0,i.onRequestTokenUpdate)((function(t){return a.defaults.headers.requesttoken=t}));var c=s;e.default=c},function(t,e,n){var r=n(8).f,o=n(4),i=n(2)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(62);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r,o=n(6),i=n(123),a=n(54),s=n(28),c=n(132),u=n(65),f=n(42),l=f("IE_PROTO"),p=function(){},d=function(t){return"\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * vue-router v3.4.3\n * (c) 2020 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 extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\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 // used by devtools to display a router-view badge\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 var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && 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 var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\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 // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\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\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\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 var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\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 ? decode(parts.join('=')) : 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\n ? Object.keys(obj)\n .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 })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = 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),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\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 // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\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\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), 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, options) {\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 + ')$', flags(options));\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 && 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}\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 params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\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._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"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\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar Link = {\n name: 'RouterLink',\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 ariaCurrentValue: {\n type: String,\n default: 'page'\n },\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(\n this.to,\n current,\n this.append\n );\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 =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), 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 ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"RouterLink with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have 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('RouterView', View);\n Vue.component('RouterLink', 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 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 if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\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(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\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:\n 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 (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\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 (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\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 (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 (\n path,\n pathToRegexpOptions\n) {\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(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\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\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 location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\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 // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = 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// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\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.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\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 handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\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\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\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 =\n inBrowser &&\n (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 && typeof window.history.pushState === 'function'\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 // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', 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\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\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 this.listeners = [];\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 (\n location,\n onComplete,\n onAbort\n) {\n var this$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n this.confirmTransition(\n route,\n function () {\n var prev = this$1.current;\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n this$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n // Initial redirection should still trigger the onReady onSuccess\n // https://github.com/vuejs/vue-router/issues/3225\n if (!isNavigationFailure(err, NavigationFailureType.redirected)) {\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n }\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 // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\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(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\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(createNavigationCancelledError(current, route))\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) {\n cb();\n });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardownListeners = function teardownListeners () {\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect 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(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n }\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 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 next(cb);\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 (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\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 === this$1._startLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\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 = decodeURI(window.location.pathname);\n if (base && path.toLowerCase().indexOf(base.toLowerCase()) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.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 ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.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 if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = 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 var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\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(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(cleanPath(base + '/#' + location));\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 // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) {\n href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex);\n } else { href = decodeURI(href); }\n } else {\n href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex);\n }\n\n return href\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\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.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(\n location,\n 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 },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\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(\n route,\n function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1.index = targetIndex;\n }\n }\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 =\n 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 (raw, current, redirectedFrom) {\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' &&\n 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 // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n\n if (!this$1.app) {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this$1.history.teardownListeners();\n }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\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 var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\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(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\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.4.3';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps' */'./views/Apps')\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 * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\n\nexport default new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport confirmPassword from '@nextcloud/password-confirmation'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @returns {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0,\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\t// convert obj to array\n\t\tconst users = state.users.concat(Object.keys(usersObj).map(userid => usersObj[userid]))\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.push(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tstate.users.push(response.data.ocs.data)\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\t// increment or not\n\t\tif (state.userCount > 0) {\n\t\t\tstate.groups.find(group => group.id === 'disabled').usercount += enabled ? -1 : 1\n\t\t\tstate.userCount += enabled ? 1 : -1\n\t\t\tuser.groups.forEach(group => {\n\t\t\t\t// Increment disabled count\n\t\t\t\tstate.groups.find(groupSearch => groupSearch.id === group).disabled += enabled ? -1 : 1\n\t\t\t})\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = OC.Util.computerFileSize(value)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t * @param {Object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @returns {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl(`cloud/groups/${encodeURIComponent(encodeURIComponent(group))}/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t\treturn Object.keys(response.data.ocs.data.users).length === limit\n\t\t\t\t\t}\n\t\t\t\t\treturn false\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn Object.keys(response.data.ocs.data.users).length === limit\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl(`cloud/groups?offset=${offset}&search=${search}${limitParam}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl(`cloud/users/details?offset=${offset}&limit=${limit}&search=${search}`, 2))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {int} options.offset List offset to request\n\t * @param {int} options.limit List number to return from offset\n\t * @returns {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${encodeURIComponent(encodeURIComponent(groupid))}/details?offset=${offset}&limit=${limit}`, 2))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (OC.getCapabilities().password_policy && OC.getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', OC.getCapabilities().password_policy.minLength)\n\t\t\treturn OC.getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {Object} context store context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups', 2), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {Object} context store context\n\t * @param {string} gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl(`cloud/groups/${encodeURIComponent(encodeURIComponent(gid))}`, 2))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl(`cloud/users/${userid}/groups`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @returns {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl(`cloud/users/${userid}/subadmins`, 2), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {Object} context store context\n\t * @param {string} userid User id\n\t * @returns {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl(`cloud/users/${userid}/wipe`, 2))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {Object} context store context\n\t * @param {string} userid User id\n\t * @returns {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @returns {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users', 2), { userid, password, displayName, email, groups, subadmin, quota, language })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {Object} context store context\n\t * @param {string} userid User id\n\t * @returns {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl(`cloud/users/${userid}`, 2))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/** Enable or disable user\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @returns {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl(`cloud/users/${userid}/${userStatus}`, 2))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {Object} context store context\n\t * @param {Object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @returns {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl(`cloud/users/${userid}`, 2), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {Object} context store context\n\t * @param {string} userid User id\n\t * @returns {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl(`cloud/users/${userid}/welcome`, 2))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/*\n * @copyright Copyright (c) 2018 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tOC.Notification.showHtml(t('settings', 'An error occured during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { timeout: 7 })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tOC.dialogs.info(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tt('settings', 'App update'),\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\twindow.location.reload()\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app can not be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// TODO: find a cleaner solution\n\t\t\t\t\tlocation.reload()\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetCategories(context) {\n\t\tcontext.commit('startLoading', 'categories')\n\t\treturn api.get(generateUrl('settings/apps/categories'))\n\t\t\t.then((response) => {\n\t\t\t\tif (response.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', response.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\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 * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport api from './api'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n * Set application config in database\n *\n\t * @param {Object} context store context\n * @param {Object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @returns{Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl(`apps/provisioning_api/api/v1/config/apps/${app}/${key}`, 2), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport users from './users'\nimport apps from './apps'\nimport settings from './settings'\nimport oc from './oc'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tOC.Notification.showHtml(t('settings', 'An error occured during the request. Unable to proceed.') + '
' + message, { timeout: 7 })\n\t\t} catch (e) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'An error occured during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// Correct the root of the app for chunk loading\n// OC.linkTo matches the apps folders\n// OC.generateUrl ensure the index.php (or not)\n// eslint-disable-next-line\n__webpack_public_path__ = OC.linkTo('settings', 'js/')\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/axios/dist/index.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/semver/internal/constants.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/password-confirmation/dist/main.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/semver/internal/re.js","webpack:///./node_modules/semver/internal/debug.js","webpack:///./node_modules/semver/classes/semver.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///../lib/index.ts","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///../lib/ProxyBus.ts","webpack:///./node_modules/semver/functions/valid.js","webpack:///./node_modules/semver/functions/parse.js","webpack:///./node_modules/semver/internal/identifiers.js","webpack:///./node_modules/semver/functions/major.js","webpack:///../lib/SimpleBus.ts","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/vuex-router-sync/index.js","webpack:///./apps/settings/src/App.vue?4b56","webpack:///apps/settings/src/App.vue","webpack:///./apps/settings/src/App.vue","webpack:///./apps/settings/src/App.vue?eda1","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./apps/settings/src/router.js","webpack:///./apps/settings/src/store/api.js","webpack:///./apps/settings/src/store/users.js","webpack:///./apps/settings/src/store/apps.js","webpack:///./apps/settings/src/store/settings.js","webpack:///./apps/settings/src/store/oc.js","webpack:///./apps/settings/src/store/index.js","webpack:///./apps/settings/src/main-apps-users-management.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","3","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","s","exec","it","Math","check","globalThis","self","global","Function","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","isObject","TypeError","String","fails","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","O","P","Attributes","toString","isArray","val","isUndefined","isPlainObject","getPrototypeOf","isFunction","forEach","obj","fn","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","stripBOM","content","charCodeAt","getRootUrl","generateFilePath","imagePath","generateUrl","generateOcsUrl","generateRemoteUrl","linkTo","app","file","service","location","protocol","host","linkToRemoteBase","version","url","params","allOptions","assign","escape","noRewrite","_build","text","vars","encodeURIComponent","charAt","OC","config","modRewriteWorking","indexOf","isCore","coreApps","link","substring","appswebroots","encodeURI","webroot","definePropertyModule","createPropertyDescriptor","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","split","unsafe","simple","join","this","toInteger","min","argument","g","IndexedObject","requireObjectCoercible","emptyObject","freeze","isUndef","v","isDef","isTrue","isPrimitive","_toString","isRegExp","isValidArrayIndex","parseFloat","floor","isFinite","isPromise","then","catch","Array","JSON","stringify","toNumber","isNaN","makeMap","expectsLowerCase","map","list","toLowerCase","isReservedAttribute","remove","arr","item","index","splice","hasOwn","cached","cache","camelizeRE","camelize","_","toUpperCase","capitalize","hyphenateRE","hyphenate","ctx","boundFn","apply","_length","toArray","start","ret","to","_from","toObject","res","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keys","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","def","writable","configurable","bailRE","RegExp","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","userAgent","isIE","test","isIE9","isEdge","isIOS","isFF","match","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","add","clear","warn","Dep","id","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","pop","VNode","tag","children","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","method","original","args","len","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","concat","hooks","dedupeHooks","mergeAssets","hook","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","isSameType","expectedTypes","handleError","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","counter","observer","textNode","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","iterator","next","done","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","cloneAndMarkFunctionalResult","renderContext","clone","mergeProps","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","ensureCtor","reason","component","delay","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","style","class","registerDeepBindings","_createElement","comp","base","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","j","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","sort","before","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","filter","cachedNode","pruneCacheEntry","current","cached$$1","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","Number","created","destroyed","mounted","parseInt","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","change","normalizeEvents","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","number","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","end","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","updated","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","cloneNode","attr","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","querySelector","query","thrower","METHOD_NAME","ACCESSORS","argument0","argument1","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","state","aFunction","variable","bitmap","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","TO_STRING_TAG","wellKnownSymbol","TAG","ceil","input","PREFERRED_STRING","valueOf","that","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","contentWindow","open","F","Properties","V8_VERSION","SPECIES","array","foo","toLength","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","find","findIndex","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","classof","propertyIsEnumerable","postfix","random","$","proto","propertyKey","Constructor","TO_STRING_TAG_SUPPORT","addToUnscopables","Iterators","defineIterator","setInternalState","iterated","kind","Arguments","internalObjectKeys","nativePropertyIsEnumerable","NASHORN_BUG","1","V","replacement","feature","detection","POLYFILL","NATIVE","string","IS_PURE","copyright","getOwnPropertySymbols","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","re","sticky","flags","charsAdded","strCopy","multiline","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","maybeCallNative","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","regexp","rx","S","functionalReplace","fullUnicode","unicode","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","groups","replacerArgs","getSubstitution","tailPos","symbols","ITERATOR","functionToString","originalArray","C","process","versions","v8","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","k","E","A","integer","EXISTS","toAbsoluteIndex","IS_INCLUDES","fromIndex","includes","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","title","browser","argv","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","MAX_SAFE_INTEGER","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","createIteratorConstructor","setPrototypeOf","setToStringTag","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","scheduled","functionToCheck","getStyleComputedProperty","element","defaultView","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","bottom","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","height","width","classCallCheck","instance","createClass","protoProps","staticProps","_extends","getClientRect","offsets","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","enabled","isDestroyed","arrowStyles","attributes","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Popper","_this","jquery","Utils","PopperUtils","point","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","CONVERT_TO_STRING","first","second","size","codeAt","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","rf","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","UNSCOPABLES","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterable","AS_ENTRIES","IS_ITERATOR","iterFn","stop","names","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","getOwnPropertyDescriptorModule","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ignoreCase","dotAll","utils","encode","paramsSerializer","serializedParams","parts","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","XMLHttpRequest","transformRequest","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","fullPath","baseURL","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","cancel","abort","send","enhanceError","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","require","debug","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","NODE_DEBUG","compareIdentifiers","SemVer","loose","includePrerelease","LOOSE","FULL","major","minor","prerelease","num","build","format","other","compareMain","comparePre","release","identifier","inc","PrototypeOfArrayIteratorPrototype","arrayIterator","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","aPossiblePrototype","CORRECT_SETTER","FREEZING","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","initCompat","ua","msie","rv","edge","getInternetExplorerVersion","ResizeObserver","_h","compareAndNotify","_w","addResizeHandlers","_resizeObject","contentDocument","removeResizeHandlers","beforeDestroy","GlobalVue","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","$filter","HAS_SPECIES_SUPPORT","_typeof","_defineProperties","_defineProperty","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","_listCacheClear","__data__","eq_1","_assocIndexOf","_listCacheDelete","_listCacheGet","_listCacheHas","_listCacheSet","ListCache","entry","_ListCache","_stackClear","_stackDelete","_stackGet","_stackHas","commonjsGlobal","createCommonjsModule","_freeGlobal","freeSelf","_root","_Symbol","objectProto","nativeObjectToString","symToStringTag","_getRawTag","isOwn","unmasked","nativeObjectToString$1","_objectToString","symToStringTag$1","_baseGetTag","isObject_1","isFunction_1","_coreJsData","maskSrcKey","_isMasked","func","funcToString","_toSource","reIsHostCtor","funcProto$1","objectProto$2","funcToString$1","hasOwnProperty$1","reIsNative","_baseIsNative","_getValue","_getNative","_Map","_nativeCreate","_hashClear","_hashDelete","hasOwnProperty$2","_hashGet","hasOwnProperty$3","_hashHas","_hashSet","Hash","_Hash","_mapCacheClear","_isKeyable","_getMapData","_mapCacheDelete","_mapCacheGet","_mapCacheHas","_mapCacheSet","MapCache","_MapCache","_stackSet","pairs","LARGE_ARRAY_SIZE","Stack","_Stack","_setCacheAdd","_setCacheHas","SetCache","_SetCache","_arraySome","predicate","_cacheHas","_equalArrays","bitmask","customizer","equalFunc","stack","isPartial","arrLength","othLength","stacked","arrValue","othValue","compared","othIndex","_Uint8Array","Uint8Array","_mapToArray","_setToArray","symbolProto","symbolValueOf","_equalByTag","byteLength","byteOffset","convert","_arrayPush","isArray_1","_baseGetAllKeys","keysFunc","symbolsFunc","_arrayFilter","resIndex","stubArray_1","nativeGetSymbols","_getSymbols","_baseTimes","iteratee","isObjectLike_1","_baseIsArguments","objectProto$6","hasOwnProperty$4","propertyIsEnumerable$1","isArguments_1","stubFalse_1","isBuffer_1","freeExports","freeModule","Buffer","reIsUint","_isIndex","isLength_1","typedArrayTags","_baseIsTypedArray","_baseUnary","_nodeUtil","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","hasOwnProperty$5","_arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","objectProto$8","_isPrototype","_overArg","_nativeKeys","hasOwnProperty$6","_baseKeys","isArrayLike_1","keys_1","_getAllKeys","hasOwnProperty$7","_equalObjects","objProps","objLength","skipCtor","objValue","objCtor","othCtor","_DataView","_Promise","_WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","hasOwnProperty$8","_baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqual","baseIsEqual","isEqual_1","DEFAULT_OPTIONS","container","template","openTooltips","Tooltip","_reference","_options","_classCallCheck","evt","relatedreference","toElement","relatedTarget","_tooltipNode","evt2","relatedreference2","_scheduleHide","_isOpen","_show","_hide","_dispose","_classes","_setContent","classesUpdated","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","tooltipGenerator","tooltipNode","substr","autoHide","_this2","asyncContent","_applyContent","_this3","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this4","_create","_findContainer","_append","popperOptions","arrowSelector","_this5","_noLongerOpen","disposeTime","disposeTimeout","_removeTooltipNode","_this6","_this7","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this8","computedDelay","_scheduleTimer","_this9","_setTooltipNodeEvent","_onDocumentTouch","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","getContent","createTooltip","tooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","getDefault","MSStream","openPopovers","Element","disabled","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","_ref2$force","skipDelay","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","hidden","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","__vue_script__","__vue_render__","_vm","tabindex","visibility","keyup","keyCode","_withStripped","__vue_component__","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","_defineProperty$1","_baseAssignValue","_assignMergeValue","_baseFor","fromRight","_createBaseFor","_cloneBuffer","allocUnsafe","isDeep","copy","_cloneArrayBuffer","arrayBuffer","_cloneTypedArray","typedArray","_copyArray","objectCreate","_baseCreate","_getPrototype","_initCloneObject","isArrayLikeObject_1","funcProto$2","objectProto$c","funcToString$2","hasOwnProperty$9","objectCtorString","isPlainObject_1","_safeGet","hasOwnProperty$a","_assignValue","_copyObject","isNew","newValue","_nativeKeysIn","hasOwnProperty$b","_baseKeysIn","isProto","keysIn_1","toPlainObject_1","_baseMergeDeep","srcIndex","mergeFunc","srcValue","isCommon","isTyped","_baseMerge","baseMerge","identity_1","_apply","nativeMax","_overRest","otherArgs","constant_1","_baseSetToString","nativeNow","_setToString","count","lastCalled","stamp","remaining","_shortOut","_baseRest","_isIterateeCall","merge_1","assigner","sources","guard","_createAssigner","installed","finalOptions","insertAt","getElementsByTagName","styleSheet","styleInject","VTooltip","VClosePopover","VPopover","_requesttoken","_user","getCurrentUser","objectKeys","nativeAssign","B","chr","T","argumentsLength","ENTRIES","returnMethod","bus","ProxyBus","SimpleBus","dummy","Wrapper","NewTarget","NewTargetPrototype","CONSTRUCTOR_NAME","RE","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","attachEvent","task","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","isAxiosError","toJSON","description","fileName","lineNumber","columnNumber","expires","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","originURL","urlParsingNode","resolveURL","href","hostname","port","pathname","requestURL","executor","resolvePromise","observers","_eventBus","tokenElement","subscribe","packageJson","er","numeric","anum","bnum","rcompareIdentifiers","Map","collection","collectionStrong","InternalMetadataModule","iterate","anInstance","checkCorrectnessOfIteration","inheritIfRequired","wrapper","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","preventExtensions","redefineAll","setSpecies","internalStateGetterFor","define","previous","getEntry","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","displayName","isAdmin","uidElement","displayNameElement","isUserAdmin","devtoolHook","deepCopy","hit","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","root","getNamespace","targetModule","newModule","rawChildModule","unregister","isRegistered","Store","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","payload","installModule","resetStoreVM","_devtoolHook","targetState","replaceState","mutation","prepend","subscribeAction","action","devtoolPlugin","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","partial","$$state","enableStrictMode","_withCommit","rootState","isRoot","parentState","getNestedState","moduleName","local","noNamespace","_type","_payload","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","registerMutation","rootGetters","registerAction","rawGetter","registerGetter","_Vue","vuexInit","$store","applyMixin","after","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","isValidMap","helper","startMessage","logger","collapsed","groupCollapsed","group","log","endMessage","groupEnd","getFormattedTime","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","maxLength","times","createNamespacedHelpers","createLogger","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","prevState","nextState","formattedTime","formattedMutation","formattedAction","cloneRoute","router","currentRoute","currentPath","isTimeTraveling","storeUnwatch","route","afterEachUnHook","afterEach","View","routerView","$route","_routerViewCache","depth","inactive","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","instances","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","decode","castQueryParamValue","parseQuery","param","stringifyQuery","val2","trailingSlashRE","createRoute","record","redirectedFrom","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","resolvePath","relative","append","firstChar","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction","tokensToFunction_1","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","asterisk","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","pretty","attachKeys","sensitive","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","compile","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","hashIndex","queryIndex","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","Link","required","exact","exactActiveClass","ariaCurrentValue","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","click","scopedSlot","navigate","isActive","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","metaKey","ctrlKey","shiftKey","defaultPrevented","button","preventDefault","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","alias","aliases","aliasRoute","createMatcher","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoutes","Time","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","isPop","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","pageXOffset","pageYOffset","isValidPosition","normalizePosition","hashStartsWithNumberRE","selector","getElementById","docRect","elRect","getElementPosition","scrollTo","supportsPushState","pushState","runQueue","NavigationFailureType","redirected","aborted","duplicated","createNavigationRedirectedError","createRouterError","propertiesToLog","createNavigationCancelledError","_isRouter","isError","isNavigationFailure","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","msg","flatten","History","baseEl","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","extractGuards","records","guards","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","lastRouteIndex","lastCurrentIndex","activated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","createNavigationAbortedError","postEnterCbs","isValid","poll","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardownListeners","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","decodeURI","HashHistory","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","registerHook","routeOrError","handleInitialScroll","_route","beforeEach","beforeResolve","back","forward","getMatchedComponents","createHref","normalizedTo","registerInstance","callVal","_router","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","Users","Apps","Router","sanitize","confirmPassword","post","put","orderGroups","orderBy","usercount","localeCompare","canAdd","canRemove","appendUsers","usersObj","users","userid","usersOffset","usersLimit","setPasswordPolicyMinLength","minPasswordLength","initGroups","userCount","addGroup","gid","removeGroup","groupIndex","groupSearch","addUserGroup","removeUserGroup","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","addUserData","ocs","enableDisableUser","setUserData","humanValue","Util","computerFileSize","resetUsers","searchRequestCancelSource","getUsers","getGroups","getSubadminGroups","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getUserCount","limit","api","limitParam","getUsersFromList","getUsersFromGroup","groupid","getCapabilities","password_policy","minLength","wipeUserDevices","addUser","email","quota","language","userStatus","allowedEmpty","sendWelcomeMail","categories","updateCount","loadingList","APPS_API_FAILURE","Notification","showHtml","initCategories","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","clearError","enableApp","disableApp","removable","canUnInstall","uninstallApp","needsDownload","canInstall","updateApp","resetApps","reset","startLoading","stopLoading","getCategories","getAllApps","getUpdateCount","appIds","_appId","update_required","dialogs","reload","forceEnableApp","serverData","setServerData","getServerData","setAppConfig","Vuex","API_FAILURE","showTemporary","settings","oc","__webpack_nonce__","requestToken","__webpack_public_path__","OCA","oc_userconfig","App"],"mappings":"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","file":"vue-settings-apps-users-management.js?v=e84423620c1c84266c86","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"vue-\" + ({\"0\":\"vendors-settings-apps-settings-users\",\"2\":\"settings-apps\",\"7\":\"settings-users\",\"8\":\"vendors-settings-apps\",\"9\":\"vendors-settings-users\"}[chunkId]||chunkId) + \"-\" + {\"0\":\"feb6e6add9aee6bcda40\",\"2\":\"489d5f46c67b4e8fbf67\",\"7\":\"f21df1de93ddcf45e13b\",\"8\":\"0e3130278180acc1bb58\",\"9\":\"bcea665d3ab241c6619f\"}[chunkId] + \".js?v=\" + {\"0\":\"9020fab043b7e9b5c47a\",\"2\":\"bd12356a182ff5f08453\",\"7\":\"ab4545fa96a43d874f85\",\"8\":\"98a1e58388b703bc6537\",\"9\":\"387197244637fc449408\"}[chunkId] + \"\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpSettings\"] = window[\"webpackJsonpSettings\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 508);\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\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 undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.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 * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// \n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.