/******/ (function(modules) { // webpackBootstrap
/******/ 	// install a JSONP callback for chunk loading
/******/ 	function webpackJsonpCallback(data) {
/******/ 		var chunkIds = data[0];
/******/ 		var moreModules = data[1];
/******/ 		var executeModules = data[2];
/******/
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [];
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			}
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ 		while(resolves.length) {
/******/ 			resolves.shift()();
/******/ 		}
/******/
/******/ 		// add entry modules from loaded chunk to deferred list
/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ 		// run deferred modules when all chunks ready
/******/ 		return checkDeferredModules();
/******/ 	};
/******/ 	function checkDeferredModules() {
/******/ 		var result;
/******/ 		for(var i = 0; i < deferredModules.length; i++) {
/******/ 			var deferredModule = deferredModules[i];
/******/ 			var fulfilled = true;
/******/ 			for(var j = 1; j < deferredModule.length; j++) {
/******/ 				var depId = deferredModule[j];
/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
/******/ 			}
/******/ 			if(fulfilled) {
/******/ 				deferredModules.splice(i--, 1);
/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ 			}
/******/ 		}
/******/
/******/ 		return result;
/******/ 	}
/******/
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// object to store loaded and loading chunks
/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 	// Promise = chunk loading, 0 = chunk loaded
/******/ 	var installedChunks = {
/******/ 		"app~._m": 0
/******/ 	};
/******/
/******/ 	var deferredModules = [];
/******/
/******/ 	// script path function
/******/ 	function jsonpScriptSrc(chunkId) {
/******/ 		return __webpack_require__.p + "js/" + ({"clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C":"clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C","clickToReveal~._src_components_imd_ClickToReveal.vue~4":"clickToReveal~._src_components_imd_ClickToReveal.vue~4","experimentsTable~._n":"experimentsTable~._n","home~routes~._src_components_generic_RouteList.vue~0":"home~routes~._src_components_generic_RouteList.vue~0","home~._src_components_H":"home~._src_components_H","routes~._src_components_imd_Routes.vue~4":"routes~._src_components_imd_Routes.vue~4","slideshow~._src_components_imd_Slideshow.vue~1":"slideshow~._src_components_imd_Slideshow.vue~1","returnToSender~._src_components_generic_ReturnToSender.vue~0":"returnToSender~._src_components_generic_ReturnToSender.vue~0","slider~._src_components_imd_Slider.vue~3":"slider~._src_components_imd_Slider.vue~3"}[chunkId]||chunkId) + ".js"
/******/ 	}
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/ 	// This file contains only the entry chunk.
/******/ 	// The chunk loading function for additional chunks
/******/ 	__webpack_require__.e = function requireEnsure(chunkId) {
/******/ 		var promises = [];
/******/
/******/
/******/ 		// JSONP chunk loading for javascript
/******/
/******/ 		var installedChunkData = installedChunks[chunkId];
/******/ 		if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ 			// a Promise means "currently loading".
/******/ 			if(installedChunkData) {
/******/ 				promises.push(installedChunkData[2]);
/******/ 			} else {
/******/ 				// setup Promise in chunk cache
/******/ 				var promise = new Promise(function(resolve, reject) {
/******/ 					installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ 				});
/******/ 				promises.push(installedChunkData[2] = promise);
/******/
/******/ 				// start chunk loading
/******/ 				var script = document.createElement('script');
/******/ 				var onScriptComplete;
/******/
/******/ 				script.charset = 'utf-8';
/******/ 				script.timeout = 120;
/******/ 				if (__webpack_require__.nc) {
/******/ 					script.setAttribute("nonce", __webpack_require__.nc);
/******/ 				}
/******/ 				script.src = jsonpScriptSrc(chunkId);
/******/
/******/ 				// create error before stack unwound to get useful stacktrace later
/******/ 				var error = new Error();
/******/ 				onScriptComplete = function (event) {
/******/ 					// avoid mem leaks in IE.
/******/ 					script.onerror = script.onload = null;
/******/ 					clearTimeout(timeout);
/******/ 					var chunk = installedChunks[chunkId];
/******/ 					if(chunk !== 0) {
/******/ 						if(chunk) {
/******/ 							var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ 							var realSrc = event && event.target && event.target.src;
/******/ 							error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ 							error.name = 'ChunkLoadError';
/******/ 							error.type = errorType;
/******/ 							error.request = realSrc;
/******/ 							chunk[1](error);
/******/ 						}
/******/ 						installedChunks[chunkId] = undefined;
/******/ 					}
/******/ 				};
/******/ 				var timeout = setTimeout(function(){
/******/ 					onScriptComplete({ type: 'timeout', target: script });
/******/ 				}, 120000);
/******/ 				script.onerror = script.onload = onScriptComplete;
/******/ 				document.head.appendChild(script);
/******/ 			}
/******/ 		}
/******/ 		return Promise.all(promises);
/******/ 	};
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	// on error function for async loading
/******/ 	__webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ 	jsonpArray.push = webpackJsonpCallback;
/******/ 	jsonpArray = jsonpArray.slice();
/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ 	var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ 	// add entry module to deferred list
/******/ 	deferredModules.push([0,"chunk-vendors~._node_modules_@m","chunk-vendors~._node_modules_@mdi_font_css_materialdesignicons.css~b07cbfd2","chunk-vendors~._node_modules_axios_i","chunk-vendors~._node_modules_babel-polyfill_l","chunk-vendors~._node_modules_c","chunk-vendors~._node_modules_n","chunk-vendors~._node_modules_v","chunk-vendors~._node_modules_vue_dist_vue.runtime.esm.js~2b0e6b37","chunk-vendors~._node_modules_vuetify-","chunk-vendors~._node_modules_vuetify_lib_c","chunk-vendors~._node_modules_vuetify_lib_components_VDa","chunk-vendors~._node_modules_vuetify_lib_components_VE","chunk-vendors~._node_modules_vuetify_lib_components_VI","chunk-vendors~._node_modules_vuetify_lib_components_VP","chunk-vendors~._node_modules_vuetify_lib_components_VT","chunk-vendors~._node_modules_vuetify_lib_i","chunk-vendors~._node_modules_vuetify_lib_util_c","chunk-vendors~._node_modules_vuetify_src_components_VA","chunk-vendors~._node_modules_vuetify_src_components_VC","chunk-vendors~._node_modules_vuetify_src_components_VI","chunk-vendors~._node_modules_vuetify_src_components_VO","chunk-vendors~._node_modules_vuetify_src_d","chunk-vendors~._node_modules_vuetify_src_styles_main.sass~a722c22d"]);
/******/ 	// run deferred modules when ready
/******/ 	return checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ({

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2 */ "./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/mixins/utils.js */ "./src/components/mixins/utils.js");
/* harmony import */ var _components_NavigationList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/NavigationList */ "./src/components/NavigationList.vue");
/* harmony import */ var vue_fullscreen__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-fullscreen */ "./node_modules/vue-fullscreen/dist/vue-fullscreen.min.js");
/* harmony import */ var vue_fullscreen__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue_fullscreen__WEBPACK_IMPORTED_MODULE_7__);


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//






vue__WEBPACK_IMPORTED_MODULE_2__["default"].use(vue_fullscreen__WEBPACK_IMPORTED_MODULE_7___default.a);
/* harmony default export */ __webpack_exports__["default"] = ({
  name: 'App',
  data: function data() {
    return {
      utils: _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"],
      dialog: false,
      drawer: null,
      showNavigation: true,
      isEmbedded: false,
      items: [{
        icon: 'home',
        text: 'Home',
        route: 'home'
      }, {
        icon: 'help',
        text: 'Help',
        route: 'intro'
      }],
      init: false,
      resize: null,
      resizePending: false,
      window: {
        h: 0,
        w: 0,
        oldH: 0,
        oldW: 0
      }
    };
  },
  computed: Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_1__["default"])({}, Object(vuex__WEBPACK_IMPORTED_MODULE_4__["mapState"])(['persona', 'userId', 'fullscreen', 'fullscreenTitle'])),
  props: {
    source: String
  },
  created: function created() {
    // Set Navigation
    this.loadNavigation();

    if (this.$route.name == 'intro') {
      this.showNavigation = false;
    }

    if (VLE.get_param('activity')) {
      this.showNavigation = false;
      this.isEmbedded = true;
      this.$router.push({
        name: VLE.get_param('activity')
      });
    }

    if (!_components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].isLocalhost()) {// utils.forceHTTPS();
    }

    this.setupResize();
    this.resizeScreen();
  },
  mounted: function mounted() {
    // Add fullscreen component to store for reference.
    this.$store.commit('addFullscreen', this.$refs['fullscreen']);
  },
  methods: {
    loadNavigation: function loadNavigation() {
      this.items = _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_5__["default"].getAppConfig(this).navigation.items;
    },
    resizeScreen: function resizeScreen() {
      if (!this.init) {
        setTimeout(function () {
          VLE.resize_iframe();
        }, 250);
      } else {
        if (document.getElementById("app").offsetWidth < 512) {
          setTimeout(function () {
            VLE.resize_iframe();
          }, 1000);
        }

        this.init = false;
      }
    },
    windowResize: function windowResize() {
      // if (this.resizePending) {
      //   return;
      // }
      // clearTimeout(this.resize);
      // this.resizePending = true;
      this.resize = setTimeout(this.resizeComplete, 250);
    },
    setupResize: function setupResize() {
      window.onresize = this.windowResize;
    },
    resizeComplete: function resizeComplete() {
      this.window.w = window.innerWidth;
      this.window.h = window.innerHeight;

      if (Math.abs(this.window.w - this.window.oldw) > 8 || Math.abs(this.window.h - this.window.oldh) > 8) {
        VLE.resize_iframe();
        this.window.oldw = w;
        this.window.oldh = h;
      } // this.resizePending = false;

    }
  },
  components: {
    NavigationList: _components_NavigationList__WEBPACK_IMPORTED_MODULE_6__["default"]
  }
});

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/NavigationList.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/NavigationList.vue?vue&type=script&lang=js& ***!
  \***********************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2 */ "./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ __webpack_exports__["default"] = ({
  props: ['items'],
  computed: Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, Object(vuex__WEBPACK_IMPORTED_MODULE_1__["mapState"])(['persona', 'userId'])),
  methods: {
    getRoute: function getRoute(item) {
      if (typeof item.route == "string") {
        return {
          name: item.route
        };
      }

      return item.route;
    }
  }
});

