exports.ids = [3];
exports.modules = {

/***/ 261:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _mixins_bootable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60);
/* harmony import */ var _mixins_groupable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38);
/* harmony import */ var _directives_touch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40);
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
// Mixins

 // Directives

 // Utilities



const baseMixins = Object(_util_mixins__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_mixins_bootable__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"], Object(_mixins_groupable__WEBPACK_IMPORTED_MODULE_1__[/* factory */ "a"])('windowGroup', 'v-window-item', 'v-window'));
/* harmony default export */ __webpack_exports__["a"] = (baseMixins.extend().extend().extend({
  name: 'v-window-item',
  directives: {
    Touch: _directives_touch__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]
  },
  props: {
    disabled: Boolean,
    reverseTransition: {
      type: [Boolean, String],
      default: undefined
    },
    transition: {
      type: [Boolean, String],
      default: undefined
    },
    value: {
      required: false
    }
  },
  data() {
    return {
      isActive: false,
      inTransition: false
    };
  },
  computed: {
    classes() {
      return this.groupClasses;
    },
    computedTransition() {
      if (!this.windowGroup.internalReverse) {
        return typeof this.transition !== 'undefined' ? this.transition || '' : this.windowGroup.computedTransition;
      }
      return typeof this.reverseTransition !== 'undefined' ? this.reverseTransition || '' : this.windowGroup.computedTransition;
    }
  },
  methods: {
    genDefaultSlot() {
      return this.$slots.default;
    },
    genWindowItem() {
      return this.$createElement('div', {
        staticClass: 'v-window-item',
        class: this.classes,
        directives: [{
          name: 'show',
          value: this.isActive
        }],
        on: this.$listeners
      }, this.genDefaultSlot());
    },
    onAfterTransition() {
      if (!this.inTransition) {
        return;
      } // Finalize transition state.

      this.inTransition = false;
      if (this.windowGroup.transitionCount > 0) {
        this.windowGroup.transitionCount--; // Remove container height if we are out of transition.

        if (this.windowGroup.transitionCount === 0) {
          this.windowGroup.transitionHeight = undefined;
        }
      }
    },
    onBeforeTransition() {
      if (this.inTransition) {
        return;
      } // Initialize transition state here.

      this.inTransition = true;
      if (this.windowGroup.transitionCount === 0) {
        // Set initial height for height transition.
        this.windowGroup.transitionHeight = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__[/* convertToUnit */ "h"])(this.windowGroup.$el.clientHeight);
      }
      this.windowGroup.transitionCount++;
    },
    onTransitionCancelled() {
      this.onAfterTransition(); // This should have the same path as normal transition end.
    },
    onEnter(el) {
      if (!this.inTransition) {
        return;
      }
      this.$nextTick(() => {
        // Do not set height if no transition or cancelled.
        if (!this.computedTransition || !this.inTransition) {
          return;
        } // Set transition target height.

        this.windowGroup.transitionHeight = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__[/* convertToUnit */ "h"])(el.clientHeight);
      });
    }
  },
  render(h) {
    return h('transition', {
      props: {
        name: this.computedTransition
      },
      on: {
        // Handlers for enter windows.
        beforeEnter: this.onBeforeTransition,
        afterEnter: this.onAfterTransition,
        enterCancelled: this.onTransitionCancelled,
        // Handlers for leave windows.
        beforeLeave: this.onBeforeTransition,
        afterLeave: this.onAfterTransition,
        leaveCancelled: this.onTransitionCancelled,
        // Enter handler for height transition.
        enter: this.onEnter
      }
    }, this.showLazyContent(() => [this.genWindowItem()]));
  }
}));

/***/ }),

/***/ 299:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _VWindow_VWindowItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(261);
// Extensions

/* @vue/component */

/* harmony default export */ __webpack_exports__["a"] = (_VWindow_VWindowItem__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
  name: 'v-tab-item',
  props: {
    id: String
  },
  methods: {
    genWindowItem() {
      const item = _VWindow_VWindowItem__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].options.methods.genWindowItem.call(this);
      item.data.domProps = item.data.domProps || {};
      item.data.domProps.id = this.id || this.value;
      return item;
    }
  }
}));

/***/ }),

/***/ 300:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 340:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VAlert/VAlert.js
var VAlert = __webpack_require__(220);

