From 2672f5da590e34041ea298041f3aba1d8b9415d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Tue, 15 Sep 2020 15:01:50 +0200 Subject: [PATCH 1/5] Fix loading error catch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- core/src/logger.js | 2 +- core/src/login.js | 2 +- core/src/maintenance.js | 2 +- core/src/recommendedapps.js | 2 +- core/src/session-heartbeat.js | 2 +- core/src/unified-search.js | 13 +++++- core/src/views/UnifiedSearch.vue | 68 ++++++++++++++++++-------------- 7 files changed, 55 insertions(+), 36 deletions(-) diff --git a/core/src/logger.js b/core/src/logger.js index 4a9c8623a7..bd01f58a41 100644 --- a/core/src/logger.js +++ b/core/src/logger.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2019 Christoph Wurst * * @author 2019 Christoph Wurst diff --git a/core/src/login.js b/core/src/login.js index bfcfabf169..a7d738ee9e 100644 --- a/core/src/login.js +++ b/core/src/login.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2019 Christoph Wurst * * @author 2019 Christoph Wurst diff --git a/core/src/maintenance.js b/core/src/maintenance.js index de4315d32a..3abc20ea8f 100644 --- a/core/src/maintenance.js +++ b/core/src/maintenance.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2019 Christoph Wurst * * @author 2019 Christoph Wurst diff --git a/core/src/recommendedapps.js b/core/src/recommendedapps.js index aea105a842..ef9071eb42 100644 --- a/core/src/recommendedapps.js +++ b/core/src/recommendedapps.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2019 Christoph Wurst * * @author 2019 Christoph Wurst diff --git a/core/src/session-heartbeat.js b/core/src/session-heartbeat.js index aab30c2c4c..9902bef882 100644 --- a/core/src/session-heartbeat.js +++ b/core/src/session-heartbeat.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2019 Christoph Wurst * * @author 2019 Christoph Wurst diff --git a/core/src/unified-search.js b/core/src/unified-search.js index ba975d7856..0d97738358 100644 --- a/core/src/unified-search.js +++ b/core/src/unified-search.js @@ -19,8 +19,9 @@ * along with this program. If not, see . */ -import { getRequestToken } from '@nextcloud/auth' import { generateFilePath } from '@nextcloud/router' +import { getLoggerBuilder } from '@nextcloud/logger' +import { getRequestToken } from '@nextcloud/auth' import { translate as t, translatePlural as n } from '@nextcloud/l10n' import Vue from 'vue' @@ -32,7 +33,17 @@ __webpack_nonce__ = btoa(getRequestToken()) // eslint-disable-next-line camelcase __webpack_public_path__ = generateFilePath('core', '', 'js/') +const logger = getLoggerBuilder() + .setApp('unified-search') + .detectUser() + .build() + Vue.mixin({ + data() { + return { + logger, + } + }, methods: { t, n, diff --git a/core/src/views/UnifiedSearch.vue b/core/src/views/UnifiedSearch.vue index c721689537..b68051de90 100644 --- a/core/src/views/UnifiedSearch.vue +++ b/core/src/views/UnifiedSearch.vue @@ -57,7 +57,7 @@ - + {{ t('core', 'No results for {query}', {query}) }} @@ -116,6 +116,7 @@ import Magnify from 'vue-material-design-icons/Magnify' import HeaderMenu from '../components/HeaderMenu' import SearchResult from '../components/UnifiedSearch/SearchResult' import SearchResultPlaceholders from '../components/UnifiedSearch/SearchResultPlaceholders' +import { showError } from '@nextcloud/dialogs' export default { name: 'UnifiedSearch', @@ -255,7 +256,7 @@ export default { async created() { this.types = await getTypes() - console.debug('Unified Search initialized with the following providers', this.types) + this.logger.debug('Unified Search initialized with the following providers', this.types) }, mounted() { @@ -372,42 +373,49 @@ export default { // Remove any filters from the query query = query.replace(regexFilterIn, '').replace(regexFilterNot, '') - console.debug('Searching', query, 'in', types) + this.logger.debug(`Searching ${query} in`, types) // Reset search if the query changed this.resetState() types.forEach(async type => { - this.$set(this.loading, type, true) - const request = await search(type, query) + try { + this.$set(this.loading, type, true) + const request = await search(type, query) + + // Process results + if (request.data.ocs.data.entries.length > 0) { + this.$set(this.results, type, request.data.ocs.data.entries) + } else { + this.$delete(this.results, type) + } + + // Save cursor if any + if (request.data.ocs.data.cursor) { + this.$set(this.cursors, type, request.data.ocs.data.cursor) + } else if (!request.data.ocs.data.isPaginated) { + // If no cursor and no pagination, we save the default amount + // provided by server's initial state `defaultLimit` + this.$set(this.limits, type, this.defaultLimit) + } + + // Check if we reached end of pagination + if (request.data.ocs.data.entries.length < this.defaultLimit) { + this.$set(this.reached, type, true) + } + + // If none already focused, focus the first rendered result + if (this.focused === null) { + this.focused = 0 + } + } catch (error) { + this.logger.error(`Error searching for ${this.typesMap[type]}`, error) + showError(this.t('core', 'An error occurred while looking for {type}', { type: this.typesMap[type] })) - // Process results - if (request.data.ocs.data.entries.length > 0) { - this.$set(this.results, type, request.data.ocs.data.entries) - } else { this.$delete(this.results, type) + } finally { + this.$set(this.loading, type, false) } - - // Save cursor if any - if (request.data.ocs.data.cursor) { - this.$set(this.cursors, type, request.data.ocs.data.cursor) - } else if (!request.data.ocs.data.isPaginated) { - // If no cursor and no pagination, we save the default amount - // provided by server's initial state `defaultLimit` - this.$set(this.limits, type, this.defaultLimit) - } - - // Check if we reached end of pagination - if (request.data.ocs.data.entries.length < this.defaultLimit) { - this.$set(this.reached, type, true) - } - - // If none already focused, focus the first rendered result - if (this.focused === null) { - this.focused = 0 - } - - this.$set(this.loading, type, false) }) }, onInputDebounced: debounce(function(e) { From 3c6319f275f2e932c9e3c13af21e29a8e7d0fce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Tue, 15 Sep 2020 17:10:44 +0200 Subject: [PATCH 2/5] Properly use form role=search and unify reset button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- core/src/services/UnifiedSearchService.js | 30 +++- core/src/views/UnifiedSearch.vue | 167 ++++++++++++++++------ 2 files changed, 145 insertions(+), 52 deletions(-) diff --git a/core/src/services/UnifiedSearchService.js b/core/src/services/UnifiedSearchService.js index c52cf5e46f..eb91f18f8c 100644 --- a/core/src/services/UnifiedSearchService.js +++ b/core/src/services/UnifiedSearchService.js @@ -28,6 +28,12 @@ export const minSearchLength = 2 export const regexFilterIn = /[^-]in:([a-z_-]+)/ig export const regexFilterNot = /-in:([a-z_-]+)/ig +/** + * Create a cancel token + * @returns {CancelTokenSource} + */ +const createCancelToken = () => axios.CancelToken.source() + /** * Get the list of available search providers * @@ -54,13 +60,20 @@ export async function getTypes() { /** * Get the list of available search providers * - * @param {string} type the type to search - * @param {string} query the search - * @param {int|string|undefined} cursor the offset for paginated searches - * @returns {Promise} + * @param {Object} options destructuring object + * @param {string} options.type the type to search + * @param {string} options.query the search + * @param {int|string|undefined} options.cursor the offset for paginated searches + * @returns {Object} {request: Promise, cancel: Promise} */ -export function search(type, query, cursor) { - return axios.get(generateOcsUrl('search', 2) + `providers/${type}/search`, { +export function search({ type, query, cursor }) { + /** + * Generate an axios cancel token + */ + const cancelToken = createCancelToken() + + const request = async() => axios.get(generateOcsUrl('search', 2) + `providers/${type}/search`, { + cancelToken: cancelToken.token, params: { term: query, cursor, @@ -68,4 +81,9 @@ export function search(type, query, cursor) { from: window.location.pathname.replace('/index.php', '') + window.location.search, }, }) + + return { + request, + cancel: cancelToken.cancel, + } } diff --git a/core/src/views/UnifiedSearch.vue b/core/src/views/UnifiedSearch.vue index b68051de90..099fa33650 100644 --- a/core/src/views/UnifiedSearch.vue +++ b/core/src/views/UnifiedSearch.vue @@ -31,16 +31,30 @@ - +
- + + import { emit } from '@nextcloud/event-bus' import { minSearchLength, getTypes, search, defaultLimit, regexFilterIn, regexFilterNot } from '../services/UnifiedSearchService' +import { showError } from '@nextcloud/dialogs' import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' import Actions from '@nextcloud/vue/dist/Components/Actions' import debounce from 'debounce' @@ -116,7 +131,6 @@ import Magnify from 'vue-material-design-icons/Magnify' import HeaderMenu from '../components/HeaderMenu' import SearchResult from '../components/UnifiedSearch/SearchResult' import SearchResultPlaceholders from '../components/UnifiedSearch/SearchResultPlaceholders' -import { showError } from '@nextcloud/dialogs' export default { name: 'UnifiedSearch', @@ -135,10 +149,17 @@ export default { return { types: [], + // Cursors per types cursors: {}, + // Various search limits per types limits: {}, + // Loading types loading: {}, + // Reached search types reached: {}, + // Pending cancellable requests + requests: [], + // List of all results results: {}, query: '', @@ -296,10 +317,12 @@ export default { /** * Reset the search state */ - resetSearch() { + onReset() { emit('nextcloud:unified-search:reset') + this.logger.debug('Search reset') this.query = '' this.resetState() + this.focusInput() }, resetState() { this.cursors = {} @@ -308,6 +331,15 @@ export default { this.reached = {} this.results = {} this.focused = null + this.cancelPendingRequests() + }, + + /** + * Cancel any ongoing searches + */ + cancelPendingRequests() { + // Cancel all pending requests + this.requests.forEach(cancel => cancel()) }, /** @@ -320,18 +352,6 @@ export default { }) }, - /** - * Watch the search event on the input - * Used to detect the reset button press - * @param {Event} event the search event - */ - onSearch(event) { - // If value is empty, the reset button has been pressed - if (event.target.value === '') { - this.resetSearch() - } - }, - /** * If we have results already, open first one * If not, trigger the search again @@ -378,29 +398,34 @@ export default { // Reset search if the query changed this.resetState() - types.forEach(async type => { + Promise.all(types.map(async type => { try { + // Init cancellable request + const { request, cancel } = search({ type, query }) + this.requests.push(cancel) + + // Mark this type as loading and fetch results this.$set(this.loading, type, true) - const request = await search(type, query) + const { data } = await request() // Process results - if (request.data.ocs.data.entries.length > 0) { - this.$set(this.results, type, request.data.ocs.data.entries) + if (data.ocs.data.entries.length > 0) { + this.$set(this.results, type, data.ocs.data.entries) } else { this.$delete(this.results, type) } // Save cursor if any - if (request.data.ocs.data.cursor) { - this.$set(this.cursors, type, request.data.ocs.data.cursor) - } else if (!request.data.ocs.data.isPaginated) { - // If no cursor and no pagination, we save the default amount - // provided by server's initial state `defaultLimit` + if (data.ocs.data.cursor) { + this.$set(this.cursors, type, data.ocs.data.cursor) + } else if (!data.ocs.data.isPaginated) { + // If no cursor and no pagination, we save the default amount + // provided by server's initial state `defaultLimit` this.$set(this.limits, type, this.defaultLimit) } // Check if we reached end of pagination - if (request.data.ocs.data.entries.length < this.defaultLimit) { + if (data.ocs.data.entries.length < this.defaultLimit) { this.$set(this.reached, type, true) } @@ -409,13 +434,19 @@ export default { this.focused = 0 } } catch (error) { - this.logger.error(`Error searching for ${this.typesMap[type]}`, error) - showError(this.t('core', 'An error occurred while looking for {type}', { type: this.typesMap[type] })) + // If this is not a cancelled throw + if (error.response && error.response.status) { + this.logger.error(`Error searching for ${this.typesMap[type]}`, error) + showError(this.t('core', 'An error occurred while searching for {type}', { type: this.typesMap[type] })) + } this.$delete(this.results, type) } finally { this.$set(this.loading, type, false) } + })).then(() => { + // We finished all searches + this.loading = {} }) }, onInputDebounced: debounce(function(e) { @@ -434,7 +465,7 @@ export default { this.$set(this.loading, type, true) if (this.cursors[type]) { - const request = await search(type, this.query, this.cursors[type]) + const request = await search({ type, query: this.query, cursor: this.cursors[type] }) // Save cursor if any if (request.data.ocs.data.cursor) { @@ -582,6 +613,7 @@ export default { \n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgFilterMixin.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","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=5a074e36&scoped=true&\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=5a074e36&scoped=true&lang=css&\"\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 \"5a074e36\",\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('div',{staticClass:\"section\",class:{ selected: _vm.isSelected },on:{\"click\":_vm.showAppDetails}},[_c('div',{staticClass:\"app-image app-image-icon\",on:{\"click\":_vm.showAppDetails}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('defs',[_c('filter',{attrs:{\"id\":_vm.filterId}},[_c('feColorMatrix',{attrs:{\"in\":\"SourceGraphic\",\"type\":\"matrix\",\"values\":\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"}})],1)]),_vm._v(\" \"),_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"filter\":_vm.filterUrl,\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"width\":\"100%\"}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-name\",on:{\"click\":_vm.showAppDetails}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.listView)?_c('div',{staticClass:\"app-summary\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c('div',{staticClass:\"app-version\"},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')),expression:\"t('settings', 'This app is supported via your current Nextcloud subscription.')\",modifiers:{\"auto\":true}}],staticClass:\"supported icon-checkmark-color\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {update}', {update:_vm.app.update}),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}}):(!_vm.app.active)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable force\",attrs:{\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrefixMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrefixMixin.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./PrefixMixin.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","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=59d31110&\"\nimport script from \"./AppList.vue?vue&type=script&lang=js&\"\nexport * from \"./AppList.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('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"counter\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('button',{staticClass:\"primary\",attrs:{\"id\":\"app-list-update-all\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update all'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})}),1)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},[_vm._l((_vm.bundles),function(bundle){return [_c('div',{key:bundle.id,staticClass:\"apps-header\"},[_c('div',{staticClass:\"app-image\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(bundle.name)+\" \"),_c('input',{attrs:{\"type\":\"button\",\"value\":_vm.bundleToggleText(bundle.id)},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-groups\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\")])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":true}})})]:_vm._e()],2)]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=8b4e053e&scoped=true&\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=8b4e053e&scoped=true&lang=scss&\"\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 \"8b4e053e\",\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('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=e40a53d2&scoped=true&\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=e40a53d2&scoped=true&lang=scss&\"\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 \"e40a53d2\",\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('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":_vm.prefix('groups_enable', _vm.app.id),\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('Multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"value\":_vm.appGroups,\"options-limit\":5,\"placeholder\":_vm.t('settings', 'Limit app usage to groups'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false,\"tag-width\":60},on:{\"select\":_vm.addGroupLimitation,\"remove\":_vm.removeGroupLimitation,\"search-change\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable primary\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.forceEnableButtonTooltip),expression:\"forceEnableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable force\",attrs:{\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=5264f008&scoped=true&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=5264f008&lang=scss&scoped=true&\"\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 \"5264f008\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/apps/settings/js/vue-settings-apps-users-management.js b/apps/settings/js/vue-settings-apps-users-management.js index b2857db0bb..3d84e8b86d 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(27),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(29),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){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(27),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) {\n\t\treturn axios.get(sanitize(url))\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), { 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 { 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 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\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\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 true\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) => context.commit('API_FAILURE', error))\n\t\t}\n\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\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/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/@nextcloud/axios/dist/index.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","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","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","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","users","minPasswordLength","usersOffset","usersLimit","userCount","appendUsers","usersObj","userid","setPasswordPolicyMinLength","initGroups","addGroup","gid","removeGroup","groupIndex","groupSearch","addUserGroup","removeUserGroup","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","addUserData","ocs","enableDisableUser","setUserData","humanValue","Util","computerFileSize","resetUsers","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=52224f4d05b4aaa4e18a","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\":\"a46abafb0fd92a4adad8\",\"2\":\"819bd91780a5b5e34199\",\"7\":\"d0f700c33b614b07a2ad\",\"8\":\"72b6655613751e7f66a6\",\"9\":\"a951808f89e9abc984a1\"}[chunkId] + \".js?v=\" + {\"0\":\"e73a0eae092a64d9d96e\",\"2\":\"0ea1f45836c328632c3c\",\"7\":\"b77b4ade2614f8feec90\",\"8\":\"b5bc58e0bdcd318a1263\",\"9\":\"6de9bdf0dbeda6cd5ad1\"}[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.