/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"3a3cc556-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"3a3cc556-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
var render = function() {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c(
    "fullscreen",
    { ref: "fullscreen", staticClass: "root" },
    [
      _c(
        "v-app",
        { staticClass: "tertiary" },
        [
          _vm.showNavigation
            ? _c(
                "v-navigation-drawer",
                {
                  attrs: {
                    fixed: "",
                    clipped: _vm.$vuetify.breakpoint.mdAndUp,
                    app: ""
                  },
                  model: {
                    value: _vm.drawer,
                    callback: function($$v) {
                      _vm.drawer = $$v
                    },
                    expression: "drawer"
                  }
                },
                [_c("NavigationList", { attrs: { items: _vm.items } })],
                1
              )
            : _vm._e(),
          _vm.showNavigation
            ? _c(
                "v-app-bar",
                {
                  staticClass: "primary",
                  attrs: { app: "", "clipped-left": "", dark: "", flat: "" }
                },
                [
                  _c("v-app-bar-nav-icon", {
                    on: {
                      click: function($event) {
                        $event.stopPropagation()
                        _vm.drawer = !_vm.drawer
                      }
                    }
                  }),
                  _c(
                    "v-toolbar-title",
                    { staticClass: "font-weight-light text-xs-center" },
                    [_vm._v(" Generic Interactives ")]
                  ),
                  _c("v-spacer"),
                  _c(
                    "v-toolbar-items",
                    {},
                    [
                      _c(
                        "v-btn",
                        {
                          staticClass: "toggle primary",
                          attrs: { title: this.fullscreenTitle, icon: "" },
                          on: {
                            click: function($event) {
                              return _vm.utils.toggleFullscreen(_vm.fullscreen)
                            }
                          }
                        },
                        [_c("v-icon", [_vm._v("mdi-fullscreen")])],
                        1
                      )
                    ],
                    1
                  )
                ],
                1
              )
            : _vm._e(),
          _c("v-main", { staticClass: "tertiary" }, [_c("router-view")], 1)
        ],
        1
      )
    ],
    1
  )
}
var staticRenderFns = []
render._withStripped = true



/***/ }),

/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"3a3cc556-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/NavigationList.vue?vue&type=template&id=09c1da02&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"3a3cc556-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/NavigationList.vue?vue&type=template&id=09c1da02& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
var render = function() {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c(
    "v-list",
    { attrs: { dense: "" } },
    [
      _vm._l(_vm.items, function(item) {
        return [
          !(item.route == "needs" && !_vm.persona.id)
            ? _c(
                "v-list-item",
                {
                  key: item.text,
                  on: {
                    click: function($event) {
                      _vm.$router.push(_vm.getRoute(item))
                    }
                  }
                },
                [
                  _c(
                    "v-list-item-action",
                    [
                      item.image
                        ? _c("v-img", {
                            staticClass: "mx-0",
                            attrs: {
                              height: "15",
                              src: item.image,
                              contain: "",
                              "align-left": ""
                            }
                          })
                        : _c("v-icon", [_vm._v(_vm._s(item.icon))])
                    ],
                    1
                  ),
                  _c(
                    "v-list-item-content",
                    [
                      _c("v-list-item-title", [
                        _vm._v(" " + _vm._s(item.text) + " ")
                      ])
                    ],
                    1
                  )
                ],
                1
              )
            : _vm._e()
        ]
      })
    ],
    2
  )
}
var staticRenderFns = []
render._withStripped = true



/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./src/stylus/main.styl":
/*!********************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--11-oneOf-3-1!./node_modules/postcss-loader/src??ref--11-oneOf-3-2!./node_modules/stylus-loader??ref--11-oneOf-3-3!./src/stylus/main.styl ***!
  \********************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "html {\n  font-size: 0.875em;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn {\n  display: inline-block;\n  padding: 6px 12px;\n  margin-bottom: 0;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 1.42857143;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -ms-touch-action: manipulation;\n  touch-action: manipulation;\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.btn-fullscreen {\n  position: absolute;\n  right: 10px;\n  top: 10px;\n  width: 36px;\n  height: 36px;\n  padding: 0;\n  font-size: 36px;\n  line-height: 36px;\n  text-align: center;\n  outline: none;\n}\ndiv.root .mdi-fullscreen:before {\n  content: \"\\F293\";\n}\ndiv.root.fullscreen .mdi-fullscreen:before {\n  content: \"\\F294\";\n}\n.mdi:before {\n  display: inline-block;\n  font: normal normal normal 24px/1 Material Design Icons;\n  font-size: inherit;\n  text-rendering: auto;\n  line-height: inherit;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.v-content img {\n  max-width: 100%;\n  margin: 0 auto;\n}\n", ""]);
// Exports
module.exports = exports;


/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./src/styles/general.css":
/*!********************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-3-1!./node_modules/postcss-loader/src??ref--6-oneOf-3-2!./src/styles/general.css ***!
  \********************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "img.centre, .container div img, div.v-expansion-panel button img  {\r\n    height:auto;\r\n    max-width: 800px;\r\n    display: block;\r\n    margin-left: auto;\r\n    margin-right: auto;\r\n}\r\n\r\n.container div img:not(.hasWidth) {\r\n    width: 100%;\r\n}\r\n\r\ndiv.v-expansion-panel button.v-expansion-panel-header, div.v-expansion-panel div.v-expansion-panel-content div.v-expansion-panel-content__wrap {\r\n    padding-left:8px;\r\n    padding-right:8px;\r\n}\r\n\r\n/* VLE button styles */\r\nbutton.theme--light.v-btn {\r\n    margin: 0 10px 0 0;\r\n    border: 1px solid #002158;\r\n    border-radius: 3px;\r\n    padding: 2px 8px 3px;\r\n    color: #000000;\r\n    background-color: #fff;\r\n    font-size: 1em;\r\n    cursor:pointer;\r\n    -webkit-transition:background-color 0.25s, color 0.25s;\r\n    transition:background-color 0.25s, color 0.25s;\r\n    display: inline-block;\r\n    vertical-align: top;\r\n    line-height: 1.5;\r\n}\r\n\r\n.v-application .container button.v-btn[type=button]:hover, .v-application .container button.v-btn[type=button]:focus, .v-application button.v-btn[type=button]:hover, .v-application button.v-btn[type=button]:focus {\r\n    color: #ffffff;\r\n    background-color:#002158;\r\n}\r\n\r\nbutton.theme--light.v-btn[disabled] {\r\n    border-color: #d4d2d2;\r\n    color:#676463;\r\n    background-color: #f0f0f1;\r\n    cursor:default;\r\n}", ""]);
// Exports
module.exports = exports;


/***/ }),

/***/ "./src/App.vue":
/*!*********************!*\
  !*** ./src/App.vue ***!
  \*********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=7ba5bd90& */ "./src/App.vue?vue&type=template&id=7ba5bd90&");
/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ "./src/App.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* harmony import */ var _node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/vuetify-loader/lib/runtime/installComponents.js */ "./node_modules/vuetify-loader/lib/runtime/installComponents.js");
/* harmony import */ var _node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var vuetify_lib_components_VApp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VApp */ "./node_modules/vuetify/lib/components/VApp/index.js");
/* harmony import */ var vuetify_lib_components_VAppBar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VAppBar */ "./node_modules/vuetify/lib/components/VAppBar/index.js");
/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ "./node_modules/vuetify/lib/components/VBtn/index.js");
/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ "./node_modules/vuetify/lib/components/VIcon/index.js");
/* harmony import */ var vuetify_lib_components_VMain__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vuetify/lib/components/VMain */ "./node_modules/vuetify/lib/components/VMain/index.js");
/* harmony import */ var vuetify_lib_components_VNavigationDrawer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vuetify/lib/components/VNavigationDrawer */ "./node_modules/vuetify/lib/components/VNavigationDrawer/index.js");
/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ "./node_modules/vuetify/lib/components/VGrid/index.js");
/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ "./node_modules/vuetify/lib/components/VToolbar/index.js");





/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__["render"],
  _App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  false,
  null,
  null,
  null
  
)

/* vuetify-loader */