// EXTERNAL MODULE: ./node_modules/vuetify/src/components/VBadge/VBadge.sass
var VBadge = __webpack_require__(300);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VIcon/VIcon.js
var VIcon = __webpack_require__(86);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/mixins/colorable/index.js
var colorable = __webpack_require__(8);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/mixins/themeable/index.js
var themeable = __webpack_require__(5);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/mixins/toggleable/index.js
var toggleable = __webpack_require__(17);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/mixins/transitionable/index.js
var transitionable = __webpack_require__(106);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/mixins/positionable/index.js
var positionable = __webpack_require__(28);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/util/mixins.js
var mixins = __webpack_require__(3);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/util/helpers.js
var helpers = __webpack_require__(0);

// CONCATENATED MODULE: ./node_modules/vuetify/lib/components/VBadge/VBadge.js
// Styles
 // Components

 // Mixins





 // Utilities



/* harmony default export */ var VBadge_VBadge = (Object(mixins["a" /* default */])(colorable["a" /* default */], Object(positionable["b" /* factory */])(['left', 'bottom']), themeable["a" /* default */], toggleable["a" /* default */], transitionable["a" /* default */]).extend({
  name: 'v-badge',
  props: {
    avatar: Boolean,
    bordered: Boolean,
    color: {
      type: String,
      default: 'primary'
    },
    content: {
      required: false
    },
    dot: Boolean,
    label: {
      type: String,
      default: '$vuetify.badge'
    },
    icon: String,
    inline: Boolean,
    offsetX: [Number, String],
    offsetY: [Number, String],
    overlap: Boolean,
    tile: Boolean,
    transition: {
      type: String,
      default: 'scale-rotate-transition'
    },
    value: {
      default: true
    }
  },
  computed: {
    classes() {
      return {
        'v-badge--avatar': this.avatar,
        'v-badge--bordered': this.bordered,
        'v-badge--bottom': this.bottom,
        'v-badge--dot': this.dot,
        'v-badge--icon': this.icon != null,
        'v-badge--inline': this.inline,
        'v-badge--left': this.left,
        'v-badge--overlap': this.overlap,
        'v-badge--tile': this.tile,
        ...this.themeClasses
      };
    },
    computedBottom() {
      return this.bottom ? 'auto' : this.computedYOffset;
    },
    computedLeft() {
      if (this.isRtl) {
        return this.left ? this.computedXOffset : 'auto';
      }
      return this.left ? 'auto' : this.computedXOffset;
    },
    computedRight() {
      if (this.isRtl) {
        return this.left ? 'auto' : this.computedXOffset;
      }
      return !this.left ? 'auto' : this.computedXOffset;
    },
    computedTop() {
      return this.bottom ? this.computedYOffset : 'auto';
    },
    computedXOffset() {
      return this.calcPosition(this.offsetX);
    },
    computedYOffset() {
      return this.calcPosition(this.offsetY);
    },
    isRtl() {
      return this.$vuetify.rtl;
    },
    // Default fallback if offsetX
    // or offsetY are undefined.
    offset() {
      if (this.overlap) return this.dot ? 8 : 12;
      return this.dot ? 2 : 4;
    },
    styles() {
      if (this.inline) return {};
      return {
        bottom: this.computedBottom,
        left: this.computedLeft,
        right: this.computedRight,
        top: this.computedTop
      };
    }
  },
  methods: {
    calcPosition(offset) {
      return `calc(100% - ${Object(helpers["h" /* convertToUnit */])(offset || this.offset)})`;
    },
    genBadge() {
      const lang = this.$vuetify.lang;
      const label = this.$attrs['aria-label'] || lang.t(this.label);
      const data = this.setBackgroundColor(this.color, {
        staticClass: 'v-badge__badge',
        style: this.styles,
        attrs: {
          'aria-atomic': this.$attrs['aria-atomic'] || 'true',
          'aria-label': label,
          'aria-live': this.$attrs['aria-live'] || 'polite',
          title: this.$attrs.title,
          role: this.$attrs.role || 'status'
        },
        directives: [{
          name: 'show',
          value: this.isActive
        }]
      });
      const badge = this.$createElement('span', data, [this.genBadgeContent()]);
      if (!this.transition) return badge;
      return this.$createElement('transition', {
        props: {
          name: this.transition,
          origin: this.origin,
          mode: this.mode
        }
      }, [badge]);
    },
    genBadgeContent() {
      // Dot prop shows no content
      if (this.dot) return undefined;
      const slot = Object(helpers["s" /* getSlot */])(this, 'badge');
      if (slot) return slot;
      if (this.content) return String(this.content);
      if (this.icon) return this.$createElement(VIcon["a" /* default */], this.icon);
      return undefined;
    },
    genBadgeWrapper() {
      return this.$createElement('span', {
        staticClass: 'v-badge__wrapper'
      }, [this.genBadge()]);
    }
  },
  render(h) {
    const badge = [this.genBadgeWrapper()];
    const children = [Object(helpers["s" /* getSlot */])(this)];
    const {
      'aria-atomic': _x,
      'aria-label': _y,
      'aria-live': _z,
      role,
      title,
      ...attrs
    } = this.$attrs;
    if (this.inline && this.left) children.unshift(badge);else children.push(badge);
    return h('span', {
      staticClass: 'v-badge',
      attrs,
      class: this.classes
    }, children);
  }
}));
// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VCard/VCard.js
var VCard = __webpack_require__(88);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VGrid/VContainer.js + 1 modules
var VContainer = __webpack_require__(230);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VTabs/VTab.js
var VTab = __webpack_require__(224);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VTabs/VTabItem.js
var VTabItem = __webpack_require__(299);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VTabs/VTabs.js + 4 modules
var VTabs = __webpack_require__(228);

