text: module.exports =
  /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = require('../../../ssr-module-cache.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
  /******/ 		var threw = true;
  /******/ 		try {
  /******/ 			modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/ 			threw = false;
  /******/ 		} finally {
  /******/ 			if(threw) delete installedModules[moduleId];
  /******/ 		}
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// 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 = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = 0);
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ "./lib/with-redux-store.js":
  /*!*********************************!*\
    !*** ./lib/with-redux-store.js ***!
    \*********************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_define_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-properties */ "./node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_define_properties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_define_properties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptors */ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptor */ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-symbols */ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_keys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "./node_modules/@babel/runtime-corejs2/core-js/object/keys.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_keys__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_keys__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var _babel_runtime_corejs2_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime-corejs2/helpers/esm/extends */ "./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js");
  /* harmony import */ var _babel_runtime_corejs2_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime-corejs2/helpers/esm/defineProperty */ "./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../store */ "./store.js");
  
  
  
  
  
  
  
  
  var __jsx = react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement;
  
  function ownKeys(object, enumerableOnly) { var keys = _babel_runtime_corejs2_core_js_object_keys__WEBPACK_IMPORTED_MODULE_5___default()(object); if (_babel_runtime_corejs2_core_js_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_4___default.a) { var symbols = _babel_runtime_corejs2_core_js_object_get_own_property_symbols__WEBPACK_IMPORTED_MODULE_4___default()(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return _babel_runtime_corejs2_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3___default()(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { Object(_babel_runtime_corejs2_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__["default"])(target, key, source[key]); }); } else if (_babel_runtime_corejs2_core_js_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_2___default.a) { _babel_runtime_corejs2_core_js_object_define_properties__WEBPACK_IMPORTED_MODULE_1___default()(target, _babel_runtime_corejs2_core_js_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_2___default()(source)); } else { ownKeys(source).forEach(function (key) { _babel_runtime_corejs2_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0___default()(target, key, _babel_runtime_corejs2_core_js_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_3___default()(source, key)); }); } } return target; }
  
  
  
  const isServer = true;
  const __NEXT_REDUX_STORE__ = "__NEXT_REDUX_STORE__";
  
  function getOrCreateStore(initialState) {
    // Always make a new store if server, otherwise state is shared between requests
    if (isServer) {
      return Object(_store__WEBPACK_IMPORTED_MODULE_9__["initializeStore"])(initialState);
    } // Create store if unavailable on the client and set it on the window object
  
  
    if (!window[__NEXT_REDUX_STORE__]) {
      window[__NEXT_REDUX_STORE__] = Object(_store__WEBPACK_IMPORTED_MODULE_9__["initializeStore"])(initialState);
    }
  
    return window[__NEXT_REDUX_STORE__];
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (App => {
    return class AppWithRedux extends react__WEBPACK_IMPORTED_MODULE_8___default.a.Component {
      static async getInitialProps(appContext) {
        // Get or Create the store with `undefined` as initialState
        // This allows you to set a custom default initialState
        const reduxStore = getOrCreateStore(); // Provide the store to getInitialProps of pages
  
        appContext.ctx.reduxStore = reduxStore;
        let appProps = {};
  
        if (typeof App.getInitialProps === "function") {
          appProps = await App.getInitialProps(appContext);
        }
  
        return _objectSpread({}, appProps, {
          initialReduxState: reduxStore.getState()
        });
      }
  
      constructor(props) {
        super(props);
        this.reduxStore = getOrCreateStore(props.initialReduxState);
      }
  
      render() {
        return __jsx(App, Object(_babel_runtime_corejs2_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__["default"])({}, this.props, {
          reduxStore: this.reduxStore
        }));
      }
  
    };
  });
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/assign.js":
  /*!**********************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/assign.js ***!
    \**********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/assign */ "core-js/library/fn/object/assign");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js":
  /*!*********************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/define-properties */ "core-js/library/fn/object/define-properties");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js":
  /*!*******************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js ***!
    \*******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/define-property */ "core-js/library/fn/object/define-property");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js":
  /*!*******************************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js ***!
    \*******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptor */ "core-js/library/fn/object/get-own-property-descriptor");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js":
  /*!********************************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js ***!
    \********************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptors */ "core-js/library/fn/object/get-own-property-descriptors");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js":
  /*!****************************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js ***!
    \****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-symbols */ "core-js/library/fn/object/get-own-property-symbols");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/object/keys.js":
  /*!********************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/object/keys.js ***!
    \********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/object/keys */ "core-js/library/fn/object/keys");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/core-js/promise.js":
  /*!****************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/core-js/promise.js ***!
    \****************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! core-js/library/fn/promise */ "core-js/library/fn/promise");
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js":
  /*!*************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js ***!
    \*************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Promise = __webpack_require__(/*! ../core-js/promise */ "./node_modules/@babel/runtime-corejs2/core-js/promise.js");
  
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
    try {
      var info = gen[key](arg);
      var value = info.value;
    } catch (error) {
      reject(error);
      return;
    }
  
    if (info.done) {
      resolve(value);
    } else {
      _Promise.resolve(value).then(_next, _throw);
    }
  }
  
  function _asyncToGenerator(fn) {
    return function () {
      var self = this,
          args = arguments;
      return new _Promise(function (resolve, reject) {
        var gen = fn.apply(self, args);
  
        function _next(value) {
          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
        }
  
        function _throw(err) {
          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
        }
  
        _next(undefined);
      });
    };
  }
  
  module.exports = _asyncToGenerator;
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js":
  /*!***************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js ***!
    \***************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _defineProperty; });
  /* harmony import */ var _core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core-js/object/define-property */ "./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
  /* harmony import */ var _core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0__);
  
  function _defineProperty(obj, key, value) {
    if (key in obj) {
      _core_js_object_define_property__WEBPACK_IMPORTED_MODULE_0___default()(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }
  
    return obj;
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js":
  /*!********************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js ***!
    \********************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _extends; });
  /* harmony import */ var _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core-js/object/assign */ "./node_modules/@babel/runtime-corejs2/core-js/object/assign.js");
  /* harmony import */ var _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__);
  
  function _extends() {
    _extends = _core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default.a || function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];
  
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
  
      return target;
    };
  
    return _extends.apply(this, arguments);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/helpers/extends.js":
  /*!****************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/helpers/extends.js ***!
    \****************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Object$assign = __webpack_require__(/*! ../core-js/object/assign */ "./node_modules/@babel/runtime-corejs2/core-js/object/assign.js");
  
  function _extends() {
    module.exports = _extends = _Object$assign || function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];
  
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
  
      return target;
    };
  
    return _extends.apply(this, arguments);
  }
  
  module.exports = _extends;
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js ***!
    \******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      "default": obj
    };
  }
  
  module.exports = _interopRequireDefault;
  
  /***/ }),
  
  /***/ "./node_modules/next/app.js":
  /*!**********************************!*\
    !*** ./node_modules/next/app.js ***!
    \**********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./dist/pages/_app */ "./node_modules/next/dist/pages/_app.js")
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/utils.js":
  /*!*********************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/utils.js ***!
    \*********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _Object$keys = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "./node_modules/@babel/runtime-corejs2/core-js/object/keys.js");
  
  var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
  
  _Object$defineProperty(exports, "__esModule", {
    value: true
  });
  
  const url_1 = __webpack_require__(/*! url */ "url");
  /**
   * Utils
   */
  
  
  function execOnce(fn) {
    let used = false;
    return (...args) => {
      if (!used) {
        used = true;
        fn.apply(this, args);
      }
    };
  }
  
  exports.execOnce = execOnce;
  
  function getLocationOrigin() {
    const {
      protocol,
      hostname,
      port
    } = window.location;
    return `${protocol}//${hostname}${port ? ':' + port : ''}`;
  }
  
  exports.getLocationOrigin = getLocationOrigin;
  
  function getURL() {
    const {
      href
    } = window.location;
    const origin = getLocationOrigin();
    return href.substring(origin.length);
  }
  
  exports.getURL = getURL;
  
  function getDisplayName(Component) {
    return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';
  }
  
  exports.getDisplayName = getDisplayName;
  
  function isResSent(res) {
    return res.finished || res.headersSent;
  }
  
  exports.isResSent = isResSent;
  
  async function loadGetInitialProps(Component, ctx) {
    if (true) {
      if (Component.prototype && Component.prototype.getInitialProps) {
        const message = `"${getDisplayName(Component)}.getInitialProps()" is defined as an instance method - visit https://err.sh/zeit/next.js/get-initial-props-as-an-instance-method for more information.`;
        throw new Error(message);
      }
    } // when called from _app `ctx` is nested in `ctx`
  
  
    const res = ctx.res || ctx.ctx && ctx.ctx.res;
  
    if (!Component.getInitialProps) {
      return {};
    }
  
    const props = await Component.getInitialProps(ctx);
  
    if (res && isResSent(res)) {
      return props;
    }
  
    if (!props) {
      const message = `"${getDisplayName(Component)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`;
      throw new Error(message);
    }
  
    if (true) {
      if (_Object$keys(props).length === 0 && !ctx.ctx) {
        console.warn(`${getDisplayName(Component)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://err.sh/zeit/next.js/empty-object-getInitialProps`);
      }
    }
  
    return props;
  }
  
  exports.loadGetInitialProps = loadGetInitialProps;
  exports.urlObjectKeys = ['auth', 'hash', 'host', 'hostname', 'href', 'path', 'pathname', 'port', 'protocol', 'query', 'search', 'slashes'];
  
  function formatWithValidation(url, options) {
    if (true) {
      if (url !== null && typeof url === 'object') {
        _Object$keys(url).forEach(key => {
          if (exports.urlObjectKeys.indexOf(key) === -1) {
            console.warn(`Unknown key passed via urlObject into url.format: ${key}`);
          }
        });
      }
    }
  
    return url_1.format(url, options);
  }
  
  exports.formatWithValidation = formatWithValidation;
  exports.SUPPORTS_PERFORMANCE = typeof performance !== 'undefined';
  exports.SUPPORTS_PERFORMANCE_USER_TIMING = exports.SUPPORTS_PERFORMANCE && typeof performance.mark === 'function' && typeof performance.measure === 'function';
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/pages/_app.js":
  /*!**********************************************!*\
    !*** ./node_modules/next/dist/pages/_app.js ***!
    \**********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "./node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
  
  exports.__esModule = true;
  exports.Container = Container;
  exports.createUrl = createUrl;
  exports.default = void 0;
  
  var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/extends */ "./node_modules/@babel/runtime-corejs2/helpers/extends.js"));
  
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/asyncToGenerator */ "./node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js"));
  
  var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
  
  var _utils = __webpack_require__(/*! ../next-server/lib/utils */ "./node_modules/next/dist/next-server/lib/utils.js");
  
  exports.AppInitialProps = _utils.AppInitialProps;
  /**
  * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.
  * This allows for keeping state between navigation, custom error handling, injecting additional data.
  */
  
  function appGetInitialProps(_x) {
    return _appGetInitialProps.apply(this, arguments);
  }
  
  function _appGetInitialProps() {
    _appGetInitialProps = (0, _asyncToGenerator2.default)(function* (_ref) {
      var {
        Component,
        ctx
      } = _ref;
      var pageProps = yield (0, _utils.loadGetInitialProps)(Component, ctx);
      return {
        pageProps
      };
    });
    return _appGetInitialProps.apply(this, arguments);
  }
  
  class App extends _react.default.Component {
    // Kept here for backwards compatibility.
    // When someone ended App they could call `super.componentDidCatch`.
    // @deprecated This method is no longer needed. Errors are caught at the top level
    componentDidCatch(error, _errorInfo) {
      throw error;
    }
  
    render() {
      var {
        router,
        Component,
        pageProps
      } = this.props;
      var url = createUrl(router);
      return _react.default.createElement(Component, (0, _extends2.default)({}, pageProps, {
        url: url
      }));
    }
  
  }
  
  exports.default = App;
  App.origGetInitialProps = appGetInitialProps;
  App.getInitialProps = appGetInitialProps;
  var warnContainer;
  var warnUrl;
  
  if (true) {
    warnContainer = (0, _utils.execOnce)(() => {
      console.warn("Warning: the `Container` in `_app` has been deprecated and should be removed. https://err.sh/zeit/next.js/app-container-deprecated");
    });
    warnUrl = (0, _utils.execOnce)(() => {
      console.error("Warning: the 'url' property is deprecated. https://err.sh/zeit/next.js/url-deprecated");
    });
  } // @deprecated noop for now until removal
  
  
  function Container(p) {
    if (true) warnContainer();
    return p.children;
  }
  
  function createUrl(router) {
    // This is to make sure we don't references the router object at call time
    var {
      pathname,
      asPath,
      query
    } = router;
    return {
      get query() {
        if (true) warnUrl();
        return query;
      },
  
      get pathname() {
        if (true) warnUrl();
        return pathname;
      },
  
      get asPath() {
        if (true) warnUrl();
        return asPath;
      },
  
      back: () => {
        if (true) warnUrl();
        router.back();
      },
      push: (url, as) => {
        if (true) warnUrl();
        return router.push(url, as);
      },
      pushTo: (href, as) => {
        if (true) warnUrl();
        var pushRoute = as ? href : '';
        var pushUrl = as || href;
        return router.push(pushRoute, pushUrl);
      },
      replace: (url, as) => {
        if (true) warnUrl();
        return router.replace(url, as);
      },
      replaceTo: (href, as) => {
        if (true) warnUrl();
        var replaceRoute = as ? href : '';
        var replaceUrl = as || href;
        return router.replace(replaceRoute, replaceUrl);
      }
    };
  }
  
  /***/ }),
  
  /***/ "./pages/_app.js":
  /*!***********************!*\
    !*** ./pages/_app.js ***!
    \***********************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var next_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/app */ "./node_modules/next/app.js");
  /* harmony import */ var next_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_app__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _lib_with_redux_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lib/with-redux-store */ "./lib/with-redux-store.js");
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "react-redux");
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
  var __jsx = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement;
  
  
  
  
  
  class MyApp extends next_app__WEBPACK_IMPORTED_MODULE_0___default.a {
    render() {
      const {
        Component,
        pageProps,
        reduxStore
      } = this.props;
      return __jsx(react_redux__WEBPACK_IMPORTED_MODULE_3__["Provider"], {
        store: reduxStore
      }, __jsx(Component, pageProps));
    }
  
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (Object(_lib_with_redux_store__WEBPACK_IMPORTED_MODULE_2__["default"])(MyApp));
  
  /***/ }),
  
  /***/ "./store.js":
  /*!******************!*\
    !*** ./store.js ***!
    \******************/
  /*! exports provided: reducer, setToken, setUserData, setCurrentlyPlaying, setUserPlaylists, setFeaturedPlaylists, setTopArtists, initializeStore */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reducer", function() { return reducer; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setToken", function() { return setToken; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setUserData", function() { return setUserData; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCurrentlyPlaying", function() { return setCurrentlyPlaying; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setUserPlaylists", function() { return setUserPlaylists; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setFeaturedPlaylists", function() { return setFeaturedPlaylists; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTopArtists", function() { return setTopArtists; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initializeStore", function() { return initializeStore; });
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/assign */ "./node_modules/@babel/runtime-corejs2/core-js/object/assign.js");
  /* harmony import */ var _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "redux");
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var redux_devtools_extension__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux-devtools-extension */ "redux-devtools-extension");
  /* harmony import */ var redux_devtools_extension__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(redux_devtools_extension__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ "redux-thunk");
  /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(redux_thunk__WEBPACK_IMPORTED_MODULE_3__);
  
  
  
  
  const initialState = {
    token: "",
    userData: [],
    currentlyPlaying: "",
    userPlaylists: [],
    featuredPlaylists: [],
    topArtists: []
  }; // REDUCERS
  
  const reducer = (state = initialState, action) => {
    switch (action.type) {
      case "SET_TOKEN":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          token: action.value
        });
  
      case "SET_USERDATA":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          userData: action.value
        });
  
      case "SET_CURRENTLY_PLAYING":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          currentlyPlaying: action.value
        });
  
      case "SET_USER_PLAYLISTS":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          userPlaylists: action.value
        });
  
      case "SET_FEATURED_PLAYLISTS":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          featuredPlaylists: action.value
        });
  
      case "SET_TOP_ARTISTS":
        return _babel_runtime_corejs2_core_js_object_assign__WEBPACK_IMPORTED_MODULE_0___default()({}, state, {
          topArtists: action.value
        });
  
      default:
        return state;
    }
  }; // ACTIONS
  
  const setToken = value => dispatch => {
    return dispatch({
      type: "SET_TOKEN",
      value
    });
  };
  const setUserData = value => dispatch => {
    return dispatch({
      type: "SET_USERDATA",
      value
    });
  };
  const setCurrentlyPlaying = value => dispatch => {
    return dispatch({
      type: "SET_CURRENTLY_PLAYING",
      value
    });
  };
  const setUserPlaylists = value => dispatch => {
    return dispatch({
      type: "SET_USER_PLAYLISTS",
      value
    });
  };
  const setFeaturedPlaylists = value => dispatch => {
    return dispatch({
      type: "SET_FEATURED_PLAYLISTS",
      value
    });
  };
  const setTopArtists = value => dispatch => {
    return dispatch({
      type: "SET_TOP_ARTISTS",
      value
    });
  };
  function initializeStore(initialState) {
    return Object(redux__WEBPACK_IMPORTED_MODULE_1__["createStore"])(reducer, initialState, Object(redux_devtools_extension__WEBPACK_IMPORTED_MODULE_2__["composeWithDevTools"])(Object(redux__WEBPACK_IMPORTED_MODULE_1__["applyMiddleware"])(redux_thunk__WEBPACK_IMPORTED_MODULE_3___default.a)));
  }
  
  /***/ }),
  
  /***/ 0:
  /*!****************************************!*\
    !*** multi private-next-pages/_app.js ***!
    \****************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! private-next-pages/_app.js */"./pages/_app.js");
  
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/assign":
  /*!***************************************************!*\
    !*** external "core-js/library/fn/object/assign" ***!
    \***************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/assign");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/define-properties":
  /*!**************************************************************!*\
    !*** external "core-js/library/fn/object/define-properties" ***!
    \**************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/define-properties");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/define-property":
  /*!************************************************************!*\
    !*** external "core-js/library/fn/object/define-property" ***!
    \************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/define-property");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/get-own-property-descriptor":
  /*!************************************************************************!*\
    !*** external "core-js/library/fn/object/get-own-property-descriptor" ***!
    \************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/get-own-property-descriptor");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/get-own-property-descriptors":
  /*!*************************************************************************!*\
    !*** external "core-js/library/fn/object/get-own-property-descriptors" ***!
    \*************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/get-own-property-descriptors");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/get-own-property-symbols":
  /*!*********************************************************************!*\
    !*** external "core-js/library/fn/object/get-own-property-symbols" ***!
    \*********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/get-own-property-symbols");
  
  /***/ }),
  
  /***/ "core-js/library/fn/object/keys":
  /*!*************************************************!*\
    !*** external "core-js/library/fn/object/keys" ***!
    \*************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/keys");
  
  /***/ }),
  
  /***/ "core-js/library/fn/promise":
  /*!*********************************************!*\
    !*** external "core-js/library/fn/promise" ***!
    \*********************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/promise");
  
  /***/ }),
  
  /***/ "react":
  /*!************************!*\
    !*** external "react" ***!
    \************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("react");
  
  /***/ }),
  
  /***/ "react-redux":
  /*!******************************!*\
    !*** external "react-redux" ***!
    \******************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("react-redux");
  
  /***/ }),
  
  /***/ "redux":
  /*!************************!*\
    !*** external "redux" ***!
    \************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("redux");
  
  /***/ }),
  
  /***/ "redux-devtools-extension":
  /*!*******************************************!*\
    !*** external "redux-devtools-extension" ***!
    \*******************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("redux-devtools-extension");
  
  /***/ }),
  
  /***/ "redux-thunk":
  /*!******************************!*\
    !*** external "redux-thunk" ***!
    \******************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("redux-thunk");
  
  /***/ }),
  
  /***/ "url":
  /*!**********************!*\
    !*** external "url" ***!
    \**********************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = require("url");
  
  /***/ })
  
  /******/ });
  //# sourceMappingURL=_app.js.map