_node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3___default()(component, {VApp: vuetify_lib_components_VApp__WEBPACK_IMPORTED_MODULE_4__["VApp"],VAppBar: vuetify_lib_components_VAppBar__WEBPACK_IMPORTED_MODULE_5__["VAppBar"],VAppBarNavIcon: vuetify_lib_components_VAppBar__WEBPACK_IMPORTED_MODULE_5__["VAppBarNavIcon"],VBtn: vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_6__["VBtn"],VIcon: vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_7__["VIcon"],VMain: vuetify_lib_components_VMain__WEBPACK_IMPORTED_MODULE_8__["VMain"],VNavigationDrawer: vuetify_lib_components_VNavigationDrawer__WEBPACK_IMPORTED_MODULE_9__["VNavigationDrawer"],VSpacer: vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_10__["VSpacer"],VToolbarItems: vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_11__["VToolbarItems"],VToolbarTitle: vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_11__["VToolbarTitle"]})


/* hot reload */
if (false) { var api; }
component.options.__file = "src/App.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ "./src/App.vue?vue&type=script&lang=js&":
/*!**********************************************!*\
  !*** ./src/App.vue?vue&type=script&lang=js& ***!
  \**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 

/***/ }),

/***/ "./src/App.vue?vue&type=template&id=7ba5bd90&":
/*!****************************************************!*\
  !*** ./src/App.vue?vue&type=template&id=7ba5bd90& ***!
  \****************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"3a3cc556-vue-loader-template"}!../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib??vue-loader-options!./App.vue?vue&type=template&id=7ba5bd90& */ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"3a3cc556-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__["render"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });



/***/ }),

/***/ "./src/components/NavigationList.vue":
/*!*******************************************!*\
  !*** ./src/components/NavigationList.vue ***!
  \*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NavigationList.vue?vue&type=template&id=09c1da02& */ "./src/components/NavigationList.vue?vue&type=template&id=09c1da02&");
/* harmony import */ var _NavigationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NavigationList.vue?vue&type=script&lang=js& */ "./src/components/NavigationList.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* harmony import */ var _node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../node_modules/vuetify-loader/lib/runtime/installComponents.js */ "./node_modules/vuetify-loader/lib/runtime/installComponents.js");
/* harmony import */ var _node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ "./node_modules/vuetify/lib/components/VIcon/index.js");
/* harmony import */ var vuetify_lib_components_VImg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VImg */ "./node_modules/vuetify/lib/components/VImg/index.js");
/* harmony import */ var vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VList */ "./node_modules/vuetify/lib/components/VList/index.js");





/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
  _NavigationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  _NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__["render"],
  _NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  false,
  null,
  null,
  null
  
)

/* vuetify-loader */








_node_modules_vuetify_loader_lib_runtime_installComponents_js__WEBPACK_IMPORTED_MODULE_3___default()(component, {VIcon: vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__["VIcon"],VImg: vuetify_lib_components_VImg__WEBPACK_IMPORTED_MODULE_5__["VImg"],VList: vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__["VList"],VListItem: vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__["VListItem"],VListItemAction: vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__["VListItemAction"],VListItemContent: vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__["VListItemContent"],VListItemTitle: vuetify_lib_components_VList__WEBPACK_IMPORTED_MODULE_6__["VListItemTitle"]})


/* hot reload */
if (false) { var api; }
component.options.__file = "src/components/NavigationList.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ "./src/components/NavigationList.vue?vue&type=script&lang=js&":
/*!********************************************************************!*\
  !*** ./src/components/NavigationList.vue?vue&type=script&lang=js& ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NavigationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./NavigationList.vue?vue&type=script&lang=js& */ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/NavigationList.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NavigationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 

/***/ }),

/***/ "./src/components/NavigationList.vue?vue&type=template&id=09c1da02&":
/*!**************************************************************************!*\
  !*** ./src/components/NavigationList.vue?vue&type=template&id=09c1da02& ***!
  \**************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"3a3cc556-vue-loader-template"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./NavigationList.vue?vue&type=template&id=09c1da02& */ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"3a3cc556-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/NavigationList.vue?vue&type=template&id=09c1da02&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__["render"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_3a3cc556_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NavigationList_vue_vue_type_template_id_09c1da02___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });



/***/ }),

/***/ "./src/components/mixins/rest.js":
/*!***************************************!*\
  !*** ./src/components/mixins/rest.js ***!
  \***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ "./src/components/mixins/utils.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../store/store */ "./src/store/store.js");






/* harmony default export */ __webpack_exports__["default"] = ({
  getUser: function getUser(f) {
    // If on local host use local json file.
    if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isLocalhost()) {
      f(1);
      return;
    }

    axios__WEBPACK_IMPORTED_MODULE_4___default.a.post('https://students.open.ac.uk/fels/e236/db/rest.php', {
      "_m": 'getUserId'
    }).then(function (response) {
      // console.log(response);
      _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].logObject(response, 'response:');

      if (response.status) {
        f(response.data.userId);
      } else {
        console.log("Error getting user data from remote");
      }

      ;
    }).catch(function (error) {
      console.log(error);
      f(0);
    });
  },
  getConfig: function getConfig(f) {
    axios__WEBPACK_IMPORTED_MODULE_4___default.a.get('config.json').then(function (response) {
      if (response.status) {
        f(response.data);
      } else {
        console.log("Error getting data for config");
      }

      ; // console.log(response);
    });
  },
  getExternalFolder: function getExternalFolder(f, options) {
    if (VLE.serverversion) {
      return this.retrieveFolderFromVLE(f, options);
    }

    axios__WEBPACK_IMPORTED_MODULE_4___default.a.get(options.path).then(function (response) {
      if (response.status) {
        f(response.data, options);
      } else {
        console.log("Error getting data for config");
      }

      ; // console.log(response);
    });
  },
  getExternalData: function getExternalData(f, options) {
    if (VLE.serverversion && options.t.data.name !== options.name && options.keys && options.keys.length) {
      return this.retrieveDataFromVLE(f, options);
    }

    axios__WEBPACK_IMPORTED_MODULE_4___default.a.get(options.path).then(function (response) {
      if (response.status) {
        f(response.data, options);
      } else {
        console.log("Error getting data for config");
      }

      ; // console.log(response);
    });
  },
  addInteractiveData: function addInteractiveData(data) {
    if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isLocalhost()) {
      return;
    }

    axios__WEBPACK_IMPORTED_MODULE_4___default.a.post('https://students.open.ac.uk/fels/e236/db/rest.php', {
      "_m": 'addInteractiveData',
      "_d": data
    }).then(function (response) {// console.log(response);
    }).catch(function (error) {
      console.log(error);
    });
  },
  updateInteractiveData: function updateInteractiveData(data) {
    if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isLocalhost()) {
      return;
    }

    axios__WEBPACK_IMPORTED_MODULE_4___default.a.post('https://students.open.ac.uk/fels/e236/db/rest.php', {
      "_m": 'updateInteractiveData',
      "_d": data
    }).then(function (response) {// console.log(response);
    }).catch(function (error) {
      console.log(error);
    });
  },
  saveToVLE: function saveToVLE(data) {
    if (!VLE) {
      return;
    } // Prepare values.


    console.log(data);
    var saveObj = {};

    for (var p in data) {
      if (data.hasOwnProperty(p)) {
        saveObj[p] = encodeURIComponent(JSON.stringify(data[p]));
      }
    }

    console.log('data to be saved: ', saveObj);
    VLE.set_server_data(false, saveObj, function () {
      console.log("rest: set_server_data was successful");
    }, function (msg) {
      console.log("rest: set_server_data has failed");

      if (msg !== null) {
        console.log(msg);
      }
    });
  },
  retrieveFolderFromVLE: function retrieveFolderFromVLE(callback, options) {
    if (!VLE.serverversion) {
      return;
    }

    var ok = function ok(data) {
      // var outObj = {};
      // for (var k in data) {
      //     if (data.hasOwnProperty(k)) {
      //         try{
      //           outObj[k] = JSON.parse(decodeURIComponent(data[k]));
      //         } 
      //         catch(e) { 
      //           console.log(e);
      //         }
      //     }
      // }
      // if(options.keys) {
      //   outObj = outObj[options.keys[0]];
      // }
      if (!Array.isArray(data)) throw Error('Invalid settings, please be sure the Folder tag in structured content has the name settings');
      console.log('Retrieved data: ', data);
      callback(data, options);
    };

    VLE.get_folder(options.keys.pop(), ok, function (msg) {
      console.log("Failed to get server folder."); // callback();

      if (msg !== null) {
        console.log(msg);
      }
    });
  },
  retrieveDataFromVLE: function retrieveDataFromVLE(callback, options) {
    if (!VLE.serverversion) {
      return;
    }

    if (VLE.get_param('testSettings')) {
      var savedData = JSON.parse(VLE.get_param('testSettings'));
      callback(savedData, options);
    }

    var ok = function ok(data) {
      var outObj = {};

      for (var k in data) {
        if (data.hasOwnProperty(k) && data[k].length) {
          try {
            outObj[k] = JSON.parse(decodeURIComponent(data[k]));
          } catch (e) {
            console.log(e);
          }
        }
      }

      if (options.keys) {
        outObj = outObj[options.keys[0]];
      } // console.log('Retrieved data: ', outObj);


      callback(outObj, options);
    };

    VLE.get_server_data(false, options.keys, ok, function (msg) {
      console.log("Failed to get server data."); // callback();

      if (msg !== null) {
        console.log(msg);
      }
    });
  }
});