// CONCATENATED MODULE: ./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/pug-plain-loader??ref--1-oneOf-0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/Admin.vue?vue&type=template&id=28bdc2f8&lang=pug








var Adminvue_type_template_id_28bdc2f8_lang_pug_render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c(VContainer["a" /* default */], {
    staticClass: "container pa-0 pa-md-3"
  }, [_c(VCard["a" /* default */], [_vm.$auth.user.is_admin ? [_vm.url !== _vm.settings.baseurl ? _c(VAlert["a" /* default */], {
    attrs: {
      "rounded": "0",
      "flat": "",
      "border": "left",
      "type": "warning",
      "show-icon": "",
      "icon": _vm.mdiAlert
    }
  }, [_c('span', {
    domProps: {
      "innerHTML": _vm._s(_vm.$t('admin.wrong_domain_warning', {
        url: _vm.url,
        baseurl: _vm.settings.baseurl
      }))
    }
  })]) : _vm._e(), !_vm.selfReachable ? _c(VAlert["a" /* default */], {
    attrs: {
      "rounded": "0",
      "flat": "",
      "border": "left",
      "type": "warning",
      "show-icon": "",
      "icon": _vm.mdiAlert
    }
  }, [_c('span', {
    domProps: {
      "innerHTML": _vm._s(_vm.$t('admin.not_reachable_warning', {
        baseurl: _vm.settings.baseurl
      }))
    }
  })]) : _vm._e()] : _vm._e(), _c(VTabs["a" /* default */], {
    attrs: {
      "show-arrows": "",
      "next-icon": _vm.mdiChevronRight,
      "prev-icon": _vm.mdiChevronLeft
    },
    model: {
      value: _vm.selectedTab,
      callback: function ($$v) {
        _vm.selectedTab = $$v;
      },
      expression: "selectedTab"
    }
  }, [_vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#settings"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.settings')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "settings"
    }
  }, [_c('Settings')], 1), _c(VTab["a" /* default */], {
    attrs: {
      "href": "#unconfirmed_events"
    }
  }, [_c(VBadge_VBadge, {
    attrs: {
      "value": !!_vm.unconfirmedEvents.length,
      "content": _vm.unconfirmedEvents.length
    }
  }, [_vm._v(_vm._s(_vm.$t('common.events')))])], 1), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "unconfirmed_events"
    }
  }, [_c('Events', {
    attrs: {
      "unconfirmedEvents": _vm.unconfirmedEvents,
      "unconfirmedOldEvents": _vm.unconfirmedOldEvents
    },
    on: {
      "confirmed": id => {
        _vm.unconfirmedEvents = _vm.unconfirmedEvents.filter(e => e.id !== id);
        _vm.unconfirmedOldEvents = _vm.unconfirmedOldEvents.filter(e => e.id !== id);
      },
      "removed": id => {
        _vm.unconfirmedEvents = _vm.unconfirmedEvents.filter(e => e.id !== id);
        _vm.unconfirmedOldEvents = _vm.unconfirmedOldEvents.filter(e => e.id !== id);
      }
    }
  })], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#users"
    }
  }, [_c(VBadge_VBadge, {
    attrs: {
      "value": !!_vm.unconfirmedUsers.length,
      "content": _vm.unconfirmedUsers.length
    }
  }, [_vm._v(_vm._s(_vm.$t('common.users')))])], 1) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "users"
    }
  }, [_c('Users', {
    attrs: {
      "users": _vm.users
    },
    on: {
      "update": _vm.updateUsers
    }
  })], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#collections"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.collections')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "collections"
    }
  }, [_c('Collections')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#federation"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.federation')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "federation"
    }
  }, [_c('Federation')], 1), _vm.settings.enable_federation ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#moderation"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.moderation')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "moderation"
    }
  }, [_c('Moderation')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#places"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.places')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "places"
    }
  }, [_c('Places')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#tags"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.tags')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "tags"
    }
  }, [_c('Tags')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#theme"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.theme')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "theme"
    }
  }, [_c('Theme')], 1), _vm.settings.allow_geolocation && _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#geolocation"
    }
  }, [_vm._v(_vm._s(_vm.$t('admin.geolocation')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "geolocation"
    }
  }, [_c('client-only', {
    attrs: {
      "placeholder": "Loading..."
    }
  }, [_c('Geolocation')], 1)], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#announcements"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.announcements')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "announcements"
    }
  }, [_c('Announcement')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#pages"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.pages')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "pages"
    }
  }, [_c('Page')], 1), _vm.$auth.user.is_admin ? _c(VTab["a" /* default */], {
    attrs: {
      "href": "#plugins"
    }
  }, [_vm._v(_vm._s(_vm.$t('common.plugins')))]) : _vm._e(), _c(VTabItem["a" /* default */], {
    attrs: {
      "value": "plugins"
    }
  }, [_c('Plugin')], 1)], 1)], 2)], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./pages/Admin.vue?vue&type=template&id=28bdc2f8&lang=pug

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(9);