/***/ }),

/***/ "./src/components/mixins/text-parse/checks/VleFolder.js":
/*!**************************************************************!*\
  !*** ./src/components/mixins/text-parse/checks/VleFolder.js ***!
  \**************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js");
/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.find */ "./node_modules/core-js/modules/es.array.find.js");
/* harmony import */ var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map */ "./node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor */ "./node_modules/core-js/modules/es.regexp.constructor.js");
/* harmony import */ var core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js");
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.match */ "./node_modules/core-js/modules/es.string.match.js");
/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_7__);








// Basic Check Example
// Checks should always be an object with at least a fn(text) function that returns an object { text, parsed }
var VleFolder = {
  fn: function fn(text) {
    var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var reg = new RegExp("(@assetfolder/[^'|\"]*)", 'gi');
    var matches = text.match(reg);
    return this.parse({
      text: text,
      matches: matches,
      data: data
    });
  },
  parse: function parse(_ref) {
    var _this = this;

    var _ref$matches = _ref.matches,
        matches = _ref$matches === void 0 ? [] : _ref$matches,
        text = _ref.text,
        data = _ref.data;
    if (!matches) return {
      text: text,
      parsed: text
    };
    var parsed = text;
    matches.map(function (match) {
      var url = _this.replacement({
        match: match,
        data: data
      });

      parsed = url ? parsed.replace(match, url) : parsed;
    });
    return {
      text: text,
      parsed: parsed
    };
  },
  replacement: function replacement(_ref2) {
    var match = _ref2.match,
        data = _ref2.data;
    var files = data.files;
    var path = match.replace('@assetfolder/', '');
    var file = files.find(function (a) {
      return a.path === path;
    });
    if (!file) throw Error("match '".concat(match, "' to path ").concat(path, "' not found in file folder. Be sure your filenames and extensions are correct"));
    if (!'url' in file) throw Error("'".concat(path, "' file found but there was a problem retrieving the url"));
    return file.url;
  }
};
/* harmony default export */ __webpack_exports__["default"] = (VleFolder);

/***/ }),

/***/ "./src/components/mixins/text-parse/checks/index.js":
/*!**********************************************************!*\
  !*** ./src/components/mixins/text-parse/checks/index.js ***!
  \**********************************************************/
/*! exports provided: VleFolder */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _VleFolder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VleFolder */ "./src/components/mixins/text-parse/checks/VleFolder.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VleFolder", function() { return _VleFolder__WEBPACK_IMPORTED_MODULE_0__["default"]; });



/***/ }),

/***/ "./src/components/mixins/text-parse/index.js":
/*!***************************************************!*\
  !*** ./src/components/mixins/text-parse/index.js ***!
  \***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.for-each */ "./node_modules/core-js/modules/es.array.for-each.js");
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_1__);



/**
 * Simple method for parsing text using an array of checks
 * @param {string} text is the text to be operated upon
 * @param {array} checks an array of operations to perform
 * @param {object} data a data object containing any data intended to be passed into checks
 */
var ParseText = function ParseText(text) {
  var checks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  var parsed = text;
  checks.forEach(function (check) {
    if (!check || !check.fn) throw Error('Unknown check');
    parsed = check.fn(parsed, data);
  });
  return parsed;
};

/* harmony default export */ __webpack_exports__["default"] = (ParseText);

/***/ }),

/***/ "./src/components/mixins/utils.js":
/*!****************************************!*\
  !*** ./src/components/mixins/utils.js ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes */ "./node_modules/core-js/modules/es.array.includes.js");
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.join */ "./node_modules/core-js/modules/es.array.join.js");
/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js");
/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes */ "./node_modules/core-js/modules/es.string.includes.js");
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js");
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.starts-with */ "./node_modules/core-js/modules/es.string.starts-with.js");
/* harmony import */ var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/web.url */ "./node_modules/core-js/modules/web.url.js");
/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var _components_mixins_vle_utility__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/mixins/vle-utility */ "./src/components/mixins/vle-utility.js");













var merge = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/cjs.js");


/* harmony default export */ __webpack_exports__["default"] = ({
  /** Component load data methods */
  initData: function initData(t) {
    var _this = this;

    this.getDataFromRoute(t);
    t.settings = {
      isEmbedded: false,
      edit: {
        json: null,
        admin: false,
        editing: false,
        editingType: null,
        isEditor: false
      }
    };

    if (this.getParam(t, 'admin') == "true") {
      t.settings.edit.admin = true;
    }

    if (this.getParam(t, 'activity')) {
      t.settings.isEmbedded = true;
    }

    t.$store.watch(function () {
      _this.isExternalDataLoaded(t);
    }, function () {
      _this.loadData(t);
    });

    if (!this.isExternalDataLoaded(t)) {
      t.$store.dispatch('loadExternalData', {
        name: t.data.name,
        path: t.data.path,
        t: t
      });
    } else {
      this.loadData(t);
    }

    if (this.hasRole("editor")) {
      t.settings.edit.isEditor = true;
    }
  },
  loadData: function loadData(t) {
    t.items = this.getItems(t);

    var overwriteMerge = function overwriteMerge(destinationArray, sourceArray, options) {
      return sourceArray;
    };

    t.settings = merge(t.settings, this.getSettings(t), {
      arrayMerge: overwriteMerge
    });

    if (t.hasOwnProperty('json')) {
      t.json = t.getJSON();
    }

    this.resizeIframe(300);

    if (t.hasOwnProperty('loadData')) {
      t.loadData();
    }

    if (t.hasOwnProperty('onLoad')) {
      setTimeout(t.onLoad, 10);
    }

    this.resizeIframe(1000, true);
  },
  getItems: function getItems(t) {
    // utils.logObject(this.externalData[this.data.name].content, "this.externalData[this.data.name].content: ");
    if (!t.externalData[t.data.name]) {
      return [];
    }

    return JSON.parse(JSON.stringify(t.externalData[t.data.name].content));
  },
  getSettings: function getSettings(t) {
    if (!t.externalData[t.data.name]) {
      return [];
    }

    return JSON.parse(JSON.stringify(t.externalData[t.data.name].settings));
  },
  hasExternalDataChanged: function hasExternalDataChanged(t, newValue, oldValue) {
    if (!t.externalData[t.data.name]) {
      return false;
    }

    this.loadData(t);
  },
  isExternalDataLoaded: function isExternalDataLoaded(t) {
    return t.$store.getters.isExternalDataLoaded(t.data.name);
  },
  getActivityImagePath: function getActivityImagePath(path) {
    path = !path || path == "" ? path = "activity_placeholder.gif" : path;
    return 'img/' + path;
  },
  getActivityVideo: function getActivityVideo(activity) {
    var path = activity.video;
    path = !path || path == "" ? path = "activity_placeholder.gif" : path;
    return {
      src: 'https://students.open.ac.uk/fels/e236/e236_session_planner/assets/video/' + path
    };
  },
  getFullscreenTitle: function getFullscreenTitle(f) {
    return !f.isFullscreen ? "Disable fullscreen" : "Enable fullscreen";
  },
  getInteractiveImagePath: function getInteractiveImagePath(path, location) {
    path = !path || path == "" ? path = "activity_placeholder.gif" : path;
    return this.getInteractivePath('img/' + path, location);
  },
  getInteractivePath: function getInteractivePath(path, location) {
    path = !path || path == "" ? path = "" : path;
    return 'units/' + location + '/' + path;
  },
  getImageWidth: function getImageWidth(img) {
    if (!img.width) {
      return '80%';
    }

    return img.width;
  },

  /**
   * Does a page settings require a view?
   * Helper method to check a settings object
   * @param {object} s settings object
   * @param {string} n name of view
   */
  hasView: function hasView(s, n) {
    if (!s.views || !s.views.includes(n)) {
      return false;
    }

    return true;
  },

  /**
   * From https://stackoverflow.com/questions/736513/how-do-i-parse-a-url-into-hostname-and-path-in-javascript
   * @param {*} href 
   */
  getLocation: function getLocation(href) {
    var location = document.createElement("a");
    location.href = href; // IE doesn't populate all link properties when setting .href with a relative URL,
    // however .href will return an absolute URL which then can be used on itself
    // to populate these additional fields.

    if (location.host == "") {
      location.href = location.href;
    }

    return location;
  },
  isExternalUrl: function isExternalUrl(path) {
    var isExternal = false;
    isExternal = path.startsWith('http'); // && path.includes('students.open.ac.uk/fels/e236/e236_interactives/assets/');

    return isExternal;
  },
  getModelPath: function getModelPath(path) {
    if (this.isExternalUrl(path)) {
      return path;
    }

    if (this.isLocalhost()) {
      return 'http://127.0.0.1:5500/assets/' + path;
    }

    if (window.location.href.includes('fit2thrive.co.uk')) {
      return window.location.protocol + '//fit2thrive.co.uk/assets/' + path;
    }

    return 'https://students.open.ac.uk/fels/e236/e236_interactives/assets/' + path;
  },
  getFilenameFromUrl: function getFilenameFromUrl(u) {
    return u.split('\\').pop().split('/').pop();
  },
  getPathFromUrl: function getPathFromUrl(u) {
    var a = u.split('\\').pop().split('/');
    a.pop();
    return a.join('/');
  },

  /**
   * Populate a VUE instance  data property from query parameters.
   * @param {VUE} v VUE instance
   */
  getSettingsFromRoute: function getSettingsFromRoute(v) {
    if (!VLE.get_param('settings') && !v.$route.query.hasOwnProperty('settings') && !v.$route.params.hasOwnProperty('settings')) {
      return;
    }

    if (VLE.get_param('settings')) {
      v.data.path = VLE.get_param('settings');
    } else if (v.$route.query.hasOwnProperty('settings')) {
      v.data.path = v.$route.query.settings;
    } else {
      v.data.path = v.$route.params.settings;
    } // Get data name from settings.


    v.data.name = v.data.path.split("/").pop().split(".").shift();
  },

  /**
   * Populate a VUE instance  data property from query parameters.
   * @param {VUE} v VUE instance
   */
  getDataFromRoute: function getDataFromRoute(v) {
    // Also check for settings property. Hacky but works for now.
    this.getSettingsFromRoute(v);

    if (!VLE.get_param('data') && !v.$route.query.hasOwnProperty('data') && !v.$route.params.hasOwnProperty('data')) {
      return;
    }

    if (VLE.get_param('data')) {
      v.data.name = VLE.get_param('data');
    } else if (v.$route.query.hasOwnProperty('data')) {
      v.data.name = v.$route.query.data;
    } else {
      v.data.name = v.$route.params.data;
    } // v.data.name = v.$route.query.data;


    v.data.path = 'data/' + v.data.name + '.json';
  },
  getAppConfig: function getAppConfig(t) {
    return t.$root.$options.config;
  },

  /**
   * Return a query parameter if it exists.
   * @param {VUE} v VUE instance
   * @param {String} p Param to look for
   */
  getParam: function getParam(v, p) {
    if (VLE.get_param(p)) {
      return VLE.get_param(p);
    }

    if (v.$route.params.hasOwnProperty(p)) {
      return v.$route.params[p];
    }

    if (v.$route.query.hasOwnProperty(p)) {
      return v.$route.query[p];
    }

    return null;
  },
  downloadTextFile: function downloadTextFile(text, name) {
    var a = document.createElement('a');
    var type = name.split(".").pop();
    a.href = URL.createObjectURL(new Blob([text], {
      type: "text/".concat(type === "txt" ? "plain" : type)
    }));
    a.download = name;
    a.click();
  },

  /**
   * Helper check whether current window location is localhost.
   */
  isLocalhost: function isLocalhost() {
    return this.getLocation(window.location).hostname == 'localhost';
  },
  forceHTTPS: function forceHTTPS() {
    if (window.location.protocol != "https:") {
      window.location.protocol = "https:";
      window.location.reload();
    }
  },

  /**
   * Check if the logged in user has a specific role.
   * Initially this is a holder function for the correct logic to
   * be added in time, ideally in a specific auth/security class.
   * @param {string} r role
   */
  hasRole: function hasRole(r) {
    switch (r) {
      case "editor":
        return true;
        break;
    }

    return false;
  },

  /**
   * Helper redirect to default login location.
   */
  redirectToLogin: function redirectToLogin() {
    window.location = "https://msds.open.ac.uk/signon/SAMSDefault/SAMS001_Default.aspx?URL=https://students.open.ac.uk/fels/e236/e236_interactives/v0.2/#/";
  },

  /**
   * Helper method for VLE_resize_iframe
   * Just in case further refinements are needed.
   * @param {integer} i interval before calling resize.
   * @param {boolean} n new interval or replace current
   */
  resizeIframe: function resizeIframe() {
    var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
    var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

    if (!i) {
      return VLE.resize_iframe();
    }

    this.timeoutId = this.timeoutId || '';

    if (this.timeoutId & !n) {
      window.clearTimeout(this.timeoutId);
    }

    ;
    var id = window.setTimeout(VLE.resize_iframe, i);

    if (n) {
      return id;
    }

    this.timeoutId = id;
  },
  toggleFullscreen: function toggleFullscreen(t) {
    t.$store.dispatch('toggleFullscreen');
  },
  createEl: function createEl(parent, type, txt, classes, attributes, where, html) {
    var el = document.createElement(type);

    if (!where || where && where === "append") {
      parent.appendChild(el);
    } else {
      parent.insertBefore(el, parent.firstChild);
    }

    if (txt) {
      el.innerHTML = txt;
    }

    if (classes) {
      el.className = classes;
    }

    if (attributes) {
      for (var attr in attributes) {
        el.setAttribute(attr, attributes[attr]);
      }
    }

    if (html) {
      el.innerHTML = html;
    }

    return el;
  },

  /**
   * Log the relevant path as a call log signature.
   * @param integer l level
   */
  logConsoleSignature: function logConsoleSignature() {
    var l = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

    if (!l) {
      return;
    }

    l += 2;
    var s = Error().stack.split('\n')[l].split(':');
    console.log(s[2] + ':' + s[3] + ':' + s[4] + ':');
  },

  /**
   * Log array of objects to console.
   * @param {[]activities} activities 
   * @param {String} text 
   * @param {[]String} columns Property names to display in columns
   * @param {Integer} l log level
   */
  logObjectArray: function logObjectArray(a, text, columns) {
    var l = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
    this.logConsoleSignature(l);

    if (text) {
      console.log(text);
    }

    if (!a) {
      console.log('Array does not exist');
      return false;
    }

    for (var i = 0; i < a.length; i++) {
      this.logObject(a[i], i.toString(), columns, l);
    }
  },

  /**
   * Log array to console.
   * @param {[]activities} activities 
   * @param {String} text 
   * @param {[]String} columns Property names to display in columns 
   * @param {Integer} l log level
   */
  logArray: function logArray(a, text, columns) {
    var l = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
    this.logConsoleSignature(l);

    if (text) {
      console.log(text);
    }

    columns = columns ? columns : [];
    console.table(a, columns);
  },

  /**
   * Log activities to console.
   * @param {[]activities} activities 
   * @param {String} text 
   * * @param {[]String} columns Property names to display in columns 
   */
  logActivities: function logActivities(activities, text, columns) {
    this.logConsoleSignature(1);

    if (text) {
      console.log(text);
    }

    columns = columns ? columns : ["id", "orderId", 'activityId', "name"];
    console.table(activities, columns);
  },

  /**
   * Log object to console.
   * @param {Object} o object to log
   * @param {String} t text 
   * @param {[]String} c object property names for columns
   * @param {Integer} l log level
   */
  logObject: function logObject(o, t, c) {
    var l = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
    this.logConsoleSignature(l);
    t ? console.log(t) : null;
    c = c ? c : null;
    c ? console.table([o], c) : console.table([o]);
    ;
  },

  /**
   * Log to console.
   * @param {*} o Object/String/Array 
   * @param {String} text 
   */
  log: function log(o, text) {
    var l = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    this.logConsoleSignature(l);

    if (text) {
      console.log(text);
    }

    console.log(o);
  }
});

/***/ }),

/***/ "./src/components/mixins/vle-utility.js":
/*!**********************************************!*\
  !*** ./src/components/mixins/vle-utility.js ***!
  \**********************************************/
/*! exports provided: resizer, addStyle, addTheme, addCustomStyle, parseAttachedFolderAssets */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resizer", function() { return resizer; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addStyle", function() { return addStyle; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTheme", function() { return addTheme; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addCustomStyle", function() { return addCustomStyle; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseAttachedFolderAssets", function() { return parseAttachedFolderAssets; });
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map */ "./node_modules/core-js/modules/es.array.map.js");
/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.keys */ "./node_modules/core-js/modules/es.object.keys.js");
/* harmony import */ var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! regenerator-runtime/runtime */ "./node_modules/regenerator-runtime/runtime.js");
/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2 */ "./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
/* harmony import */ var _text_parse__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./text-parse */ "./src/components/mixins/text-parse/index.js");
/* harmony import */ var _text_parse_checks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./text-parse/checks */ "./src/components/mixins/text-parse/checks/index.js");







 // TODO: Need to come up with a standard wrapper for vle stuff

var demoDataFolder = './demoData';
var demoAssetFolder = "".concat(demoDataFolder, "/assetFolder"); // globals