// EXTERNAL MODULE: external "@mdi/js"
var js_ = __webpack_require__(6);

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib??vue-loader-options!./pages/Admin.vue?vue&type=script&lang=js


/* harmony default export */ var Adminvue_type_script_lang_js = ({
  name: 'Admin',
  components: {
    Settings: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 327)),
    Users: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 356)),
    Events: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 357)),
    Places: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 358)),
    Tags: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 359)),
    Collections: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 360)),
    [ false && false]: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 287)),
    Federation: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 361)),
    Moderation: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 362)),
    Plugin: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 363)),
    Announcement: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 364)),
    Page: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 365)),
    Theme: () => __webpack_require__.e(/* import() | admin */ 1).then(__webpack_require__.bind(null, 336))
  },
  middleware: ['auth', 'isAdminOrEditor'],
  async asyncData({
    $axios,
    req
  }) {
    let url;
    if (false) {} else {
      url = req.protocol + '://' + req.headers.host;
    }
    try {
      const users = await $axios.$get('/users');
      const {
        events: unconfirmedEvents,
        oldEvents: unconfirmedOldEvents
      } = await $axios.$get('/event/unconfirmed');
      const selfReachable = await $axios.$get('/reachable');
      return {
        users,
        unconfirmedEvents,
        unconfirmedOldEvents,
        url,
        selfReachable
      };
    } catch (e) {
      return {
        users: [],
        unconfirmedEvents: [],
        url,
        selfReachable: false
      };
    }
  },
  data() {
    return {
      mdiAlert: js_["mdiAlert"],
      mdiChevronRight: js_["mdiChevronRight"],
      mdiChevronLeft: js_["mdiChevronLeft"],
      users: [],
      description: '',
      unconfirmedEvents: [],
      selfReachable: false
    };
  },
  head() {
    return {
      title: `${this.settings.title} - ${this.$t('common.admin')}`
    };
  },
  computed: {
    ...Object(external_vuex_["mapState"])(['settings']),
    unconfirmedUsers() {
      return this.users.filter(u => !u.is_active);
    },
    selectedTab: {
      set(tab) {
        this.$router.replace({
          query: {
            ...this.$route.query,
            tab
          }
        });
      },
      get() {
        return this.$route.query.tab;
      }
    }
  },
  methods: {
    async updateUsers() {
      this.users = await this.$axios.$get('/users');
    },
    preview(id) {
      this.$router.push(`/event/${id}`);
    },
    async confirm(id) {
      this.loading = true;
      await this.$axios.$get(`/event/confirm/${id}`);
      this.loading = false;
      this.$root.$message('event.confirmed', {
        color: 'success'
      });
      this.unconfirmedEvents = this.unconfirmedEvents.filter(e => e.id !== id);
    }
  }
});
// CONCATENATED MODULE: ./pages/Admin.vue?vue&type=script&lang=js
 /* harmony default export */ var pages_Adminvue_type_script_lang_js = (Adminvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(7);

// CONCATENATED MODULE: ./pages/Admin.vue





/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  pages_Adminvue_type_script_lang_js,
  Adminvue_type_template_id_28bdc2f8_lang_pug_render,
  staticRenderFns,
  false,
  null,
  null,
  "fafcb28a"
  
)

/* harmony default export */ var Admin = __webpack_exports__["default"] = (component.exports);

/***/ })

};;
//# sourceMappingURL=Admin.js.map