var resize;
var prevHeight = 0;
function resizer() {
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

  var config = Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__["default"])({
    interval: 250,
    before: function before() {},
    after: function after() {},
    target: '#container',
    breaks: {
      300: 'compact'
    }
  }, options); //console.log(config);


  var interval = config.interval,
      before = config.before,
      after = config.after,
      breaks = config.breaks,
      target = config.target; // const { interval, before, after, breaks, target } = ({
  //   ...{
  //     interval: 250,
  //     before: () => {},
  //     after: () => {},
  //     target: '#container',
  //     breaks: { 300: 'compact' }
  //   }, //defaults
  //   ...options
  // });

  var container = document.querySelector(target);
  before(container); // before hook in case you feel like it

  clearTimeout(resize);
  resize = setTimeout(function () {
    var offsetWidth = container.offsetWidth,
        offsetHeight = container.offsetHeight;
    container.removeAttribute('data-display');
    Object.keys(breaks).map(function (key) {
      // find breaks and set display type - might need more logic 🤔
      if (offsetWidth < key) container.setAttribute('data-display', breaks[key]);
    });

    if (prevHeight === offsetHeight) {
      // resize not needed
      after(container); // after hook

      return clearTimeout(resize);
    }

    prevHeight = offsetHeight;
    VLE.resize_iframe();
    after(container); // after hook
  }, interval);
}
function addStyle(text) {
  var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  var top = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var style = document.createElement('style');
  style.type = 'text/css';
  style.innerHTML = text;
  if (ref) style.setAttribute('data-ref', ref);
  document.head.appendChild(style);
  style.addEventListener('load', VLE.resize_iframe);
}
function addTheme(themePath) {
  return new Promise(function (resolve, reject) {
    if (!themePath) return resolve();
    return fetch(themePath).then(function (response) {
      return response.text();
    }).then(function (text) {
      if (text) addStyle(text, 'theme');
      resolve();
    }).catch(function (err) {
      return reject(err);
    });
  });
}
function addCustomStyle() {
  var fallback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "".concat(demoDataFolder, "/stylesheet.css");
  // Stylesheet attachment
  VLE.get_attachment('style', function (response) {
    addStyle(response);
  }, function () {
    if (VLE.serverversion) return console.log('no stylesheet attached');
    console.log('loading local version of stylesheet for testing purposes');
    fetch(fallback).then(function (response) {
      return response.text();
    }).then(function (text) {
      return addStyle(text, 'custom');
    });
  });
}
/**
 * Function for parsing content and config for @assetfolder/{filename} and resolving to a vle folder or local assetfolder
 * This requires a offline.json file in the dist/assetfolder containing an array of assets in the assetfolder (kinda hacky but deal)
 * @param {config, content} data
 */

function parseAttachedFolderAssets(_x) {
  return _parseAttachedFolderAssets.apply(this, arguments);
}

function _parseAttachedFolderAssets() {
  _parseAttachedFolderAssets = Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__["default"])( /*#__PURE__*/regeneratorRuntime.mark(function _callee(data) {
    var content, config, newContent, newConfig, assets, offline;
    return regeneratorRuntime.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            content = data.content, config = data.config;
            newContent = content;
            newConfig = config;
            assets = [];

            if (content) {
              _context.next = 6;
              break;
            }

            throw Error('No Content 😥');

          case 6:
            if (!VLE.serverversion) {
              _context.next = 10;
              break;
            }

            _context.next = 9;
            return new Promise(function (resolve, reject) {
              VLE.get_folder('assets', function (response) {
                resolve(response);
              }, function () {
                resolve(false); // this doesn't really fire local/offline 😥
              });
            }).then(function (assets) {
              return assets;
            }).catch(function (err) {
              return false;
            });

          case 9:
            assets = _context.sent;

          case 10:
            if (VLE.serverversion) {
              _context.next = 15;
              break;
            }

            _context.next = 13;
            return fetch("".concat(demoAssetFolder, "/offline.json")).then(function (response) {
              return response.json();
            });

          case 13:
            offline = _context.sent;
            assets = offline.map(function (i) {
              return {
                path: i,
                url: "".concat(demoAssetFolder, "/").concat(i)
              };
            }); // match vle craziness

          case 15:
            if (Array.isArray(assets)) {
              _context.next = 17;
              break;
            }

            throw Error('Invalid Assets, please be sure the Folder tag in structured content has the name assets');

          case 17:
            if (content && content.length > 0) {
              newContent = content.map(function (item) {
                return Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__["default"])(Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__["default"])({}, item), {}, {
                  content: Object(_text_parse__WEBPACK_IMPORTED_MODULE_6__["default"])(item.content, [_text_parse_checks__WEBPACK_IMPORTED_MODULE_7__["VleFolder"]], {
                    assets: assets
                  }).parsed
                });
              });
            }

            if (config && config.image) {
              newConfig = Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__["default"])(Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_5__["default"])({}, config), {}, {
                image: Object(_text_parse__WEBPACK_IMPORTED_MODULE_6__["default"])(config.image, [_text_parse_checks__WEBPACK_IMPORTED_MODULE_7__["VleFolder"]], {
                  assets: assets
                }).parsed
              });
            }

            return _context.abrupt("return", {
              content: newContent,
              config: newConfig
            });

          case 20:
          case "end":
            return _context.stop();
        }
      }
    }, _callee);
  }));
  return _parseAttachedFolderAssets.apply(this, arguments);
}

/***/ }),

/***/ "./src/config.js":
/*!***********************!*\
  !*** ./src/config.js ***!
  \***********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__);

/* harmony default export */ __webpack_exports__["default"] = ({
  navigation: {
    items: [{
      icon: 'home',
      text: 'Home',
      route: 'home'
    }, {
      icon: 'mdi-view-dashboard',
      text: 'IMD',
      route: {
        "name": "routes",
        "params": {
          "data": "imd"
        }
      }
    }, {
      icon: 'mdi-cogs',
      text: 'Experiments',
      route: {
        "name": "routes",
        "params": {
          "data": "experiments"
        }
      }
    }, {
      icon: 'help',
      text: 'Help',
      route: 'intro'
    }]
  },
  routes: [{
    path: '/home',
    name: 'home',
    component: function component() {
      return Promise.all(/*! import() | home */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("home~routes~._src_components_generic_RouteList.vue~0"), __webpack_require__.e("home~._src_components_H")]).then(__webpack_require__.bind(null, /*! ./components/Home.vue */ "./src/components/Home.vue"));
    },
    meta: {
      requiresAuth: false
    }
  } // {
  //   path: '/experiments/Bones',
  //   name: 'experimentsBones',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "experimentsBones" */ './components/experiments/Bones.vue'),
  // }
  // ,
  // {
  //   path: '/experiments/BodyFat',
  //   name: 'experimentsBodyFat',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "BodyFat" */ './components/experiments/BodyFat.vue'),
  // },
  // {
  //   path: '/dnd',
  //   name: 'dnd',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "dnd" */ './components/experiments/Dnd.vue'),
  // }
  // ,
  // {
  //   path: '/dnd/Heart',
  //   name: 'dndHeart',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "DndHeart" */ '@/components/Dnd/DndHeart.vue'),
  // }
  // ,
  // {
  //   path: '/adminForm',
  //   name: 'experimentsAdminForm',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "experimentsAdminForm" */ './components/experiments/EditableForm.vue'),
  // },
  // {
  //   path: '/vueQuillEditor',
  //   name: 'vueQuillEditor',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "vueQuillEditor" */ './components/experiments/VueQuillEditor.vue'),
  // }
  // ,
  // {
  //   path: '/babylon3d',
  //   name: 'babylon3d',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "babylon3d" */ './components/Babylon3d.vue'),
  // }
  // ,
  // {
  //   path: '/brain',
  //   name: 'brain',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "brain" */ './components/babylon/Brain.vue'),
  // }
  // ,
  // {
  //   path: '/models',
  //   name: 'models',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "models" */ './components/babylon/Models.vue'),
  // }
  // ,
  // {
  //   path: '/babylon/examples',
  //   name: 'BabylonExamples',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "babylonExamples" */ './components/babylon/Examples.vue'),
  // },
  // {
  //   path: '/babylon/animationblending',
  //   name: 'BabylonAnimationBlending',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "babylonAnimationBlending" */ './components/babylon/AnimationBlending.vue'),
  // }
  // ,
  // {
  //   path: '/physics/matter-js',
  //   name: 'matterJS',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "matterJS" */ './components/experiments/MatterJS.vue'),
  // }
  // ,
  // {
  //   path: '/experiments/highlighter',
  //   name: 'highlighter',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "highlighter" */ './components/experiments/highlighter/Highlighter.vue'),
  // }
  ]
});

/***/ }),

/***/ "./src/main.js":
/*!*********************!*\
  !*** ./src/main.js ***!
  \*********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.some */ "./node_modules/core-js/modules/es.array.some.js");
/* harmony import */ var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.array.iterator.js */ "./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.array.iterator.js");
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.promise.js */ "./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.promise.js");
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.object.assign.js */ "./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.object.assign.js");
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.promise.finally.js */ "./node_modules/@vue/babel-preset-app/node_modules/core-js/modules/es.promise.finally.js");
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var babel_polyfill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-polyfill */ "./node_modules/babel-polyfill/lib/index.js");
/* harmony import */ var babel_polyfill__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_polyfill__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./config.js */ "./src/config.js");
/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./App.vue */ "./src/App.vue");
/* harmony import */ var _plugins_vuetify__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/plugins/vuetify */ "./src/plugins/vuetify.js");
/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./router */ "./src/router.js");
/* harmony import */ var _store_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./store/store */ "./src/store/store.js");
/* harmony import */ var _registerServiceWorker__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./registerServiceWorker */ "./src/registerServiceWorker.js");
/* harmony import */ var _stylus_main_styl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./stylus/main.styl */ "./src/stylus/main.styl");
/* harmony import */ var _stylus_main_styl__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_stylus_main_styl__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var _mdi_font_css_materialdesignicons_css__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @mdi/font/css/materialdesignicons.css */ "./node_modules/@mdi/font/css/materialdesignicons.css");
/* harmony import */ var _mdi_font_css_materialdesignicons_css__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_mdi_font_css_materialdesignicons_css__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var _styles_general_css__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/styles/general.css */ "./src/styles/general.css");
/* harmony import */ var _styles_general_css__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_styles_general_css__WEBPACK_IMPORTED_MODULE_16__);








 // import config from './config.ftt.js';
// import config from './config.e236.js';
// import config from './config.d241.js';







 // Ensure you are using css-loade


vue__WEBPACK_IMPORTED_MODULE_7__["default"].config.devtools = true;
vue__WEBPACK_IMPORTED_MODULE_7__["default"].config.productionTip = false;
vue__WEBPACK_IMPORTED_MODULE_7__["default"].config.performance = true;
_router__WEBPACK_IMPORTED_MODULE_11__["default"].oldPush = _router__WEBPACK_IMPORTED_MODULE_11__["default"].push;
/**
 * Override default push handler
 * Navigating to the same route with different params
 * causes a duplication navigation error because all 
 * before and after enter route hooks won't fire. So 
 * go to a return page with details in param then 
 * navigate back.
 * @param {*} location 
 * @param {*} onComplete 
 * @param {*} onAbort 
 */

var newPush = function newPush(location, onComplete, onAbort) {
  if (this.currentRoute.name != location.name) {
    // Query is avaialble when back button is pressed so Copy params to query.
    location.query = location.params;
    return _router__WEBPACK_IMPORTED_MODULE_11__["default"].oldPush(location, onComplete, onAbort);
  }

  var params = location.params;
  params.rts = location.name;
  params.fromData = this.currentRoute.params.data;
  return _router__WEBPACK_IMPORTED_MODULE_11__["default"].oldPush({
    name: 'returnToSender',
    params: params,
    query: params
  });
};

_router__WEBPACK_IMPORTED_MODULE_11__["default"].push = newPush;
_router__WEBPACK_IMPORTED_MODULE_11__["default"].beforeEach(function (to, from, next) {
  if (to.matched.some(function (record) {
    return !record.meta.requiresAuth;
  })) {
    next();
  } // else if( store.state.persona && store.state.persona.id) {
  else if (_store_store__WEBPACK_IMPORTED_MODULE_12__["default"].state.userId) {
      next();
    } else {
      next('/');
    }
}); // router.beforeEach ((to, from, next) => {
//   if(to.name != from.name) {
//     next();
//   }
//   let params = to.params;
//   params.oName = params.name;
//   delete params.name;
//   next({name: 'home', params: params});
// })
// Add App specific routes.

if (_config_js__WEBPACK_IMPORTED_MODULE_8__["default"].routes) {
  _router__WEBPACK_IMPORTED_MODULE_11__["default"].addRoutes(_config_js__WEBPACK_IMPORTED_MODULE_8__["default"].routes);
}

new vue__WEBPACK_IMPORTED_MODULE_7__["default"]({
  router: _router__WEBPACK_IMPORTED_MODULE_11__["default"],
  store: _store_store__WEBPACK_IMPORTED_MODULE_12__["default"],
  vuetify: _plugins_vuetify__WEBPACK_IMPORTED_MODULE_10__["default"],
  config: _config_js__WEBPACK_IMPORTED_MODULE_8__["default"],
  render: function render(h) {
    return h(_App_vue__WEBPACK_IMPORTED_MODULE_9__["default"]);
  }
}).$mount('#app');

/***/ }),

/***/ "./src/plugins/vuetify.js":
/*!********************************!*\
  !*** ./src/plugins/vuetify.js ***!
  \********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var vuetify_lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib */ "./node_modules/vuetify/lib/index.js");


vue__WEBPACK_IMPORTED_MODULE_0__["default"].use(vuetify_lib__WEBPACK_IMPORTED_MODULE_1__["default"]);
var opts = {
  icons: {
    iconfont: 'mdi'
  },
  theme: {
    options: {
      customProperties: true
    },
    themes: {
      light: {
        primary: '#002158',
        secondary: '#068979',
        tertiary: '#D2EEF5',
        accent: '#8c9eff',
        error: '#b71c1c'
      }
    }
  }
};
/* harmony default export */ __webpack_exports__["default"] = (new vuetify_lib__WEBPACK_IMPORTED_MODULE_1__["default"](opts));

/***/ }),

/***/ "./src/registerServiceWorker.js":
/*!**************************************!*\
  !*** ./src/registerServiceWorker.js ***!
  \**************************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var register_service_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! register-service-worker */ "./node_modules/register-service-worker/index.js");
/* eslint-disable no-console */


if (false) {}

/***/ }),

/***/ "./src/router.js":
/*!***********************!*\
  !*** ./src/router.js ***!
  \***********************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-router */ "./node_modules/vue-router/dist/vue-router.esm.js");



vue__WEBPACK_IMPORTED_MODULE_1__["default"].use(vue_router__WEBPACK_IMPORTED_MODULE_2__["default"]);
/* harmony default export */ __webpack_exports__["default"] = (new vue_router__WEBPACK_IMPORTED_MODULE_2__["default"]({
  routes: [{
    path: '/',
    name: 'intro',
    component: function component() {
      return Promise.all(/*! import() | home */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("home~routes~._src_components_generic_RouteList.vue~0"), __webpack_require__.e("home~._src_components_H")]).then(__webpack_require__.bind(null, /*! ./components/Intro.vue */ "./src/components/Intro.vue"));
    },
    meta: {
      requiresAuth: false
    }
  }, {
    path: '/returnToSender',
    name: 'returnToSender',
    component: function component() {
      return __webpack_require__.e(/*! import() | returnToSender */ "returnToSender~._src_components_generic_ReturnToSender.vue~0").then(__webpack_require__.bind(null, /*! ./components/generic/ReturnToSender.vue */ "./src/components/generic/ReturnToSender.vue"));
    },
    meta: {
      requiresAuth: false
    }
  }, {
    path: '/routes',
    name: 'routes',
    props: true,
    meta: {
      requiresAuth: false
    },
    component: function component() {
      return Promise.all(/*! import() | routes */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("home~routes~._src_components_generic_RouteList.vue~0"), __webpack_require__.e("routes~._src_components_imd_Routes.vue~4")]).then(__webpack_require__.bind(null, /*! ./components/imd/Routes.vue */ "./src/components/imd/Routes.vue"));
    }
  }, {
    path: '/clickToReveal',
    name: 'clickToReveal',
    alias: '/CTR',
    props: true,
    meta: {
      requiresAuth: false
    },
    component: function component() {
      return Promise.all(/*! import() | clickToReveal */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("clickToReveal~._src_components_imd_ClickToReveal.vue~4")]).then(__webpack_require__.bind(null, /*! ./components/imd/ClickToReveal.vue */ "./src/components/imd/ClickToReveal.vue"));
    }
  }, {
    path: '/slideshow',
    name: 'slideshow',
    props: true,
    meta: {
      requiresAuth: false
    },
    component: function component() {
      return Promise.all(/*! import() | slideshow */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("slideshow~._src_components_imd_Slideshow.vue~1")]).then(__webpack_require__.bind(null, /*! ./components/imd/Slideshow.vue */ "./src/components/imd/Slideshow.vue"));
    }
  }, // {
  //   path: '/motion',
  //   name: 'motion',
  //   props:true,
  //   meta: { requiresAuth: false },
  //   component: () => import(/* webpackChunkName: "motion" */ './components/imd/Motion.vue'),
  // },
  {
    path: '/imd/slider',
    name: 'slider',
    props: true,
    meta: {
      requiresAuth: false
    },
    component: function component() {
      return __webpack_require__.e(/*! import() | slider */ "slider~._src_components_imd_Slider.vue~3").then(__webpack_require__.bind(null, /*! ./components/imd/Slider.vue */ "./src/components/imd/Slider.vue"));
    }
  }, {
    path: '/table',
    name: 'table',
    props: true,
    meta: {
      requiresAuth: false
    },
    component: function component() {
      return Promise.all(/*! import() | experimentsTable */[__webpack_require__.e("clickToReveal~experimentsTable~home~routes~slideshow~._src_components_generic_C"), __webpack_require__.e("experimentsTable~._n")]).then(__webpack_require__.bind(null, /*! ./components/imd/Table.vue */ "./src/components/imd/Table.vue"));
    }
  }]
}));

/***/ }),

/***/ "./src/store/store.js":
/*!****************************!*\
  !*** ./src/store/store.js ***!
  \****************************/
/*! exports provided: state, getters, mutations, actions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getters", function() { return getters; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; });
/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter */ "./node_modules/core-js/modules/es.array.filter.js");
/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.includes */ "./node_modules/core-js/modules/es.array.includes.js");
/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.last-index-of */ "./node_modules/core-js/modules/es.array.last-index-of.js");
/* harmony import */ var core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.slice */ "./node_modules/core-js/modules/es.array.slice.js");
/* harmony import */ var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.includes */ "./node_modules/core-js/modules/es.string.includes.js");
/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js");
/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper */ "./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/mixins/utils.js */ "./src/components/mixins/utils.js");
/* harmony import */ var _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/mixins/rest.js */ "./src/components/mixins/rest.js");
/* harmony import */ var _components_mixins_text_parse__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/mixins/text-parse */ "./src/components/mixins/text-parse/index.js");
/* harmony import */ var _components_mixins_text_parse_checks__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/components/mixins/text-parse/checks */ "./src/components/mixins/text-parse/checks/index.js");

















vue__WEBPACK_IMPORTED_MODULE_12__["default"].config.devtools = true; // https://github.com/vuejs/vue-devtools/issues/405

vue__WEBPACK_IMPORTED_MODULE_12__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_11__["default"]);

var initialState = function initialState() {
  return {
    config: {},
    userId: null,
    userLoaded: false,
    persona: {},
    personaId: null,
    personas: [],
    configLoaded: false,
    personasLoaded: false,
    externalData: {},
    externalDataLoaded: {},
    fullscreen: null,
    fullscreenTitle: "Enable fullscreen"
  };
};

var state = initialState();
var getters = {
  hasUserLoaded: function hasUserLoaded(state) {
    return function () {
      return !!state.userLoaded;
    };
  },
  isExternalDataLoaded: function isExternalDataLoaded(state) {
    return function (key) {
      var isLoaded = state.externalDataLoaded.hasOwnProperty(key);
      return !!isLoaded;
    };
  }
};
var mutations = {
  addConfigData: function addConfigData(state, _ref) {
    var data = _ref.data;
    state.config = data;
  },
  addFullscreen: function addFullscreen(state, data) {
    state.fullscreen = data;
  },
  addInteractiveData: function addInteractiveData(state, _ref2) {
    var data = _ref2.data,
        options = _ref2.options;
    vue__WEBPACK_IMPORTED_MODULE_12__["default"].set(state.externalData, options.name, data);
  },
  updateInteractiveData: function updateInteractiveData(state, _ref3) {
    var item = _ref3.item;
    vue__WEBPACK_IMPORTED_MODULE_12__["default"].set(state.externalData, item.itemId, item.data);
  },
  addPersona: function addPersona(state, _ref4) {
    var id = _ref4.id,
        item = _ref4.item;
    state.personas.push(item);
  },
  setPersona: function setPersona(state, _ref5) {
    var item = _ref5.item;
    state.persona = item;
  },
  setUserLoaded: function setUserLoaded(state, value) {
    state.userLoaded = value;
  },
  setConfigLoaded: function setConfigLoaded(state, value) {
    state.configLoaded = value;
  },
  setExternalDataLoaded: function setExternalDataLoaded(state, data) {
    vue__WEBPACK_IMPORTED_MODULE_12__["default"].set(state.externalDataLoaded, data.name, data.value);
  },
  setPersonasLoaded: function setPersonasLoaded(state, value) {
    state.personasLoaded = value;
  },
  setUserId: function setUserId(state, _ref6) {
    var value = _ref6.value;
    state.userId = value;
  },
  toggleFullscreen: function toggleFullscreen(state) {
    state.fullscreenTitle = _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_13__["default"].getFullscreenTitle(state.fullscreen);
    state.fullscreen.toggle();
  }
};
var actions = {
  addPersona: function addPersona(context, payload) {
    context.commit('addPersona', {
      id: payload.id,
      item: payload.item
    });
  },
  loadPersona: function loadPersona(context, payload) {
    if (context.state.persona && (!payload || !payload.id || context.state.persona.id == payload.id)) {
      return;
    }

    var item;

    for (var i = 0; i < context.state.personas.length; i++) {
      if (context.state.personas[i].id != payload.id) {
        continue;
      }

      item = context.state.personas[i];
    }

    if (typeof item !== 'undefined') {
      context.commit('setPersona', {
        item: item
      });
    } else {
      console.log("No such person!");
    }
  },
  setPersona: function setPersona(context, payload) {
    context.commit('setPersona', {
      item: payload.item
    });
  },
  setPersonasLoaded: function setPersonasLoaded(context, payload) {
    context.commit('setPersonasLoaded', {
      value: payload.value
    });
  },
  setUserId: function setUserId(context, payload) {
    context.commit('setUserId', {
      value: payload.id
    });
  },
  setUserLoaded: function setUserLoaded(context, payload) {
    context.commit('setUserLoaded', {
      value: payload.value
    });
  },
  loadConfig: function loadConfig(context) {
    var f = function f(data) {
      if (data) {
        context.commit('addConfigData', {
          data: data
        });
        context.commit('setConfigLoaded', {
          value: true
        });
      } else {
        console.log("Error getting local data for config");
      }

      ;
    };

    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].getConfig(f);
  },
  loadExternalFolder: function loadExternalFolder(context, payload) {
    var f = function f(data, options) {
      if (data) {
        var folderPath = payload.path.slice(0, payload.path.lastIndexOf('/') + 1); // Append urls for local files.

        if (!VLE.serverversion) {
          var _iterator = Object(F_workspace_generic_interactives_app_node_modules_vue_babel_preset_app_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_10__["default"])(data),
              _step;

          try {
            for (_iterator.s(); !(_step = _iterator.n()).done;) {
              var item = _step.value;

              if (item.url) {
                continue;
              }

              item.url = folderPath + item.path;
            }
          } catch (err) {
            _iterator.e(err);
          } finally {
            _iterator.f();
          }
        }

        payload.files = data; // If there is a json file then load it as config.

        var configName = data.filter(function (s) {
          return s.path.includes(".json");
        }).pop().path.split(".").shift();

        if (configName) {
          payload.name = configName;
          payload.t.data.name = payload.name;
          payload.path = data.filter(function (s) {
            return s.path == configName + ".json";
          }).pop().url;
          payload.type = "file";
          return context.dispatch('loadExternalData', payload);
        }
      } else {
        console.log("Error getting local folder for config");
      }

      ;
    };

    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].getExternalFolder(f, payload);
  },
  loadExternalData: function loadExternalData(context, payload) {
    var f = function f(data, options) {
      if (data) {
        if (options.files) {
          data.files = options.files;
          var files = data.files; // If it's a config file update file references.

          if (payload.name == payload.t.data.name) {
            var content = JSON.stringify(data.content);

            if (content && content.length > 0) {
              data.content = JSON.parse(Object(_components_mixins_text_parse__WEBPACK_IMPORTED_MODULE_15__["default"])(content, [_components_mixins_text_parse_checks__WEBPACK_IMPORTED_MODULE_16__["VleFolder"]], {
                files: files
              }).parsed);
            }

            var settings = JSON.stringify(data.settings);

            if (settings && settings.length > 0) {
              data.settings = JSON.parse(Object(_components_mixins_text_parse__WEBPACK_IMPORTED_MODULE_15__["default"])(settings, [_components_mixins_text_parse_checks__WEBPACK_IMPORTED_MODULE_16__["VleFolder"]], {
                files: files
              }).parsed);
            }
          }
        }

        context.commit('addInteractiveData', {
          data: data,
          options: options
        });
        context.commit('setExternalDataLoaded', {
          value: true,
          name: options.name
        });
      } else {
        console.log("Error getting local data for config");
      }

      ;
    };

    if (!payload.hasOwnProperty('keys')) {
      payload.keys = ['settings'];

      if (payload.path.includes('.zip') || payload.path.includes('contents.json')) {
        payload.type = "folder";
      }
    }

    if (payload.type && payload.type == "folder") {
      return context.dispatch('loadExternalFolder', payload);
    }

    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].getExternalData(f, payload);
  },
  updateInteractiveData: function updateInteractiveData(context, payload) {
    payload.item = JSON.parse(JSON.stringify(payload.item));
    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].saveToVLE({
      "settings": payload.item.data
    });
    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].updateInteractiveData(payload.item);
    context.commit('updateInteractiveData', {
      item: payload.item
    });
  },
  loadUser: function loadUser(context) {
    var _this = this;

    var f = function f(id) {
      if (id) {
        _this.dispatch('setUserId', {
          id: id
        });

        _this.dispatch('setUserLoaded', {
          value: true
        });
      } else {
        console.log("Error getting local data for user");
        _components_mixins_utils_js__WEBPACK_IMPORTED_MODULE_13__["default"].redirectToLogin();
      }

      ;
    };

    _components_mixins_rest_js__WEBPACK_IMPORTED_MODULE_14__["default"].getUser(f);
  },
  toggleFullscreen: function toggleFullscreen(context) {
    context.commit('toggleFullscreen');
  }
};
/* harmony default export */ __webpack_exports__["default"] = (new vuex__WEBPACK_IMPORTED_MODULE_11__["default"].Store({
  state: JSON.parse(JSON.stringify(state)),
  getters: getters,
  mutations: mutations,
  actions: actions
}));

/***/ }),

/***/ "./src/styles/general.css":
/*!********************************!*\
  !*** ./src/styles/general.css ***!
  \********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-3-1!../../node_modules/postcss-loader/src??ref--6-oneOf-3-2!./general.css */ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./src/styles/general.css");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
var update = add("d6213c04", content, false, {"sourceMap":false,"shadowMode":false});
// Hot Module Replacement
if(false) {}

/***/ }),

/***/ "./src/stylus/main.styl":
/*!******************************!*\
  !*** ./src/stylus/main.styl ***!
  \******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(/*! !../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-3-1!../../node_modules/postcss-loader/src??ref--11-oneOf-3-2!../../node_modules/stylus-loader??ref--11-oneOf-3-3!./main.styl */ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/stylus-loader/index.js?!./src/stylus/main.styl");
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var add = __webpack_require__(/*! ../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js").default
var update = add("5ec9daa2", content, false, {"sourceMap":false,"shadowMode":false});
// Hot Module Replacement
if(false) {}

/***/ }),

/***/ 0:
/*!***************************!*\
  !*** multi ./src/main.js ***!
  \***************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! ./src/main.js */"./src/main.js");


/***/ })

/******/ });
//# sourceMappingURL=app~._m.js.map